Windows11安裝yolov4

筆者使用windows11筆電MSI GS77 12UHS ,CPU為Intel(R) Core(TM) i9 ,GPU為GeForce GTX 3080 Ti 16GB。

Step1)安裝Visual Studio2022 Community(https://visualstudio.microsoft.com/zh-hant/downloads/)

Step2)安裝cuda、cudnn與opencv

cuda11.7.1(cuda_11.7.1_516.94_windows.exe) https://developer.nvidia.com/cuda-toolkit-archive

cudnn8.7.0(cudnn-windows-x86_64-8.7.0.84_cuda11-archive.zip) https://developer.nvidia.com/rdp/cudnn-download,需登入nvidia帳號進行下載。將cudnn解壓縮後的bin、include與lib資料夾,覆蓋C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7資料夾。

opencv4.5(opencv-4.5.4-vc14_vc15.exe) https://opencv.org/opencv-4-5-4/

zlib(zlib123dllx64.zip) http://www.winimage.com/zLibDll/zlib123dllx64.zip 解壓縮後將zlib複製到C:\Windows\system32\下,編譯好的darknet.exe執行時需要此函式庫。


Step3)驗證cuda與cudnn是否安裝完成

系統path新增「C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\bin」與「C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\libnvpp」。

在命名提示字元執行「nvcc -V」與「nvidia-smi」確認cuda與cudnn是否安裝完成

Step4)使用指令「cmd」開啟命令提示字元。

Step4a)從https://github.com/Microsoft/vcpkg.git下載程式碼。

Step4b)使用「cd vcpkg」切換到資料夾vcpkg

Step4c)執行「 .\bootstrap-vcpkg.bat」

Step4d)執行「 .\vcpkg install darknet[full]:x64-windows」,下載所有套件的原始碼並重新編譯,執行時間約1.69小時。

Step5)下載yolov4.weights(https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v3_optimal/yolov4.weights)到資料夾C:\vcpkg\installed\x64-windows\tools\darknet,該資料夾為編譯完成後執行檔darknet.exe所在位置。

Step6)執行「darknet detect cfg/yolov4.cfg yolov4.weights data/dog.jpg 」可以辨識圖片data/dog.jpg,「Ctrl+C」中斷執行。

Step7)執行「darknet detector demo cfg/coco.data cfg/yolov4.cfg yolov4.weights -c 0 」開啟筆電攝影機進行即時辨識,MSI GS77側面USB槽附近有攝影機開關,請先啟用攝影機,再到MSI center開啟攝影機,「Ctrl+C」中斷執行。

Step7)執行「darknet.exe detector demo cfg/coco.data cfg/yolov4.cfg yolov4.weights input.mp4 -out_filename output.avi」,影片input.mp4輸入到yolov4辨識結果輸出到output.avi。影片來源https://mixkit.co/free-stock-video/crowds-of-people-cross-a-street-junction-4401/,辨識影片截圖如下。