Link to this sectionYOLO26 与 YOLOv9:实时目标检测的下一次演进#
计算机视觉领域发展迅速,新架构不断突破速度和精度的界限。在本次技术对比中,我们将深入探讨 YOLO26 和 YOLOv9 之间的差异,这两者均是实时目标检测领域极具影响力的模型。尽管两者都具备独特的架构创新,但理解它们的性能权衡、部署能力和硬件要求对于为你的下一个视觉项目选择合适的工具至关重要。
Link to this sectionYOLO26:边缘端优化的强力引擎#
发布于 2026 年初的 Ultralytics YOLO26 代表了部署效率和模型训练稳定性方面的代际跃迁。作为一款原生端到端框架,它直接解决了历史上长期困扰边缘 AI 应用的部署瓶颈。
模型详情:
- 作者: Glenn Jocher 和 Jing Qiu
- 组织: Ultralytics
- 日期: 2026-01-14
- GitHub: Ultralytics Repository
- 文档: YOLO26 文档
Link to this section架构与创新#
YOLO26 通过引入 端到端无 NMS 设计 从根本上重构了后处理流程。通过消除对非极大值抑制(NMS)的需求,该模型实现了显著降低的延迟波动。这使得向移动和边缘平台部署变得更加容易,特别是在导出到如 ONNX 和 Apple CoreML 等框架时。
此外,剔除分布焦点损失(DFL)简化了导出过程,并提高了与低功耗微控制器的兼容性。为了改善训练稳定性,YOLO26 集成了创新的 MuSGD 优化器,这是随机梯度下降(SGD)和 Muon(受大语言模型训练创新启发)的混合体。这带来了更快的收敛速度,并在处理复杂数据集时具有更稳健的特征提取能力。
得益于架构简化和 DFL 的移除,YOLO26 实现了高达 43% 的 CPU 推理加速,使其成为 Raspberry Pi 或 NVIDIA Jetson Nano 等资源受限边缘设备的理想选择。
为了在如 无人机航拍影像 等场景中检测极具挑战性的目标,YOLO26 采用了更新后的 ProgLoss + STAL 损失函数。这些函数显著改善了小目标识别的召回率。此外,它还具备针对特定任务的增强功能,包括用于 实例分割 的多尺度 proto、用于 姿态估计 的残差对数似然估计(RLE),以及用于检测 旋转边界框 (OBB) 的专用角度损失。
Link to this sectionYOLOv9:可编程梯度信息#
YOLOv9 发布于 2024 年初,在神经网络训练阶段处理梯度流的方式上带来了理论进步,重点关注参数效率和深度特征保留。
模型详情:
- 作者: Chien-Yao Wang 和 Hong-Yuan Mark Liao
- 组织: 台湾中央研究院信息科学研究所
- 日期: 2024-02-21
- Arxiv: YOLOv9 论文
- GitHub: YOLOv9 存储库
- 文档: YOLOv9 文档
Link to this section架构与优势#
YOLOv9 围绕可编程梯度信息(PGI)和广义高效层聚合网络(GELAN)的概念构建。这些概念解决了深层神经网络中常见的信息瓶颈问题。通过在前向传播过程中保留关键信息,GELAN 确保了用于权重更新的梯度保持可靠。这种架构提供了高精度,使 YOLOv9 成为利用 PyTorch 框架进行神经网络理论和梯度路径优化学术研究的有力竞争者。
Link to this section局限性#
尽管其参数效率出色,但 YOLOv9 在边界框后处理方面严重依赖传统的 NMS,这可能会在边缘设备推理时造成计算瓶颈。此外,其官方仓库主要侧重于目标检测,若要将其适配到 追踪 或姿态估计等专业任务,则需要大量的定制工程。
Link to this section性能比较#
When evaluating these models for real-world deployment, balancing accuracy (mAP), inference speed, and memory usage is critical. Ultralytics models are renowned for their low memory requirements during both training and inference, requiring far less CUDA memory than transformer-based alternatives like RT-DETR.
以下是 YOLO26 和 YOLOv9 在 COCO 数据集 上的性能直接对比。每一列的最优值已用 粗体 标出。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | 参数量 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLO26n | 640 | 40.9 | 38.9 | 1.7 | 2.4 | 5.4 |
| YOLO26s | 640 | 48.6 | 87.2 | 2.5 | 9.5 | 20.7 |
| YOLO26m | 640 | 53.1 | 220.0 | 4.7 | 20.4 | 68.2 |
| YOLO26l | 640 | 55.0 | 286.2 | 6.2 | 24.8 | 86.4 |
| YOLO26x | 640 | 57.5 | 525.8 | 11.8 | 55.7 | 193.9 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
注:YOLOv9 的 CPU 速度数据已省略,因为其受 NMS 配置影响很大,且通常慢于 YOLO26 的原生无 NMS 实现。
Link to this section应用场景与建议#
选择 YOLO26 还是 YOLOv9 取决于你的具体项目需求、部署限制和生态系统偏好。
Link to this section何时选择 YOLO26#
YOLO26 是以下场景的有力选择:
- 无 NMS 的边缘部署: 需要一致、低延迟推理且无需复杂非极大值抑制后处理的应用。
- 仅 CPU 环境: 没有专用 GPU 加速的设备,YOLO26 带来的高达 43% 的 CPU 推理提速可提供决定性优势。
- 小目标检测: 具有挑战性的场景,如 aerial drone imagery 或 IoT 传感器分析,其中 ProgLoss 和 STAL 可显著提升对极小目标的检测精度。
Link to this section何时选择 YOLOv9#
YOLOv9 推荐用于:
- 信息瓶颈研究: 研究可编程梯度信息 (PGI) 和通用高效层聚合网络 (GELAN) 架构的学术项目。
- 梯度流优化研究: 专注于理解和减轻训练过程中深度网络层信息丢失的研究。
- 高精度检测基准测试: 需要将 YOLOv9 强大的 COCO 基准表现作为架构对比参考点的场景。
Link to this sectionUltralytics 的优势#
选择模型不仅仅是阅读精度基准测试;周边软件生态系统决定了你从数据采集到生产环境的速度。
Link to this section易用性与生态系统#
Ultralytics Python API 提供了一种流畅的“从零到精通”体验。开发者无需克隆复杂的仓库或手动配置分布式训练脚本,只需通过 pip 安装软件包即可立即开始训练。活跃维护的 Ultralytics 生态系统 确保了频繁的更新、与 Weights & Biases 等机器学习平台的自动化集成以及详尽的文档。
Link to this section跨视觉任务的通用性#
虽然 YOLOv9 主要是一个检测引擎,但 YOLO26 是一个通用的视觉工具。使用统一的语法,你可以轻松地从目标检测转换到像素级的 图像分割 或整图 分类。这种通用性减少了为不同计算机视觉功能维护多个独立代码库的技术债务。
Link to this section高效的训练与部署#
训练效率是 Ultralytics 哲学的基石。YOLO26 利用现成的预训练权重,且与庞大的视觉 Transformer 相比,其内存占用显著更低。训练完成后,内置的导出流水线支持一键转换至 TensorRT 或 TensorFlow Lite 等优化格式,从而铺平了通往生产环境的道路。
Link to this section代码示例:YOLO26 入门#
实施 YOLO26 非常简单。以下 Python 代码片段演示了如何使用 Ultralytics API 加载预训练模型、在自定义数据上进行训练并运行推理。
from ultralytics import YOLO
# Load the latest state-of-the-art YOLO26 nano model
model = YOLO("yolo26n.pt")
# Train the model on the COCO8 dataset utilizing the MuSGD optimizer
results = model.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
device=0, # Uses GPU 0, or use 'cpu' for CPU training
)
# Run an NMS-free inference on a sample image
predictions = model("https://ultralytics.com/images/bus.jpg")
# Display the bounding boxes and confidences
predictions[0].show()通过利用 YOLO26 的速度、精简的架构和强大的生态系统,团队能够比以往更快地将先进的视觉 AI 应用推向市场,并减少技术障碍。