当前位置: 首页 > backend >正文

YOLO中model.predict方法返回内容Results详解

1.执行代码

results=model.predict('YOLO/ultralytics/assets/zidane.jpg')
print(results)

结果如下:

 

可以看出结果是一个数组形式,数组里每个元素都是Ultralytics的Results对象

1)为什么结果是数组,而不是单个对象?

因为有时候要预测的不是单张图片,而是一个批量,此时就有很多张图片,也就有很多个Results对象

2)Results对象里边有什么?

①boxes对象:存有每个预测框的信息(下边细讲)

②keypoints:关键点对象,包含每个对象的检测关键点(关键点估计那里会用上,这里没涉及)

③masks:包含检测掩码的掩码对象(就是目标检测的进一步好像,之前是用框来判定对象,现在是用掩码,这里没涉及)

④names:每类的名称与对应的索引index

⑤obb:包含定向包围盒的 OBB 对象(不是很了解,这里没涉及)

⑥orig_img:原始输入图像的array数组

⑦orig_shape:原始输入图像的高宽

⑧path:原始图像的路径

⑨probs:如果是分类任务,就会有每类的概率

⑩save_dir:预测结果保存的路径

⑪speed:预处理(进行缩放裁剪归一化等)、推理、后处理(置信度阈值过滤、非极大值抑制等)所花时间

2.查看boxes对象,执行如下代码

print(results[0].boxes)

结果如下:

此时的boxes对象是包含了所有框的

①cls:有三个值[0.,0.,27.] ,对应的就是第1、2、3个框圈中的物体类别

②conf:存了所有框圈中物体的置信度

③data:是一个数组,每个数组的内容是[x_center, y_center, width, height,confidence, class_id],对应某个检测框的坐标、置信度、类别

④id:model.track方法会用上,定义相邻帧的物体是否是同一个

⑤is_track:判断是否在执行model.track方法

⑥orig_shape:同上

⑦shape:边界框数据的形状(3个框,每个框6个属性)

⑧xywh:框的坐标(中心点格式)

⑨xywhn:框的坐标(中心点格式且归一化)

⑩xyxy:边界框坐标(像素值)

⑪xyxyn:边界框坐标(像素值且归一化)

3.其实YOLO还为boxes对象实现了迭代方法,可以遍历每个框(具体实现得等我以后把源码读熟):

for box in results[0].boxes:print(box)

结果如下:

就是把上边的Boxes每个框信息拆开来了 

http://www.xdnf.cn/news/7759.html

相关文章:

  • 智能笔记助手-NotepadAI使用指南
  • 【大模型面试每日一题】Day 24:假设训练资源有限,如何在模型参数量、训练数据量和训练时长三者间做权衡?
  • MySQL之数据库基础知识,库和表的操作以及基础数据类型
  • Paillier加密方案的原理、实现与应用(dev)
  • Cribl 使用Function 的实际例子-02
  • MinerU可视化界面程序部署(Windows环境)
  • HarmonyOS5云服务技术分享--退出登录文档问题
  • Jenkins安装和配置
  • 无人机精准降落与避障模块技术解析
  • ZYNQ Cache一致性问题解析与实战:从原理到创新优化
  • SAGE:基于SAM进行二级蒸馏的多模态图像融合新方法,CVPR2025
  • 测试概念
  • 嵌入式项目之交叉编译m2440篇
  • 基于望获操作系统的具身智能人形机器人典型应用案例
  • CompleteableFuture的异步任务编排
  • python读写bin文件
  • 《算法笔记》11.7小节——动态规划专题->背包问题 问题 C: 货币系统
  • SCAU18923--二叉树的直径
  • NC65联查单据问题总结
  • 宽带卫星通信介绍
  • 今日行情明日机会——20250520
  • 基于双通道频谱分析的振动信号故障诊断1
  • 波峰波谷策略
  • 野火鲁班猫(arrch64架构debian)从零实现用MobileFaceNet算法进行实时人脸识别(三)用yolov5-face算法实现人脸检测
  • 【BIO、NIO、AIO的区别?】
  • 【嵌入式】I2S音频接口3分钟入门
  • 独热编码笔记
  • 字符画生成(伟大的CSDN)
  • windows安装WS,实测可行
  • 2.4.1死锁的概念