Link to this sectionDAMO-YOLO 与 YOLOv10#
计算机视觉领域在实时目标检测架构方面经历了快速演进。在比较 DAMO-YOLO 和 YOLOv10 时,我们观察到两种截然不同的模型设计理念:自动化架构搜索与端到端无 NMS 优化。尽管两者都在准确性和速度上不断突破极限,但其底层结构和理想应用场景却有显著差异。
Link to this sectionDAMO-YOLO:大规模神经架构搜索#
DAMO-YOLO 由阿里巴巴集团开发,是一款功能强大的检测器,专注于利用自动化发现技术提升结构效率。
- 作者: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang, 和 Xiuyu Sun
- 日期: 2022年11月23日
- Arxiv: 2211.15444v2
- GitHub: tinyvision/DAMO-YOLO
Link to this section架构亮点#
DAMO-YOLO 在很大程度上依赖神经架构搜索 (NAS) 来平衡性能和延迟。其骨干网络 MAE-NAS 在严格的计算预算下使用多目标进化搜索,以寻找最优的层深度和宽度。
为了处理跨尺度的特征融合,该模型采用了一种高效的 RepGFPN (重参数化广义特征金字塔网络)。这种重颈部设计特别擅长提取复杂的空间层次结构,使其在航拍图像分析等场景中非常有用。此外,DAMO-YOLO 还引入了 ZeroHead,这是一种流线型的检测头,大幅降低了最终预测层的复杂度,并依赖训练过程中的强大蒸馏增强技术。
DAMO-YOLO 通常采用多阶段知识蒸馏过程。它需要训练一个更重的“教师”模型来引导较小的“学生”模型,从而提取出更高的mAP (平均精度均值),但这会显著增加所需的GPU 计算时间。
Link to this sectionYOLOv10:端到端目标检测的先行者#
YOLOv10 于一年半后发布,通过在推理过程中完全消除对非极大值抑制 (NMS) 的需求,引入了一次范式转变。
- 作者: Ao Wang, Hui Chen, Lihao Liu 等
- 机构: 清华大学
- 日期: 2024 年 5 月 23 日
- Arxiv: 2405.14458
- 文档: Ultralytics YOLOv10
Link to this section架构亮点#
YOLOv10 的突出特点是其用于无 NMS 训练的一致性双重分配机制。传统检测器会为同一个物体预测多个重叠的边界框,需要 NMS 来过滤重复项。这种后处理步骤会造成瓶颈,尤其是在边缘设备上。YOLOv10 通过允许模型自然地为每个对象预测单个准确的边界框来解决这个问题。
作者们还专注于整体效率与准确性驱动的模型设计。通过仔细分析现有架构中的计算冗余,他们优化了骨干网络和检测头,减少了 FLOPs 和参数数量。这种轻量化设计确保了 YOLOv10 在导出为 TensorRT 或 OpenVINO 等格式时,能提供出色的推理延迟。
Link to this section性能与基准测试#
下表展示了在 COCO 数据集上的原始性能指标。每列的最佳总体值以粗体显示。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | 参数量 (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 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
尽管 DAMO-YOLO 在准确性方面表现不俗,但 YOLOv10 始终能提供更低的延迟和明显更小的模型权重。例如,YOLOv10s 的 mAP (46.7%) 比 DAMO-YOLOs (46.0%) 稍高,而使用的参数却不到后者的一半 (7.2M 对 16.3M)。更低的内存需求使得 YOLOv10 成为嵌入式系统的绝佳选择。
Link to this section训练效率与可用性#
从学术研究转向生产环境时,易用性至关重要。DAMO-YOLO 的多阶段蒸馏过程和复杂的 NAS 配置可能会给工程团队带来陡峭的学习曲线。
Conversely, YOLOv10 benefits immensely from being fully integrated into the Ultralytics Python SDK. Training a custom model involves minimal boilerplate code. Ultralytics handles data augmentation, hyperparameter tuning, and experiment tracking automatically.
from ultralytics import YOLO
# Load a pretrained YOLOv10 nano model
model = YOLO("yolov10n.pt")
# Train on a custom dataset with built-in validation
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image seamlessly
prediction = model("path/to/image.jpg")
prediction[0].show()使用 Ultralytics 生态系统,开发者只需几行代码即可从原型转变为完全导出的 ONNX 模型,绕过旧框架所需的复杂环境设置。
Link to this section实际应用场景#
- 智能零售 (DAMO-YOLO): DAMO-YOLO 的准确性非常适合分析客户行为的高密度服务器环境,在这些环境中 GPU 资源充足,且实时的 NMS 瓶颈是可以管理的。
- 自动驾驶 (YOLOv10): 无 NMS 架构保证了确定性的、可预测的延迟,这对于自动驾驶中的安全系统至关重要。
- Industrial Automation (YOLOv10): Detecting defects on fast-moving assembly lines requires models that maximize real-time inference speeds without consuming vast VRAM, making YOLOv10 a prime candidate for edge deployment.
Link to this section应用场景与建议#
在 DAMO-YOLO 和 YOLOv10 之间进行选择,取决于你的具体项目需求、部署限制和生态系统偏好。
Link to this section何时选择 DAMO-YOLO#
DAMO-YOLO 是以下场景的理想选择:
- 高吞吐量视频分析: 在固定的 NVIDIA GPU 基础设施上处理高 FPS 视频流,其中 batch-1 吞吐量是主要指标。
- 工业生产线: 在专用硬件上对 GPU 延迟有严格限制的场景,例如生产线上的实时质量检查。
- 神经架构搜索研究: 研究自动化架构搜索 (MAE-NAS) 和高效重参数化骨干网络对检测性能的影响。
Link to this section何时选择 YOLOv10#
推荐使用 YOLOv10 的情况:
- 无需 NMS 的实时检测: 得益于无需非极大值抑制(Non-Maximum Suppression)的端到端检测,能够降低部署复杂性的应用。
- 平衡的速度与精度权衡: 需要在推理速度和检测精度之间取得良好平衡的各类项目,适用于多种模型规模。
- 延迟一致的应用: 在机器人或自动驾驶系统等对可预测推理时间有严格要求的部署场景中。
Link to this section何时选择 Ultralytics (YOLO26)#
对于大多数新项目,Ultralytics YOLO26 提供了性能和开发者体验的最佳组合:
- 无 NMS 的边缘部署: 需要一致、低延迟推理且无需复杂非极大值抑制后处理的应用。
- 仅 CPU 环境: 没有专用 GPU 加速的设备,YOLO26 带来的高达 43% 的 CPU 推理提速可提供决定性优势。
- 小目标检测: 具有挑战性的场景,如 aerial drone imagery 或 IoT 传感器分析,其中 ProgLoss 和 STAL 可显著提升对极小目标的检测精度。
Link to this section下一代:进入 Ultralytics YOLO26#
虽然 YOLOv10 为无 NMS 检测奠定了基础,但技术在快速演进。对于现代应用,Ultralytics YOLO26 模型提供了无与伦比的性能和可用性,汲取了前几代的精华并针对生产环境进行了优化。
YOLO26 features a strictly natively end-to-end design, eliminating NMS post-processing for simpler deployment pipelines across edge devices. Furthermore, the removal of Distribution Focal Loss (DFL) has dramatically improved compatibility with low-power edge AI hardware.
在训练方面,YOLO26 引入了 MuSGD 优化器,这是一种受大语言模型 (LLM) 训练技术启发的混合优化器。这确保了更稳定的训练和更快的收敛。结合 ProgLoss + STAL 损失函数,YOLO26 在小目标识别方面表现出显著改进,这是野生动物保护和无人机操作的关键功能。
至关重要的是,YOLO26 不仅仅是一个目标检测器。它在各个方面都提供了特定任务的改进,原生支持实例分割、使用残差对数似然估计 (RLE) 的姿态估计,以及针对旋转边界框 (OBB) 的专用角度损失。其 CPU 推理速度比前代产品快 43%,是敏捷工程团队的最终选择。
对于 YOLO26 模型的集中管理、标注和云端训练,Ultralytics 平台提供了一个直观的界面,简化了整个计算机视觉生命周期。
对探索其他近期进展感兴趣的开发者,也可以评估 Ultralytics YOLO11 或基于 Transformer 的 RT-DETR 框架,以应对需要不同架构解决方案的场景。