跳转至内容

YOLOv7 vs. EfficientDet:实时物体检测架构的技术比较

物体检测仍然是计算机视觉的基石,推动着从自动驾驶到医疗成像等领域的创新。选择正确的架构对于平衡精度、速度和计算资源至关重要。本分析深入探讨了 YOLOv7EfficientDet 这两个具有影响力的模型,它们塑造了实时检测的格局。

建筑设计与理念

这两种架构的根本区别在于它们的优化目标。Google 大脑团队开发的EfficientDet 优先考虑参数效率和浮点运算 (FLOP)。它采用可扩展架构,允许用户以线性方式权衡资源和准确性。相比之下 YOLOv7由 YOLOv4 的作者(Chien-Yao Wang 等人)创建,其重点是在GPU 硬件上最大限度地提高推理速度,同时保持最先进的精度。

EfficientDet:复合扩展和 BiFPN

EfficientDet 建立在EfficientNet骨干网的基础上,它利用复合缩放方法来统一缩放网络分辨率、深度和宽度。EfficientDet 的一项关键创新是双向特征金字塔网络(BiFPN)。与传统的 FPN 不同,BiFPN 通过引入可学习权重来学习不同输入特征的重要性,从而实现简单快速的多尺度特征融合。这种设计使得 EfficientDet 在内存和 FLOP 受严格限制的边缘计算应用中非常有效。

了解更多关于 EfficientDet 的信息

YOLOv7:E-ELAN 和模型重新参数化

YOLOv7 引入了扩展高效层聚合网络(E-ELAN)。该架构可控制最短和最长梯度路径,在不破坏原始梯度路径的情况下提高网络的学习能力。此外,YOLOv7 还采用了模型重参数化技术,将复杂的训练结构简化为精简的推理结构。这使得模型在训练过程中非常稳健,而在 GPU 上部署时速度又非常快。

了解有关YOLOv7的更多信息

性能分析:指标和基准

在比较性能时,选择往往取决于部署的硬件。EfficientDet 在低功耗环境(CPU)中表现出色,而YOLOv7 则专为高吞吐量GPU 推理而设计。

模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(毫秒)
参数
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
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

主要内容

  • 延迟与效率:虽然 EfficientDet-d0 使用的参数(3.9M)要少得多,但 YOLOv7l 的mAP (51.4%)要高得多,而且 GPU 上的延迟极低(6.84ms)。这表明YOLOv7 能更好地利用并行处理能力。
  • 可扩展性EfficientDet 提供了从 d0 到 d7 的细化扩展路径,允许开发人员针对特定的CPU 限制对模型大小进行微调。
  • 高端精确度:在最高端,EfficientDet-d7 实现了极高的精度(53.7%mAP),但代价是高延迟(约 128ms)。YOLOv7x 在 T4GPU 上以不到十分之一的推理时间(11.57ms)实现了相当的精度(53.1%mAP)。

硬件考虑因素

如果您的部署目标是通用CPU 或移动处理器,那么EfficientDet模型(特别是 d0-d2)的较低 FLOP 通常会带来更好的电池寿命和散热管理。对于边缘 GPU(如NVIDIA Jetson)或云推理服务器而言、 YOLOv7可为实时视频分析提供更高的帧速率。

培训方法与优化

这些模型的训练策略反映了它们的架构目标。

YOLOv7YOLOv7 采用了一种 "无用包 "方法,在不影响推理速度的情况下,采用了一些增加训练成本但提高准确性的方法。主要技术包括

  • 从粗到细的深度监督:辅助头用于监督网络的中间层,其标签分配策略对辅助头的指导方式与主导头不同。
  • 动态标签分配:该模型会在训练过程中调整锚点的地面实况对象分配,从而提高收敛性。

EfficientDet主要依靠AutoML找到最佳主干和特征网络结构。其训练通常包括

  • 随机深度:在训练过程中随机丢弃图层,以提高泛化效果。
  • Swish 激活:一种平滑的非单调函数,在深度网络中始终优于 ReLU。

Ultralytics 的优势

虽然YOLOv7 和 EfficientDet 功能强大,但计算机视觉领域的发展日新月异。Ultralytics 生态系统提供了现代化的替代方案,如 YOLO11等现代替代方案,这些方案综合了以前架构的优点,同时增强了开发人员的体验。

易用性和生态系统

面向研究的资源库(如最初的 EfficientDet 代码库)面临的主要挑战之一是集成的复杂性。Ultralytics 使用统一的Python 软件包解决了这一问题。开发人员只需几行代码,就能在全面的文档和活跃的社区支持下训练、验证和部署模型。

多功能与性能的平衡

Ultralytics 模型并不局限于边界框。它们本机支持实例分割姿势估计 分类定向对象检测(旋转框检测)。在性能方面,现代YOLO 版本(如YOLOv8 和YOLO11)通常比 EfficientDet 获得更高的单位参数准确度,而推理速度则比YOLOv7 更快,在实际部署中达到了理想的平衡。

记忆和训练效率

Ultralytics YOLO 模型以其内存效率著称。与Transformer探测器或较早的可扩展架构相比,它们在训练过程中所需的CUDA 内存通常更少。这使得研究人员可以在消费级硬件上训练最先进的模型。此外,高质量的预训练权重可供立即下载,从而简化了迁移学习

from ultralytics import YOLO

# Load the latest YOLO11 model
model = YOLO("yolo11n.pt")

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

# Run inference with high speed
predictions = model("https://ultralytics.com/images/bus.jpg")

型号规格

YOLOv7

EfficientDet

实际应用案例

何时选择 EfficientDet

对于无法使用GPU 加速的嵌入式系统来说,EfficientDet 仍然是一个强有力的候选方案。

  • 移动应用程序:在CPU 上执行物体检测的iOS 应用程序。
  • 远程物联网传感器:由电池供电的设备可监测环境变化,每毫瓦的计算量都很重要。

何时选择YOLOv7

YOLOv7 在高性能工业环境中表现出色。

  • 自动驾驶:以高帧率检测行人和车辆,确保安全。
  • 智能城市:同时分析多个视频流,以便在边缘服务器上进行交通管理

结论

这两种架构都是计算机视觉领域的重要里程碑。EfficientDet展示了参数效率复合缩放的威力,而 YOLOv7则突破了GPU 延迟优化的极限。

然而,对于寻求最现代化、可维护性和多功能解决方案的开发人员来说, Ultralytics YOLO11模型系列是值得推荐的。它具有卓越的准确性-速度权衡、更简单的工作流程和强大的生态系统,简化了从数据集整理到部署的整个过程。

探索其他模型

如果您有兴趣比较其他物体检测架构,请参考这些资源:


评论