コンテンツにスキップ

BaiduのRT-DETR:Vision Transformerベースのリアルタイム物体検出器

概要

バイドゥが開発したReal-Time Detection TransformerRT-DETR)は、高精度を維持しながらリアルタイム性能を提供する最先端のエンドツーエンド物体検出器である。DETR(NMS)のアイデアをベースに、convベースのバックボーンと効率的なハイブリッドエンコーダを導入し、リアルタイムの高速化を実現している。RT-DETR 、スケール内相互作用とクロススケールフュージョンを分離することで、マルチスケール特徴を効率的に処理する。このモデルは適応性が高く、再トレーニングなしに異なるデコーダ層を使用して推論速度を柔軟に調整することができる。RT-DETR 、TensorRT備えたCUDA ようなアクセラレーションバックエンド上で優れた性能を発揮し、他の多くのリアルタイム物体検出器を凌駕する。



見る: How to Use Baidu'sRT-DETR for Object Detection | Inference and Benchmarking withUltralytics 🚀

モデルのサンプル画像BaiduのRT-DETRの概要。 RT-DETR モデルのアーキテクチャ図は、エンコーダへの入力としてバックボーンの最後の3つのステージ{S3、S4、S5}を示している。効率的なハイブリッドエンコーダは、イントラスケール特徴相互作用(AIFI)とクロススケール特徴融合モジュール(CCFM)を介して、マルチスケール特徴を画像特徴のシーケンスに変換する。IoUクエリ選択は、デコーダの初期オブジェクトクエリとして固定数の画像特徴を選択するために採用される。最後に、補助予測ヘッドを持つデコーダがオブジェクトクエリを繰り返し最適化し、ボックスと信頼度スコア(ソース)。

主な特徴

  • 効率的なハイブリッドエンコーダ: Baidu の RT-DETR は、スケール内インタラクションとスケール間融合を分離することにより、マルチスケール機能を処理する効率的なハイブリッドエンコーダを使用します。この独自の Vision Transformers ベースの設計により、計算コストが削減され、リアルタイムのオブジェクト検出が可能になります。
  • IoUクエリ選択:BaiduのRT-DETR 、IoUクエリ選択を利用することで、オブジェクトクエリの初期化を改善します。これにより、モデルはシーン内の最も関連性の高いオブジェクトに焦点を当てることができ、検出精度が向上します。
  • 適応可能な推論速度: BaiduのRT-DETRは、再トレーニングを必要とせずに、異なるデコーダレイヤーを使用することで、推論速度の柔軟な調整をサポートします。この適応性により、さまざまなリアルタイム物体検出シナリオでの実用的なアプリケーションが容易になります。
  • NMSフレームワーク:DETRをベースにしたRT-DETR 、非最大抑制の後処理の必要性を排除し、検出パイプラインを簡素化し、効率を向上させる可能性がある。
  • Anchor-Free Detection: anchorフリー検出器として、RT-DETRは検出プロセスを簡素化し、異なるデータセット間での汎化を向上させる可能性があります。

学習済みモデル

Ultralytics Python APIは、さまざまなスケールで事前トレーニングされたPaddlePaddle RT-DETRモデルを提供します。

  • COCO val2017でAP 53.0%、T4GPU114 FPS
  • RT-DETR:COCO バル2017で54.8%のAP 、T4GPU74 FPS

さらに、Baiduは2024年7月にRTDETRv2をリリースしました。これにより、元のアーキテクチャがさらに改善され、パフォーマンス指標が向上しています。

使用例

この例では、簡単なRT-DETRのトレーニングと推論の例を提供します。これらおよびその他のモードに関する完全なドキュメントについては、PredictTrainVal、およびExportのドキュメントページを参照してください。

from ultralytics import RTDETR

# Load a COCO-pretrained RT-DETR-l model
model = RTDETR("rtdetr-l.pt")

# Display model information (optional)
model.info()

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with the RT-DETR-l model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
# Load a COCO-pretrained RT-DETR-l model and train it on the COCO8 example dataset for 100 epochs
yolo train model=rtdetr-l.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained RT-DETR-l model and run inference on the 'bus.jpg' image
yolo predict model=rtdetr-l.pt source=path/to/bus.jpg

サポートされているタスクとモード

この表は、モデルタイプ、特定の事前トレーニング済みの重み、各モデルでサポートされるタスク、および✅の絵文字で示される、サポートされるさまざまなモード(TrainValPredictExport)を示しています。

モデルの種類事前学習済み重みサポートされているタスク推論検証学習エクスポート
RT-DETR Largertdetr-l.pt物体検出
RT-DETR Extra-Largertdetr-x.pt物体検出

理想的なユースケース

RT-DETRは、高い精度とリアルタイム性能の両方が必要なアプリケーションに特に適しています。

引用と謝辞

BaiduのRT-DETRを研究または開発で使用する場合は、元の論文を引用してください。

