目录
1. 概述
YOLO官方网址:https://pjreddie.com/darknet/yolo/
作者开源项目地址:https://github.com/pjreddie/darknet
YOLOv1论文地址:https://arxiv.org/pdf/1506.02640.pdf
YOLOv2论文地址:https://arxiv.org/pdf/1612.08242.pdf
YOLOv3论文地址:https://arxiv.org/pdf/1804.02767.pdf
目前维护较好的darknet开源地址:https://github.com/AlexeyAB/darknet,该仓库在原作者的基础上做了很多改进。
2.darknet配置
2.1 下载darknet
在Ubuntu终端输入以下命令:
git clone https://github.com/AlexeyAB/darknet.git
2.2 编译darknet
在编译darknet前首先需要修改Makefile,在终端输入以下命令:
cd darknet
gedit Makefile
打开后根据需要修改GPU,CUDNN等的值,GPU为1的话需要安装cuda,CUDNN为1的话需要安装CUDNN,CUDNN_HALF仅支持带有Tensor Cores的GPU如Titan V / Tesla V100 / DGX-2或者之后的显卡。
OPENCV为1的话,需要安装OpenCV,安装OpenCV可以在终端中输入以下命令:
sudo apt-get install libopencv-dev
修改完Makefile之后,在终端中输入:
make
或者
make -j8
进行编译,j后面的数字表示cpu核数,cpu有多少个核就可以写几。
3.测试
3.1 测试图片
编译成功之后,进行测试,首先需要下载权重,在终端中输入:
wget https://pjreddie.com/media/files/yolov3.weights
可以下载基于YOLOv3在COCO数据集上训练的权重,该权重在COCO测试集上的mAP可以达到57.9。
进行测试可以写一个shell的脚本文件,在终端中输入
touch test_coco.sh
gedit test_coco.sh
在test_coco.sh文件中写入以下内容:
./darknet detector test cfg/coco.data cfg/yolov3.cfg yolov3.weights -thresh 0.25 data/dog.jpg
在终端中输入以下命令后可以看到:
sh test_coco.sh
完成检测后,可以得到如下结果,说明配置成功。
3.2 测试视频
测试视频可以在脚本中输入以下内容,可以对视频进行目标检测
./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights -thresh 0.25 -ext_output test.mp4 -out_filename res.avi
我测试的视频结果已上传到这里: