YOLOv10 EfficientDetの比較:技術的な比較
物体検出の状況はここ数年で急速に進化し、複雑な多段パイプラインから合理化されたリアルタイムアーキテクチャへと移行している。この比較では YOLOv10と、Google 2019年に発表した先駆的なアーキテクチャであるEfficientDetとの技術的な違いを探る。
EfficientDetがその時代にパラメータ効率のベンチマークを設定したのに対し、YOLOv10 レイテンシと精度の境界を押し広げ、推論速度を大幅に向上させるNMSトレーニングパラダイムを導入しています。このガイドでは、コンピュータビジョンプロジェクトに適したモデルを選択するために、それぞれのアーキテクチャ、パフォーマンス指標、理想的なユースケースを分析します。
YOLOv10: リアルタイムのエンド・ツー・エンド物体検出
YOLOv10 、YOLO (You Only Look Once)シリーズの大きな飛躍であり、推論速度のボトルネックとなりがちな非最大抑制NMS)後処理ステップの排除に焦点を当てている。NMSトレーニングのために一貫したデュアル割り当てを採用することで、以前の反復と比較して、より低いレイテンシで競争力のあるパフォーマンスを達成しています。
技術詳細:
- 著者: Ao Wang, Hui Chen, Lihao Liu, et al.
- 組織清華大学
- Date: 2024-05-23
- Arxiv:YOLOv10: リアルタイムエンド・トゥ・エンドオブジェクトdetect
- GitHubTHU-MIG/yolov10
主な建築上の特徴
YOLOv10 、全体的な効率と精度を重視したモデル設計を導入している。核となる革新的な点は、二重の割り当て戦略にある。トレーニング中、モデルは、豊富な監視のための1対多の割り当て(YOLOv8一般的)と、NMSなしでエンド・ツー・エンドの展開を確実にするための1対1の割り当ての両方を使用する。
- NMSトレーニング:従来のディテクターは、重複するバウンディングボックスをフィルタリングするためにNMS 必要とし、推論の待ち時間を発生させていました。YOLOv10アーキテクチャは、推論中にモデルがオブジェクトごとに正確に1つのボックスを予測することを可能にし、このオーバーヘッドを効果的に取り除きます。
- 効率重視の設計:このモデルは、軽量分類ヘッドと空間チャンネル非連結ダウンサンプリングを利用して、計算コスト(FLOPs)とパラメータ数を削減します。
- ラージカーネル畳み込み:大カーネル深度変換を選択的に使用することで、YOLOv10 、計算量を大幅に増やすことなく、受容野と小さな物体をdetect する能力を向上させている。
なぜNMS重要なのか
非最大抑制NMS除去することで、真にエンドツーエンドのパイプラインが実現します。これは、NVIDIA Jetsonデバイスのようにミリ秒単位が重要なエッジAIアプリケーションにとって非常に重要であり、安定した予測可能なレイテンシーを確保します。
長所
- 優れたスピード: リアルタイム推論に最適化され、GPU ハードウェア上で旧モデルを大幅に凌駕。
- Ultralytics 統合: Ultralytics エコシステムの一部として、YOLOv10 シンプルなPython APIの恩恵を受けています。
- メモリ使用量の低減:効率的なアーキテクチャは、以下のようなトランスフォーマーベースの検出器と比較して、トレーニング時に必要なCUDA メモリが少なくて済みます。 RT-DETR.
EfficientDet:スケーラブルで効率的なアーキテクチャ
Google Brainチームによって開発されたEfficientDetは、精度と効率の両方を最適化するように設計された。EfficientDetは、解像度、深度、幅を一様に調整する複合スケーリング法を用いてスケーリングされたモデル群(D0~D7)を導入した。
技術詳細:
- 著者: Mingxing Tan、Ruoming Pang、Quoc V. Le
- 組織Google
- Date: 2019-11-20
- Arxiv:EfficientDet: スケーラブルで効率的な物体detect
- GitHubgoogle
主な建築上の特徴
EfficientDetは、EfficientNetのバックボーン上に構築され、BiFPN(双方向特徴ピラミッドネットワーク)を導入しています。
- BiFPN:標準的なFPNとは異なり、BiFPNは双方向の情報フローを可能にし、学習可能な重みを用いて異なるスケールの特徴を融合する。その結果、より少ないパラメータでより優れたマルチスケール特徴表現が可能になる。
- 複合スケーリング:この手法により、バックボーン、特徴ネットワーク、ボックス/クラス予測ネットワークが効率的にスケールアップします。D0モデルはモバイル向けに小さく高速であり、D7モデルは高リソース環境向けに最先端の精度を押し上げます。
長所と短所
- パラメータ効率:EfficientDetは高い mAPを達成することで知られています。
- スケーラビリティ:D0-D7レンジは、さまざまな計算予算に柔軟に対応します。
- 高いレイテンシ:FLOP数が少ないにもかかわらず、BiFPNの複雑な接続と深さ方向に分離可能な畳み込みは、YOLO モデルの合理化されたCNNアーキテクチャと比較して、GPUでのレイテンシが高くなる可能性があります。
- 複雑さ:Ultralticsのシンプルな設計に比べ、アーキテクチャのカスタマイズやチューニングが難しい。 Ultralytics YOLOv8やYOLOv10比べ、カスタマイズやチューニングが難しい。
パフォーマンス分析:スピード対効率
これら2つのモデルを比較すると、理論的な効率(FLOPs)と実用的な速度(Latency)の違いが明確になる。EfficientDetはFLOPsを最小化することに優れていますが、GPUのような最新のハードウェア上での実際の推論速度ではYOLOv10 優勢です。
下の表は、EfficientDetモデルがコンパクトである一方で、YOLOv10 リアルタイム・アプリケーションに対してはるかに優れたトレードオフを提供していることを示しています。例えば、YOLOv10、T4GPU上で、わずか2.66msのレイテンシで46.7%のmAP 実現しますが、EfficientDet-d3(47.5%のmAP)は19.59msと7倍近く遅くなります。
| モデル | サイズ (ピクセル) | mAP値 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | params (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 |
解釈
- GPU 優位性: YOLOv10 、GPU アーキテクチャにうまく対応するハードウェアを意識した設計を採用しているため、スループットが大幅に向上しています。
- 精度のパリティ: より新しいトレーニング戦略により、YOLOv10は、はるかに低速なEfficientDetバリアントの精度と同等か、それ以上になります。
- 展開: YOLOv10 NMS性質は、以下のようなフォーマットへのエクスポートプロセスを簡素化する。 TensorRTやONNXようなフォーマットへのエクスポートプロセスを簡素化し、デプロイパイプラインの複雑さを軽減します。
使いやすさとエコシステム
開発者にとって最も重要な要素の一つは、モデルを取り巻くエコシステムである。ここで、Ultralytics 大きなアドバンテージを提供します。
Ultralytics 優位性
YOLOv10 Ultralytics Python パッケージに統合されており、データのアノテーションからデプロイまでシームレスな体験を提供します。
- シンプルなAPI:わずか数行のコードでロード、トレーニング、予測が可能。
- メンテナンスが行き届いています:頻繁なアップデート、コミュニティによるサポート、豊富なドキュメントにより、不明瞭なエラーをデバッグし続ける必要はありません。
- トレーニング効率: Ultralytics モデルは高速に収束するように最適化されています。事前に訓練された重みがすぐに利用できるため、カスタムデータセットでの効果的な転移学習が可能です。
Ultralytics YOLOv10 鍛える
COCO8 データセットに対するYOLOv10 モデルのトレーニングは、Ultralytics APIを使って簡単に行うことができます。
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
対照的に、EfficientDetは古いTensorFlow リポジトリやサードパーティのPyTorch 実装に依存しており、統一されたサポートがない可能性があるため、最新のMLOpsパイプラインへの統合が難しくなっている。
理想的なユースケース
YOLOv10 EfficientDetのどちらを選ぶかは、あなたの特定の制約による。
YOLOv10選ぶとき
YOLOv10 、特に最新のコンピュータ・ビジョン・アプリケーションに最適です:
- 自律システム:自動運転車やドローンは、安全のために低遅延の検知を必要とします。YOLOv10スピードは、迅速な反応時間を保証します。
- ビデオ解析: セキュリティ監視や交通監視のための高FPSビデオストリームを処理します。
- エッジ・デプロイメント:Raspberry PiやNVIDIA Jetsonのような、リソースは限られているがリアルタイムのパフォーマンスは譲れない組み込みデバイスへの展開。
EfficientDetを選ぶとき
EfficientDetは、特定のニッチなシナリオにおいて、依然として適切である:
- 学術研究: 複合的なスケーリング則や効率的なニューラルネットワークの設計原則を研究することを目的とする場合に適しています。
- 厳しいFLOPs制約:極めて特殊なハードウェア環境において、レイテンシやメモリ帯域幅よりも理論上のFLOPがハードボトルネックとなる場合。
結論
EfficientDetは効率的なモデル設計の画期的な出来事だった、 YOLOv10は、高性能物体検出の新たな標準となる。その革新的なNMSアーキテクチャは、精度を損なうことなく推論速度に決定的な優位性をもたらし、実世界での展開においてはるかに実用的なものとなっている。
さらに、堅牢なUltralytics エコシステムにより、YOLOv10 作業が効率的で開発者に優しいものとなります。簡単なエクスポートオプションから データセット管理に関する包括的なガイドまで、Ultralytics あなたのビジョンAIプロジェクトをより早く実現するための力を与えます。
最新の汎用性とパフォーマンスをお求めの方には、以下の製品もお勧めします。 Ultralytics YOLO11は、このような進化をベースに、検出、セグメンテーション、ポーズ推定タスクにわたって最先端の機能を提供しています。