コンテンツにスキップ

EfficientDet vsYOLOv7:包括的な技術比較

急速に進化するコンピュータビジョンにおいて、適切な物体検出アーキテクチャを選択することは、プロジェクトの成功にとって極めて重要です。この分析では、効率性を重視したスケーラブルなアーキテクチャであるEfficientDetとYOLOv7を比較します.両モデルとも、それぞれのリリース時点では最先端の性能を発揮していましたが、その技術的なニュアンスを理解することで、開発者は最新の導入について十分な情報に基づいた決定を下すことができます。

パフォーマンス指標と分析

以下の表は、平均平均精度mAP、異なるハードウェア上での推論速度、計算複雑度(パラメータとFLOPs)を含む、主要な性能指標の詳細な比較を示しています。

モデルサイズ
(ピクセル)
mAP
50-95
速度
CPU ONNX
(ms)
速度
T4 TensorRT10
(ms)
params
(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
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

主なポイント

  • 効率とレイテンシーの比較EfficientDetは、その複合スケーリングにより、顕著なパラメータ効率(低いモデルサイズ)を達成しています。しかし、GPU ハードウェア(T4TensorRT)では、 YOLOv7は優れたレイテンシを示します。例えば、YOLOv7lは、わずか6.84msのレイテンシで51.4%のmAP 達成するのに対し、EfficientDet-d5は、同様の51.5%のmAP 達成するために67.86msを必要とします。
  • アーキテクチャへの影響:EfficientDetで使用される深さ方向に分離可能な畳み込みは、FLOPsを最小化するが、YOLOv77の密な畳み込みと比較してGPUでの最適化が劣る可能性があり、観測された速度の不一致につながる。

EfficientDetの概要

EfficientDetは、精度と効率を同時に最適化するスケーラブルなアーキテクチャを提案し、2019年にパラダイムシフトを導入した。EfficientNetのバックボーンをベースに、BiFPN(双方向フィーチャーピラミッドネットワーク)を導入している。

EfficientDetの詳細: 著者Mingxing Tan、Ruoming Pang、Quoc V. Le
組織 Google
日付: 2019-11-20
Arxiv:https://arxiv.org/abs/1911.09070
GitHub:https:google

建築ハイライト

EfficientDetの革新的なコアはBiFPNであり、簡単かつ高速なマルチスケール特徴フュージョンを可能にする。従来のFPNとは異なり、BiFPNは異なる入力特徴の重要性を学習するために重み付き特徴フュージョンを使用します。解像度、深度、幅を均一にスケーリングするCompound Scalingと組み合わせることで、EfficientDetは様々なリソース制約に対応するモデル群(D0からD7)を提供します。

EfficientDetの詳細について。

YOLOv7 概要

2022年にリリースされたYOLOv7、学習プロセスとアーキテクチャを推論速度に最適化することに重点を置き、リアルタイム物体検出の限界を押し広げた。推論コストを増加させることなく精度を向上させる「Bag-of-Freebies」をいくつか導入している。

YOLOv7 詳細 著者Chien-Yao Wang、Alexey Bochkovskiy、Hong-Yuan Mark Liao
所属団体台湾中央研究院情報科学研究所
日付: 2022-07-06
Arxiv:https://arxiv.org/abs/2207.02696
GitHub:https://github.com/WongKinYiu/yolov7

建築ハイライト

YOLOv7 E-ELAN (Extended Efficient Layer Aggregation Network)を利用し、ネットワークがより多様な特徴を学習できるように、最短および最長の勾配パスを制御する。また、連結ベースのモデルにはモデルのスケーリングを採用し、異なるサイズ間で最適な構造を維持できるようにしている。アーキテクチャはGPU 効率に特化してチューニングされており、FLOP数が少ないにもかかわらずメモリアクセスコストが高い演算を回避している。

YOLOv7もっと知る

理想的なユースケース

これらのアーキテクチャのどちらを選択するかは、導入ハードウェアと特定のアプリケーション要件に大きく依存する。

EfficientDetを選ぶとき

EfficientDetは、メモリ帯域幅とストレージが厳しく制限されているCPU環境やエッジデバイスに最適です。パラメータ数が少ないため、以下のような用途に適しています:

  • モバイルアプリケーション:アプリのサイズ(APKサイズ)が重要な制約となるAndroidiOS アプリ。
  • 組み込みシステム: CPU上で動作するRaspberry Pi(旧世代)のようなデバイス。
  • 学術研究:複合スケーリングと特徴フュージョン技術の効果を研究しています。

YOLOv7選ぶとき

YOLOv7 、低レイテンシーが譲れないハイパフォーマンスGPU 環境に優れています。次のような用途に最適です:

  • リアルタイム監視:エッジサーバーで複数のビデオストリームを同時に処理。
  • 自律走行:ミリ秒単位の遅延が安全性に影響を与えうる場所。
  • ロボット工学:ダイナミックな環境での迅速な物体検出とインタラクション。

現代の代替案

EfficientDetとYOLOv7 強力だが、この分野は進歩している。新しいプロジェクトには YOLO11が一般的に推奨されている。YOLO 11は、最新のバックボーンの効率コンセプトとYOLO ファミリーのリアルタイムのスピードを兼ね備えており、多くの場合、精度と導入の容易さにおいて、両先代を凌駕している。

Ultralytics YOLOモデルを選ぶ理由

EfficientDetとYOLOv7 依然としてコンピュータビジョンに大きく貢献していますが、Ultralytics エコシステムには、次のようなモデルがあります。 YOLOv8や最先端の YOLO11-のようなモデルを特徴とするUltralyticsエコシステムは、開発者や研究者に明確な利点を提供します。

使いやすさとエコシステム

レガシーモデルでは、複雑なインストール手順や特定のCUDA バージョン、断片的なコードベースが必要になることがよくあります。対照的に、Ultralytics 統一された合理的なユーザーエクスペリエンスに重点を置いています。シンプルな pip install ultralyticsユーザーは堅牢なPython APIと CLI コマンド トレーニング、検証、配備を標準化する。その 整備されたエコシステム 頻繁なアップデート、幅広いハードウェアサポート、以下のようなツールとの統合を保証します。 Ultralytics HUB シームレスなMLOPSのために。

パフォーマンスバランスとメモリ効率

Ultralytics モデルは、最適なパフォーマンスバランスを実現するように設計されています。卓越した推論速度を維持しながら最先端の精度を実現するため、エッジ展開からクラウドAPIまで多様なシナリオに適しています。さらに、Ultralytics YOLO モデルのトレーニングに必要なメモリーは、トランスフォーマーベースのアーキテクチャや旧式のConvNetsのメモリーよりも少ないことが多く、コンシューマーグレードのGPUで効率的にトレーニングすることができます。

汎用性とトレーニング効率

多くの特定の検出器とは異なり、Ultralytics モデルは非常に汎用性が高い。1つのフレームワークで以下をサポートします:

この汎用性と、最適化されたデータローダーとすぐに利用可能な事前学習済みの重みによるトレーニングの効率性が組み合わさったのが COCO-を利用することで、AIソリューションの市場投入までの時間を大幅に短縮できます。

例現代のYOLO モデルの実行

以下は、最新のUltralytics モデルを推論にいかに簡単に利用できるかの例である。古いアーキテクチャでしばしば必要とされる定型文とは対照的である。

from ultralytics import YOLO

# Load the latest YOLO11 model (pre-trained on COCO)
model = YOLO("yolo11n.pt")

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

# Process results
for result in results:
    result.save()  # Save the annotated image to disk
    print(f"Detected {len(result.boxes)} objects.")

YOLO11の詳細について。

結論

EfficientDetとYOLOv7 、理論的な効率(FLOPs/Params)を最適化するものと、実用的なハードウェアレイテンシを最適化するものです。EfficientDetはパラメータに制約のあるCPU アプリケーションの強力なリファレンスであり続け、一方YOLOv7 高速GPU ワークロードによく対応しています。

しかし、スピード、精度、そして摩擦のない開発体験の両方を求める開発者にとって、次のようなUltralytics モデルは最適です。 YOLO11のようなUltralyticsモデルは、より優れた選択肢です。YOLO11のようなUltralyticsモデルは、最新のコンピュータ・ビジョン・アプリケーションの厳しい要求を満たすパフォーマンスを提供する一方で、トレーニングと展開の複雑なパイプラインを簡素化します。

その他のモデル比較

より多くの技術的な比較から、お客様の特定のニーズに最適なモデルをお探しください:


コメント