yolov5 c++模型部署

765 阅读1分钟

yolov5-opencv-cpp

使用c++ opencv的dnn模块运行yolov5 onnx格式的模型。

说明

参考yolov5-opencv-cpp-python

  • 使用该项目时发现,官方提供的coco数据集进行检测,代码可以正常进行,但是使用自己训练的模型和类型文件时会出现段错误。
  • 经过调试发现,detect函数中存在两个magic number。一个是85,还有一个25200。
  • 原项目中的issues已经提到了这个问题但是并没有修改,关于这两个magic number的解释详情见该博客。具体来说rows代表一共有25200个结果需要进行提取判断,dimensions代表每个结果中共有5+className.size()个数据。
  • detect函数进行修改,可以正常使用自己训练的模型和类型文件进行识别。

代码

项目地址