跳转至内容

YOLOv8:Ultralytics 技术的进化之路

计算机视觉领域发展迅猛,其显著动力源于YOLO You Only Look Once)目标检测器家族的持续创新。该系列中最具影响力的两个版本是 YOLOv5YOLOv8,均Ultralytics开发。YOLOv5 于2020年发布时YOLOv5 行业标准,以卓越的易用性和灵活性著称;而2023年问YOLOv8 通过架构突破性创新,重新定义了尖端性能标准。

本指南提供深入的技术对比,旨在帮助开发者、研究人员和工程师根据具体应用需求选择合适的模型,同时重点介绍该领域最新进展,例如YOLO26

Ultralytics YOLOv5:行业标准

于2020年6月发布, YOLOv5 标志着人工智能普及化进程中的关键转折点。与主要采用C语言编写的早期版本(如Darknet)不同YOLOv5 首个原生 PyTorch 实现,使其对Python 群体具有非凡的易用性。

主要特性和架构

YOLOv5 速度、准确性和用户友好设计的平衡性而YOLOv5 。其架构相较于YOLOv4实现了多项关键改进:

  • CSP暗网骨干网络:利用跨阶段部分连接来改善梯度流并减少参数。
  • 自动学习锚框:在训练开始前,自动学习自定义数据集的最优锚框尺寸。
  • 马赛克数据增强:一种训练技术,通过将四张图像组合成一张,增强模型detect 物体的能力,并提升其上下文泛化能力。

技术规格:

了解更多关于 YOLOv5

Ultralytics YOLOv8:定义尖端技术

于2023年1月推出, YOLOv8 标志着计算机视觉技术的重要飞跃。该算法摒弃了YOLOv5 采用的锚点检测机制YOLOv5 无锚点设计,不仅简化了学习过程,还显著提升了对不同物体形状的泛化能力。

架构创新

YOLOv8 多项现代技术,显著提升了速度与精度:

  • 无锚点检测:无需手动配置锚框,直接预测目标中心。这减少了框预测数量,并加速了非最大抑制(NMS)过程。
  • C2f模块:替代YOLOv5模块,提供更丰富的梯度流,并调整通道数量以实现更优的特征提取。
  • 解耦头:将对象识别、分类和回归任务拆分为不同分支,使各任务更高效地收敛。
  • 任务多样性:从底层设计开始,不仅支持检测,还支持实例分割姿势估计 分类以及 旋转框检测 (Oriented Bounding Box)。

技术规格:

了解更多关于 YOLOv8

性能对比

在比较这两大性能强劲的模型时,可以明显看出:在同等硬件条件下YOLOv8 YOLOv5 准确率(mAP)和延迟YOLOv5 YOLOv8 优于YOLOv5 。然而YOLOv5 能力出众的模型,对于传统系统而言具有极高的运行效率。

下表展示了COCO 上的表现。粗体数值表示各类别中的最佳表现。

模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(毫秒)
参数
(M)
FLOPs
(B)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8

分析

YOLOv8n Nano)在参数数量仅略有增加的情况下,实现了显著更高的mAP 37.3),远超YOLOv5n(28.0)。这种效率提升YOLOv8 现代边缘应用的YOLOv8 ——在这些场景中,准确率的每个百分点的提升都至关重要。

训练与生态系统

这两款模型都极大受益于Ultralytics ,该系统以易用性为核心设计理念。

简化培训工作流程

YOLOv5 YOLOv8 YOLOv5 过渡YOLOv8 引入了统一的CLI Python 支持所有任务。而YOLOv5 特定脚本(例如: train.py, detect.py),YOLOv8 后续模型如 YOLO26 采用模块化包结构。

YOLOv5 :

python train.py --img 640 --batch 16 --epochs 50 --data coco128.yaml --weights yolov5s.pt

YOLOv8 :

yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640

Ultralytics 优势

两种模型Ultralytics 无缝集成。这使用户能够可视化训练过程、管理数据集,并一键将模型导出为ONNX等格式。 ONNXTensorRTCoreML 格式,CoreML 编写复杂的转换脚本。

应用场景与建议

选择这两种模型取决于您的具体限制条件,尽管对于新项目通常建议采用更新的模型。

YOLOv5的理想场景

  • 遗留系统:已与YOLOv5 深度集成的项目,其迁移成本较高。
  • 特定硬件支持:某些较早的边缘AI加速器可能配备了高度优化的内核,这些内核经过专门调优,可完美适配YOLOv5特定层结构。
  • 简洁性:出于纯粹的教育目的,YOLOv5 中基于脚本的显式结构,对于初学者而言更易于逐行剖析。

YOLOv8 的理想应用场景

  • 高精度要求:医疗成像质量检测等应用中,检测细微特征至关重要。
  • 多任务学习:需要同时进行分割姿势估计 检测的项目。
  • 面向未来:开发者启动新项目时应选择YOLOv8 或更新版本),以确保长期支持及与最新部署工具的兼容性。

未来:Ultralytics YOLO26

YOLOv5 YOLOv8 优异,但该领域仍在持续发展。对于追求2026年巅峰性能的开发者,我们强烈推荐Ultralytics

为何选择YOLO26? YOLO26在v5和v8的基础上进行了革命性改进,显著提升了速度与效率:

  • NMS:通过消除非最大抑制(NMS)的需求,YOLOv26简化了部署逻辑并降低了推理延迟,这一概念最早由 YOLOv10
  • MuSGD优化器:一种混合优化器,为视觉模型带来大型语言模型训练的稳定性,确保更快收敛。
  • 针对Edge增强:通过移除DFL并CPU 特定CPU ,YOLO26在CPU上的运行速度较前代提升高达43%
  • 卓越的小目标检测:新型ProgLossSTAL函数显著提升了对小型目标的检测性能,这对无人机影像和物联网应用至关重要。

了解更多关于 YOLO26 的信息

结论

YOLOv5 计算机视觉发展史上都YOLOv8 里程碑意义。 YOLOv5 至今仍是众多现有应用中可靠的低内存工作马,以其训练过程中的稳定性和较低的资源占用而备受推崇。 YOLOv8则展现出更强的通用性、更高的精度,并采用更符合当前研究趋势的现代化架构设计。

对于那些追求尖端科技、目光投向未来的人们 YOLO26YOLO11 将带来更显著的速度与精度提升。最终,强大的 Ultralytics 确保无论您选择何种模型,都能获得成功所需的工具、文档和社区支持。

代码示例:运行推理

Ultralytics 的简洁性。此代码可兼容YOLOv8、YOLO11和YOLO26模型。

from ultralytics import YOLO

# Load a pretrained model (choose yolov8n.pt or yolo26n.pt)
model = YOLO("yolov8n.pt")

# Run inference on an image from the web
results = model("https://ultralytics.com/images/bus.jpg")

# Process results list
for result in results:
    boxes = result.boxes  # Boxes object for bbox outputs
    masks = result.masks  # Masks object for segmentation masks
    keypoints = result.keypoints  # Keypoints object for pose outputs
    probs = result.probs  # Probs object for classification outputs
    result.show()  # display to screen
    result.save(filename="result.jpg")  # save to disk

有关将这些模型集成到工作流中的更多详细信息,请参阅我们的快速入门指南


评论