[不涉及训练] YOLOv3图像检测+Ubuntu环境搭建

Posted Clemente

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[不涉及训练] YOLOv3图像检测+Ubuntu环境搭建相关的知识,希望对你有一定的参考价值。

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

 

以上是关于[不涉及训练] YOLOv3图像检测+Ubuntu环境搭建的主要内容,如果未能解决你的问题,请参考以下文章

Yolov3代码分析与训练自己数据集

Matlab实现YOLOV3对车辆进行检测--全程中文说明适合初学者学习

win10下用yolov3训练WiderFace数据集来实现人脸检测(TensorFlow版本,darkface作为测试集)

win10下用yolov3训练WiderFace数据集来实现人脸检测(TensorFlow版本,darkface作为测试集)

YOLOv3目标检测实战:交通标志识别

深度学习和目标检测系列教程 14-300:训练第一个 YOLOv3 检测器