最近在做一個yolov3的專案,電腦是mac,出現過各種error,于是寫了一個(error)總結。持續更新mac上使用yolo的各種問題。
(以下所有命令均用終端執行)
一、安裝homebrew
* 網站:https://brew.sh/
終端執行安裝指令
* 指令如下
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
二、下載wget
命令:
brew install wget
如果沒有這個就無法下載接下來yolo所需要的檔案
三、依照官網
git clone https://github.com/pjreddie/darknet
cd darknet
make
*
如果出現:
XCRUN: ERROR: INVALID ACTIVE DEVELOPER PATH (/LIBRARY/DEVELOPER/COMMANDLINETOOLS), MISSING XCRUN AT:
執行:xcode-select --install
*
如果出現:
error: RPC failed; curl 56 SSLRead() return error -36
執行:
1、git config --global http.postBuffer 524288000
或者是
2、sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
如果你只有一個xcode,那么這個命令沒有問題;如果有多個xcode,需要修改成如下:
sudo xcode-select -switch /Applications/Xcode 7.3.1.app/Contents/Developer
(中間為版本號,當然最好你是只有一個xcode啦,把別的卸載就好啦)
記得之后每次需要用到yolo時,都需要先cd darknet
之后執行
./darknet
如果輸出
usage: ./darknet <function>
我們就可以開始下一步了
四、使用預訓練模型進行檢測
首先還是cd darknet
然后
wget https://pjreddie.com/media/files/yolov3.weights
(之前下載了wget現在就很順利啦)
接著
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
你會得到這樣的輸出:
0 conv 32 3 x 3 / 1 416 x 416 x 3 -> 416 x 416 x 32 0.299 BFLOPs
1 conv 64 3 x 3 / 2 416 x 416 x 32 -> 208 x 208 x 64 1.595 BFLOPs
.......
105 conv 255 1 x 1 / 1 52 x 52 x 256 -> 52 x 52 x 255 0.353 BFLOPs
106 detection
truth_thresh: Using default '1.000000'
Loading weights from yolov3.weights...Done!
data/dog.jpg: Predicted in 0.029329 seconds.
dog: 99%
truck: 93%
bicycle: 99%
頂部欄——前往——個人——Mac OS driver——用戶——(你的用戶名,有個小房子的標志)——darknet
這就是你下載的darknet目錄。
檔案夾中有個叫 predictions.jpg 的檔案,就是你的輸出啦。
如果出現:
-bash: ./darknet: is a directory
執行:
sudo apt-get install g++
(這個問題有很多種,我也忘了我是不是這么解決的...)
如果出現:
pkg-config command not found
執行:
brew install pkg-config
五、opencv
opencv真是個很大的坑
以下是我經過若干次嘗試后得到的可行的方法:
1、brew install opencv@2
現在默認安裝第四版及以上的,版本太高yolo無法使用,這是安裝第二版的
2、終端運行會出現你的安裝目錄,前往檔案夾,到這個安裝目錄中的lib-pkgconfig,找到opencv.pc
然后將它移動到
/usr/local/lib/pkgconfig
這個檔案夾中有很多.pc的檔案,如果沒有就算找錯了。
opencv.pc大概率在安裝位置有標志為pkgconfig的地方,如果沒有,自行尋找到它,然后移動到以上所說的位置。
如果安裝時,opencv.pc已經在/usr/local/lib/pkgconfig,就可以直接執行下一步了。
3、接下來就可以進行視頻識別和攝像頭實時檢測了
./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights <video file>
<video file>參考上面測圖片時的路徑,比如data/test.mp4
就是在darknet/data檔案夾中。
./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights
這就可以用攝像頭進行實時檢測了,如果有詢問終端是否使用攝像頭,點擊是之后沒有反應,再執行一次該命令就可以了。
uj5u.com熱心網友回復:
感謝樓主! 您貼的文很有用。 執行到步驟5.1時照您只是得都很順利。 可是怎麼都找不到opencv.pc這個檔案。 請問樓主該如何接下去?uj5u.com熱心網友回復:
為什么我打開攝像頭以后特別卡轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/183138.html
標籤:OpenCV
