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绘制每个预测结果的预测框及最高概率类别文本。

参考文献:

1https://docs.ultralytics.com/zh/modes/predict

2https://www.cnblogs.com/CrescentWind/p/18676617

相关推荐
大鱼>8 天前
地平线BPU部署实战:YOLOv8在J5/X3上的算法适配与性能优化
算法·yolo·性能优化
stsdddd8 天前
YOLO系列目标检测数据集大全【第二十九期】
yolo·目标检测·目标跟踪
大鱼>8 天前
YOLO边缘部署深度指南:从YOLOv8n到NPU加速的全链路优化
yolo·aiot
AI棒棒牛8 天前
第 03 讲《监督学习:数据、标签、Loss与训练循环》
人工智能·学习·yolo·目标检测·yolo26
FL16238631298 天前
国内快递面单识别检测数据集VOC+YOLO格式422张6类别
人工智能·yolo·机器学习
stsdddd8 天前
YOLO系列目标检测数据集大全【第三十期】
yolo·目标检测·目标跟踪
YOLO数据集集合8 天前
无人机航拍地质灾害智能识别 山体滑坡实例分割数据集落地实战 | 泥石流监测 道路险情封堵 深度学习模型训练方案10296期
人工智能·深度学习·yolo·目标检测·无人机
音沐mu.8 天前
【73】墙壁建筑缺陷数据集(有v5/v8模型)/YOLO墙壁建筑缺陷检测
yolo·目标检测·目标检测数据集·墙壁建筑缺陷数据集·墙壁建筑缺陷检测
前网易架构师-高司机8 天前
带标注的辣椒病叶数据集,识别率95.9%,可识别三种病害和健康叶子,9916张图,支持yolo,coco json,voc xml,文末有模型训练代码
yolo·json·数据集·病害·叶病·病叶·辣椒
动物园猫8 天前
直升机停机坪目标检测数据集分享(适用于YOLO系列深度学习分类检测任务)
深度学习·yolo·目标检测