YOLO YOLOv8:目标检测中的架构演进
实时目标检测技术的追求推动了神经网络设计领域的重大创新。其中,阿里巴巴研究院开发的YOLO Ultralytics YOLOv8两大架构对该领域格局产生了深远影响。本文通过对比分析,深入探讨了这两种模型的技术差异,重点考察其训练策略、架构效率及部署适用性。
DAMO-YOLO
作者:徐宪哲、江一琪、陈伟华、黄一伦、张源、孙秀宇
所属机构:阿里巴巴集团
日期:2022-11-23
Arxiv:https://arxiv.org/abs/2211.15444v2
GitHub:YOLO
YOLOv8
作者:Glenn Jocher、Ayush Chaurasia 和 Jing Qiu
所属机构: Ultralytics
日期:2023-01-10
GitHub:ultralytics
文档:yolov8
架构理念
这两种模型之间的核心差异在于其设计起源。YOLO 高度YOLO 自动化搜索策略,YOLOv8 通过大量实证测试YOLOv8 人工架构设计。
YOLO:神经网络架构搜索(NAS)
YOLO MAE-NAS(方法-自动化效率神经网络架构搜索)的技术驱动方法。作者摒弃了人工设计模块的做法,转而采用神经网络架构搜索技术,在特定延迟约束下探索出高效的主体架构。
关键架构组件包括:
- MAE-NAS主干网络:一种自动优化结构,在检测精度与推理速度之间实现平衡。
- 高效RepGFPN:一种通过重新参数化提升特征融合效果且不增加推理成本的广义特征金字塔网络(FPN)。
- 零头:一种轻量级检测头,旨在减轻最终输出层的计算负担。
- 对齐OTA:一种动态标签分配策略,可解决分类与回归任务之间的错位问题。
YOLOv8:优化手动设计
YOLOv8 YOLO 传统YOLOv8 C2f模块(带两个卷积层的跨阶段部分瓶颈)。该模块旨在改善梯度流信息,使网络在保持轻量级的同时能够学习更复杂的特征。
主要架构特性包括:
- 无锚点检测: YOLOv8 锚框,直接预测目标中心。这简化了NMS ,并减少了用户需要调优的超参数数量。
- 解耦头:它将分类和回归分支分离,使每个分支都能更有效地收敛。
- 马赛克增强:一种将四张图像融合为一的先进训练技术,迫使模型学习上下文和尺度不变性。
性能指标
下表对比了YOLO YOLOv8 COCO YOLOv8 表现。虽然YOLO mAP 深度蒸馏YOLO 令人印象深刻的mAP ,YOLOv8 具有更快的推理速度和更低的部署复杂度。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (毫秒) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
训练效率与复杂度
对开发者而言,训练管道是关键区别点。YOLO 复杂的知识蒸馏策略。为实现顶尖性能,需先训练大型"教师"模型来指导小型"学生"模型。虽然这种方法能获得高精度,但会显著增加训练流程的复杂度,提升GPU 需求,并延长训练时间。
相比之下Ultralytics 更注重训练效率。YOLOv8 "免费工具包"策略,通过架构选择和数据增强策略(MixUp )提升准确率,无需多阶段知识蒸馏管道。这使得YOLOv8 在消费级硬件上训练YOLOv8 加快,降低了自定义数据集的入门门槛。
资源效率
与Transformer或蒸馏管道相比,Ultralytics YOLO 在训练和推理过程中通常具有更低的内存需求。这使得在标准GPU上能够支持更大的批量规模并加速实验进程。
Ultralytics 生态系统优势
尽管YOLO 在学术领域YOLO 创新性贡献,Ultralytics 在实际应用开发中具有显著优势。
超乎想象的多功能性
YOLO 主要YOLO 边界框检测。相反,Ultralytics 天生具备多任务处理能力。通过单一API,开发者可执行:
- 实例分割技术实现精准像素级遮罩。
- 姿势估计 用于骨架跟踪的姿势估计 。
- 旋转框检测(Oriented Bounding Box)用于空中及旋转物体检测。
- 图像分类用于全图分类。
易用性与部署
Ultralytics 精简的用户体验。其Python 支持用少于五行代码完成训练、验证和部署。此外,丰富的导出选项可无缝转换为ONNX、TensorRT、CoreML、TFLite 和OpenVINO 格式,确保模型能部署在从云服务器到树莓派等各类设备上。
视觉人工智能的未来:YOLO26
对于寻求2026年绝对尖端技术的开发者Ultralytics 推荐YOLO26。该模型YOLOv8 成功基础上进一步优化, YOLO11取得的成功基础上,YOLO26在架构上实现了根本性变革,显著提升了速度与稳定性。
端到端NMS-Free设计
与需要通过非最大抑制(NMS)后处理过滤重叠框YOLO YOLOv8不同,YOLO26天生具备端到端特性。这项突破性技术由 YOLOv10开创的NMS 。这使得部署流程更为简化,延迟显著降低,尤其在检测目标数量庞大的场景中优势更为突出。
高级优化与损失函数
YOLO26集成了MuSGD优化器——该混合算法SGD (灵感源自Moonshot AI旗下Kimi K2的大型语言模型训练创新)。这将大型语言模型训练的稳定性引入计算机视觉领域,从而实现更快的收敛速度。 此外,通过移除分布焦点损失(DFL)并引入ProgLoss与STAL(软任务对齐损失),显著提升了对小型物体的识别性能——这正是机器人与物联网领域面临的常见挑战。
性能平衡
YOLO26专为边缘计算优化, CPU 较前代产品提升高达43%。这使其成为运行在无专用GPU设备上的应用程序的理想选择,其效率超越了基于NAS的旧有方案。
代码示例:Ultralytics
以下示例展示了开发者如何轻松地Ultralytics 不同模型版本间切换。这种灵活性使得开发者能够在自定义数据集上 YOLOv8 基准测试。
from ultralytics import YOLO
# Load the models
model_v8 = YOLO("yolov8n.pt")
model_v26 = YOLO("yolo26n.pt") # Recommended for new projects
# Train YOLO26 on a custom dataset
# The MuSGD optimizer and ProgLoss are handled automatically
results = model_v26.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with the NMS-free architecture
# No post-processing tuning required
prediction = model_v26("https://ultralytics.com/images/bus.jpg")
prediction[0].show()
总结
YOLOv8 计算机视觉领域的重要里程碑。YOLO 神经网络架构搜索与知识蒸馏技术在实现高精度方面的强大能力。然而对于大多数开发者、研究人员及企业而言, Ultralytics YOLOv8——特别是更新的YOLO26——提供了更优的平衡方案。
Ultralytics 完善维护的生态系统、易用性、多功能任务支持以及NMS等尖端特性,成为可扩展且面向未来的AI解决方案Ultralytics 。寻求其他高性能选项的开发者也可探索 RT-DETR 以实现transformer精准检测,或采用 YOLO11 以验证其稳健性。