YOLOv10とEfficientDetの比較#
物体検出に最適なニューラルネットワークの選択は、最新のコンピュータビジョンシステムの成否を左右する重要な決定です。この分野に大きな影響を与えてきた代表的なアーキテクチャが、YOLOv10とEfficientDetです。どちらも計算オーバーヘッドを最小限に抑えながら精度を最大化することを目指していますが、これらの目標を達成するためのアーキテクチャ上のアプローチは大きく異なります。
この包括的なガイドでは、両モデルの独自の設計、学習手法、デプロイ特性について詳しく解説し、開発者やMLエンジニアがビジョンAIアプリケーションについてデータに基づく意思決定を行えるよう支援します。組み込みのエッジAIデバイスから高性能なクラウドGPUまで、さまざまなハードウェア上での性能を検証します。
YOLOv10:NMSフリーの先駆者#
リアルタイムのレイテンシーの限界を押し広げるために開発されたYOLOv10は、YOLOファミリーにおける最も根深いボトルネックの1つである非最大抑制(NMS)に取り組みました。この後処理ステップを排除することで、モデルは非常に予測しやすいレイテンシーを実現します。これは自動運転車や高速ロボティクスにとって重要です。
アーキテクチャのイノベーション#
YOLOv10は、NMSなしの学習に向けた一貫性のあるデュアル割り当てを導入しています。学習時には、one-to-manyとone-to-oneのラベル割り当てを両方活用することで、ネットワークが豊かな表現を学習しながら、推論時には各オブジェクトに対して最適な単一のバウンディングボックスをネイティブに出力できるようにします。さらに、このアーキテクチャには効率と精度を総合的に考慮した設計が取り入れられており、分類ヘッドを効率化するとともに、従来の世代に見られた計算上の冗長性を削減しています。
モデルの詳細#
- 著者: Ao Wang、Hui Chen、Lihao Liu、ほか
- 組織: 清華大学
- 日付: 2024-05-23
- 論文: YOLOv10: リアルタイムエンドツーエンド物体検出
- GitHub: THU-MIG/yolov10
- ドキュメント: YOLOv10 Documentation
YOLOv10はNMSステップを排除しているため、バウンディングボックスのフィルタリングにカスタムランタイムプラグインを依存せず、ONNX形式やNVIDIA TensorRTなどの形式へ容易にエクスポートできます。
強み:
- 予測可能な推論: NMSを削除することで、シーン内のオブジェクト数にかかわらず、推論時間が安定します。
- メモリ使用量の削減: RT-DETRのようなTransformerベースのモデルと比較して、YOLOv10は学習時と推論時の両方で必要なメモリ量が大幅に少なくなります。
- 優れた速度と精度のトレードオフ: 性能指標を犠牲にすることなく、低レイテンシーのシナリオ向けに特化して最適化されています。
弱み:
- 単一タスクへの集中: より幅広いUltralyticsエコシステムとは異なり、元のYOLOv10リポジトリは検出に重点を置いており、インスタンスセグメンテーションや姿勢推定をネイティブにはサポートしていません。
EfficientDet:スケーラブルでバランスの取れたモデル#
Google Brainによって導入されたEfficientDetは、体系的なネットワークスケーリングという観点から物体検出に取り組みます。画像分類用のEfficientNetバックボーンを基盤とし、新しい特徴量融合メカニズムを導入しています。
アーキテクチャのイノベーション#
EfficientDetの中核は、**双方向特徴ピラミッドネットワーク(BiFPN)**です。これにより、マルチスケール特徴量の融合を簡単かつ高速に行えます。特徴量をトップダウン方向に加算する従来のFPNとは異なり、BiFPNは双方向のスケール間接続と学習可能な重みを導入し、異なる入力特徴量の重要度を学習します。さらにEfficientDetは複合スケーリング手法を使用し、バックボーン、特徴量ネットワーク、ボックス/クラス予測ネットワークのすべてについて、解像度、深さ、幅を一様にスケーリングします。
モデルの詳細#
- 著者: Mingxing Tan、Ruoming Pang、Quoc V. Le
- 組織: Google Brain
- 日付: 2019-11-20
- 論文: EfficientDet: スケーラブルで効率的な物体検出
- GitHub: Google AutoML EfficientDet
強み:
- 高効率: パラメーター数と精度の比率に優れており、小型の
-d0から-d2までのバリエーションは非常に軽量です。 - 原則に基づくスケーリング: 複合スケーリングにより、ユーザーは自身の計算予算に正確に適合するモデルサイズを簡単に選択できます。
弱み:
- レガシーフレームワークとの統合: 元の実装は古いTensorFlowのバージョンに大きく依存しているため、最新のデプロイパイプラインを複雑にする可能性があります。
- 学習速度の低下: EfficientDetをスクラッチから学習する場合、YOLOアーキテクチャの迅速な収束と比較して、非常に時間がかかることで知られており、ハイパーパラメーターの慎重なチューニングが必要です。
- 推論速度: パラメーター効率には優れていますが、複雑なBiFPN演算により、最適化されたYOLOモデルと比較して、標準的なハードウェア上での実環境における推論速度が遅くなることがよくあります。
パフォーマンスとベンチマーク#
これらのモデルの真価は、COCOデータセットのような標準ベンチマークにおける実測性能に表れます。以下の表は、NVIDIA T4 GPU上でのパラメーター数、浮動小数点演算(FLOPs)、推論レイテンシーにおける重要な違いを示しています。
| モデル | サイズ (ピクセル) | 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を使用しないエンドツーエンド検出のメリットを活かし、デプロイの複雑さを軽減できるアプリケーション。
- 速度と精度のバランスの取れたトレードオフ: さまざまなモデルスケールで、推論速度と検出精度の優れたバランスが求められるプロジェクト。
- レイテンシが一貫したアプリケーション: ロボティクスや自律システムなど、予測可能な推論時間が重要なデプロイシナリオ。
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推論が決定的な優位性となる場合。
- 小さな物体の検出: aerial drone imageryやIoTセンサー分析など、ProgLossとSTALによって微小物体の精度が大幅に向上する難しいシナリオ。
現代の標準:Ultralytics YOLO26の登場#
YOLOv10が画期的なNMSなしのパラダイムを導入し、EfficientDetが原則に基づくスケーリングを実証した一方で、コンピュータビジョンの環境は進化を続けています。現在、新しいプロジェクトを始める開発者にとって、Ultralytics YOLO26は、疑いなく最先端のモデルです。2026年1月にリリースされたYOLO26は、あらゆる長所を統合し、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を含む、ほぼすべてのハードウェア形式へシームレスにエクスポートできます。
さらに、YOLO26は比類のない汎用性を提供します。EfficientDetとYOLOv10が検出専用モデルであるのに対し、YOLO26は同じ直感的なUltralytics Pythonパッケージを使用して、指向性バウンディングボックス、画像分類、インスタンスセグメンテーションをシームレスに処理できます。
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 Platformへアップグレードし、YOLO26を利用することを強く推奨します。YOLO26はYOLOv10のNMSなしの革新を取り入れ、MuSGDオプティマイザーのような最先端の学習技術を適用し、世界中の大規模なコミュニティに支えられた堅牢なオープンソースフレームワークに統合しています。