本過程使用的是https://github.com/AlexeyAB/darknet裏的文件,先把這個GitHub裏的文件下載好,這個github裏的readme也都是慢滿滿的乾貨,但是有些細節都沒有說,不太適合新手,所以我這篇文章主要是說darknet.exe怎麼生成吧,先把圖片跑起來
想生成darknet.exe文件,首先要用visual studio打開E:\detect\darknet-master\build\darknet\darknet.sln
但是……我沒有gpu版的一直沒成功,我先弄一下無GPU版的,這個比較好成功,等有空再磕GPU版的……
如果沒有gpu想用cpu的,就點擊編譯darknet_no_gpu.sln這個文件,步驟相同,最終目的都是生成一個exe文件
首先修改文件darknet_no_gpu.vcxproj把OPENCV改成自己的路徑
然後用VS2015打開darknet_no_gpu.sln之後選擇Release x64,然後點擊開始調試
錯誤 C2589"(":"::"右邊的非法標記 C2059 語法錯誤:"::"
解決方法
設置項目屬性,在預定義處理器中添加定義NOMINMAX來禁止使用Visual C++的min/max宏定義。
在項目中右鍵點擊屬性 ——> C/C++ ——> 預處理器 ——> 預處理器定義 (此處添加預定義編譯開關 NOMINMAX)
然後就成功了!謝天謝地!
現在發現在E:\detect\darknet-master\build\darknet\x64中已經有了一個darknet_no_gpu.exe,把這個重命名爲darknet.exe,下載yolov3.weights在E:\detect\darknet-master\build\darknet\x6中,不知道在哪下的看下面這句話--->
這步還有後面步驟可以具體參考博客https://blog.csdn.net/baidu_36669549/article/details/79798587,他有提供yolov3.weights的百度網盤哦,當然也可以在官網下載,AlexeyAB的readme裏也有寫,當然直接下上面博主的比較方便先跑起來再說!
最後,雙擊x64文件夾裏的darknet_yolo_v3.cmd,就可以跑那個自帶的例子,如果想跑自己的例子,需要修改darknet_yolo_v3.cmd文件裏的內容,並把想測試的圖片放到x64文件夾下,成功顯示如下
關於視頻文件的測試,找一個微信小視頻,拷貝到D:\darknet-master\darknet-master\build\darknet\x64中重命名爲test.mp4
總結一下windows下配置好的YOLOv3的調用指令
測試圖片文件的
darknet.exe detector test data/coco.data yolov3.cfg yolov3.weights -i 0 -thresh 0.25 dog.jpg
測試視頻文件的
darknet.exe detector demo data/coco.data yolov3.cfg yolov3.weights -i 0 -thresh 0.25 test.mp4
也可以把darknet.exe加入至環境變量的,相應的命令變成:
圖片版:
darknet detector test data/coco.data yolov3.cfg yolov3.weights -i 0 -thresh 0.25 dog.jpg
視頻版:
darknet detector demo data/coco.data yolov3.cfg yolov3.weights -i 0 -thresh 0.25 test.mp4
相應步驟參考https://blog.csdn.net/baidu_36669549/article/details/79798587,非常感謝凌空的槳,錯誤部分還有修改路徑部分前面那個博主沒有說,所以我又補充了一下,沒有把gpu版本編譯好有點遺憾,下面會繼續嘗試編譯GPU版本以及嘗試訓練自己的圖片,如果研究好了會寫出來,因爲大部分博主感覺寫的還是不全,我一個萌新研究了好久才懂一點究竟應該怎麼做……繼續加油!勵志幫助到同樣迷茫的人們