コンテンツにスキップ

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

概要

Baiduによって開発されたリアルタイム検出トランスフォーマー(RT-DETR)は、高い精度を維持しながらリアルタイム性能を提供する、最先端のエンドツーエンドの物体検出器です。これはDETR(NMSフリーのフレームワーク)のアイデアに基づいており、同時にconvベースのバックボーンと効率的なハイブリッドエンコーダを導入して、リアルタイムの速度を実現します。RT-DETRは、スケール内インタラクションとスケール間融合を分離することにより、マルチスケール特徴を効率的に処理します。このモデルは適応性が高く、再トレーニングなしで異なるデコーダレイヤーを使用して推論速度を柔軟に調整できます。RT-DETRは、CUDAとTensorRTのような高速化されたバックエンドで優れており、他の多くのリアルタイム物体検出器よりも優れた性能を発揮します。



見る: リアルタイム検出トランスフォーマー(RT-DETR)

モデルのサンプル画像 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は、Non-Maximum Suppressionの後処理を不要にし、検出パイプラインを簡素化し、効率を向上させる可能性があります。
  • Anchor-Free Detection: anchorフリー検出器として、RT-DETRは検出プロセスを簡素化し、異なるデータセット間での汎化を向上させる可能性があります。

学習済みモデル

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

  • RT-DETR-L:COCO val2017で53.0% AP、T4 GPUで114 FPS
  • RT-DETR-X:COCO val2017で54.8% AP、T4 GPUで74 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 Large rtdetr-l.pt 物体検出
RT-DETR Extra-Large rtdetr-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-lモデルをロードし、T4 GPUで高い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を他のリアルタイムオブジェクト検出器よりも選ぶべきなのはなぜですか?

Baidu の RT-DETR は、効率的なハイブリッドエンコーダと IoU 対応のクエリ選択により、高い精度を維持しながら計算コストを大幅に削減できる点で際立っています。再トレーニングなしで異なるデコーダレイヤーを使用して推論速度を調整できる独自の機能により、柔軟性が大幅に向上します。これにより、CUDA と TensorRT のような高速化されたバックエンドでリアルタイムパフォーマンスを必要とするアプリケーションに特に有利になり、他の多くのリアルタイムオブジェクト検出器を凌駕します。トランスフォーマーアーキテクチャは、従来の CNN ベースの検出器と比較して、より優れたグローバルコンテキスト理解を提供します。

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

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

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

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



📅 1年前に作成 ✏️ 4か月前に更新

コメント