基于yolov8:https://github.com/ultralytics/ultralytics
-
OpenCV>=4.7.0
OpenCV>=4.7.0
OpenCV>=4.7.0 -
export for opencv-dnn:
yolo export model=path/to/model.pt format=onnx dynamic=False opset=12
opencv>=4.5.0
ONNXRuntime>=1.9.0
- 0.新增加onnxruntime旧版本API接口支持
- 1.opencv不支持动态推理,请将dymanic设置为False导出onnx,同时opset需要设置为12。
- 2.关于换行符,windows下面需要设置为CRLF,上传到github会自动切换成LF,windows下面切换一下即可
- yolov8使用opencv-dnn推理的话,目前只支持opencv4.7.0及其以上的版本,我暂时也没找到怎么修改适应opencv4.5.0的版本( ̄へ ̄),这个版本需求和onnxruntime无关,onnxruntime只需要4.5.0的版本,4.x的版本应该都可以用,只要能正确读取,有
cv::dnn::blobFromImages()
这个函数即可,如果真的没有这个函数,你自己将其源码抠出来用也是可以的,或者大佬们自己实现该函数功能。 - 而目前opencv4.7.0的版本有问题(opencv/opencv#23080) ,如果你的CPU不支持
AVX2
指令集,则需要在net.forward()
前面加上net.enableWinograd(false);
来关闭Winograd加速,如果支持这个指令集的话可以开启加速(蚊子腿)。