用opencv的dnn模块实现Yolo-Fastest的目标检测

最近在微信朋友圈里疯传的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,重新运行程序就正常了。

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

此外,用opencv的dnn模块实现yolov4的目标检测,我也用python编写了一套程序,地址是 https://github.com/hpc203/yolov4-opencv-dnn

刚才在微信朋友圈看到关于Yolo目标检测的新的网络:YOLObile,我也用python编写了用opencv的dnn模块做目标检测的程序,github代码地址是 https://github.com/hpc203/YOLObile-opencv-dnn

猜你喜欢

转载自blog.csdn.net/nihate/article/details/108670542