YOLOv10 vs EfficientDet: リアルタイム物体検出アーキテクチャの比較
物体検出に最適なニューラルネットワークを選択することは、現代のコンピュータビジョンシステムの成功を左右する重要な決定です。この分野に多大な影響を与えてきた2つの主要なアーキテクチャが、YOLOv10とEfficientDetです。どちらも計算オーバーヘッドを最小限に抑えながら精度を最大化することを目指していますが、その目標を達成するためのアーキテクチャ上のアプローチは大きく異なります。
本ガイドでは、それぞれの独自の設計、トレーニング手法、デプロイ特性を詳しく解説し、開発者やMLエンジニアがビジョンAIアプリケーションにおいてデータに基づいた意思決定を行えるよう支援します。組み込みのエッジAIデバイスから強力なクラウドGPUまで、幅広いハードウェア上でのパフォーマンスを検証します。
YOLOv10: NMSフリーの先駆者
リアルタイムのレイテンシの限界を押し広げるために開発されたYOLOv10は、YOLOファミリーにおける最も持続的なボトルネックの一つであるNon-Maximum Suppression (NMS)に取り組みました。この後処理ステップを排除することで、モデルは非常に予測可能なレイテンシを実現しており、これは自動運転車や高速ロボットにおいて極めて重要です。
アーキテクチャの革新
YOLOv10は、NMS不要のトレーニングのために一貫したデュアルアサインメントを導入しています。トレーニング中、one-to-manyとone-to-oneの両方のラベルアサインメントを活用することで、ネットワークが豊かな表現を学習できるようにし、推論時にはオブジェクトごとに単一の最適なBBoxをネイティブに出力します。また、アーキテクチャには効率と精度の両立を目指した全体的な設計が組み込まれており、分類ヘッドを合理化し、以前のバージョンで見られた計算の冗長性を低減しています。
モデルの詳細
- 著者: Ao Wang, Hui Chen, Lihao Liu, 他
- 所属: 清華大学
- 日付: 2024-05-23
- 論文: YOLOv10: Real-Time End-to-End Object Detection
- GitHub: THU-MIG/yolov10
- ドキュメント: YOLOv10 Documentation
YOLOv10はNMSステップを削除しているため、BBoxフィルタリングのためのカスタムランタイムプラグインに依存することなく、ONNX formatやNVIDIA TensorRTといったフォーマットへのエクスポートが本質的に容易です。
強み:
- 予測可能な推論: NMSの排除により、シーン内のオブジェクト数に関係なく一貫した推論時間が保証されます。
- メモリ使用量の低減: RT-DETRのようなTransformerベースのモデルと比較して、YOLOv10はトレーニングと推論の両方においてメモリ要件が大幅に低くなっています。
- 優れた速度と精度のトレードオフ: パフォーマンス指標を犠牲にすることなく、低レイテンシのシナリオ向けに特別に最適化されています。
弱み:
- 単一タスクへの特化: より広範なUltralytics ecosystemとは異なり、元のYOLOv10リポジトリは検出に重点を置いており、インスタンスセグメンテーションやポーズ推定へのネイティブサポートは欠けています。
EfficientDet: スケーラブルでバランスの取れた設計
Google Brainによって導入されたEfficientDetは、体系的なネットワークスケーリングの観点から物体検出にアプローチします。これはEfficientNetの画像分類バックボーンに基づいて構築されており、新しい特徴融合メカニズムを導入しています。
アーキテクチャの革新
EfficientDetの中核は**Bi-directional Feature Pyramid Network (BiFPN)**であり、これにより高速かつ容易なマルチスケール特徴融合が可能になります。特徴をトップダウンで加算するだけだった従来のFPNとは異なり、BiFPNは双方向のクロススケール接続と学習可能な重みを導入し、異なる入力特徴の重要度を学習します。さらに、EfficientDetは、すべてのバックボーン、特徴ネットワーク、ボックス/クラス予測ネットワークについて、解像度、深さ、幅を均一にスケーリングする複合スケーリング手法を採用しています。
モデルの詳細
- 著者: Mingxing Tan, Ruoming Pang, and Quoc V. Le
- 組織: Google Brain
- 日付: 2019-11-20
- 論文: EfficientDet: Scalable and Efficient Object Detection
- GitHub: Google AutoML EfficientDet
強み:
- 高効率: 優れたパラメータ対精度の比率を持ち、より小さな
-d0から-d2バリアントは非常に軽量です。 - 原則に基づいたスケーリング: 複合スケーリングにより、ユーザーは計算予算に合わせたモデルサイズを簡単に選択できます。
弱み:
- レガシーフレームワークの統合: オリジナルの実装は、古いTensorFlowバージョンに大きく依存しており、現代のデプロイパイプラインを複雑にする可能性があります。
- トレーニングの遅さ: EfficientDetをゼロからトレーニングするのは非常に時間がかかり、YOLOアーキテクチャの迅速な収束と比較して、慎重なハイパーパラメータ調整が必要です。
- 推論速度: パラメータ効率は高いものの、複雑なBiFPNの操作により、標準的なハードウェア上では、高度に最適化されたYOLOモデルと比較して、実際の推論速度が遅くなることがよくあります。
パフォーマンスとベンチマーク
これらのモデルの真のテストは、COCO datasetなどの標準ベンチマークにおける実証的なパフォーマンスにあります。以下の表は、パラメータ数、浮動小数点演算数 (FLOPs)、およびNVIDIA T4 GPUsでの推論レイテンシにおける重要な違いを示しています。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメータ (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
| 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 |
上記のように、YOLOv10は生推論速度において大きな利点を維持しています。例えば、YOLOv10-Sは2.66msというTensorRTレイテンシで46.7 mAPを達成しますが、EfficientDet-d3は同等の47.5 mAPを達成するのに20ms近くかかります。このため、リアルタイムのビデオストリーミングや高速な製造パイプラインにおいて、YOLOv10が圧倒的に優れています。
ユースケースと推奨事項
YOLOv10とEfficientDetのどちらを選ぶかは、特定のプロジェクト要件、デプロイの制約、およびエコシステムの好みに依存します。
YOLOv10を選ぶべき場合
YOLOv10は以下の用途に強力な選択肢です:
- NMSフリーのリアルタイム検出: Non-Maximum Suppressionなしでエンドツーエンドの検出を行い、デプロイの複雑さを軽減できるアプリケーション。
- バランスの取れた速度と精度のトレードオフ: さまざまなモデルスケール全体で、推論速度と検出精度の強力なバランスが求められるプロジェクト。
- Consistent-Latency Applications: Deployment scenarios where predictable inference times are critical, such as robotics or autonomous systems.
EfficientDetを選択すべき場合
EfficientDetは以下の場合に推奨されます:
- Google CloudおよびTPUパイプライン: Google Cloud Vision APIやTPUインフラストラクチャと深く統合されたシステムで、EfficientDetがネイティブ最適化されている環境。
- Compound Scalingの研究: ネットワークの深さ、幅、解像度のバランスの取れたスケーリングが与える影響を研究することに焦点を当てた学術的なベンチマーク。
- TFLiteによるモバイルデプロイ: Androidまたは組み込みLinuxデバイス向けにTensorFlow Liteへのエクスポートを特に必要とするプロジェクト。
Ultralytics (YOLO26) を選択すべき場合
ほとんどの新規プロジェクトにおいて、Ultralytics YOLO26はパフォーマンスと開発者体験の最高の組み合わせを提供します:
- NMSフリーのエッジデプロイ: Non-Maximum Suppressionの後処理の複雑さを伴わずに、一貫した低レイテンシの推論が求められるアプリケーション。
- CPUのみの環境: 専用のGPUアクセラレーションがないデバイスにおいて、YOLO26の最大43%高速なCPU推論が決定的な利点となります。
- 小物体の検出: 航空ドローンの映像 やIoTセンサーの分析など、ProgLossとSTALが小物体の精度を大幅に高めることができる困難なシナリオ。
現代の標準: Ultralytics YOLO26の登場
YOLOv10が画期的なNMSフリーのパラダイムを導入し、EfficientDetが原則に基づいたスケーリングを示しましたが、コンピュータビジョンの状況は進化し続けています。今日、新しいプロジェクトを開始する開発者にとって、Ultralytics YOLO26は、紛れもない最先端技術(State of the Art)です。2026年1月にリリースされた本モデルは、すべての優れた要素を融合させ、Ultralytics Platform内で非常に洗練された、プロダクションレディなパッケージを提供します。
なぜYOLO26が競合他社を凌駕するのか
- エンドツーエンドのNMSフリー設計: YOLO26は、YOLOv10で先駆的に導入されたエンドツーエンドのNMSフリーアーキテクチャをネイティブに採用しており、デプロイを合理化し、推論を加速します。
- CPU推論が最大43%高速化: 専用アクセラレータを持たないエッジデバイス向けに、YOLO26は標準的なCPU上で効率的に動作するように特別に最適化されています。
- 高度なMuSGDオプティマイザ: LLMトレーニングの革新から着想を得たYOLO26は、SGDとMuonのハイブリッドを利用して、驚異的に安定したトレーニングと迅速な収束を実現し、EfficientDetと比較してトレーニング効率が大幅に向上しています。
- ProgLoss + STAL: これらの改善された損失関数は、YOLOv10とEfficientDetの両方にとって伝統的な弱点であった小物体認識において、著しい向上をもたらします。
- DFLの削除: Distribution Focal Lossを削除したことで、YOLO26はOpenVINOやCoreMLを含む、ほぼすべてのハードウェアフォーマットにシームレスにエクスポート可能です。
Furthermore, YOLO26 provides unmatched versatility. While EfficientDet and YOLOv10 are strictly detection models, YOLO26 seamlessly handles oriented bounding boxes, image classification, and instance segmentation using the same intuitive Ultralytics Python package.
Ultralyticsによる使いやすさ
Ultralyticsが提供する十分にメンテナンスされたエコシステムにより、スムーズな開発者体験が保証されます。モデルのトレーニング、検証、そしてTensorRT integrationへのエクスポートは、わずか数行のコードで完了します。
from ultralytics import YOLO
# Load a pre-trained YOLOv10 model (or upgrade to YOLO26 natively)
model = YOLO("yolov10n.pt")
# Train the model efficiently on a custom dataset
model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run inference and immediately visualize results
results = model("https://ultralytics.com/images/bus.jpg")
results[0].show()
# Export for rapid deployment
model.export(format="engine", half=True)結論
YOLOv10とEfficientDetを比較する場合、選択は使用するフレームワークの好みと速度の制約に大きく依存します。EfficientDetは、TensorFlowエコシステム内でのモデルスケーリングに対する構造化されたアプローチを提供します。しかし、YOLOv10は、優れたリアルタイムパフォーマンス、メモリ使用量の低減、そしてNMSフリーのアーキテクチャによるより直接的なデプロイパスを提供します。
パフォーマンスのバランス、使いやすさ、マルチタスクの汎用性を最大限に高めるには、Ultralytics PlatformへのアップグレードとYOLO26の利用を強く推奨します。YOLOv10のNMSフリーの革新を取り入れ、MuSGDオプティマイザのような最先端のトレーニング技術を適用し、巨大なグローバルコミュニティに支えられた堅牢なオープンソースフレームワークでそれを包み込んでいます。