YOLO---多個版本的簡單認識


 

YOLO---多個版本的簡單認識

YOLOv3 有好幾個經典版本了:
一、YOLOv3 (Darknet)官網 @ https://github.com/pjreddie/darknet
二、YOLOv3(darknet優化了)@ https://github.com/AlexeyAB/darknet
三、YOLOv3 with OpenCV官網 @ https://github.com/JackKoLing/opencv_deeplearning_practice/tree/master/pracice3_opencv_yolov3

四、其他github上有tensorflow、caffe、keras、pytorch等版本,略。


引用:
windows版本:請參考 https://github.com/AlexeyAB/darknet
linux版本:請參考 https://pjreddie.com/darknet/yolo

簡介
一、YOLOv3 (Darknet)官網 @ https://github.com/pjreddie/darknet
  一開始github上最熱的開源項目,在linux系統下做的,現在各個大神改版也有在windows下使用了。
下載並備齊:darknet、選配yolov3.weights + yolov3.cfg、...
依賴環境:C++、OpenCV、python、...
編譯情況:下載源文件,需要make進行編譯后,才能使用
支持:linux系統(最先支持) + windows + CPU + GPU(可適用於英偉達)
(1)源碼的常用執行命令:

u@u1604:~/darknet$
(1)測試一張圖片---detect
./darknet detect cfg/yolov3.cfg weights/yolov3.weights data/person.jpg
./darknet detector test cfg/coco.data cfg/yolov3.cfg weights/yolov3.weights data/person.jpg

(2)測試本地視頻---demo
./darknet detector demo cfg/coco.data cfg/yolov3.cfg weights/yolov3.weights wp_video/person002.mp4

(3)測試usb視頻---
./darknet detector demo cfg/coco.data cfg/yolov3.cfg weights/yolov3.weights

(4)測試rstp視頻---
./darknet detector demo ./cfg/coco.data ./cfg/yolov3.cfg weights/yolov3.weights rtsp://admin:admin12345@192.168.?.??/H.264/ch1/sub/av_stream -i 0 -thresh 0.25

./darknet detector demo ./cfg/coco.data ./cfg/yolov3.cfg weights/yolov3.weights rtsp://admin:admin12345@192.168.?.??/H.264/ch1/sub/av_stream -i 0

-----------to test many pics------------------------
./darknet detect cfg/yolov3.cfg weights/yolov3.weights -i 2 #CPU  enter
Enter Image Path:

./darknet detect cfg/yolov3.cfg weights/yolov3.weights -i 0 #GPU  enter
Enter Image Path: 

(2)自寫python接口文件,執行:

python2 xx.py
python3 xx.py


二、YOLOv3(darknet優化了)@ https://github.com/AlexeyAB/darknet
  一開始github在windows系統下做的,現在各個大神改版也有在linux下使用了。
下載並備齊:darknet、選配yolov3.weights + yolov3.cfg、...
依賴環境:C++、OpenCV、python、...
編譯情況:下載源文件,需要make進行編譯后,才能使用
支持:windows系統(最先支持) + linux  + CPU + GPU(可適用於英偉達)
基本使用命令同《一、YOLOv3 (Darknet)官網》,但部分有少許差別

.  AlexeyAB改進項

    提供window支持

    相較於原版pjreddie版本darknet提升了訓練速度

    添加了二值化網絡,XNOR(bit) ,速度快,准確率稍低https://github.com/AlexeyAB/darknet/blob/master/cfg/yolov3-tiny_xnor.cfg

    提升7%通過將卷積層和BN層合並為一個(*_*)不太懂。

    多GPU訓練提升

    修補了[reorg]層

    添加了mAP, IOU,Precision-Recall計算

    darknet detector map...

    可以在訓練過程中畫loss圖像

    添加了根據自己數據集的anchor生成

    提升視頻檢測,網絡攝像頭,opencv相關問題

    提出了一個INT8的網絡,提升了檢測速度,但是准確率稍有下降

    https://github.com/AlexeyAB/yolo2_light

@  https://www.cnblogs.com/pprp/p/10204480.html#alexeyab%E6%94%B9%E8%BF%9B%E9%A1%B9


三、YOLOv3 with OpenCV官網 @ https://github.com/JackKoLing/opencv_deeplearning_practice/tree/master/pracice3_opencv_yolov3
下載並備齊:yolov3.weights權重文件、yolov3.cfg網絡構建文件、coco.names、xxx.jpg、xxx.mp4文件、object_detection_yolo.cpp、object_detection_yolo.py等文件;
依賴環境:C++的編譯環境(如G++/VScode)、OpenCV3.4.2+(記住安裝目錄)
編譯情況:下載源文件,無需復雜的編譯,直接修改進行應用
支持:windows + linux  + CPU + GPU(只適用於英特爾)
(1)在OpenCV中使用YOLOv3, 可以在windows下+ ubuntu下使用。
(2)windows下,之前做,object_detection_yolo.cpp是在Visual Studio(VS)下編譯的。
(3)ubuntu下,這次,object_detection_yolo.cpp是g++編譯的。
(3)OpenCV的DNN,GPU僅使用英特爾的GPU進行測試,因此如果沒有英特爾GPU,代碼會將您切換回CPU。
使用:
(1)object_detection_yolo.cpp,執行:
編譯,g++ `pkg-config opencv --cflags` object_detection_yolo.cpp -o object_detection_yolo `pkg-config opencv --libs` -std=c++11
測試,a single image:
    ./object_detection_yolo --image=./data/1.jpg
     a video file:
    ./object_detection_yolo --video=./data/run.mp4

(2)object_detection_yolo.py,執行:
a single image:
    python3 object_detection_yolo.py --image=bird.jpg
a video file:
    python3 object_detection_yolo.py --video=run.mp4

 

  最后,三者的區別,還沒太細細研究。pjreddie/darknet、AlexeyAB/darknet  、YOLOv3 with OpenCV三者的計算效率和准確率,還未做對比。這幾天,本來想對比一下運行時間,但沒太注意時間函數的放置位置,測試的時間貌似沒有可比性。整個工程的運行時間,可能對工程最具時間說服價值,太耗時,以后有機會有需要在細細研究。

  從運行的直觀觀測上,GPU > CPU,C++ > Python,耗時的具體數值暫不做研究。附上:這幾天的測試時間,作對比可能不具有太大的價值;網上網友分享的資源。

  測試環境:ubuntu16.04 + Intel® Core™ i7-8700K CPU @ 3.70GHz × 12  + NVIDIA GTX 2080 TI

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM