Link to this sectionYOLOv5 vs. EfficientDet: リアルタイム物体検出アーキテクチャの評価#
新しいコンピュータビジョンプロジェクトに着手する際、適切なニューラルネットワークアーキテクチャの選択は、最も重要な決定事項の1つです。本ガイドでは、Ultralytics YOLOv5とGoogleのEfficientDetについて、詳細な技術比較を行います。両者のアーキテクチャ、パフォーマンス指標、学習エコシステムを分析し、開発者や研究者が特定のデプロイ環境に最適な物体検出モデルを特定できるよう支援します。
EfficientDetは化合物スケーリングや特徴融合という新しい概念を導入しましたが、YOLOv5は、極めて直感的なPyTorchの実装、洗練されたユーザー体験、そしてスピードと精度の比類なきバランスを実現することで、高性能AIへのアクセスを民主化し、業界に革命をもたらしました。
Link to this sectionUltralytics YOLOv5: アクセシビリティにおける業界標準#
2020年夏にリリースされたYOLOv5は、YOLOの系譜における極めて重要な転換点となりました。C言語ベースのDarknetフレームワークからネイティブなPyTorchへと移行したことで、モデルの構築、学習、デプロイを迅速に行いたい開発者にとっての定番アーキテクチャとなりました。
- 著者: Glenn Jocher
- 所属: Ultralytics
- 日付: 2020-06-26
- GitHub: https://github.com/ultralytics/yolov5
- Docs: https://docs.ultralytics.com/models/yolov5
Link to this sectionアーキテクチャの革新#
YOLOv5は、シームレスな機械学習ライフサイクルを重視した、高度に最適化されたアーキテクチャで高く評価されています。修正されたCSPDarknet53バックボーンとPath Aggregation Network (PANet) ネックを採用しており、複数の空間スケールにわたる特徴伝播を劇的に改善しています。
主な進歩は以下の通りです:
- Mosaicデータ拡張: この学習テクニックは、4つの異なる学習画像を1つのモザイクに結合します。これにより、モデルは複雑な空間コンテキスト内での物体識別を学習せざるを得なくなり、小さなターゲットを検出する能力が大幅に向上します。
- 自動学習アンカーボックス: 学習開始前に、YOLOv5はカスタムの学習データを分析し、k-meansクラスタリングを使用して最適なアンカーボックスの寸法を自動的に計算します。
- メモリ効率: 重いTransformerベースのモデルと比較して、YOLOv5は学習時および推論時のメモリフットプリントが大幅に低く抑えられており、コンシューマーグレードのハードウェアでもスムーズに動作します。
Link to this sectionEfficientDet: スケーラブルな物体検出#
2019年にGoogle Researchが発表したEfficientDetは、スケーラブルな物体検出器のファミリーを提供することを目指しました。EfficientNet画像分類バックボーンを基盤とし、新しい特徴融合メカニズムを導入しています。
- 著者: Mingxing Tan, Ruoming Pang, and Quoc V. Le
- 組織: Google
- 日付: 2019-11-20
- Arxiv: https://arxiv.org/abs/1911.09070
- GitHub: https://github.com/google/automl/tree/master/efficientdet
- Docs: https://github.com/google/automl/tree/master/efficientdet#readme
Link to this sectionアーキテクチャの革新#
EfficientDetの中核となる提案は、スケーリングと特徴集約に対する体系的なアプローチにあります:
- BiFPN (双方向特徴ピラミッドネットワーク): 情報をトップダウンにのみ渡す従来型のFPNとは異なり、BiFPNは学習可能な重みを導入して異なる入力特徴の重要度を学習することで、高速かつ容易なマルチスケール特徴融合を可能にします。
- 化合物スケーリング: EfficientDetは、バックボーン、特徴ネットワーク、ボックス/クラス予測ネットワークの解像度、深さ、幅をすべて同時にスケーリングし、軽量なD0から大規模なD7までのモデルを実現しています。
EfficientDetはTensorFlowエコシステムとAutoMLライブラリに大きく依存していますが、YOLOv5はPyTorch内でネイティブに動作し、多くの開発者がより直感的でpythonic、かつデバッグしやすいと感じるワークフローを提供しています。
Link to this sectionパフォーマンスと指標の比較#
これらのモデルを比較する際、COCOデータセットのような標準的なベンチマークで性能を評価することが重要です。以下の表は、サイズ、計算負荷 (FLOPs)、推論速度の間のトレードオフを示しています。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメータ (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.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 |
Link to this sectionバランスの取れた分析#
YOLOv5は、そのデプロイの柔軟性とハードウェアアクセラレーションへの幅広い対応力で輝きを放ちます。T4 GPUにおける驚異的なTensorRTの速度に注目してください。これにより、YOLOv5は高スループットのビデオ分析やリアルタイム推論パイプラインに最適です。さらに、Ultralyticsエコシステムにより、ONNX、CoreML、TensorRTなどの形式へのエクスポートが1行のコマンドで完了します。
EfficientDetは優れたパラメータ効率を提供します。与えられたパラメータ数に対して、多くの場合高い平均適合率 (mAP)を達成します。しかし、BiFPN層の複雑なルーティングにより、この理論上の効率が常にエッジGPUでの高速な実際の推論時間(ウォールクロックタイム)に直結するわけではなく、計算よりもメモリ帯域幅の制約を受ける可能性があります。
Link to this sectionエコシステムと使いやすさ#
Ultralyticsモデルを選択する決定的な利点は、周辺のエコシステムにあります。YOLOv5は、強力なコミュニティサポートを受け、活発にメンテナンスおよび開発されているリポジトリの一部です。
Ultralytics Platformの導入により、ユーザーはデータ収集からデプロイまでシームレスに移行できます。このプラットフォームは、自動アノテーション、クラウド学習、モデルモニタリングを標準でサポートしています。対照的に、EfficientDetの学習では、古いTensorFlow物体検出APIの複雑さを扱う必要があり、ラピッドプロトタイピングにおいては学習コストが高い場合があります。
さらに、YOLOv5の汎用性はバウンディングボックスにとどまりません。継続的なアップデートを通じて、Ultralyticsフレームワークはインスタンスセグメンテーションと画像分類をネイティブにサポートしており、複数のコンピュータビジョンタスクに対して統一されたAPIを提供しています。
Link to this section理想的なユースケース#
- YOLOv5を選択すべきケース: ラピッドプロトタイピング、摩擦のない学習体験、高度に最適化されたエッジデプロイが必要な場合。低遅延が不可欠なドローン、小売分析、モバイルアプリケーションに最適です。
- EfficientDetを選択すべきケース: Google Cloud/TensorFlow AutoML環境に厳密に依存しており、厳格なリアルタイム遅延制限なしでパラメータあたりの精度を最大化する必要がある場合。
Link to this section次世代: YOLO26の採用#
YOLOv5は依然として信頼できる主力モデルですが、コンピュータビジョンの環境は進化しています。2026年現在、最高水準を求める開発者にとって、YOLO26はUltralyticsラインナップの新たな頂点となります。
その前身(YOLOv8やYOLO11など)のレガシーを基盤として、YOLO26は画期的なイノベーションを導入しています:
- エンドツーエンドのNMSフリー設計: YOLO26はNon-Maximum Suppressionのポストプロセッシングをネイティブに排除します。これにより遅延の変動が大幅に減少し、デプロイアーキテクチャが簡素化されます。
- CPU推論が最大43%高速化: エッジAI向けに高度に最適化されており、専用GPUを持たない低電力エッジデバイスや標準CPUでも前例のない速度を実現します。
- MuSGDオプティマイザー: 大規模言語モデル (LLM) の学習テクニックに触発されたSGDとMuonのハイブリッドにより、非常に安定した学習と高速な収束を保証します。
- 高度な損失関数: ProgLossとSTALの統合により、高高度からのドローン画像やロボティクスにおいて極めて重要な、小さなターゲットの認識率が劇的に向上します。
- DFLの削除: Distribution Focal Lossを削除することで、モデルのエクスポートプロセスが効率化され、多様なハードウェアアクセラレーター間での互換性がさらに向上しました。
Ultralyticsエコシステム内の他の最新アーキテクチャを探求したいユーザーは、YOLOv10やRT-DETRなどのモデルと比較することも可能です。
Ultralytics Python APIは、後方互換性と前方互換性を考慮して設計されています。YOLOv5からYOLO26へのアップグレードは、コード内のモデル重みの文字列を変更するだけという、まさに文字通りのシンプルさです!
Link to this sectionコード例: 学習と推論#
Ultralyticsエコシステムの比類なき使いやすさを実証するため、最新のYOLOモデルを使用した学習と推論の実行方法を以下に示します。このコードは100%実行可能で、データセットのダウンロード、学習ループ、検証を自動的に処理します。
from ultralytics import YOLO
# Load a modern model (Swap 'yolov5s.pt' for 'yolo26n.pt' to test the newest architecture!)
model = YOLO("yolov5s.pt")
# Train the model on the COCO8 example dataset for 20 epochs
results = model.train(data="coco8.yaml", epochs=20, imgsz=640)
# Run inference on an image from the web
inference_results = model("https://ultralytics.com/images/bus.jpg")
# Display the image with bounding boxes
inference_results[0].show()ユーザー体験の優先、堅牢なエコシステムの維持、そしてYOLO26のようなアップデートで可能なことの境界を押し広げ続けることにより、Ultralyticsは、開発者が現実世界の視覚的知能に関する課題を解決するための最良のツールを常に手元に持てるようにします。