YOLOv10とEfficientDet#
物体検出に最適なニューラルネットワークを選ぶことは、最新のコンピュータービジョンシステムの成否を左右する重要な判断です。この分野に大きな影響を与えた2つの代表的なアーキテクチャが、YOLOv10とEfficientDetです。どちらも計算オーバーヘッドを抑えつつ精度を最大化することを目指していますが、その実現に向けたアーキテクチャ上のアプローチは大きく異なります。
この包括的なガイドでは、それぞれの独自設計、トレーニング手法、デプロイ特性を掘り下げ、開発者やMLエンジニアがデータに基づいてビジョンAIアプリケーションに関する判断を下せるよう支援します。組み込み型のエッジAIデバイスから高性能なクラウドGPUまで、さまざまなハードウェアでの性能を検証します。
YOLOv10:NMSフリーの先駆者#
リアルタイムのレイテンシ限界を押し広げるために開発されたYOLOv10は、YOLOファミリーで最も根強いボトルネックの1つである非最大抑制(NMS)に取り組みました。この後処理をなくすことで、モデルはレイテンシを高い予測可能性で実現します。これは自動運転車や高速ロボティクスにとって重要です。
アーキテクチャの革新#
YOLOv10は、NMSなしのトレーニングを可能にする一貫性のあるデュアル割り当てを導入しています。トレーニング中はone-to-manyとone-to-oneの両方のラベル割り当てを活用し、ネットワークが豊かな表現を学習できるようにします。同時に、推論時には物体ごとに最適なバウンディングボックスを1つネイティブに出力します。このアーキテクチャには、効率と精度を総合的に重視した設計も取り入れられており、分類ヘッドを合理化し、以前のバージョンに見られた計算の冗長性を削減しています。
モデルの詳細#
- 著者: Ao Wang、Hui Chen、Lihao Liuほか
- 組織: 清華大学
- 日付: 2024-05-23
- 論文: YOLOv10: リアルタイムのエンドツーエンド物体検出
- GitHub: THU-MIG/yolov10
- ドキュメント: YOLOv10 ドキュメント
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 | 38.5 | - | 1.84 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.3 | - | 2.49 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.1 | - | 4.74 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.5 | - | 5.74 | 19.1 | 92.0 |
| YOLOv10l | 640 | 53.2 | - | 7.28 | 24.4 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 10.70 | 29.5 | 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.3 mAPを達成し、TensorRTでのレイテンシはわずか2.49msです。一方、EfficientDet-d3は同程度の47.5 mAPを達成しますが、約20msかかります。そのため、リアルタイム動画ストリーミングや高速な製造ラインでは、YOLOv10が大幅に優れています。
ユースケースと推奨事項#
YOLOv10とEfficientDetのどちらを選ぶかは、プロジェクト固有の要件、デプロイ上の制約、エコシステムの好みによって異なります。
YOLOv10を選ぶ場合#
YOLOv10は、次の用途に適しています:
- NMSを使用しないリアルタイム検出: 非最大抑制を使用しないエンドツーエンド検出によって、デプロイを簡素化できるアプリケーション。
- 速度と精度のバランス: さまざまなモデルスケールで、推論速度と検出精度の優れたバランスが必要なプロジェクト。
- レイテンシーが安定している必要のあるアプリケーション: ロボティクスや自律システムなど、予測可能な推論時間が重要なデプロイシナリオ。
EfficientDetを選ぶタイミング#
EfficientDetは次のような用途に推奨されます。
- Google CloudとTPUパイプライン: EfficientDetがネイティブに最適化されている、Google Cloud Vision APIやTPUインフラと緊密に統合されたシステム。
- 複合スケーリングの研究: ネットワークの深さ、幅、解像度をバランスよくスケーリングする効果の研究に焦点を当てた学術的なベンチマーク。
- LiteRTによるモバイルデプロイ: Androidまたは組み込みLinuxデバイス向けに、LiteRT(旧称TensorFlow Lite)形式へのエクスポートが特に必要なプロジェクト。
Ultralytics (YOLO26)を選ぶ場合#
多くの新規プロジェクトにおいて、Ultralytics YOLO26はパフォーマンスと開発者体験を最適なバランスで提供します。
- NMSを使用しないエッジデプロイ: 非最大抑制の後処理を複雑化させずに、安定した低レイテンシー推論を必要とするアプリケーション。
- CPUのみの環境: 専用のGPUアクセラレーションを備えていないデバイスで、YOLO26の最大43%高速なCPU推論が大きな優位性を発揮します。
- 小物体検出: ドローンによる航空画像やIoTセンサーの分析など、ProgLossとSTALによって小さな物体の精度が大幅に向上する難しいシナリオ。
現代の標準:Ultralytics YOLO26の登場#
YOLOv10が画期的なNMSフリーパラダイムを導入し、EfficientDetが合理的なスケーリングを示した一方で、コンピュータービジョンの分野は進化を続けています。現在、新しいプロジェクトを始める開発者にとって、Ultralytics YOLO26は疑いようのない最先端モデルです。2026年1月にリリースされ、あらゆる利点を統合した洗練された本番環境対応パッケージとして、Ultralytics Platformで提供されています。
YOLO26が競合モデルを上回る理由#
- エンドツーエンドのNMSフリー設計: YOLO26では、YOLOv10が先駆けたエンドツーエンドのNMSフリー設計を、オプションのone-to-oneヘッド(
nms=False)として利用できます。これにより、デプロイが簡素化され、推論も高速化します。 - 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
# 事前学習済みYOLOv10モデルを読み込む(またはYOLO26にネイティブにアップグレードする)
model = YOLO("yolov10n.pt")
# カスタムデータセットでモデルを効率的にトレーニングします
model.train(data="coco8.yaml", epochs=50, imgsz=640)
# 推論を実行し、結果をすぐに可視化する
results = model("https://ultralytics.com/images/bus.jpg")
results[0].show()
# 迅速なデプロイに向けてエクスポートする
model.export(format="engine", quantize=16)結論#
YOLOv10とEfficientDetを比較する場合、どちらを選ぶかは、使用するフレームワークの好みや速度の制約に大きく左右されます。EfficientDetは、TensorFlowエコシステム内でモデルを体系的にスケーリングする方法を提供します。一方、YOLOv10はNMS不要のアーキテクチャにより、優れたリアルタイム性能、低いメモリ使用量、よりシンプルなデプロイ手順を実現します。
性能、使いやすさ、マルチタスクの柔軟性を最適なバランスで実現するには、Ultralytics Platformにアップグレードし、YOLO26を活用することを強くおすすめします。YOLOv10のNMS不要の革新技術を取り入れ、MuSGDオプティマイザーのような最先端のトレーニング手法を適用し、世界中の大規模なコミュニティに支えられた堅牢なオープンソースフレームワークに統合しています。