EfficientDetとYOLOv5#
最適なニューラルネットワークアーキテクチャの選定は、コンピュータービジョンプロジェクトを左右する重要なステップです。推論レイテンシ、パラメーター効率、検出精度のバランスによって、モデルの実環境での性能が決まります。この包括的な技術ガイドでは、影響力の大きい2つの物体検出フレームワーク、GoogleのEfficientDetとUltralytics YOLOv5を詳しく分析します。
アーキテクチャの革新、トレーニング手法、デプロイ機能を比較することで、開発者はクラウドサーバーへのスケール展開から制約のあるエッジデバイスでの実行まで、それぞれのデプロイ環境に応じた適切な判断を下せます。
EfficientDet:BiFPNを採用したスケーラブルなアーキテクチャ#
Google Researchが発表したEfficientDetは、バックボーンと特徴ネットワークの両方を体系的にスケーリングし、従来の最先端モデルより少ないパラメーターで高精度を実現するよう設計されました。
モデルの詳細#
- 著者: Mingxing Tan、Ruoming Pang、Quoc V. Le
- 組織: Google Research
- 日付: 2019年11月20日
- Arxiv: EfficientDet:スケーラブルで効率的な物体検出
- GitHub: google/automl/efficientdet
アーキテクチャの革新#
EfficientDetは分類モデルのEfficientNetをバックボーンとして活用し、ネットワークの幅、深さ、解像度を均一に拡大する複合スケーリング手法を採用しています。物体検出に対する最も重要な貢献は、双方向特徴ピラミッドネットワーク (BiFPN)の導入です。単純に上から下へ特徴を集約する標準的な特徴ピラミッドネットワークとは異なり、BiFPNは複雑な双方向のスケール間接続を可能にし、学習可能な重みを導入して各入力特徴の重要度を判断します。
EfficientDetは高精度ですが、TensorFlowエコシステムと特定のAutoMLライブラリに大きく依存しています。この依存関係により、カスタムの軽量なデプロイパイプラインや動的計算グラフを重視する環境への統合が煩雑になることがあります。
Ultralytics YOLOv5:リアルタイムAIの民主化#
EfficientDetのリリース直後に登場したUltralytics YOLOv5は、YOLOアーキテクチャの非常に使いやすいネイティブPyTorch実装を提供し、業界に変革をもたらしました。開発者体験、トレーニング効率、リアルタイムデプロイの柔軟性において新たな基準を確立しました。
モデルの詳細#
- 著者: Glenn Jocher
- 組織: Ultralytics
- 日付: 2020年6月26日
- GitHub: ultralytics/yolov5
- ドキュメント: YOLOv5のドキュメント
アーキテクチャの革新#
YOLOv5は、CSPDarknet (Cross-Stage Partial)バックボーンを採用し、勾配の流れを大幅に改善しながら全体のパラメーター数を削減するなど、先行モデルから大きく進化しました。また、Auto-Learning Anchor Boxesを取り入れ、カスタムトレーニングデータに基づいて最適なバウンディングボックスの事前設定を自動計算するため、手動でのハイパーパラメーター調整が不要です。
YOLOv5はモザイクデータ拡張も多用し、異なる4枚の画像を1つのトレーニングタイルに合成します。これにより、小物体の検出能力が大幅に向上し、文脈理解の汎化性能も高まるため、多様な環境で高い堅牢性を発揮します。
性能とベンチマーク#
COCOデータセットのような標準ベンチマークでモデルを評価することは、精度と速度のトレードオフを理解するうえで重要です。以下の表は、標準化された条件下におけるEfficientDetとYOLOv5の各サイズの性能を示しています。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメーター (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 |
| YOLOv5n | 640 | 28.0 | - | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | - | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | - | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | - | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | - | 11.89 | 86.7 | 205.7 |
トレードオフの分析#
EfficientDet-d7は最高53.7のmAPを達成しますが、GPUハードウェアでの推論レイテンシはYOLOアーキテクチャより大幅に長くなります。一方、YOLOv5はハードウェアアクセラレーションに優れています。YOLOv5nはT4 GPU上でNVIDIA TensorRTを使用すると、驚異的な1.12 msの推論時間を達成し、自動運転や高速製造ラインなどのリアルタイムアプリケーションにおいて圧倒的な優位性を発揮します。
さらに、YOLOv5モデルは、複雑な複合スケーリングネットワークや大規模なTransformerモデルと比べて、トレーニング中に必要なCUDAメモリが大幅に少なくなります。この効率的なメモリ使用により、最先端AIを幅広く利用できるようになり、一般的なコンシューマー向けハードウェアでも堅牢なモデルをトレーニングできます。
エッジデバイス上でYOLOv5モデルのフレーム毎秒 (FPS)を最大化するには、PyTorchの重みをNVIDIA GPU向けのTensorRT、またはIntel CPU向けのOpenVINOにエクスポートしてください。この手順で推論速度が2倍になることもよくあります。
トレーニングエコシステムと開発者体験#
Ultralyticsエコシステムの真の利点は、合理化されたユーザー体験にあります。EfficientDetではTensorFlow Object Detection APIに関する深い知識が必要ですが、YOLOv5では一貫性のあるシンプルなPython APIを利用できます。
よく整備されたUltralyticsエコシステムにより、開発者は頻繁なアップデート、活発なコミュニティサポート、Weights & BiasesやClearMLなどの実験トラッキングツールとのシームレスな統合を利用できます。
コード例:YOLOv5の使い始め方#
事前トレーニング済みのYOLOv5モデルを使った推論は、Ultralytics Pythonパッケージを利用すれば、わずか数行のコードで実行できます。
from ultralytics import YOLO
# 高効率なYOLOv5sモデルを読み込みます
model = YOLO("yolov5su.pt") # YOLOv5u: ultralyticsパッケージ向けのアンカーフリーYOLOv5重み
# 画像に対して推論を実行する
results = model("https://ultralytics.com/images/zidane.jpg")
# 検出したバウンディングボックスを表示します
results[0].show()汎用性と実環境での活用#
EfficientDetは物体検出専用のフレームワークであるため、複雑なビジョンパイプラインでの用途が限られます。一方、YOLOv5は複数のコンピュータービジョンタスクに対応するよう進化しています。最新のモデルでは、高精度なインスタンスセグメンテーションと画像分類がサポートされており、開発者は機械学習スタックを統合できます。
最適なユースケース#
- EfficientDet: レイテンシより最高精度を優先し、サーバーグレードのTPUまたは大容量メモリのGPUを利用できるオフライン処理、学術研究、クラウドベースの分析に最適です。
- YOLOv5: エッジAIのデプロイに最適なモデルです。低レイテンシ、小さなパラメーターサイズ、高精度を兼ね備えており、ドローン分析、リアルタイムの小売自動化、CoreMLまたはLiteRTを利用したモバイルアプリケーションに適しています。
次世代への進化:YOLO26へのアップグレード#
YOLOv5は今なお堅牢で広く導入されているモデルですが、AI分野は急速に進化しています。新しいプロジェクトを始めるチームや、最新の最高性能を求めるチームに向けて、Ultralyticsは2026年1月にリリースされたYOLO26を発表しました。
YOLO26は速度と精度のパレートフロンティアを再定義し、デプロイを容易にして推論を高速化する画期的なアーキテクチャ変更を導入しています。
YOLO26の主な進化点#
- エンドツーエンドのNMSフリー設計: YOLO26のオプションのエンドツーエンドヘッド (
nms=False)は、Non-Maximum Suppressionによる後処理を不要にします。これによりデプロイロジックが大幅に簡素化され、レイテンシのばらつきも減少します。この画期的なアプローチは、YOLOv10での初期実験を経て洗練されました。 - CPU推論が最大43%高速化: 専用GPUを持たないエッジコンピューティングや低消費電力のIoTデバイス向けに特化して設計されています。
- MuSGDオプティマイザー: 大規模言語モデルのトレーニング手法(Moonshot AIのKimi K2など)に着想を得た、SGDとMuonのハイブリッド方式です。LLMの革新をコンピュータービジョンにもたらし、収束を早め、トレーニングを非常に安定させます。
- ProgLoss + STAL: これらの高度な損失関数は小物体認識を大幅に改善し、航空画像やロボティクスに不可欠です。
- DFLの除去: Distribution Focal Lossを取り除くことでモデルヘッドを大幅に簡素化し、レガシーまたは制約の厳しいエッジハードウェアへのエクスポート時の互換性を高めます。
マルチタスクパイプラインをデプロイするチーム向けに、YOLO26はセグメンテーション用のマルチスケールプロトや、回転バウンディングボックス (OBB)用の専用角度損失など、タスク固有の機能強化も導入しています。エコシステム内の他の最新の選択肢については、YOLO11やYOLOv8アーキテクチャもご覧ください。
結論#
EfficientDetとYOLOv5のどちらを選ぶかは、デプロイ先に大きく左右されます。EfficientDetは、クラウド中心の推論に適した数学的に洗練されたスケーリング手法を提供します。しかし、YOLOv5は開発者体験に優れ、PyTorchのトレーニングループが非常に高速で、エッジへのデプロイも高度に最適化されているため、現実世界のリアルタイムアプリケーションの大多数で選ばれています。Ultralyticsが提供する包括的なツールを活用すれば、チームは市場投入までの時間を短縮し、応答性の高いAIシステムを構築できます。