62 人が閲覧(直近 30 日) AI

RT-DETRとは?読み方・仕組み・YOLOとの違い・ライセンスとv2〜v4の比較

RT-DETRとは?読み方・仕組み・YOLOとの違い・ライセンスとv2〜v4の比較

RT-DETR(Real-Time DEtection TRansformer)は、Baiduの研究チームが2023年4月に論文「DETRs Beat YOLOs on Real-time Object Detection」で発表し、CVPR 2024に採択されたTransformer系のリアルタイム物体検出モデルです。YOLO系が前提にしてきた後処理のNMS(Non-Maximum Suppression)を使わずに、T4 GPUで100 FPSを超える速度とCOCOで53%台のAPを両立させました。公式実装はApache License 2.0で、2026年9月時点ではv2・v3・v4まで派生しています。物体検出の手法全体の中での位置づけは物体検出の仕組みと代表手法の比較で整理しています。本記事では、読み方と仕組み、YOLOとの比較条件、入手経路ごとのライセンス差、バージョンの選び方を一次情報で確認します。

まとめ:RT-DETRの要点と2026年時点の選び方

  • 正体:DETR(DEtection TRansformer)をリアルタイム化した物体検出モデル。論文はarXiv 2304.08069、CVPR 2024採択。公式実装は GitHub の lyuwenyu/RT-DETR。
  • 読み方:公式の指定はありません。アルファベットで「アールティー・ディーイーティーアール」と読むのが無難です。
  • 仕組み:マルチスケール特徴をハイブリッドエンコーダ(AIFI+CCFF)で安く処理し、デコーダに渡す初期クエリを選別してNMSなしで箱を直接出します。デコーダ層数を減らせば再学習なしで速くなります。
  • YOLOとの違い:論文ではNMS込みの速度で比べ、RT-DETR-R50(53.1 AP・108 FPS)がYOLOv8-L(52.9 AP・71 FPS)を上回りました。ただし小物体のAPは同規模のYOLOに届いていません。
  • ライセンス:公式実装とPaddleDetectionはApache 2.0で商用利用できます。Ultralytics経由で使う場合はライブラリがAGPL-3.0です。
  • バージョン:新規採用はv2(PyTorch実装・Transformers対応)か、精度優先ならv4(T4でX 57.0 AP)。v1を選ぶのは既存環境の保守か、YOLOと同じUltralyticsのAPIで扱いたい場合です。

RT-DETRの正式名称・読み方・開発元

RT-DETRは「Real-Time DEtection TRansformer」の略です。DETRの部分は、2020年にFacebook AI Research(現Meta)が発表した物体検出モデル「DEtection TRansformer」を指します。論文と公式リポジトリに読み方の指定はありません。日本語ではアルファベットをそのまま読む「アールティー・ディーイーティーアール」が通じやすく、「デター」のような単語読みも見かけますが、どちらも公式の呼称ではありません。表記も「RTDETR」「RT DETR」「RT-DETR」と揺れますが、指しているものは同じです。

論文の著者はWenyu Lv氏らBaiduの研究者です。実装はBaidu公式のPaddleDetectionと、著者が公開する lyuwenyu/RT-DETR の2系統で提供されています。Hugging Face Transformersには2024年6月22日に追加され、チェックポイントは PekingU/rtdetr_r50vd などの名前で公開されています。

RT-DETRの仕組み:NMSを外すための設計

NMSが推論速度のボトルネックになる理由

YOLO系の検出器は1つの物体に対して重なった候補箱を大量に出し、NMSで重複を消してから結果を確定させます。論文は、このNMSの処理時間が箱の数と2つのしきい値(信頼度とIoU)で変わるため、モデル単体のFPSでは実運用の速度を比べられないと指摘しました。そこでNMS込みの「エンドツーエンド速度」のベンチマークを作り、その条件でYOLOと比較しています。DETR系はそもそも1物体に1つの箱を出すように学習するため、NMSの代わりにスコアのしきい値で低信頼の箱を落とすだけで済みます。

