EfficientDet vs. YOLOv8:技術的比較
適切な物体検出モデルの選択は、精度、速度、計算コストのバランスを取る重要な決定です。このページでは、Googleが開発したEfficientDetと、Ultralyticsの最先端モデルであるUltralytics YOLOv8という、2つの影響力のあるアーキテクチャの詳細な技術的比較を提供します。EfficientDetはパラメータと計算効率で有名ですが、YOLOv8は、包括的でユーザーフレンドリーなエコシステム内で、リアルタイム速度、高精度、比類のない汎用性の優れた組み合わせを提供することに優れています。
EfficientDet:スケーラブルで効率的なアーキテクチャ
著者: Mingxing Tan、Ruoming Pang、Quoc V. Le
組織: Google
日付: 2019-11-20
Arxiv: https://arxiv.org/abs/1911.09070
GitHub: https://github.com/google/automl/tree/master/efficientdet
ドキュメント: https://github.com/google/automl/tree/master/efficientdet#readme
EfficientDetは、高効率でスケーラブルなオブジェクト検出器ファミリーの創出を主な目的として、Google Brainチームによって発表されました。その核となるイノベーションは、そのアーキテクチャとスケーリング手法にあります。
アーキテクチャと主な機能
EfficientDetの設計は、2つの主要なコンポーネントを中心に展開されています。
- BiFPN (Bi-directional Feature Pyramid Network): 従来のトップダウンFPNとは異なり、BiFPNは、異なる入力特徴の重要性を理解するために学習可能な重みを導入し、トップダウンとボトムアップの両方の接続を適用することにより、容易かつ高速なマルチスケール特徴融合を可能にします。
- Compound Scaling: EfficientDetは、単一の複合係数を使用して、バックボーン、特徴ネットワーク、およびボックス/クラス予測ネットワークの深さ、幅、解像度を均一にスケーリングします。これにより、モデル全体でリソースのバランスの取れた割り当てが保証されます。
このアーキテクチャは、バックボーンとして EfficientNet を使用しており、これはすでに精度と FLOP 効率のために最適化されています。この組み合わせにより、さまざまな計算予算に合わせて調整できるモデルファミリー(D0〜D7)が実現します。
長所
- 高い効率性: EfficientDetモデルは、パラメータ数とFLOPsを最小限に抑えるように設計されており、特定の精度レベルに対して計算リソースの点で非常に効率的です。
- スケーラビリティ: 複合スケーリング手法により、モデルをスケールアップまたはスケールダウンするための明確な方法が提供され、開発者は特定のハードウェア制約に適合するバリアントを選択できます。
- 高い精度: 特に類似したパラメータ数のモデルと比較した場合、競争力のあるmAPスコアを達成します。
弱点
- 推論速度: EfficientDetはFLOP効率が良いものの、特にGPUハードウェア上では、YOLOv8などのモデルと比較して、推論レイテンシが高くなることがよくあります。そのため、真のリアルタイム推論を必要とするアプリケーションにはあまり適していません。
- 汎用性の制限: EfficientDetは主に物体検出用に設計されています。YOLOv8フレームワークにネイティブな、セグメンテーションやポーズ推定のような他のビジョンタスクに対する組み込みサポートがありません。
- エコシステムとユーザビリティ: 元の実装はTensorFlowで行われており、PyTorchポートは存在しますが、Ultralyticsエコシステムのような統合されたツール、ドキュメント、および活発なコミュニティサポートは同じレベルではありません。
Ultralytics YOLOv8:速度と汎用性における最先端
著者: Glenn Jocher, Ayush Chaurasia, and Jing Qiu
所属: Ultralytics
日付: 2023-01-10
GitHub: https://github.com/ultralytics/ultralytics
ドキュメント: https://docs.ultralytics.com/models/yolov8/
Ultralytics YOLOv8は、非常に成功したYOLOシリーズにおける最新のイテレーションであり、長年の研究開発を基に、高速、高精度、そして非常に使いやすいモデルを提供します。パフォーマンスとフレームワーク設計の両方において、大きな飛躍を遂げています。
アーキテクチャと主な機能
YOLOv8は、新しいアンカーフリーの検出ヘッドや、C2fとして知られる新しいCSPベースのバックボーンなど、いくつかのアーキテクチャの改善を導入しています。これらの変更により、高い精度を維持しながらパラメータの数を減らし、より高速な推論を可能にします。このモデルは、さまざまなコンピュータビジョンタスクのための包括的なプラットフォームとなるようにゼロから設計されています。
長所
- 卓越したパフォーマンスバランス: YOLOv8は、速度と精度の間で優れたトレードオフを実現し、パフォーマンスを妥協できないリアルタイムアプリケーションに最適です。下の表に示すように、YOLOv8モデルはGPU上で一貫して低いレイテンシを提供します。
- 比類なき汎用性: シングルタスクモデルとは異なり、YOLOv8は、単一の統合アーキテクチャ内で物体検出、インスタンスセグメンテーション、画像分類、ポーズ推定、物体追跡をネイティブにサポートするマルチタスクフレームワークです。
- 使いやすさ: YOLOv8は、効率化されたPython APIとCLI、充実したドキュメント、および簡単なユーザーエクスペリエンスを含む、堅牢なUltralyticsエコシステムによって支えられています。
- 充実したエコシステム: 活発な開発、強力なオープンソースコミュニティ、頻繁なアップデート、ノーコードトレーニングとデプロイメントのためのUltralytics HUBのようなツールとのシームレスな統合が利用できます。
- Training Efficiency: YOLOv8 は効率的なトレーニングプロセス、COCOなどのデータセットですぐに利用できる事前学習済みウェイトを特徴とし、通常、より複雑なアーキテクチャよりも必要な CUDA メモリが少なくなっています。
- Deployment Flexibility: このフレームワークは、ONNXやTensorRTなどのさまざまな形式へのエクスポートに高度に最適化されており、エッジデバイスからクラウドサーバーまで、多様なハードウェアへのデプロイを簡素化します。
弱点
- FLOPs対レイテンシ: 実際には非常に高速ですが、YOLOv8は同様のmAPレベルのEfficientDetモデルよりもFLOPsが高い場合があります。ただし、そのアーキテクチャは最新のGPUハードウェア向けに最適化されており、結果として実際のレイテンシが低くなります。
性能分析:精度 vs. 速度
EfficientDetとYOLOv8の主な違いは、パフォーマンス指標を分析すると明らかになります。EfficientDetはFLOPあたりの精度を最適化するように設計されましたが、YOLOv8は実用的なハードウェアでの高スループットと低遅延に最適化されています。
モデル | サイズ (ピクセル) |
mAPval 50-95 |
速度 CPU ONNX (ms) |
速度 T4 TensorRT10 (ms) |
params (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
EfficientDet-d0 | 640 | 34.6 | 10.2 | 3.92 | 3.9 | 2.54 |
EfficientDet-d1 | 640 | 40.5 | 13.5 | 7.31 | 6.6 | 6.1 |
EfficientDet-d2 | 640 | 43.0 | 17.7 | 10.92 | 8.1 | 11.0 |
EfficientDet-d3 | 640 | 47.5 | 28.0 | 19.59 | 12.0 | 24.9 |
EfficientDet-d4 | 640 | 49.7 | 42.8 | 33.55 | 20.7 | 55.2 |
EfficientDet-d5 | 640 | 51.5 | 72.5 | 67.86 | 33.7 | 130.0 |
EfficientDet-d6 | 640 | 52.6 | 92.8 | 89.29 | 51.9 | 226.0 |
EfficientDet-d7 | 640 | 53.7 | 122.0 | 128.07 | 51.9 | 325.0 |
YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
表から、いくつかの結論を導き出すことができます。
- 精度: YOLOv8xは53.9という最高のmAPを達成し、最大のEfficientDet-d7モデルをわずかに上回っています。
- 速度: YOLOv8モデルはGPU(T4 TensorRT10)で大幅に高速であり、YOLOv8nはEfficientDet-d0よりも2.5倍以上高速です。この速度の利点はすべてのモデルサイズで保持されており、YOLOv8はリアルタイムアプリケーションにとって明らかな勝者となっています。
- 効率性: EfficientDetは、小型モデルのFLOPsとCPU速度に優れています。例えば、EfficientDet-d0は、FLOPsが最も低く、CPU推論時間が最速です。ただし、YOLOv8nはパラメータが少なく、非常に軽量です。
結論: どのモデルを選ぶべきか?
EfficientDetは、特に計算リソース(FLOPs)とモデルサイズが最も重要な制約となるアプリケーションにとって、強力で関連性の高いアーキテクチャであり続けています。そのスケーラブルな設計は、処理能力が限られたデバイス上で精度と効率のバランスを取るための優れた方法を提供します。
しかし、最新のコンピュータビジョンアプリケーションの圧倒的多数にとって、Ultralytics YOLOv8が優れた選択肢です。最先端の精度、驚くほど高速な推論速度、比類のない汎用性という、より優れた全体的なパッケージを提供します。単一の使いやすいフレームワーク内で、検出、セグメンテーション、ポーズなどを処理できるため、開発とデプロイメントが大幅に簡素化されます。適切にメンテナンスされたエコシステム、広範なドキュメント、活発なコミュニティは、コンセプトから本番環境までのあらゆるプロジェクトを加速するレベルのサポートを提供します。
堅牢で高性能、かつ将来性のあるソリューションを求める開発者にとって、YOLOv8は明確な推奨事項です。パフォーマンスの最新情報を求める人には、YOLO11のような新しいUltralyticsモデルがさらに限界を押し広げています。
その他のモデルを見る
研究を続けるには、EfficientDet、YOLOv8、その他の主要なアーキテクチャを含む、他のモデル比較を検討してください。
- EfficientDet vs. YOLOv7
- YOLOv8 vs. YOLOv7
- RT-DETR vs. YOLOv8
- EfficientDet vs. YOLOv5
- YOLOv8 vs. YOLOv9
- YOLOv10やYOLO11のような最新モデルをご覧ください。