YOLO(You Only Look Once)是一种广泛使用的目标检测模型,近年来也逐渐应用于图像分割和姿态估计任务。本篇文章将详细讲解YOLO模型在目标检测、图像分割及姿态估计中的应用,通过代码和预测结果分析帮助您更好地理解和使用YOLO模型。
Ultralytics库的所有预测结果都放在Result
对象中,适用于目标检测、图像分割和姿态估计等任务,本文也将详细介绍如何处理不同任务的预测结果。
任务概述与对比
YOLO支持三种主要视觉任务,每个任务都有其独特的输出结构和应用场景:
-
目标检测(Object Detection)
- 输出:边界框(boxes)和类别标签
- 特点:定位物体位置并进行分类
- 应用场景:物体识别、车辆检测、人脸检测等
-
图像分割(Image Segmentation)
- 输出:像素级别掩码(masks)和类别标签
- 特点:提供物体精确的轮廓信息
- 应用场景:医学图像分析、场景理解等
-
姿态估计(Pose Estimation)
- 输出:人体关键点坐标(keypoints)和骨架连接
- 特点:识别人体姿态和动作
- 应用场景:运动分析、姿态追踪、行为监控等
YOLO模型的预测结果对象结构
所有任务的预测结果都封装在Results
对象中,Results
对象包含以下通用属性:
- orig_img: 原始图像数据
- orig_shape: 原始图像尺寸(高, 宽)
- path: 输入图像路径
- save_dir: 结果保存路径
- speed: 预测耗时信息