コンテンツへスキップ

百度のRT-DETR:ビジョントランスフォーマーベースのリアルタイム物体検出器

概要

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



見るんだ: リアルタイム検出トランス (RT-DETR)

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

主な特徴

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

訓練済みモデル

Ultralytics Python APIは、事前に訓練されたPaddlePaddle RT-DETR モデルをさまざまなスケールで提供する:

  • RT-DETR-L:COCOバル2017でAP53.0%、T4で114FPSGPU
  • RT-DETR-X:COCOバル2017のAP54.8%、T4のFPS74GPU

さらに、バイドゥは2024年7月にRTDETRv2をリリースし、オリジナルのアーキテクチャをさらに改良し、性能指標を強化した。

使用例

この例では、単純なRT-DETR トレーニングと推論の例を提供します。これらのモードや他のモードに関する完全なドキュメントはPredict,Train,ValandExportdocs ページを参照してください。

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 大型 rtdetr-l.pt 物体検出
RT-DETR エクストラ・ラージ 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コンピュータビジョンコミュニティのためにこの貴重なリソースを作成し、維持してくれたBaiduとそのチームに感謝したい。Vision Transformersベースのリアルタイム物体検出器、RT-DETR の開発による、この分野への貢献には大いに感謝している。

よくあるご質問

バイドゥの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 モデルをロードし、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 、低精度でより高速な処理が必要な場合でも、低速でより正確な検出が必要な場合でも、特定の要件に合わせて調整することができます。この機能は、計算能力の異なるデバイス間でモデルを展開する場合に特に有用です。

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

はい、RT-DETR モデルはトレーニング、検証、予測、エクスポートを含む様々なUltralytics モードと互換性があります。これらのモードの利用方法については、それぞれのドキュメントをご参照ください:トレーニング検証予測エクスポート。これにより、オブジェクト検出ソリューションの開発と展開のための包括的なワークフローが保証されます。Ultralytics フレームワークは、異なるモデルアーキテクチャ間で一貫したAPIを提供し、RT-DETR モデルでの作業を容易にします。

📅作成:1年前 ✏️更新 5日前

コメント