YOLO(You only look once)是流行的目標檢測模型之一, 原版 Darknet 使用純 C 編寫,不需要安裝額外的依賴包,直接編譯即可。
CPU環境搭建 (ubuntu 18.04)
1.獲取圖像檢測訓練模型
git clone https://github.com/pjreddie/darknet
下載好的darknet程序包如下圖所示:
2.編譯
cd darknet
make
3.獲取訓練模型權重 (作者公布的)
wget https://pjreddie.com/media/files/yolov3.weights
如果慢可以網盤下
鏈接: https://pan.baidu.com/s/1nSPkb792xjaqPOmt2C8Iew 提取碼: kjdx
4.測試圖片進行分類 (這里dog.jpg 可以換成你自己的圖片,放在data目錄下)
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
GPU環境搭建 (ubuntu 18.04)
1.獲取圖像檢測訓練模型
git clone https://github.com/pjreddie/darknet
2.修改GPU調用配置
- 修改Makefile文件
- cd darknet
- vim Makefile
- GPU=1
- CUDNN=1
當然CUDNN等需要提前配置調試好
3.編譯
cd darknet
make
make clean(清除編譯)
4.獲取訓練模型權重 (作者公布的)
wget https://pjreddie.com/media/files/yolov3.weights
如果慢可以網盤下
鏈接: https://pan.baidu.com/s/1nSPkb792xjaqPOmt2C8Iew 提取碼: kjdx
5.測試圖片進行分類 (這里dog.jpg 可以換成你自己的圖片,放在data目錄下)
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
識別效果(對於密集目標會有丟失率)
Yolov3 darknet訓練后可能會檢測不出物體 或者檢測標示錯誤
sudo ./darknet detect cfg/yolo-obj.cfg yolo-obj_1200.weights data/containership98.jpg
發現檢測位置正確,但標示錯了
原因是 沒有顯式得指明你的xx.data文件 而使用了默認的coco.names文件的類別的cfg/coco.data文件
sudo ./darknet detector test cfg/obj.data cfg/yolo-obj.cfg yolo-obj_1200.weights data/containership98.jpg
./darknet detector test cfg/myv3.data cfg/yolov3.cfg backup/yolov3_10000.weights 1.jpg
用這種方式就可以探測顯示的是自己的類別了。
https://pjreddie.com/darknet/yolo
上述darknet原版是存在訓練后檢測不到物體的問題的。 需要加上sudo,就可以顯示
https://github.com/AlexeyAB/darknet
AB版darknet 訓練后就可以探測得到物體的。
https://blog.csdn.net/u012235003/article/details/54576974