1、前言
Yolo V3已經體驗了,接下來是V4版本,
關于V4版本,學術界褒貶不一,從工業界實際應用角度看,V4做了不少的優化,精度提升了10%,速度提升了12%,詳細參見:
-
《如何評價新出的V4》(https://www.zhihu.com/question/390191723?rf=390194081);
-
《yolo V4分析》(https://www.cnblogs.com/wujianming-110117/p/12807152.html),
因此,V4必須要體驗和研究一下,
2、下載和安裝
關于windows環境下,使用yolo V4,參考了網上的幾篇文章,大同小異,如:https://blog.csdn.net/weixin_43723614/article/details/105772081,
V4版本最好有GPU,奈何我的筆記本電腦配置的顯卡是:Intel(R) UHD Graphics 620,沒法用GPU,
因此我只能用CPU版本,于是cuda10.0和cuDNN7的安裝就省略了,
2.1、下載v4代碼
代碼地址:https://github.com/AlexeyAB/darknet
Download zip或git clone方式都可以(我都試過一遍),
2.2、安裝OpenCV
到官網下載,我下載的是open 4.2.0版本,win10系統,支持VS2015,(opencv-4.2.0-vc14_vc15.exe),
這個實際是個壓縮包,exe執行解壓縮,
然后按照參考網文的做法,配置OPENCV_DIR環境變數,在Path中增加:opencv\build\x64\vc14\bin的路徑(其它路徑可不加),
2.3、使用gcc編譯的問題
一開始,我按照V3的編譯的方法,即使用cygwin來編譯,
用cygwin64 terminal工具,直接在代碼的根目錄下,輸入make,編譯OK,生成了darknet.exe,
執行圖片檢測:
darknet.exe detect cfg/yolov3.cfg yolov3.weights test.jpg
可以的,
再下載一個yolov4.weights檔案,執行:
darknet.exe detect cfg/yolov4.cfg yolov4.weights test.jpg
也是可以的,
但opencv沒有用起來,提示:
OpenCV isn't used - data augmentation will be slow.
?
Not compiled with OpenCV, saving to predictions.png instead
于是修改makefile檔案,將第4行的:OPENCV=0改為OPENCV=1,
于是問題來了,
1)首先是,pkg-config命令不能識別(makefile檔案的第90行),通過更新cygwin的安裝,增加pkg-config項,得以解決,
2)其次,提示:需要將包含opencv.pc檔案的目錄,配置到環境變數PKG_CONFIG_PATH,我上網查了一下,這是linux的opencv版本才有的檔案,
折騰了一番,還是搞不定opencv,不得已,使用網上的CMake的方法,
2.4、使用CMake
參考之前引文的方法,先到官網下載CMake,然后類似配置,
配置VS2015 VC14,
關于配置,我的電腦不支持GPU,因此ENABLE_CUDA、ENABLE_CUDANN、ENABLE_CUDANN_HALF不勾選,
一個小坑:USE_INTEGRATED_LIBS必須勾選,我一不小心去掉勾選,結果報了一堆下列錯誤:
錯誤 C2011 “timespec”:“struct”型別重定義 darknet E:\workspace\darknet\3rdparty\pthreads\include\pthread.h 320
配置(configure)完成后,然后generate,沒有問題,然后再點擊open project,打開VS2015,
選擇:release、x64,build all,
OK,
將編譯生成的darknet.exe復制到:\build\darknet\x64\目錄下,此為darknet.exe的運行環境,
3、效果體驗
圖片檢測:
darknet.exe detector test cfg/coco.data yolov4.cfg yolov4.weights -ext_output dog.jpg

視頻檢測:
darknet.exe detector demo cfg/coco.data cfg/yolov4.cfg yolov4.weights -ext_output test.mp4
由于只使用CPU,沒有GPU,openCV顯示視頻非常卡頓(FPS=0.2),網上說,2G記憶體都沒法試驗,會記憶體溢位,我的電腦記憶體有16G,故只是慢一些,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/14678.html
標籤:其他
