win10 下的YOLO v3 的編譯與使用

部署環境: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 網址

相關文章
相關標籤/搜索