使用opencv模块部署yolov5-6.0版本 基于6.0版本的yolov5:https://github.com/ultralytics/yolov5
The Yolov5 code has been merged into https://github.com/UNeedCryDear/yolov5-seg-opencv-onnxruntime-cpp, and the repository will no longer be updated.
OpenCV>=4.5.0
- 导出onnx模型需要将opset设置成12(原来默认的是13,在opencv下面会报错,原因未知)
- 如果是torch1.12.x的版本,需要在
https://github.com/ultralytics/yolov5/blob/c98128fe71a8676037a0605ab389c7473c743d07/export.py#L155
这里的
do_constant_folding=False
,设置为false才行,否者读取网络会失败,原因未知。
$ python path/to/export.py --weights yolov5s.pt --img [640,640] --opset 12 --include onnx
- 旧代码已经是两年之前的了,之前为了适应yolov5-5.0的版本,后处理部分留下太多繁琐的操作,包括像计算anchors,需要设置对应的stride等等。本次更新将会优化这部分内容,同时加上预处理部分的LetterBox(),与python下的源码保持一致性的预处理方式。
- 如果你的显卡支持FP16推理的话,可以将模型读取代码中的
DNN_TARGET_CUDA
改成DNN_TARGET_CUDA_FP16
提升推理速度(虽然是蚊子腿,好歹也是肉(:
-
新增P6模型支持,可以通过yolo.h中定义的YOLO_P6切换
-
另外关于换行符,windows下面需要设置为CRLF,上传到github会自动切换成LF,windows下面切换一下即可