c++onnx之yolov5检测-创新互联

yolov5和resnet比稍微麻烦了一点,主要就是多了nms部分,还有坐标点映射回原图的yolov5_scale_coords函数。流程大致分为五部分:1)图像等比例放缩,2)图像预处理,3)onnx推理,4)nms后处理,5)坐标点映射回原图

创新互联是专业的泽州网站建设公司,泽州接单;提供网站设计制作、做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行泽州网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!等比例放缩

还是和resnet一样的 letterbox 函数,就不重复了。

图像预处理

还是和resnet一样的,就不重复了,就cv::dnn::blobFromImage一句话。

onnx推理

和之前差不多,改下输入输出的维度、名称,然后resnet的一维输出变成yolo的二维输出,这个在 c++ 使用onnx推理 中写过了,也不重复了。

nms后处理

这个我懒得自己写,还好opencv里面有cv::dnn::NMSBoxes函数,直接用就好。
正常来说onnx推理后返回的预测值是252000 x (n+5) ,其中252000是框的总数一般是不变的, n是等于你设置的类别数,向量含义是(center_x, center_y, width, height, conf_框, conf_类别1,conf_类别2,…,,conf_类别n)。

这个函数主要就是把preds转成opencv_nms函数需要的输入 cv::Rect(left, top, w

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文名称:c++onnx之yolov5检测-创新互联
文章转载:http://myzitong.com/article/doospj.html