YOLOv10とEfficientDetの比較#
オブジェクト検出に最適なニューラルネットワークの選択は、最新のコンピュータビジョンシステムの成功を左右する重要な決定です。この分野に大きな影響を与えた2つの主要なアーキテクチャが、YOLOv10とEfficientDetです。どちらも計算オーバーヘッドを最小限に抑えながら精度の最大化を目指していますが、これらの目標を達成するためのアーキテクチャのアプローチは大きく異なります。
この包括的なガイドでは、それぞれの独自の設計、トレーニング手法、およびデプロイ特性について詳しく解説し、開発者やMLエンジニアがビジョンAIアプリケーションに向けてデータ駆動型の決定を下せるようサポートします。埋め込み型エッジAIデバイスから強力なクラウドGPUに至るまでのハードウェア上で、これらがどのように動作するかを検証します。
YOLOv10:NMSフリーの先駆者#
リアルタイムのレイテンシの限界を押し広げるために開発されたYOLOv10は、YOLOファミリーにおける最も永続的なボトルネックの1つであるNon-Maximum Suppression(NMS)に取り組みました。この後処理ステップを排除することにより、モデルは非常に予測可能なレイテンシを実現しており、これは自動運転車や高速ロボティクスにおいて重要です。
アーキテクチャの革新#
YOLOv10は、NMSフリー学習のための整合性のあるデュアルアサインメントを導入しています。学習中には1対多と1対1のラベルアサインメントの両方を活用することで、ネットワークが豊かな表現を学習できるようにし、推論時にはオブジェクトごとに最適なバウンディングボックスをネイティブに出力します。このアーキテクチャには、全体的な効率と精度を重視した設計が組み込まれており、分類ヘッドを合理化し、以前のイテレーションで見られた計算上の冗長性を低減しています。
モデルの詳細#
- 著者: Ao Wang, Hui Chen, Lihao Liu, 他
- 組織: Tsinghua University
- 日付: 2024-05-23
- 論文: YOLOv10: Real-Time End-to-End Object Detection
- GitHub: THU-MIG/yolov10
- ドキュメント: YOLOv10 Documentation
YOLOv10はNMSステップを削除しているため、バウンスボックスのフィルタリング用にカスタムランタイムプラグインに依存することなく、ONNX形式やNVIDIA TensorRTなどの形式へ本質的に簡単にエクスポートできます。
強み:
- 予測可能な推論: NMSを削除したことで、シーン内のオブジェクト数に関係なく安定した推論時間を保証します。
- 低いメモリ使用量: RT-DETRなどのトランスフォーマーベースのモデルと比較して、YOLOv10はトレーニングと推論の両方においてメモリ要件が大幅に低くなっています。
- 優れた速度と精度のトレードオフ: パフォーマンス指標を犠牲にすることなく、低レイテンシのシナリオ向けに特別に最適化されています。
弱み:
- 単一タスクへの焦点: より広範なUltralyticsエコシステムとは異なり、オリジナルの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データセットなどの標準的なベンチマークにおける実証的パフォーマンスにあります。以下の表は、パラメータ数、浮動小数点演算(FLOPs)、およびNVIDIA T4 GPUでの推論レイテンシにおける重要な違いを示しています。
| モデル | サイズ (ピクセル) | 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は46.7 mAPを達成し、TensorRTレイテンシはわずか2.66msですが、一方のEfficientDet-d3は同等の47.5 mAPを達成するものの約20msを要します。このため、リアルタイムのビデオストリーミングや高速な製造パイプラインにおいて、YOLOv10は圧倒的に優れています。
ユースケースと推奨事項#
YOLOv10とEfficientDetのどちらを選択するかは、特定のプロジェクト要件、デプロイの制約、およびエコシステムの好みによって異なります。
YOLOv10を選択すべき場合#
YOLOv10は以下の用途に最適です。
- NMSフリーのリアルタイム検出: Non-Maximum Suppression(NMS)を使用しないエンドツーエンド検出のメリットを享受し、デプロイの複雑さを軽減できるアプリケーション。
- バランスの取れた速度と精度のトレードオフ: さまざまなモデルスケール全体で、推論速度と検出精度の強力なバランスを必要とするプロジェクト。
- 一貫したレイテンシが求められるアプリケーション: ロボティクスや自律システムなど、予測可能な推論時間が不可欠なデプロイシナリオ。
EfficientDetを選択すべき場合#
EfficientDetは以下の場合に推奨されます:
- Google CloudおよびTPUパイプライン: Google Cloud Vision APIやTPUインフラストラクチャと深く統合されたシステムであり、EfficientDetのネイティブ最適化が活かせる環境。
- 複合スケーリング研究: ネットワークの深さ、幅、解像度のスケーリングバランスが与える影響を調査することに焦点を当てた学術的なベンチマーク。
- TFLite によるモバイルデプロイメント: Android または組み込み Linux デバイス向けに TensorFlow Lite のエクスポートを特別に必要とするプロジェクト。
Ultralytics (YOLO26) を選択すべき時#
ほとんどの新しいプロジェクトにおいて、Ultralytics YOLO26はパフォーマンスと開発者体験の最高の組み合わせを提供します。
- NMSフリーのエッジ展開: Non-Maximum Suppression後処理の複雑さを伴わずに、一貫した低レイテンシの推論が求められるアプリケーション。
- CPUのみの環境: GPUアクセラレーションを利用できないデバイスにおいて、YOLO26の最大43%高速なCPU推論が決定的な利点となる場合。
- 小物体検出: ProgLossとSTALにより極小オブジェクトの精度が大幅に向上する、空中ドローン画像やIoTセンサー分析などの困難なシナリオ。
現代の標準:Ultralytics YOLO26の登場#
YOLOv10が画期的なNMSフリーのパラダイムを導入し、EfficientDetが原理に基づいたスケーリングを示した一方で、コンピュータビジョンの状況は進化し続けています。今日新しいプロジェクトを開始する開発者にとって、Ultralytics YOLO26は疑いの余地のない最先端(SOTA)を表しています。2026年1月にリリースされたこれは、すべての長所を統合し、Ultralyticsプラットフォーム内で非常に洗練されたプロダクションレディなパッケージを提供します。
なぜ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を含むほぼすべてのハードウェア形式へシームレスにエクスポートできます。
さらに、YOLO26は比類のない汎用性を提供します。EfficientDetやYOLOv10が厳密な検出モデルである一方、YOLO26は、同じ直感的なUltralytics Python packageを使用して、oriented bounding boxes、image classification、およびインスタンスセグメンテーションをシームレスに処理します。
Ultralyticsによる使いやすさ#
Ultralyticsによって提供される十分にメンテナンスされたエコシステムは、スムーズな開発者エクスペリエンスを保証します。モデルのトレーニング、検証、およびTensorRT統合へのエクスポートは、わずか数行のコードで行えます。
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", quantize=16)結論#
YOLOv10とEfficientDetを比較する場合、選択はフレームワークの好みと速度の制約に大きく依存します。EfficientDetは、TensorFlowエコシステム内でのモデルスケーリングに対する構造化されたアプローチを提供します。しかし、YOLOv10は、リアルタイムパフォーマンスの高さ、低いメモリ使用量、そしてNMSフリーアーキテクチャによるより直接的なデプロイパスを提供します。
パフォーマンスのバランス、使いやすさ、およびマルチタスクの汎用性を最も優れて実現するために、UltralyticsプラットフォームへのアップグレードとYOLO26の利用を強くお勧めします。これはYOLOv10のNMSフリーの革新を取り入れ、MuSGDオプティマイザなどの最先端のトレーニング技術を適用し、巨大なグローバルコミュニティによってサポートされる堅牢なオープンソースフレームワークにまとめています。