一方、元のDETRはTransformerエンコーダの計算が重く、学習に500エポックを要したうえ、論文の比較表でもDETR-DC5(R50)は43.3 APにとどまるなど、リアルタイムには遠いモデルでした。RT-DETRは、このエンコーダの重さを削ることでNMS不要の利点を実用速度に持ち込んだ点が要点です。

効率的ハイブリッドエンコーダ:AIFIとCCFF(CCFM)の分担

RT-DETRは、CNNバックボーン(ResNetやHGNetv2)の最後の3段(S3・S4・S5)から特徴マップを取り出します。ここでの工夫は、スケール内の処理とスケール間の融合を分けたことです。

  • AIFI(Attention-based Intra-scale Feature Interaction):自己注意を最も解像度の低いS5だけに掛けます。意味情報が濃く、トークン数の少ない層に絞ることで、注意機構の計算量を大きく減らしています。
  • CCFF(CNN-based Cross-scale Feature Fusion):スケール間の融合は畳み込みベースのモジュールで行います。小さい物体の手がかりが残る高解像度側の特徴は、ここで取り込まれます。初期の版の論文やUltralyticsのドキュメントではCCFMと表記されています。

従来のDeformable DETR系は全スケールのトークンをまとめてエンコーダに通していました。RT-DETRはその大半を畳み込みに置き換え、エンコーダを速度の制約内に収めています。

初期クエリの選び方:IoU-awareからuncertainty-minimalへの改称

デコーダには、エンコーダ出力から選んだ上位300個の特徴が初期クエリとして渡されます。分類スコアだけで選ぶと、クラスらしさは高いが位置がずれた特徴が混ざり、精度が落ちます。RT-DETRは、分類と位置の両方の信頼度が高い特徴を選ぶように学習させました。

この手法の名称は論文の版で変わっています。arXivのv1要旨とUltralyticsのドキュメントは「IoU-aware query selection」、最新のv3本文は「uncertainty-minimal query selection」です。分類と位置のずれを「不確かさ」として明示的に最小化する定式化に書き直されたためで、同じ機構を指しています。古い解説と論文を読み比べるときは、名称の違いで別の手法と取り違えないよう注意してください。

デコーダ層数と初期クエリ数による速度調整

デコーダは既定で6層あり、各層に補助予測ヘッドが付いて学習されています。そのため、推論時に途中の層で打ち切っても再学習なしで結果が出ます。Ultralyticsのドキュメントによると、T4 GPU・TensorRT 10.11でRT-DETR-Lを4層に減らすと8.0 ms・52.7 mAPが7.4 ms・52.5 mAPになります。初期クエリを300から100に減らした場合は7.4 ms・51.7 mAPです。

設定(RT-DETR-L・T4・TensorRT 10.11) レイテンシ COCO mAP
既定(デコーダ6層・クエリ300) 8.0 ms 52.7
デコーダ4層(eval_idx=3) 7.4 ms 52.5
クエリ100(num_queries=100) 7.4 ms 51.7

同じ0.6 msの短縮でも、層を削る方が精度の落ち方は小さくなっています。クエリ数は1画像あたりの最大検出数の上限にもなるため、密集した場面を扱うなら層数の方を先に削るのが安全です。

RT-DETRとYOLOの違い:論文の比較条件と2026年の前提

論文のTable 2は、T4 GPU・TensorRT FP16で、YOLO側はNMSを含めた速度を計測しています。論文のTable 2の主要な行に、公式リポジトリが掲載するHGNetv2-L/Xの数値を加えると次のとおりです。

モデル パラメータ COCO AP FPS(T4)
YOLOv8-L 43M 52.9 71
YOLOv8-X 68M 53.9 50
RT-DETR-R50 42M 53.1 108
RT-DETR-R101 76M 54.3 74
RT-DETR-HGNetv2-L 32M 53.0 114
RT-DETR-HGNetv2-X 67M 54.8 74

同じパラメータ規模で比べると、RT-DETR-R50はYOLOv8-Lより0.2ポイント高いAPで、FPSは約1.5倍です。「DETRs Beat YOLOs」という論文タイトルは、NMSを速度に含めるというこの計測条件の上での主張です。

小物体のAP:同規模のYOLOとの精度差