@misc{lv2023detrs,
      title={DETRs Beat YOLOs on Real-time Object Detection},
      author={Wenyu Lv and Shangliang Xu and Yian Zhao and Guanzhong Wang and Jinman Wei and Cheng Cui and Yuning Du and Qingqing Dang and Yi Liu},
      year={2023},
      eprint={2304.08069},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

RTDETRv2については、2024年の論文を参照してください。

@misc{lv2024rtdetrv2,
      title={RTDETRv2: All-in-One Detection Transformer Beats YOLO and DINO},
      author={Wenyu Lv and Yian Zhao and Qinyao Chang and Kui Huang and Guanzhong Wang and Yi Liu},
      year={2024},
      eprint={2407.17140},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

コンピュータビジョンコミュニティにとって貴重なリソースを作成および管理しているBaiduとPaddlePaddleチームに感謝いたします。Vision Transformersベースのリアルタイム物体検出器であるRT-DETRの開発における彼らの貢献に深く感謝いたします。

よくある質問

Baidu の RT-DETR モデルとは何ですか?また、どのように機能しますか?

BaiduのRT-DETR (Real-Time Detection Transformer)は、Vision Transformerアーキテクチャに基づいて構築された先進的なリアルタイムオブジェクト検出器です。効率的なハイブリッドエンコーダにより、スケール内インタラクションとクロススケールフュージョンを分離することで、マルチスケール特徴を効率的に処理する。IoUクエリ選択を採用することで、このモデルは最も関連性の高いオブジェクトに焦点を当て、検出精度を向上させる。RT-DETR 、再トレーニングなしでデコーダ層を調整することにより、適応可能な推論速度を実現し、様々なリアルタイム物体検出シナリオに適しています。RT-DETR 特徴については、RT-DETR Arxiv論文をご覧ください。

Ultralytics が提供する事前学習済みの RT-DETR モデルを使用するにはどうすればよいですか?

Ultralytics Python APIを活用して、事前にトレーニングされたPaddlePaddle RT-DETR モデルを使用することができます。例えば、COCO val2017で事前に訓練されたRT-DETRモデルをロードし、T4GPU高FPSを達成するには、次の例を利用できます:

from ultralytics import RTDETR

# Load a COCO-pretrained RT-DETR-l model
model = RTDETR("rtdetr-l.pt")

# Display model information (optional)
model.info()

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with the RT-DETR-l model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
# Load a COCO-pretrained RT-DETR-l model and train it on the COCO8 example dataset for 100 epochs
yolo train model=rtdetr-l.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained RT-DETR-l model and run inference on the 'bus.jpg' image
yolo predict model=rtdetr-l.pt source=path/to/bus.jpg

BaiduのRT-DETRを他のリアルタイムオブジェクト検出器よりも選ぶべきなのはなぜですか?

バイドゥのRT-DETR 、効率的なハイブリッド・エンコーダとIoUクエリ選択により、高精度を維持しながら計算コストを大幅に削減することができる。また、再トレーニングを行うことなく、異なるデコーダー層を使用することで推論速度を調整できるユニークな機能は、大きな柔軟性をもたらします。このため、TensorRT備えたCUDA ようなアクセラレーションバックエンドでリアルタイム性能を必要とするアプリケーションに特に有利であり、他の多くのリアルタイム物体検出器を凌駕しています。また、変換器アーキテクチャは、従来のCNNベースの検出器と比較して、より優れたグローバルコンテキストの理解を提供する。

RT-DETRは、さまざまなリアルタイムアプリケーションに対して、適応可能な推論速度をどのようにサポートしますか?

Baidu の RT-DETR は、再トレーニングを必要とせずに異なるデコーダレイヤーを使用することで、推論速度を柔軟に調整できます。この適応性は、さまざまなリアルタイムオブジェクト検出タスクにわたってパフォーマンスを拡張するために重要です。より低い精度ニーズのために高速処理が必要な場合でも、より遅く、より正確な検出が必要な場合でも、RT-DETR は特定の要件に合わせて調整できます。この機能は、さまざまな計算能力を持つデバイス全体にモデルをデプロイする場合に特に役立ちます。

RT-DETRモデルを、トレーニング、検証、エクスポートなど、他のUltralyticsモードで使用できますか?

はい、RT-DETRモデルは、トレーニング、検証、予測、エクスポートなど、さまざまなUltralyticsモードと互換性があります。これらのモードの使用方法の詳細については、それぞれのドキュメント(TrainValPredictExport)を参照してください。これにより、オブジェクト検出ソリューションの開発とデプロイのための包括的なワークフローが保証されます。Ultralyticsフレームワークは、さまざまなモデルアーキテクチャにわたって一貫したAPIを提供し、RT-DETRモデルの操作を容易にします。



📅 2年前に作成✏️ 1か月前に更新
glenn-jocherRizwanMunawarleonnilLaughing-qMatthewNoyce

コメント