EfficientDet vs YOLOv10#
急速に進化するコンピュータビジョン分野では、精度、レイテンシ、計算効率のバランスを取るうえで、適切な物体検出アーキテクチャを選択することが重要です。この包括的な技術ガイドでは、GoogleのEfficientDetと清華大学のYOLOv10という、非常に大きな影響力を持つ2つのモデルを比較します。どちらのモデルも物体検出における大きな飛躍を示していますが、アーキテクチャ設計とモデル最適化には大きく異なるアプローチを取っています。
両モデルのコアアーキテクチャを詳しく見て、COCOなどの標準データセットにおける性能ベンチマークを確認し、最新の機械学習パイプラインにどのように統合できるかを説明します。特に、包括的なUltralyticsエコシステムの利点に焦点を当てます。
EfficientDet:複合スケーリングの先駆者#
2019年後半に発表されたEfficientDetは、ネットワークの各次元をスケーリングする体系的なアプローチを導入し、スケーラブルで高精度な物体検出の新たな基準を確立しました。
主な革新とアーキテクチャ#
- 著者: Mingxing Tan、Ruoming Pang、Quoc V. Le
- 組織: Google Brain
- 日付: 2019-11-20
- Arxiv: https://arxiv.org/abs/1911.09070
- GitHub: EfficientDetリポジトリ
EfficientDetはEfficientNetバックボーンを基盤とし、新しい双方向特徴ピラミッドネットワーク(BiFPN)を活用しています。重要度を区別せずに特徴を加算する従来の特徴ピラミッドネットワーク(FPN)とは異なり、BiFPNは学習可能な重みを用いてマルチスケールの特徴を融合します。これにより、最終的な予測にどの解像度の特徴が最も寄与するかをネットワークが効果的に学習できます。さらに、EfficientDetは複合スケーリング手法を使用し、バックボーン、特徴ネットワーク、ボックスおよびクラス予測ネットワークの解像度、深さ、幅を同時に一様にスケーリングします。
EfficientDetは、古いTensorFlowパイプラインに深く統合されたレガシーシステムには依然として有力な選択肢ですが、トレーニング時にかなりのメモリ要件があり、最新の動的なフレームワークと比べて扱いにくい旧来のエコシステムに依存しています。
YOLOv10:NMSフリーの革新者#
2024年半ばにリリースされたYOLOv10は、後処理における非最大抑制(NMS)の必要性を排除することで、リアルタイム物体検出のパラダイムを根本的に変革し、推論レイテンシを大幅に削減しました。
主な革新とアーキテクチャ#
- 著者: Ao Wang、Hui Chen、Lihao Liu、ほか
- 組織: 清華大学
- 日付: 2024-05-23
- Arxiv: https://arxiv.org/abs/2405.14458
- GitHub: YOLOv10リポジトリ
YOLOv10は、NMSフリーのトレーニングに向けた一貫性のあるデュアルアサインメント戦略を導入しています。トレーニング中にone-to-manyとone-to-oneの両方のラベル割り当てを使用することで、ネットワークは重複を除去するためにNMSへ依存せず、一意に対応するバウンディングボックスを生成するよう学習します。この効率と精度を包括的に追求したモデル設計により、計算の冗長性が低減され、エッジコンピューティングや低レイテンシの動画ストリーミングアプリケーションに最適な候補となっています。さらに、Ultralyticsエコシステムにシームレスに統合され、開発者は非常に使いやすいPython APIを利用できます。
NMSステップを削除することで、YOLOv10はシーン内で検出される物体数にかかわらず一貫した推論速度を実現し、混雑したコンピュータビジョンアプリケーションで頻繁に見られるレイテンシの急増を解消します。
性能比較:精度、速度、効率#
実世界のシナリオでモデルをデプロイする際、開発者は平均適合率(mAP)とパラメータ数および計算処理量(FLOPs)を比較検討する必要があります。以下の表では、両モデルの各スケーリングバリアントについて、これらの指標を詳しく示します。
| モデル | サイズ (ピクセル) | 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 |
| 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 |
注:YOLOv10nバリアントは、初期のEfficientDetの各バージョンと比較して、必要なパラメータ数が大幅に少なく(2.3M)、TensorRTで圧倒的に優れた速度(1.56ms)を達成するため、本番環境でのリアルタイム推論においてはるかに実用的です。
モデルのデプロイにUltralyticsを選ぶ理由#
どちらのモデルも歴史的・構造的に重要ですが、最新のパイプラインに統合することは容易ではありません。ここでUltralytics Platformが力を発揮します。統合されたエコシステムを提供することで、Ultralyticsはデータアノテーションからデプロイまで、ライフサイクル全体を簡素化します。
- 使いやすさ: Ultralytics Pythonパッケージは、モデルのトレーニング、検証、エクスポートのための単一インターフェースを提供し、数百行に及ぶボイラープレートコードを簡潔なコマンドに置き換えます。
- エコシステムと汎用性: EfficientDetが検出に特化しているのに対し、Ultralytics YOLOモデルはインスタンスセグメンテーション、姿勢推定、指向付きバウンディングボックス(OBB)、分類へと自然に拡張できます。
- トレーニング効率: オートバッチングや分散トレーニングなどの最先端技術を活用することで、Ultralyticsモデルは、大規模なTransformerアーキテクチャや旧式のマルチブランチTFアーキテクチャよりも高速にトレーニングでき、CUDAメモリの消費量も大幅に少なくなります。
コード例:YOLOv10のトレーニング#
Ultralyticsを使用したYOLOv10のデプロイは非常に簡単です。次のコードスニペットでは、Python API内だけでYOLOv10ネットワークを初期化、トレーニング、評価する方法を示します。
from ultralytics import YOLO
# Load a pre-trained YOLOv10 model (nano variant for edge speed)
model = YOLO("yolov10n.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, batch=16)
# Evaluate the model on the validation set
metrics = model.val()
# Export the model to ONNX for production deployment
model.export(format="onnx")ユースケースと推奨事項#
EfficientDetとYOLOv10のどちらを選ぶかは、具体的なプロジェクト要件、デプロイの制約、エコシステムに関する好みによって決まります。
EfficientDetを選ぶ場合#
EfficientDetが適しているケース:
- Google CloudとTPUパイプライン: Google Cloud Vision APIまたはTPUインフラストラクチャーと密接に統合されたシステムで、EfficientDetがネイティブ最適化を利用できる場合。
- 複合スケーリングの研究: ネットワークの深さ、幅、解像度をバランスよくスケーリングする効果の研究に焦点を当てた学術的ベンチマーク。
- TFLiteによるモバイルデプロイ: Androidまたは組み込みLinuxデバイス向けに、TensorFlow Lite形式でのエクスポートが特に必要なプロジェクト。
YOLOv10を選択する場合#
YOLOv10は次の用途に推奨されます。
- NMSフリーのリアルタイム検出: Non-Maximum Suppressionを使用しないエンドツーエンド検出のメリットを活かし、デプロイの複雑さを軽減できるアプリケーション。
- 速度と精度のバランスの取れたトレードオフ: さまざまなモデルスケールで、推論速度と検出精度の優れたバランスが求められるプロジェクト。
- レイテンシが一貫したアプリケーション: ロボティクスや自律システムなど、予測可能な推論時間が重要なデプロイシナリオ。
Ultralytics (YOLO26)を選ぶタイミング#
ほとんどの新規プロジェクトでは、Ultralytics YOLO26が性能と開発者エクスペリエンスの最適な組み合わせを提供します。
- NMSフリーのエッジデプロイ: Non-Maximum Suppressionの後処理を複雑にすることなく、一貫した低レイテンシー推論が必要なアプリケーション。
- CPUのみの環境: 専用GPUアクセラレーションを持たないデバイスで、YOLO26の最大43%高速なCPU推論が決定的な優位性となる場合。
- 小さな物体の検出: aerial drone imageryやIoTセンサー分析など、ProgLossとSTALによって微小物体の精度が大幅に向上する難しいシナリオ。
未来はここに:Ultralytics YOLO26の登場#
YOLOv10が革新的なNMSフリー設計を導入して以来、技術は進化を続けています。2026年1月にリリースされたUltralytics YOLO26は、ビジョンAIにおける決定的な最先端技術です。以前のアーキテクチャが持つ最良の要素、たとえばYOLO11のマルチタスク機能やRT-DETRの安定性を、単一の高度に最適化された強力なモデルに統合しています。
新しいプロジェクトを始める場合は、YOLO26へのアップグレードを強くお勧めします。Ultralytics Platformを通じて、他に類を見ない柔軟性と使いやすさを提供します。
YOLO26の主なブレークスルー:
- エンドツーエンドのNMSフリー設計: YOLOv10が築いた基盤をもとに、YOLO26はネイティブにエンドツーエンド化されており、デプロイロジックを必要最小限まで簡素化します。
- CPU推論が最大43%高速化: Distribution Focal Loss(DFL)を削除することで、YOLO26は計算オーバーヘッドを大幅に削減し、エッジAIデバイスにおいて他の追随を許さない性能を実現します。
- MuSGDオプティマイザー: YOLO26は大規模言語モデル(LLM)トレーニングの革新を取り入れています。SGDの安定性とMuonの速度を融合することで、従来のどのモデルよりも高速かつ確実に収束します。
- ProgLoss + STAL: より優れた損失定式化により、EfficientDetが従来苦手としていた分野である小物体検出の長年の課題を効果的に解決します。
結論:用途に適したモデルの選択#
最終的に、これらのネットワークのどちらを選ぶかは、デプロイの制約によって決まります。
- EfficientDetは、複合スケーリングに関する学術的な関心の対象であり続けています。また、実行速度よりもモデルの重みサイズ(ディスク上)が重要な、既存のTensorFlowシステムを維持する研究者にも適しています。
- YOLOv10は、先駆的なNMSフリーアーキテクチャにより、高速なマルチオブジェクトトラッキングや交通監視など、超低レイテンシが求められるアプリケーションに非常に適しています。
- 一方、YOLO26は最新のコンピュータビジョンプロジェクトに最適な推奨モデルであり、堅牢なUltralyticsエコシステムに支えられた、精度、最小限のメモリフットプリント、マルチタスクの汎用性において最高水準の性能バランスを提供します。