論文は弱点も明記しています。小物体のAP(APS)では、RT-DETR-R50がLクラスで最も高いYOLOv8-Lより0.5ポイント低く、RT-DETR-R101はXクラスで最も高いYOLOv7-Xより0.9ポイント低い結果でした。全体のAPで勝っていても、遠景の人物や基板上の微小部品のように小さな物体が主役のデータでは、YOLO系の方が有利になり得ます。公式リポジトリは2024年10月にスライス推論(画像を分割して推論する方式)を追加しており、小物体が多い用途ではこれを併用するか、候補モデルを自分のデータで比べてから決めてください。

YOLO26のNMSなし推論と既定の検出ヘッド

2023年時点では「NMSが要らない」ことがRT-DETRの明確な差別化点でした。現在は状況が変わっています。UltralyticsのYOLO26は、one-to-oneの検出ヘッドを持ち、nms=Falseを指定するとNMSを通さずに1画像あたり最大300件の結果を直接出力します。ただし既定はNMSを使うone-to-manyヘッドで、精度はこちらの方がわずかに高いとされています。NMSのしきい値調整を運用から外したいという理由だけなら、YOLO系でも選択肢はあります。RT-DETR系を選ぶ根拠は、Apache 2.0で使えることと、デコーダ層数による速度調整の柔軟さに移りつつあります。YOLO系の実装とライセンスの違いはYOLOv9のGitHub実装3種とライセンスでも扱っています。

RT-DETRのバージョン一覧:v1・v2・v3・v4の違い

版 論文公開 主な変更 公式実装
RT-DETR(v1) 2023-04 ハイブリッドエンコーダ・クエリ選択 lyuwenyu/RT-DETR、PaddleDetection
RT-DETRv2 2024-07-24 学習方法の改善・離散サンプリング lyuwenyu/RT-DETR、PaddleDetection
RT-DETRv3 2024-09-13 密な正例による補助学習 clxia12/RT-DETRv3、PaddleDetection
RT-DETRv4 2025-10-29 視覚基盤モデルからの蒸留 RT-DETRs/RT-DETRv4

2026年9月時点で、公式リポジトリのNewsが「最新」として案内しているのはv4です。検索では「rt-detr v5」も見られますが、lyuwenyu/RT-DETR と RT-DETRs 組織の公開物にv5の案内は出ていません。

RT-DETRv2:同じ速度のままAPを底上げ

v2(arXiv 2407.17140)はアーキテクチャを大きく変えず、学習と実装の改良(bag-of-freebies)でAPを上げた版です。変更点は、デフォーマブル注意のサンプリング点数をスケールごとに変えられるようにしたこと、デフォーマブル注意で用いるgrid_sample演算を置き換える離散サンプリング演算を任意で選べるようにしたこと、学習後半で弱めるなどの動的なデータ拡張、モデル規模に応じたハイパーパラメータの調整です。grid_sampleは変換先の推論エンジンによって対応が不完全なことがあり、離散サンプリングはこの配備上の制約を外す目的で入りました。

v2のモデル COCO AP v1同規模との差 FPS(T4)
RT-DETRv2-S(R18) 48.1 +1.6 217
RT-DETRv2-M(R50-m) 51.9 +0.6 145
RT-DETRv2-L(R50) 53.4 +0.3 108
RT-DETRv2-X(R101) 54.3 ±0(AP50は+0.1) 74

FPSはv1と同じで、伸びは小さいモデルほど大きくなっています。v1からの移行で得られるのは主に小型モデルの精度と、配備時の互換性です。

RT-DETRv3:密な教師信号による学習改善

v3(arXiv 2409.08475、WACV 2025採択)は、DETRのハンガリアンマッチング(1物体に1クエリを割り当てる学習)では正例が少なく、YOLOのような密な教師信号に比べて学習が不十分になる点を改善しました。学習時だけCNNの補助ブランチを付けて密な教師信号を与え、さらに自己注意に摂動を加えて複数のクエリ群に正例を割り当てます。補助ブランチは推論時には外すため、推論速度は変わりません。実装はPaddlePaddleが中心で、PaddleDetectionの configs/rtdetrv3 と著者リポジトリ clxia12/RT-DETRv3 で公開されています。PyTorchで使いたい場合は、v3を飛ばしてv2かv4を選ぶ方が手間がかかりません。

