Meet YOLO26: next-gen vision AI.

Link to this sectionYOLOv5 对比 EfficientDet:评估实时目标检测架构#

当你开始一个新的 计算机视觉 项目时,选择合适的神经网络架构是你所能做出的最重大的决策之一。本指南深入介绍了 Ultralytics YOLOv5 与 Google 的 EfficientDet 之间的技术对比。通过分析它们的架构、性能指标和训练生态系统,我们旨在帮助开发者和研究人员为特定的部署环境确定最佳的 目标检测 模型。

虽然 EfficientDet 引入了复合缩放和特征融合的新颖概念,但 YOLOv5 通过其极其直观的 PyTorch 实现、精简的用户体验以及在速度和精度之间无与伦比的平衡,实现了高性能 AI 的大众化,从而彻底改变了行业。

Link to this sectionUltralytics YOLOv5:可访问性的行业标准#

YOLOv5 发布于 2020 年夏季,标志着 YOLO 系列的一次关键转变。从基于 C 的 Darknet 框架转向原生 PyTorch 后,它成为了希望快速构建、训练和部署模型的开发者的首选架构。

Link to this section架构创新#

YOLOv5 因其高度优化的架构而备受赞誉,该架构优先考虑无缝的 机器学习 生命周期。它利用改进的 CSPDarknet53 主干网络搭配路径聚合网络 (PANet) neck,极大地改善了跨多个空间尺度的特征传播。

关键进步包括:

  • Mosaic 数据增强: 这种训练技术将四张不同的训练图像组合成一个马赛克图。这迫使模型学习如何在复杂的空间背景下识别物体,并显著增强了其检测小目标的能力。
  • 自动学习锚框: 在开始训练之前,YOLOv5 会分析你的自定义 训练数据,并使用 k-means 聚类自动计算最佳的 锚框 尺寸。
  • 内存效率: 与繁重的基于 Transformer 的模型相比,YOLOv5 在训练和推理过程中保持了显著更低的内存占用,使其能够在消费级硬件上流畅运行。

了解更多关于 YOLOv5 的信息

Link to this sectionEfficientDet:可扩展的目标检测#

EfficientDet 由 Google Research 于 2019 年推出,旨在提供一系列可扩展的目标检测器。它建立在 EfficientNet 图像分类主干网络之上,并引入了一种新颖的特征融合机制。

Link to this section架构创新#

EfficientDet 的核心主张在于其系统化的缩放和特征聚合方法:

  • BiFPN(双向特征金字塔网络): 与仅进行自顶向下信息传递的传统 FPN 不同,BiFPN 通过引入可学习权重来学习不同输入特征的重要性,从而实现快速简便的多尺度特征融合。
  • 复合缩放: EfficientDet 联合缩放所有主干网络、特征网络以及框/类别预测网络的解析度、深度和宽度,从而产生从轻量级的 D0 到巨大的 D7 等一系列模型。

了解更多关于 EfficientDet 的信息

框架差异

虽然 EfficientDet 严重依赖 TensorFlow 生态系统和 AutoML 库,但 YOLOv5 在 PyTorch 中原生运行,为许多开发者提供了更直观、符合 Python 习惯且易于调试的工作流程。

Link to this section性能与指标对比#

在比较这些模型时,在 COCO 数据集 等标准基准测试上评估它们的性能至关重要。下表重点展示了模型大小、计算需求 (FLOPs) 和推理速度之间的权衡。

模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(ms)
速度
T4 TensorRT10
(ms)
参数量
(M)
FLOPs
(B)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
EfficientDet-d064034.610.23.923.92.54
EfficientDet-d164040.513.57.316.66.1
EfficientDet-d264043.017.710.928.111.0
EfficientDet-d364047.528.019.5912.024.9
EfficientDet-d464049.742.833.5520.755.2
EfficientDet-d564051.572.567.8633.7130.0
EfficientDet-d664052.692.889.2951.9226.0
EfficientDet-d764053.7122.0128.0751.9325.0

Link to this section综合分析#

YOLOv5 在部署灵活性和原始硬件加速兼容性方面表现优异。请注意其在 T4 GPU 上极快的 TensorRT 速度。这使得 YOLOv5 非常适合高吞吐量的视频分析和 实时推理 流水线。此外,Ultralytics 生态系统使得导出到 ONNXCoreMLTensorRT 等格式的操作只需一条命令即可完成。

