这几天,Alexey Bochkovskiy大神在Yolov4官网上更新了Yolov4-tiny!这对于计算资源相对紧张的开发者来说当然是福音啊。
这样的话,YOLO算法各个版本都有其对应的tiny版本了!
1、从如下网址下载最新版的darknetAB源码:
https://github.com/AlexeyAB/darknet
2、下载 Yolov4-tiny训练权重:yolov4-tiny权重,将下载好的权重放到darknet目录下即可;
如果需要用Yolov4-tiny来进行训练,则需要下载Yolov4-tiny的预训练权重:yolov4-tiny预训练权重,具体的训练方法参考这里。
3、打开makefile文件,在编译之前可以修改可选参数以适应于自己的计算机:
(1)GPU=1,采用GPU加速,采用CUDA进行编译;
(2)CUDNN=1,采用cuDNN v5-v7进行编译,进行加速训练;
(3)CUDNN_HALF=1,在Titan V、Tesla V100、DGX-2及更高版本上使用;
(4)OPENCV=1,使用OpenCV,支持各个版本的OpenCV(4.x/3.x/2.4.x),可以检测来自网络摄像机或web-cams的视频文件与视频流。
上述这4个参数是主要修改的,其他参数使用得较少,可暂时不用修改。
4、在darknet目录下执行make进行编译;
5、执行如下指令进行图片检测:
./darknet detector test ./cfg/coco.data cfg/yolov4-tiny.cfg yolov4-tiny.weights data/dog.jpg
检测结果如下:
目标的置信度如下:
Done! Loaded 38 layers from weights-file
data/dog.jpg: Predicted in 2.609000 milli-seconds.
bicycle: 29%
dog: 72%
truck: 82%
car: 46%
下面是Yolo_v4的检测结果:
Done! Loaded 162 layers from weights-file
data/dog.jpg: Predicted in 27.039000 milli-seconds.
bicycle: 92%
dog: 98%
truck: 92%
pottedplant: 33%
可以看到Yolov4-tiny检测准确度有下降,但是从耗时来看Yolov4-tiny优势明显:Yolov4-tiny检测的耗时仅为2.6毫秒,而Yolov4检测的耗时则为27毫秒,快了10倍有余!