EfficientDetとRTDETRv2の比較:物体検出の技術比較
物体検出の状況は大きく進化しており、従来の畳み込みニューラルネットワーク(CNN)から最新のトランスフォーマーベースのアーキテクチャへと移行している。この進化における2つの注目すべきマイルストーンは、GoogleスケーラブルなCNNアーキテクチャであるEfficientDetと、Baiduのリアルタイム検出トランスフォーマであるRTDETRv2である。
本ガイドでは、この2つのモデルを技術的に詳細に比較し、アーキテクチャの革新性、パフォーマンス指標、理想的な導入シナリオを分析します。また Ultralytics YOLO11がどのように強力な代替手段として機能し、多様なコンピュータビジョンアプリケーションのための統一されたエコシステムを提供するかについても説明します。
モデル概要
建築的なニュアンスに飛び込む前に、各モデルの起源と主な目標を理解することが不可欠である。
EfficientDetの詳細:
著者Mingxing Tan、Ruoming Pang、Quoc V. Le
組織Google
日付: 2019-11-20
Arxiv:https://arxiv.org/abs/1911.09070
GitHub:https:google
ドキュメント:google
RTDETRv2の詳細:
著者Wenyu Lv、Yian Zhao、Qinyao Chang、Kui Huang、Guanzhong Wang、Yi Liu
所属団体百度
日付: 2023-04-17
Arxiv:https://arxiv.org/abs/2304.08069
GitHub:https:RT-DETR
ドキュメント: https:RT-DETR
建築分析
EfficientDetとRTDETRv2の違いの核心は、特徴抽出とバウンディングボックス予測に対する基本的なアプローチにある。
EfficientDet:複合スケーリングによる効率化
EfficientDetは、より良い精度を達成するためにモデルを単純に大きくするという傾向を打破するために設計されました。EfficientNetのバックボーンを利用し、重み付けされた双方向特徴ピラミッドネットワーク(BiFPN)を導入しています。
- BiFPN:従来のFPNとは異なり、BiFPNは学習可能な重みを導入することで、簡単にマルチスケール特徴量の融合を可能にする。これにより、ネットワークは異なる入力特徴の重要性を学習することができる。
- 複合スケーリング:EfficientDetは、単一の複合係数を使用して、ネットワークの解像度、深さ、幅を同時にスケーリングします。これにより、モデル(バリアントD0からD7)は、リソースの制約の広い範囲にわたって効率的であり続けることが保証されます。
RTDETRv2:リアルタイム検出トランスフォーマー
RTDETRv2は、DETR(Detection Transformer)の成功に基づき、その高い計算コストと遅い収束に対処している。これは、グローバルコンテキストをモデル化するために自己注意メカニズムを活用するアンカーフリーのモデルである。
- ハイブリッド・エンコーダ:スケール内相互作用とクロススケール・フュージョンを切り離すことでマルチスケール特徴を処理し、標準的なトランスフォーマーと比較して推論速度を大幅に向上させる。
- IoUクエリ選択:このメカニズムは、高品質の初期オブジェクトクエリを選択することで、トレーニングの収束を早め、検出精度を向上させる。
- 動的な柔軟性:RTDETRv2では、再トレーニングの必要なく、デコーダーのレイヤー数を変化させることで推論速度を調整することができ、リアルタイム推論に独自の柔軟性を提供します。
トランスフォーマーとCNNのメモリ使用量の比較
RTDETRv2のようなTransformerは、グローバルな文脈を捉えることに優れているが、注意メカニズムの2次関数的な複雑さのため、EfficientDetやYOLO ようなCNNベースのアーキテクチャと比較すると、一般的に学習時にかなり多くのCUDA メモリを必要とする。
パフォーマンス指標
展開するモデルを選択する際、開発者は精度mAP)、速度(レイテンシ)、モデルサイズ(パラメータ)のトレードオフを考慮する必要があります。下の表は、RTDETRv2に対するEfficientDetの性能を比較したものです。
| モデル | サイズ (ピクセル) | mAP値 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | params (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 |
| RTDETRv2-s | 640 | 48.1 | - | 5.03 | 20 | 60 |
| RTDETRv2-m | 640 | 51.9 | - | 7.51 | 36 | 100 |
| RTDETRv2-l | 640 | 53.4 | - | 9.76 | 42 | 136 |
| RTDETRv2-x | 640 | 54.3 | - | 15.03 | 76 | 259 |
分析する:
- 正確さ: RTDETRv2は一般に、より高いmAP達成する。val のスコアは、GPU上で同程度のレイテンシーを持つEfficientDetモデルと比較している。例えば
RTDETRv2-x上回るEfficientDet-d7TensorRT大幅に高速化されながら、精度が向上した。 - スピード:EfficientDetはFLOPsに最適化されており、CPU パフ ォーマンスとよく相関していますが、GPU レイテンシとは 必ずしも相関していません。RTDETRv2 は、GPU 使用率を最大化するよう特別に設計されているため、高性能なサーバーサイド・アプリケーションに最適です。
- パラメータ効率:EfficientDet-d0は極めて軽量(3.9Mパラメータ)であるため、最新のアクセラレータが利用できない超低消費電力のレガシー・デバイスにとって有力な候補となる。
Ultralyticsの利点:優れた代替手段
EfficientDetとRTDETRv2は強力なモデルですが、性能、使いやすさ、多用途性のバランスが取れた総合的なソリューションを求める開発者は、以下を検討すべきです。 Ultralytics YOLOシリーズを検討すべきである。最新の YOLO11のようなモデルは、研究用から生産用まで、幅広い用途に対応する魅力的な選択肢です。
Ultralytics YOLO11を選ぶ理由
- 使いやすさ: Ultralytics モデルは、その合理的なユーザーエクスペリエンスで有名です。シンプルなPython APIにより、ユーザーはわずか数行のコードでモデルのトレーニング、検証、デプロイを行うことができます。これは、EfficientDetの複雑な設定ファイルやRTDETRのメモリ集約的な学習ループとは対照的です。
- 汎用性:多くの競合他社が単一タスクにフォーカスしているのとは異なり、YOLO11 、単一のフレームワーク内で、物体検出、インスタンス分割、分類、姿勢推定、および指向性物体検出(OBB)をサポートしています。
- 整備されたエコシステム: Ultralytics 、データセット管理とモデルトレーニングのためのUltralytics HUBを含む堅牢なエコシステムと、広範なドキュメントとコミュニティサポートを提供します。
- パフォーマンスバランス: Ultralytics モデルは、速度と精度の優れたトレードオフを提供するように綿密に設計されています。メモリ効率に優れた設計になっているため、Transformerモデルでは困難な標準的なコンシューマー向けGPUでのトレーニングが可能です。
コード例YOLO11使い始める
以下の例では、Ultralytics YOLO11推論を実行するのがいかに簡単かを示しており、旧来のフレームワークと比べてAPIがシンプルであることを示している。
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt") # 'n' for nano, or try 's', 'm', 'l', 'x'
# Run inference on an image
results = model("path/to/image.jpg")
# Display the results
results[0].show()
理想的なユースケース
適切なモデルの選択は、特定のハードウェアの制約とプロジェクトの要件に大きく依存します。
EfficientDetの使用時期
- レガシーエッジデバイス:古いCPUや、深さ方向に分離可能な畳み込みが唯一の効率的な処理であるハードウェアに導入する場合。
- パラメータの制約: モデルファイルの絶対記憶容量が主なボトルネックとなるアプリケーションの場合(例.
EfficientDet-d0is < 4MB).
RTDETRv2の使用時期
- ハイエンドGPU 導入:強力なNVIDIA GPU(T4、A100など)を利用でき、TensorRT 最適化を活用できる場合。
- 複雑なシーンの理解:混雑したシーンやオクルージドシーンでのオブジェクト検出など、Transformersのグローバルコンテキスト機能を必要とするシナリオ向け。
Ultralytics YOLO11使用時期
- 迅速な開発: Google Colabのような標準的なツールやローカル環境を使用して、データセットからデプロイされたモデルまで素早く開発する必要がある場合。
- リアルタイムエッジAI: YOLO11 、NVIDIA JetsonやRaspberry Piのようなエッジデバイス向けに高度に最適化されており、優れたFPSmAP MAPトレードオフを提供します。
- マルチタスク要件:プロジェクトでバウンディングボックスに加えてセグメンテーションマスクやポーズキーポイントが必要な場合。
- リソース効率:トレーニングリソースが限られている場合(VRAMが限られているなど)、YOLO モデルはTransformerベースの代替モデルよりもトレーニング効率が大幅に向上します。
結論
EfficientDetとRTDETRv2は、どちらもコンピュータビジョンにおける重要な功績である。EfficientDetはスケーリングによって効率の限界を押し広げ、RTDETRv2はTransformerがリアルタイムアプリケーションに十分な速度を出せることを証明した。
しかし、大多数の開発者や企業にとって、Ultralytics YOLO モデルは最も実用的なソリューションです。 Ultralytics 、最先端のパフォーマンスと比類のない開発者体験、豊富なエコシステムを組み合わせることで、堅牢なAIソリューションをより迅速かつ確実に構築することを可能にします。