RT-DETRv4:DINOv3からの蒸留で推論コストを増やさずに精度向上

v4(arXiv 2510.25257)は、MetaのDINOv3(ViT-B/16)を教師モデルにして、軽量な検出器に視覚基盤モデルの表現を蒸留します。教師は学習時にしか使わないため、推論時の遅延は増えません。2025年11月17日にコードと重みが公開され、2026年6月18日にECCV 2026への採択が告知されました。

v4のモデル COCO AP レイテンシ(T4) FPS(T4)
RT-DETRv4-S 49.8 3.66 ms 273
RT-DETRv4-M 53.7 5.91 ms 169
RT-DETRv4-L 55.4 8.07 ms 124
RT-DETRv4-X 57.0 12.90 ms 78

各公式資料の公表値では、v4-Lはv2-L(53.4 AP・108 FPS)よりAPが2.0ポイント高く、FPSも上回ります。ただし、同一環境で再計測した比較ではないため、採用時はTensorRTの版や入出力処理を揃えて確認してください。独自データで再学習する場合は、DINOv3の重みを別途ダウンロードして設定ファイルに指定する必要があります。

RT-DETRのライセンスと商用利用:入手経路別の条件

「RT-DETRはApache 2.0」とだけ覚えていると、使う経路によっては条件を読み違えます。モデルの考え方は同じでも、配布しているコードや重みごとにライセンスが別だからです。

入手経路 ライセンス 商用利用
lyuwenyu/RT-DETR(v1・v2) Apache-2.0 可
PaddleDetection(v1〜v3) Apache-2.0 可
RT-DETRs/RT-DETRv4 Apache-2.0 可(教師のDINOv3は別ライセンス)
Hugging Face Transformers Apache-2.0 可
Ultralytics(rtdetr-l/x) AGPL-3.0/Enterprise AGPLの条件か有償契約

表は各配布元のLICENSE(lyuwenyu/RT-DETR、RT-DETRv4、Ultralytics)に基づきます。Apache 2.0はソース非公開での製品組み込みを認めています。再配布時にはライセンス文の提供に加え、変更したファイルへの変更表示、該当する権利表示の保持、元の配布物にNOTICEがある場合の帰属表示の引き継ぎなど、第4条の条件を満たす必要があります。対してUltralyticsのパッケージはAGPL-3.0で、モデル自体がRT-DETRでも、改変版に該当するプログラムをネットワーク越しに利用させる場合、第13条により、その利用者に対応するソースを無償で取得する手段を提供する必要があります。組み込み先まで義務が及ぶ範囲は、結合方法と派生物への該当性によって判断します。Ultralytics自身は、プロジェクト全体をAGPL-3.0で公開しない利用には有償のEnterpriseライセンスが必要だと案内しています。

学習済み重みの学習データにも注意が要ります。公式にはCOCOとObjects365で事前学習した重み(例:R50で55.3 AP)もありますが、派生モデルのD-FINEはREADMEで、Objects365を使った重みはデータセットの規約の対象になり得るため、商用利用が許されると決めつけないよう注記しています。同じデータで学習したRT-DETRの重みを製品に使う場合も、Objects365の利用条件を確認しておくのが安全です。v4で再学習する場合は、教師に使うDINOv3の利用条件も合わせて確認してください。

RT-DETRの公式GitHubと使い方

公式リポジトリ lyuwenyu/RT-DETR の構成

公式リポジトリは、PaddlePaddle版とPyTorch版をv1・v2それぞれで持つ4ディレクトリ構成です。

  • rtdetr_paddle/rtdetr_pytorch:v1の実装と重み
  • rtdetrv2_paddle/rtdetrv2_pytorch:v2の実装と重み(新規ならこちら)

