Yolo-Fastest用opencv的dnn模块做前向推理

最近在微信朋友圈里疯传的Yolo-Fastest(github代码地址是https://github.com/dog-qiuqiu/Yolo-Fastest),据说模型非常小,且运行速度快,而且,这个YOLO-Fastest算法满足所有平台的需要。不论是PyTorch,还是Tensorflow,又或者是Keras和Caffe,可以说是全平台通用。但是我没有看到用opencv的dnn模块做前向推理的,于是我就想编写一个程序用opencv的dnn模块做Yolo-Fastest的前向推理。而在此之前,就已经有用opencv的dnn模块做yolov3目标检测(github代码地址是https://github.com/spmallick/learnopencv/blob/master/ObjectDetection-YOLO/object_detection_yolo.py),那么很自然的一个想法是下载Yolo-Fastest的源码,拷贝cfg和weight文件,然后修改object_detection_yolo.py里的cfg和weight文件路径为Yolo-Fastest里的cfg和weight文件,然而运行程序,结果ok。注意,运行这个程序,opencv需要是4.0版本以上的,我之前的opencv版本是3.4的,运行这个程序直接报错中断了,输入pip install --upgrade opencv-python,把opencv更新到最新的opencv4.4,重新运行程序就正常了。

Yolo-Fastest用opencv的dnn模块做前向推理

整个程序可以去我的github代码仓库下载,地址是 https://github.com/hpc203/Yolo-Fastest-opencv-dnn