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

相关推荐
一见已难忘9 小时前
4类红外热成像目标检测数据集(轿车/行人/货车/摩托车)| 4300张YOLO红外夜视检测数据集 适用于自动驾驶、智能安防与红外目标检测研究
yolo·目标检测·自动驾驶
会飞锦鲤13 小时前
基于YOLOv10的瓜果成熟度智能检测系统
人工智能·python·深度学习·yolo·flask
朱永博15 小时前
Cpp使用Tensorrt10.8推理Yolo26
yolo
YOLO数据集集合17 小时前
井下钻场智能监控系统:YOLOv8驱动的多目标检测全栈实战 | 打钻过程监测、安全行为识别、灾害防治辅助系统
yolo·目标检测·目标跟踪
大学生技术野农2 天前
基于Yolo26和Grad-CAM可视化融合的深度学习的猕猴桃分级系统-Python源码
python·深度学习·yolo
YOLO数据集集合2 天前
番茄病害智能诊断系统:YOLO+DeepSeek农业AI落地实践
人工智能·yolo·目标检测·计算机视觉
Studying 开龙wu2 天前
YOLOv11s-Pose 模型导出 ONNX 并适配 Rockchip NPU 全流程记录
yolo
金色旭光3 天前
YOLO26 目标检测原理
算法·yolo
YOLO数据集集合3 天前
多模态AI道路病害检测系统:YOLO+DeepSeek融合实战
人工智能·yolo·目标检测·计算机视觉·目标跟踪
YOLO数据集集合3 天前
吊装作业的“电子围栏”:YOLOV13如何用AI框住塔吊下的致命风险
人工智能·安全·yolo·目标检测