2026年8月10日〜9月7日にもDDP学習のハング修正やtorchvision 0.16以降への対応がコミットされており、保守は続いています。v2のPyTorch版READMEには、torch/torchvisionの対応組み合わせとして2.0/0.15、2.1/0.16、2.2/0.17、2.4/0.19が掲載されています。独自データで学習するときは、設定ファイルの num_classes を自分のクラス数に合わせ、remap_mscoco_category を False にします。これを忘れると、クラスIDがCOCOの80クラスに読み替えられて学習が崩れます。アノテーションの設計と品質管理はデータラベリングのラベル設計と一致率で解説しています。

git clone https://github.com/lyuwenyu/RT-DETR.git
cd RT-DETR/rtdetrv2_pytorch
pip install -r requirements.txt

# 4GPUで学習(configは configs/rtdetrv2/ から選ぶ)
CUDA_VISIBLE_DEVICES=0,1,2,3 torchrun --master_port=9909 --nproc_per_node=4 \
  tools/train.py -c path/to/config --use-amp --seed=0

# ONNXへ書き出し、TensorRTエンジンに変換
python tools/export_onnx.py -c path/to/config -r path/to/checkpoint --check
python tools/export_trt.py -i path/to/onnxfile

推論はPyTorch・ONNX Runtime・TensorRT・OpenVINO向けのスクリプトが references/deploy に用意されています。エッジGPUでFP16やINT8に落とす判断はモデル量子化のPTQとQATの違い、Jetsonへの配備はNVIDIA Jetsonの選定基準が参考になります。

Hugging Face Transformersによる推論手順

Transformers経由で試す場合は、PyTorch、Transformers、Pillow、requestsをインストールしたPython環境を用意します。以下は公式ドキュメントに基づく推論例です。v1は RTDetrForObjectDetection、v2は RTDetrV2ForObjectDetection を使います。入力は640×640を前提に学習されており、ImageProcessorが自動でリサイズします。

import requests
import torch
from PIL import Image
from transformers import RTDetrForObjectDetection, RTDetrImageProcessor

url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)

processor = RTDetrImageProcessor.from_pretrained("PekingU/rtdetr_r50vd")
model = RTDetrForObjectDetection.from_pretrained("PekingU/rtdetr_r50vd")

inputs = processor(images=image, return_tensors="pt")
with torch.no_grad():
    outputs = model(**inputs)

# NMSは不要。スコアのしきい値で低信頼の箱を落とすだけ
results = processor.post_process_object_detection(
    outputs, target_sizes=torch.tensor([(image.height, image.width)]), threshold=0.3
)
for score, label, box in zip(results[0]["scores"], results[0]["labels"], results[0]["boxes"]):
    print(model.config.id2label[label.item()], round(score.item(), 2), [round(v, 1) for v in box.tolist()])

公式ドキュメントの同じ画像では、ソファ1件・猫2匹・リモコン2個がスコア0.92〜0.97で検出されます。v2を使う場合はクラス名を RTDetrV2ForObjectDetection、チェックポイントを PekingU/rtdetr_v2_r18vd などに差し替えます。

Ultralyticsによる学習とTensorRT書き出し

YOLOと同じAPIで扱えるのがUltralytics版の利点です。配布されている学習済み重みは rtdetr-l.pt と rtdetr-x.pt の2つだけで、ResNet版はYAMLの構成定義のみ提供されています。

from ultralytics import RTDETR

model = RTDETR("rtdetr-l.pt")
model.train(data="coco8.yaml", epochs=100, imgsz=640, deterministic=False)

# デコーダを4層に打ち切って高速化し、TensorRT(FP16)へ書き出す
head = model.model.model[-1]
head.decoder.eval_idx = 3
model.export(format="engine", device=0, quantize=16)

CUDA上でRT-DETRを学習するときは deterministic=False を指定します。デフォーマブル注意が使う F.grid_sample には決定的な逆伝播が無く、True にしても再現性は得られず学習が遅くなるだけだからです。書き出しの精度指定は、以前の half=True に代わって quantize=16 を使います。

なお、旧来の解説でよく挙がるOpenMMLabのMMDetectionには、RT-DETRの公式設定ファイルがありません。MMDetectionの最新リリースは2024年1月のv3.3.0で止まっているため、これから組むなら上の3経路かPaddleDetectionを選んでください。

RT-DETRを選ぶ場面・選ばない場面と後継モデル

