win10 下的YOLO v3 的編譯與使用


部署環境:win10 +CUDA 10.0 + vs2017 + opencv 3.4.0 

代碼版本是 https://github.com/AlexeyAB/darknet  

1、初始准備

  (1)下載代碼

  (2)確保 VS2017 安裝了 VC++ v140工具集,如果沒有安裝,打開 Visual Studio Installer  ——修改——選中 c++ 在右側找到 vc++ v140  如下圖所示

  

2、修改項目文件

  (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  

3、項目配置

  (1)打開 darknet.sln (沒有 GPU 的 打開 darknet_no_gpu.sln 前面修改也是修改對應無 GPU 的 vcxproj 項目文件 ) ,第一次打開會提示 重新定向項目 這里 windows sdk  選擇 10.0  ,平台工具集選擇 無升級    

                

  (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)分別點擊應用和確定

4、開始編譯

  (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 網址


免責聲明!

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



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