部署環境:win10 +CUDA 10.0 + vs2017 + opencv 3.4.0 c++
代碼版本是 https://github.com/AlexeyAB/darknet git
一、初始準備github
(1)下載代碼windows
(2)確保 VS2017 安裝了 VC++ v140工具集,若是沒有安裝,打開 Visual Studio Installer ——修改——選中 c++ 在右側找到 vc++ v140 以下圖所示網絡
二、修改項目文件編輯器
(1)若是環境不是 CUDA10.0 (安裝了CUDA9.0等),文本編輯器打開 darknet.vcxproj 搜索 CUDA 10.0 字樣 ,一共兩處 (CUDA 和 10.0 中間有個空格)將 CUDA 10.0 換成你安裝的 CUDA 版本 例如( CUDA 9.0 )工具
(2)若是是 CUDA 9.0 ,還須要把 ;compute_75,sm_75 換成 ;compute_70,sm_70 測試
三、項目配置ui
(1)打開 darknet.sln (沒有 GPU 的 打開 darknet_no_gpu.sln 前面修改也是修改對應無 GPU 的 vcxproj 項目文件 ) ,第一次打開會提示 從新定向項目 這裏 windows sdk 選擇 10.0 ,平臺工具集選擇 無升級 spa
(2)設置 程序 release X64
(3)右擊 darknet ——屬性
a) 肯定平臺工具集是 V140
b)設置VC++目錄(包含目錄和庫目錄),分別設置爲 OpenCV 的 安裝目錄 中的
C:\opencv\opencv\build\include
C:\opencv\opencv\build\include\opencv
C:\opencv\opencv\build\include\opencv2
和 C:\opencv\opencv\build\x64\vc14
c) 設置連接器
連接器——輸入——附加依賴項 點開後 直接添加 C:\opencv\opencv\build\x64\vc14 目錄中的 lib 文件的名稱 (這裏是 opencv_world340.lib )
d)分別點擊應用和肯定
四、開始編譯
(1)darknet項目右擊 生成
(2)將 C:\opencv\opencv\build\x64\vc14 目錄下的 opencv_ffmpeg340_64.dll 和 opencv_world340.dll 複製到 darknet-master\build\darknet\x64 目錄下
(3)幾種編譯報錯的 解決方法
a )MSB8036 The Windows SDK version 8.1 was not found.
解決方法: 這是因爲目標版本問題,右擊項目 —— 常規——將目標版本選中有的那個(這裏是10.0.17763.0)
b ) MSB4019 未找到導入的項目「***Microsoft.Cpp\v4.0\V140\BuildCustomizations\CUDA 10.0.targets」。請確認 <Import> 聲明中的路徑正確,且磁盤上存在該文件。 darknet \darknet-master\build\darknet\darknet.vcxproj 301
解決方法:將 NVIDIA GPU Computing Toolkit\CUDA\v10.0\extras\visual_studio_integration\MSBuildExtensions 文件夾 中的全部文件 複製到 C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140\BuildCustomizations 中從新編譯便可
c ) opencv2/core/core.hpp : No such file or directory
解決方法:右擊項目 —— 將配置改爲 release 平臺改爲 x64
5 使用測試
在源碼頁面下載yolov3的 yolov3.weights 也能夠本身下載其餘權重測試
進入 darknet-master\build\darknet\x64 目錄 打開命令行 輸入 ./darknet.exe detector test cfg/coco.data cfg/yolov3.cfg yolov3.weights -thresh 0.25
而後輸入圖片路徑便可檢測圖片 ( -thresh 0.25 表明檢測閾值,機率高於0.25的畫框)
其餘 檢測命令
檢測視頻 ./darknet.exe detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights -thresh 0.25 test.MP4
檢測網絡像頭: ./darknet.exe detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights -thresh 0.25 相機網絡地址
其餘檢測可參照 github 網址