YOLO26 与 YOLOv9#
计算机视觉的发展日新月异,新架构不断突破速度和精度的极限。在这篇技术对比中,我们将分析 YOLO26 与 YOLOv9 之间的差异,它们都是实时目标检测领域中极具影响力的模型。虽然两种模型都提供了独特的架构创新,但要为下一个视觉项目选择合适的工具,了解它们在性能权衡、部署能力和硬件要求方面的差异至关重要。
YOLO26:针对边缘设备优化的强大模型#
Ultralytics YOLO26 于 2026 年初发布,在部署效率和模型训练稳定性方面实现了跨代跃升。它被设计为原生端到端框架,直接解决了长期困扰边缘 AI 应用的部署瓶颈。
模型详情:
- 作者: Glenn Jocher 和 Jing Qiu
- 组织: Ultralytics
- 日期: 2026-01-14
- GitHub: Ultralytics 仓库
- 文档: YOLO26 文档
架构与创新#
YOLO26 通过引入 端到端无 NMS 设计,从根本上重新设计了后处理流程。通过消除对非极大值抑制 (NMS) 的需求,该模型显著降低了延迟波动。这让模型更容易部署到移动端和边缘平台,尤其是在导出到 ONNX 和 Apple CoreML 等框架时。
此外,移除分布式焦点损失 (DFL) 简化了导出流程,并提升了与低功耗微控制器的兼容性。为提高训练稳定性,YOLO26 集成了新型 MuSGD 优化器,它结合了随机梯度下降 (SGD) 和 Muon(灵感来自大语言模型训练领域的创新)。这使模型在困难数据集上收敛更快,并能更稳健地提取特征。
得益于架构简化和 DFL 的移除,YOLO26 的 CPU 推理速度最高提升 43%,因此非常适合 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 论文
- GitHub: YOLOv9 代码仓库
- 文档: YOLOv9 文档
架构与优势#
YOLOv9 围绕可编程梯度信息 (PGI) 和广义高效层聚合网络 (GELAN) 构建。这些概念解决了深度神经网络中经常出现的信息瓶颈问题。通过在前馈过程中保留关键信息,GELAN 确保用于更新权重的梯度保持可靠。该架构具有很高的精度,使 YOLOv9 成为使用 PyTorch 框架开展神经网络理论和梯度路径优化学术研究的有力候选方案。
限制#
尽管 YOLOv9 具有出色的参数效率,但它高度依赖传统 NMS 进行边界框后处理,这可能在边缘设备上推理时造成计算瓶颈。此外,官方代码仓库主要专注于目标检测,要将其调整用于跟踪或姿态估计等专用任务,需要进行大量定制开发。
性能对比#
在评估这些模型的实际部署能力时,平衡精度 (mAP)、推理速度和内存使用量至关重要。Ultralytics 模型以训练和推理期间较低的内存需求而闻名,其所需的 CUDA 内存远少于 RT-DETR 等基于 Transformer 的替代方案。
下面直接对比 YOLO26 和 YOLOv9 在 COCO 数据集上的性能。每列中的最佳值以 粗体 标出。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (毫秒) | 参数量 (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 推理速度将带来决定性优势。
- 小目标检测: 适用于航空无人机影像或 IoT 传感器分析等具有挑战性的场景,在这些场景中,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 应用推向市场,同时减少技术障碍。