YOLO26 与 YOLOv9#
计算机视觉领域发展迅速,新架构不断突破速度和精度的界限。在本次技术对比中,我们将深入探讨 YOLO26 和 YOLOv9 之间的差异,这两者均是实时目标检测领域极具影响力的模型。尽管两者都具备独特的架构创新,但理解它们的性能权衡、部署能力和硬件要求对于为你的下一个视觉项目选择合适的工具至关重要。
YOLO26:边缘端优化的强力引擎#
发布于 2026 年初,Ultralytics YOLO26 代表了部署效率和模型训练稳定性方面的代际飞跃。它被设计为原生的端到端框架,直接解决了长期以来困扰边缘 AI 应用的部署瓶颈。
模型详情:
- 作者: Glenn Jocher 和 Jing Qiu
- 组织: Ultralytics
- 日期: 2026-01-14
- GitHub: Ultralytics Repository
- 文档: YOLO26 Documentation
架构与创新#
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) 的专用角度损失。
YOLOv9:可编程梯度信息#
YOLOv9 发布于 2024 年初,在神经网络训练阶段处理梯度流的方式上带来了理论进步,重点关注参数效率和深度特征保留。
模型详情:
- 作者: Chien-Yao Wang 和 Hong-Yuan Mark Liao
- 组织: 台湾中央研究院信息科学研究所
- 日期: 2024-02-21
- Arxiv: YOLOv9 Paper
- GitHub: YOLOv9 Repository
- 文档: YOLOv9 Documentation
架构与优势#
YOLOv9 围绕可编程梯度信息(PGI)和广义高效层聚合网络(GELAN)的概念构建。这些概念解决了深度神经网络中常见的的信息瓶颈问题。通过在前向传播过程中保留核心信息,GELAN 确保了用于权重更新的梯度保持可靠。该架构提供了高准确率,使 YOLOv9 成为使用 PyTorch 框架进行神经网络理论和梯度路径优化学术研究的强有力候选者。
局限性#
尽管 YOLOv9 具有出色的参数效率,但它严重依赖传统的 NMS 进行边界框后处理,这在边缘设备上进行推理时会产生计算瓶颈。此外,官方代码库主要集中在目标检测上,需要大量的定制工程来将其适配用于跟踪或姿态估计等专业任务。
性能比较#
在评估这些模型用于实际部署时,平衡准确率(mAP)、推理速度和内存占用至关重要。Ultralytics 模型以其在训练和推理阶段对内存的低需求而闻名,相比于基于 Transformer 的替代方案(如 RT-DETR),所需的 CUDA 内存要少得多。
以下是 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 实现。
应用场景与建议#
选择 YOLO26 还是 YOLOv9 取决于你的具体项目需求、部署限制和生态系统偏好。
何时选择 YOLO26#
YOLO26 是以下场景的有力选择:
- 无 NMS 的边缘部署: 需要一致、低延迟推理且无需复杂非极大值抑制后处理的应用。
- 仅 CPU 环境: 没有专用 GPU 加速的设备,YOLO26 带来的高达 43% 的 CPU 推理提速可提供决定性优势。
- 小目标检测: 诸如航拍无人机图像或物联网传感器分析等具有挑战性的场景,其中 ProgLoss 和 STAL 显著提高了微小目标的准确率。
何时选择 YOLOv9#
YOLOv9 推荐用于:
- 信息瓶颈研究: 研究可编程梯度信息 (PGI) 和通用高效层聚合网络 (GELAN) 架构的学术项目。
- 梯度流优化研究: 专注于理解和减轻训练过程中深度网络层信息丢失的研究。
- 高精度检测基准测试: 需要将 YOLOv9 强大的 COCO 基准表现作为架构对比参考点的场景。
Ultralytics 的优势#
选择模型不仅仅是阅读精度基准测试;周边软件生态系统决定了你从数据采集到生产环境的速度。
易用性与生态系统#
Ultralytics Python API 提供了顺畅的“从零到精通”体验。开发者无需克隆复杂的代码库或手动配置分布式训练脚本,即可通过 pip 安装该软件包并立即开始训练。持续维护的 Ultralytics 生态系统保证了频繁的更新、与 Weights & Biases 等 ML 平台的自动化集成以及详尽的文档。
跨视觉任务的通用性#
虽然 YOLOv9 主要是一个检测引擎,但 YOLO26 是一个通用的视觉工具。通过使用单一的统一语法,你可以轻松地从目标检测转向像素级的图像分割或全图分类。这种多功能性减少了为不同的计算机视觉功能维护多个不连贯代码库的技术债务。
高效的训练与部署#
训练效率是 Ultralytics 理念的核心。YOLO26 利用现成的预训练权重,与笨重的视觉 Transformer 相比,其内存占用显著降低。训练完成后,内置的导出管道支持一键转换为 TensorRT 或 TensorFlow Lite 等优化格式,从而平滑通往生产环境的道路。
代码示例: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 应用推向市场,并减少技术障碍。