C#调用Microsoft.ML.OnnxRuntime和YOLO5模型时的输出数据处理分析

采用ultralytics网站提供的YOLO5模型进行模型预测时,其模型输出的数据格式为[1,84,8400],该格式与YOLOv5官方原生输出的 [1, 25200, 85]不太一样,其每个维度的含义如下:

  维度1 :输出的结果图片数量,类似BCHW格式中的B;
  维度2 :每个预测框的特征向量长度,可以理解为每个预测结果的内部结构,包括4个边界框坐标值(边界框中心坐标、宽度及高度,未归一化)和基于COCO数据集的80个类别概率;
  维度3:预测框的总数量,即所有特征图上锚框(Anchor)的总和,可以理解为预测结果的总数量。
  基于上述输出数据格式分析,为在原图中标识模型预测结果,需要执行以下步骤:
  1)计算每个预测结果的最高概率类别,针对8400个预测结果,计算每个计算结果中80个类别概率中的最大类型概率,如果该概率大于指定的阈值,则保留该预测结果,同时基于预测结果的边界框坐标值、模型输入尺寸、模型原始尺寸等信息计算预测框在原图中的位置及尺寸;
  2)针对步骤1中筛选的预测结果集合进行非极大值抑制处理,去除目标检测中的冗余重复框。当多个预测框重叠检测同一物体时,它保留置信度最高的框,抑制掉与其重叠度过高(IoU大于阈值)的其他框,确保每个目标只输出一个最准确的检测结果。
  3)在原图中调用OpenCvSharp绘制每个预测结果的预测框及最高概率类别文本。

参考文献:

1\]https://docs.ultralytics.com/zh/modes/predict \[2\]https://www.cnblogs.com/CrescentWind/p/18676617

相关推荐
QQ676580088 小时前
基于深度学习YOLO的苹果采摘点图像识别 苹果枝条分割识别 苹果分割检测 苹果茎叶分割识别 果园自动化采摘设备目标识别算法第10386期
深度学习·yolo·自动化·苹果采摘点图像·苹果枝条分割·苹果茎叶分割·果园自动化采摘设备
QQ6765800811 小时前
基于YOLO26算法的智慧农业橙子图像识别 橙子采摘识别 水果采摘识别 高清采摘过程图像识别 YOLO+voc个数据集第10410期
算法·yolo·橙子采摘·水果采摘识别·高清采摘过程图像识别
深度学习lover12 小时前
<数据集>yolo 瓶盖识别<目标检测>
人工智能·python·yolo·计算机视觉·瓶盖识别
乔公子搬砖13 小时前
告别识别率焦虑:视频 AI 工程化实战 —— 检测→判定→聚合→治理全链路拆解
人工智能·yolo·决策树·计算机视觉·视觉检测
qxl_79991516 小时前
PCB元件对位:相机采集+YOLO定位完整工程方案(含坐标转换公式)
数码相机·yolo·fpga开发
xiaoyaohou111 天前
013、Neck结构改进(一):BiFPN、ASFF等多尺度特征融合技术
yolo
泰恒1 天前
人工智能简述
人工智能·深度学习·yolo·机器学习·计算机视觉
jay神2 天前
大米杂质检测数据集(YOLO格式)
人工智能·深度学习·yolo·目标检测·毕业设计
xiaoyaohou112 天前
007、注意力机制改进(一):SE、CBAM、ECA模块原理与融合
yolo
嵌入式吴彦祖2 天前
Yolov5环境配置
yolo