跳转至内容

EfficientDet 与YOLOv8:物体检测巨头的技术比较

在快速发展的计算机视觉领域,选择正确的架构是项目成功的关键。本分析对比了两种有影响力的模型:EfficientDet 是Google 的一个研究里程碑,重点关注参数效率,而 YOLOv8是Ultralytics 为实时应用和易用性而设计的最先进模型。

EfficientDet 在模型缩放方面引入了开创性的概念,而更新的架构,如 YOLOv8和尖端的 YOLO11等新架构重新定义了速度、准确性和部署多样性的标准。

性能指标:速度、准确性和效率

在选择用于生产的模型时,开发人员必须在推理延迟和检测精度之间权衡利弊。下表直接比较了COCO 数据集的性能指标。

模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(毫秒)
参数
(M)
FLOPs
(B)
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
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8

分析数据

这些指标凸显了设计理念上的明显分歧。EfficientDet 最大限度地减少了FLOPs(浮点运算),这在历史上与理论效率相关。然而,在实际的实时推理场景中,尤其是在 GPU 上,YOLOv8 显示出了显著的优势。

  • GPU 延迟:在使用 TensorRT 的 T4GPU 上,YOLOv8n 比 EfficientDet-d0快约 2.6 倍TensorRT快约 2.6 倍。这是因为YOLOv8 的架构针对硬件并行性进行了优化,而 EfficientDet 的深度可分离卷积在加速器上可能会受到内存限制。
  • 规模精度: YOLOv8x 在更高端的应用中实现了卓越的 mAP为 53.9,推理速度为 14.37 毫秒,大大超过了 EfficientDet-d7,后者在类似精度下的推理速度为 128.07 毫秒。
  • 模型大小:与最小的 EfficientDet(3.9M)相比,YOLOv8n 所需的参数(3.2M)更少,因此在移动应用中具有很高的存储效率。

效率与延迟

低 FLOP 数并不总是等同于快速执行。EfficientDet 针对理论计算成本进行了高度优化,但YOLOv8 更有效地利用了现代 GPU(如NVIDIA T4/A100)的并行处理能力,从而降低了实际延迟。

建筑与设计理念

了解了架构上的细微差别,就能解释上述性能差异。

EfficientDet 详情

EfficientDet 基于复合缩放原理构建,可统一缩放网络分辨率、深度和宽度。它利用EfficientNet骨干网络,并引入了BiFPN(双向特征金字塔网络)。BiFPN 允许加权特征融合,了解哪些特征最重要。虽然这能产生较高的参数效率,但 BiFPN 复杂的不规则连接在偏好常规内存访问模式的硬件上执行时,计算成本会很高。

了解更多关于 EfficientDet 的信息

YOLOv8 详情

  • 作者: Glenn Jocher、Ayush Chaurasia 和 Jing Qiu
  • 组织机构Ultralytics
  • 日期: 2023 年 1 月日期: 2023 年 1 月
  • 存储库Ultralytics GitHub

YOLOv8 标志着向无锚点检测机制的转变,通过消除手动计算锚点框的需要简化了训练过程。它的特点是使用C2f模块修改了CSPDarknet主干网,与以前的版本相比,它改善了梯度流和特征丰富度。磁头采用解耦结构,独立处理分类和回归任务,并采用任务对齐分配(Task Aligned Assign)进行动态标签分配。这种架构专门设计用于最大限度地提高GPU 硬件的吞吐量。

了解更多关于 YOLOv8 的信息

Ultralytics 的优势

EfficientDet 是一项杰出的学术成就,而围绕YOLOv8 和 YOLO11的 Ultralytics生态系统为专注于产品交付和MLOps 的开发人员带来了实实在在的好处。

1.易于使用和实施

实施 EfficientDet 通常需要在TensorFlow 生态系统中浏览复杂的配置文件和依赖关系。相比之下,Ultralytics 模型则优先考虑开发人员的体验。只需几行Python就能完成模型的加载、训练和部署。

from ultralytics import YOLO

# Load a pre-trained YOLOv8 model
model = YOLO("yolov8n.pt")

# Train on a custom dataset with a single command
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

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

2.任务的多样性

EfficientDet 主要是一种对象检测架构。Ultralytics YOLOv8 的功能远远超出了简单的边界框。在同一框架内,用户可以执行以下操作

3.训练和记忆效率

训练现代变压器或复杂的多尺度架构需要大量资源。Ultralytics YOLO 模型以其内存效率著称。

  • 更低的 VRAM 占用率:高效的 C2f 模块和优化的损失函数允许YOLOv8 在消费级 GPU 上进行训练,而其他模型可能会面临内存不足 (OOM) 错误。
  • 快速收敛:先进的增强技术(如Mosaic)可加快学习速度,减少达到高精度所需的历时。

综合生态系统

Ultralytics 模型与以下工具无缝集成 Weights & Biases, CometClearML以及用于实验跟踪的 Roboflow进行数据集管理。

真实世界的应用

对这些模式的选择往往决定了在特定环境中部署的可行性。

  • EfficientDet 使用案例:它的参数效率很高,因此对有关扩展规律的学术研究或严格CPU 的传统系统(FLOPs 是硬CPU)很有意义,尽管延迟可能仍然高于YOLOv8n。
  • YOLOv8 使用案例
    • 自主系统: NVIDIA Jetson 等边缘人工智能设备的高 FPS(每秒帧数)使YOLOv8 成为无人机和机器人的理想选择。
    • 制造业:用于在毫秒级的装配线上进行实时缺陷检测。
    • 智能零售: 物体计数和跟踪等功能可对店铺布局和排队管理进行高级分析。

结论

EfficientDet 仍然是对深度学习领域的重大贡献,它证明了智能扩展可以生成紧凑的模型。然而,对于当今的绝大多数实际应用来说,EfficientDet 仍然是一项重大贡献、 Ultralytics YOLOv8(和更新的 YOLO11) 提供了更优越的解决方案。

Ultralytics 模型在现代硬件上具有极快的推理速度、全面的Python SDK 以及处理多种视觉任务的能力,这些优势使Ultralytics 成为开发人员的推荐选择。无论您是在构建安全报警系统还是分析卫星图像,Ultralytics 生态系统都能为您提供各种工具,帮助您高效地将项目从概念转化为产品。

探索其他模型

要从更广阔的角度了解物体检测的选择,请参考以下比较:


评论