EfficientDet 提供了出色的参数效率。对于给定的参数数量,它通常能提取出较高的 平均精度均值 (mAP)。然而,由于 BiFPN 层复杂的路由逻辑(这可能受限于内存带宽而非计算能力),这种理论上的效率并不总能转化为边缘 GPU 上更快的实际推理时间。

Link to this section生态系统与易用性#

选择 Ultralytics 模型的决定性优势在于其周边的生态系统。YOLOv5 是一个维护良好、开发活跃且拥有庞大社区支持的存储库的一部分。

随着 Ultralytics Platform 的推出,用户可以无缝地从数据采集过渡到部署。该平台直接支持自动标注、云端训练和模型监控。相比之下,训练 EfficientDet 通常需要应对陈旧的 TensorFlow 目标检测 API 的复杂性,这对于快速原型设计来说可能存在较高的学习曲线。

此外,YOLOv5 的多功能性不仅限于边界框。通过持续更新,Ultralytics 框架原生支持 实例分割图像分类,为多种计算机视觉任务提供了统一的 API。

Link to this section理想使用场景#

  • 选择 YOLOv5 的场景: 当你需要快速原型设计、顺滑的训练体验以及高度优化的边缘部署时。它非常适合无人机、零售分析 和对低延迟要求苛刻的移动应用。
  • 选择 EfficientDet 的场景: 当你严格在 Google Cloud/TensorFlow AutoML 环境中操作,并且在没有严格实时延迟限制的情况下需要每个参数的最大准确性时。

Link to this section下一代产品:拥抱 YOLO26#

虽然 YOLOv5 仍然是一个可靠的主力,但计算机视觉领域已经进步了。对于追求 2026 年绝对最先进技术的开发者而言,YOLO26 代表了 Ultralytics 产品阵容的新巅峰。

基于其前代产品(如 YOLOv8YOLO11)的积淀,YOLO26 引入了突破性的创新:

  • 端到端无 NMS 设计: YOLO26 原生消除了对非极大值抑制 (NMS) 后处理的需求。这显著降低了延迟差异并简化了部署架构。
  • CPU 推理速度提升高达 43%: 针对 边缘 AI 进行了深度优化,它为低功耗边缘设备和没有专用 GPU 的标准 CPU 带来了前所未有的速度。
  • MuSGD 优化器: 受大语言模型 (LLM) 训练技术的启发,这种 SGD 和 Muon 的混合体确保了高度稳定的训练和快速收敛。
  • 先进的损失函数: ProgLoss 和 STAL 的集成显著改善了对小目标的识别,这对高空无人机图像和 机器人技术 至关重要。
  • 移除 DFL: 通过移除分布式焦点损失 (DFL),简化了模型导出过程,进一步增强了跨不同硬件加速器的兼容性。

有兴趣探索 Ultralytics 生态系统中其他近期架构的用户也可以比较 YOLOv10RT-DETR 等模型。

迁移非常容易

Ultralytics Python API 专为向后和向前兼容而设计。从 YOLOv5 升级到 YOLO26 真的就像在代码中更改模型权重字符串一样简单!

Link to this section代码示例:训练与推理#

为了展示 Ultralytics 生态系统无与伦比的易用性,这是你如何使用现代 YOLO 模型进行训练和运行推理的方法。此代码 100% 可运行,并自动处理数据集下载、训练循环和验证。

from ultralytics import YOLO

# Load a modern model (Swap 'yolov5s.pt' for 'yolo26n.pt' to test the newest architecture!)
model = YOLO("yolov5s.pt")

# Train the model on the COCO8 example dataset for 20 epochs
results = model.train(data="coco8.yaml", epochs=20, imgsz=640)

# Run inference on an image from the web
inference_results = model("https://ultralytics.com/images/bus.jpg")

# Display the image with bounding boxes
inference_results[0].show()

通过优先考虑用户体验、维护强大的生态系统,并利用 YOLO26 等更新不断突破可能性的边界,Ultralytics 确保开发者始终拥有解决现实世界视觉智能挑战的最佳工具。

评论