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

相关推荐
动物园猫2 小时前
城市道路设施及道路安全隐患数据集分享(适用于YOLO系列深度学习分类检测任务)
深度学习·yolo·分类
no_work20 小时前
yolo摄像头下的目标检测识别集合
人工智能·深度学习·yolo·目标检测·计算机视觉
fundoit1 天前
Windows 下 YOLO 环境搭建与使用完整指南
windows·yolo
jay神1 天前
基于深度学习的车辆识别收费管理系统
人工智能·深度学习·yolo·目标检测·毕业设计
动物园猫1 天前
7种交通场景目标检测数据集分享(适用于YOLO系列深度学习检测任务)
深度学习·yolo·目标检测
jay神2 天前
基于YOLOv8的钢材表面缺陷检测系统
人工智能·算法·yolo·目标检测·计算机视觉
no_work2 天前
基于yolo深度学习的混凝土裂缝检测
人工智能·深度学习·yolo
YOLO视觉与编程2 天前
一文读懂-yolo26如何预测识别图片|视频|摄像头|文件夹检测适用v8v11
人工智能·深度学习·yolo·目标检测·机器学习
容沁风2 天前
用opencv和yolov5su定位二维码
opencv·yolo·二维码