跳转至内容

YOLOv6.0 与 EfficientDet:平衡物体检测的速度与精度

在快速发展的计算机视觉领域,选择正确的对象检测架构对项目的成功至关重要。本比较深入探讨了YOLOv6.0EfficientDet 这两个从不同角度应对视觉识别挑战的杰出模型。EfficientDet 侧重于参数效率和可扩展性,而YOLOv6.0 则专为工业应用而设计,在这些应用中,推理延迟和实时速度是不可或缺的。

性能指标和技术分析

这两种架构的根本区别在于它们的设计理念。EfficientDet 依赖于一种称为 BiFPN 的复杂特征融合机制,这种机制可以提高准确性,但往往要以牺牲 GPU 的计算速度为代价。相反,YOLOv6.0 采用了硬件感知设计,利用重新参数化来简化推理过程中的操作,从而大大提高了FPS(每秒帧数)。

下表说明了这种权衡。虽然 EfficientDet-d7 实现了很高的mAP,但其延迟却非常大。相比之下,YOLOv6.0l 在大幅缩短推理时间的同时,还能提供与之相当的精确度,因此更适合实时推理场景。

模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(毫秒)
参数
(M)
FLOPs
(B)
YOLOv6.0n64037.5-1.174.711.4
YOLOv6.0s64045.0-2.6618.545.3
YOLOv6.0m64050.0-5.2834.985.8
YOLOv6.0l64052.8-8.9559.6150.7
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

性能优化

对于工业部署,将YOLOv6.0 与 TensorRT可以大幅提高速度。与旧型号中复杂的特征金字塔网络相比,YOLOv6 架构简单,可以非常高效地映射到GPU 硬件指令。

YOLOv6.0:为工业而建

YOLOv6.0 是一款单级物体检测器,旨在缩小学术研究与工业需求之间的差距。它优先考虑速度,同时又不牺牲质量检测等任务所需的精度。

作者:李楚一、李露露、耿一飞、蒋洪亮、程萌、张博、柯在丹、徐晓明、储祥祥李楚怡、李露露、耿一飞、蒋洪亮、程萌、张博、柯在丹、徐晓明、储祥祥
组织:美团网
日期:2023-01-13
Arxiv:YOLOv6 v3.0:全面重装
GitHub:YOLOv6
文档:YOLOv6 文档

结构和优势

YOLOv6.0 的核心是其高效的骨干和 "RepOpt "设计。通过利用重参数化,该模型将训练时的多分支结构与推理时的单分支结构分离开来。因此,该模型易于训练,梯度丰富,执行速度极快。

  • 自我发散:该训练策略采用了自我发散法,即模型本身的预测作为软标签来指导学习,从而在不需要额外数据的情况下提高准确性。
  • 支持量化:它在设计时考虑到了模型量化,在转换为 INT8 进行边缘部署时可最大限度地减少精度下降。
  • 工业重点:制造和机器人领域人工智能的理想之选,其毫秒级延迟非常重要。

了解有关YOLOv6.0 的更多信息

EfficientDet:可扩展精度

EfficientDet 将复合缩放的概念引入物体检测领域,为这一领域带来了革命性的变化。它能同时优化网络深度、宽度和分辨率,从而实现每个参数的卓越性能。

作者: Mingxing Tan、Ruoming Pang 和 Quoc V. LeMingxing Tan、Ruoming Pang 和 Quoc V. Le
组织:Google
日期:2019-11-20
Arxiv:EfficientDet:可扩展的高效对象检测
GitHub:google

结构和优势

EfficientDet 依赖于 EfficientNet 骨干网,并引入了双向特征金字塔网络(BiFPN)。这种复杂的颈部结构可以方便快捷地进行多尺度特征融合。

  • BiFPN与传统的 FPN 不同,BiFPN 允许信息自上而下和自下而上地流动,对不同的输入特征施加权重,以强调其重要性。
  • 复合缩放:通过简单的系数 $\phi$,用户可以根据可用资源扩大模型(从 d0 到 d7),提供可预测的精度-计算曲线。
  • 参数效率:较小的变体(d0-d2)在磁盘大小和FLOP 方面都非常轻便,因此适用于存储受限的环境。

建筑复杂性

虽然 BiFPN 在精度方面非常有效,但与YOLO 架构中使用的密集、规则的卷积块相比,其不规则的内存访问模式会使其在 GPU 上的运行速度更慢。这就是为什么 EfficientDet 虽然参数较少,但推理延迟较高的原因。

了解更多关于 EfficientDet 的信息

实际应用案例

在这些模式中如何选择,往往取决于部署环境的具体限制。

YOLOv6.0 的理想场景

  • 高速制造:在快速移动的传送带上检测缺陷,要求以高 FPStrack 每个物品。
  • 自主导航:通过实时处理视频馈送,使机器人能够在动态环境中导航。
  • 边缘计算:NVIDIA Jetson等设备上部署,必须最大限度地利用GPU 资源来提高吞吐量。

EfficientDet 的理想应用场景

  • 医学分析:分析静态高分辨率图像,如 X 射线中的肿瘤检测,在这种情况下,处理时间比精度更重要。
  • 遥感:离线处理卫星图像,以确定环境变化或城市发展。
  • 低存储物联网:存储容量极其有限、需要较小模型文件大小的设备(如 EfficientDet-d0)。

Ultralytics 的优势:为什么选择 YOLO11?

虽然YOLOv6.0 和 EfficientDet 都是功能强大的模型,但是 Ultralytics YOLO11代表了计算机视觉技术的最前沿。YOLO11 精炼了前几代YOLO 的最佳特性,并将其整合到一个无缝、用户友好的生态系统中。

YOLO11的主要优势

  1. 易于使用: Ultralytics 优先考虑开发人员的使用体验。通过 Pythonic API,您只需几行代码就能完成模型的训练、验证和部署,而不像 EfficientDet 通常需要复杂的配置文件。
  2. 多功能性: YOLO11 和 EfficientDet 主要是对象检测模型,而YOLO11 则不同,它原生支持多种任务,包括实例分割姿势估计 定向边界框(旋转框检测)和分类。
  3. 性能平衡: YOLO11 在速度和准确性之间实现了最先进的平衡。在COCO 数据集上,它的性能始终优于旧架构,同时保持了较低的延迟。
  4. 维护良好的生态系统: Ultralytics 模型拥有活跃的社区和频繁的更新。您可以访问大量的文档、教程,并与Ultralytics HUB等工具无缝集成,进行云培训和数据集管理。
  5. 训练效率:与复杂的transformer模型或老式架构相比,YOLO11 的设计可在训练过程中提高资源效率,通常收敛速度更快,所需的GPU 内存更少。
from ultralytics import YOLO

# Load the YOLO11 model (recommended over older versions)
model = YOLO("yolo11n.pt")

# Perform inference on an image
results = model("https://ultralytics.com/images/bus.jpg")

# Display results
results[0].show()

了解更多关于 YOLO11 的信息

探索其他模型

如果您正在评估计算机视觉管道的各种选项,请考虑探索Ultralytics 目录中的其他模型。模型 YOLOv8可为各种任务提供强大的性能,而transformerRT-DETR则为需要全局上下文感知的场景提供了另一种选择。适用于移动应用、 YOLOv10也值得研究。将这些方案与EfficientDet进行比较,有助于根据具体的硬件和精度要求对您的选择进行微调。


评论