RT-DETR系が向いているのは、NVIDIA GPUとTensorRTで推論する構成で、Apache 2.0のコードを製品に組み込みたい場合です。論文の速度はT4とTensorRT FP16の数値で、別のGPU、CPU、推論エンジンでの優劣は、この計測値からは判断できません。コミュニティが移植したAndroid(LiteRT GPU)版では、RT-DETRv2-SがPixel 8aで1フレーム約615 ms(静止画)と報告されており、スマートフォンでのリアルタイム処理には向きません。CPUやモバイルが主戦場なら、軽量なYOLO系から検討する方が現実的です。

精度をさらに求めるなら、RT-DETRを土台にした後継モデルも候補になります。ただしライセンスは揃っていません。

モデル RT-DETRとの関係 ライセンス 商用利用
RT-DETRv4 公式の最新版 Apache-2.0 可
D-FINE 回帰を分布の精緻化に変更 Apache-2.0 可(Objects365重みは要確認)
DEIMv2 DINOv3を使う学習枠組み DEIMv2 License 別途商用契約が必要
RF-DETR(Roboflow) DINOv2バックボーンの別系統 Apache 2.0(XL以上はPML 1.0) N〜Lは可

特にDEIMv2は、COCOでX 57.8 APと高い精度を示していますが、標準のDEIMv2 Licenseは非商用に限られ、商用利用には開発元との別契約が要ります。追加の商用ライセンス契約を避けたい場合は、RT-DETRv4、D-FINE、RF-DETRのApache 2.0版が候補です。DEIMv2も別途商用契約を取得する選択肢があり、いずれも使用する重みと第三者素材の条件を確認して選びます。

よくある質問

DETRとRT-DETRの違いは何ですか?

DETRは2020年にFacebook AI Researchが発表した、Transformerで物体検出をNMSなしに行う最初期のモデルです。論文の比較表ではDETR-DC5(R50)が43.3 APで、学習に500エポックを要するなど収束の遅さも課題でした。RT-DETRはその枠組みを引き継ぎつつ、エンコーダをハイブリッド構成にしてリアルタイム速度を実現したモデルです。

RT-DETRv5はありますか?

2026年9月時点で、公式リポジトリが最新として案内しているのは2025年に公開されたRT-DETRv4です。v5の論文や実装は公式からは出ていません。

RF-DETRとRT-DETRは同じモデルですか?

別のモデルです。RF-DETRはRoboflowが2025年に公開したDETR系の検出器で、DINOv2をバックボーンに使います。名前は似ていますが、開発元も実装も異なります。

RT-DETRの論文はどこで読めますか?

v1はarXiv 2304.08069「DETRs Beat YOLOs on Real-time Object Detection」、v2は2407.17140、v3は2409.08475、v4は2510.25257で公開されています。v1はCVPR 2024の採択論文です。

RT-DETRはCPUだけで動かせますか?

Transformers版やONNX Runtime版はCPUでも動きます。ただし、本記事のモデル比較表で引用した速度はT4 GPUとTensorRTでの計測値であり、CPUでの速度を示すものではありません。リアルタイム処理が必要ならGPUを前提に設計してください。

関連記事

お気に入りに入れた記事の一覧

この記事は以下の記事からリンクされています

資料請求

今日のトレンド記事 直近 24 時間で、いつもより多く読まれている記事

  1. 2026.10.09 テックブログ IDCFクラウド(IDCフロンティア)不正アクセス・ランサムウェア:影響先・復旧・データは戻るか
  2. 2026.10.09 テックブログ ニッスイのサイバー攻撃で日水物流の入出荷停止|委託先クラウド障害に荷主が備える手順
  3. 2026.10.09 テックブログ 京王電鉄のランサムウェア被害とグループ共通基盤:決済・ポイント・予約が止まった範囲と遮断の初動
  4. 2026.10.09 テックブログ スタディサプリの不正アクセスとメールアドレス3,687件|アカウント列挙を防ぐ実装
  5. 2026.10.08 コラム 雇用保険の適用拡大:2028年10月の週10時間以上への変更と、勤怠・労務システムで直す判定ロジック

RELATED POSTS 関連記事

目次