RTDETRv2とYOLOv6-3.0#
コンピュータービジョンの分野は絶えず進化しており、物体検出向けのさまざまなアーキテクチャを開発者が選べるようになっています。異なるアプローチを代表する主要モデルが、最先端のビジョンTransformerであるRTDETRv2と、産業用途向けに高度に最適化された畳み込みニューラルネットワーク(CNN)であるYOLOv6-3.0です。
この包括的な技術比較では、それぞれのアーキテクチャ、性能指標、最適なデプロイシナリオを解説します。また、より広範なUltralyticsエコシステムが優れた開発者エクスペリエンスをどのように提供するかを確認し、最終的に次世代の機能を備えたUltralytics YOLO26に注目します。
RTDETRv2:ビジョンTransformerのアプローチ#
Baiduの研究者によって開発されたRTDETRv2は、初代RT-DETRの基盤を発展させ、Transformerベースの物体検出における大きな飛躍を実現しています。
- 著者: Wenyu Lv、Yian Zhao、Qinyao Chang、Kui Huang、Guanzhong Wang、Yi Liu
- 組織: Baidu
- 日付: 2024-07-24
- Arxiv: 2407.17140
- GitHub: lyuwenyu/RT-DETR
- ドキュメント: RTDETRv2 GitHub README
アーキテクチャの主な特徴#
RTDETRv2は、CNN特徴抽出器と強力なTransformerデコーダーを組み合わせたハイブリッドアーキテクチャを採用しています。このモデルの最も際立った特徴は、ネイティブにNMSを必要としない設計です。後処理で非最大抑制 (NMS) をなくすことで、モデルはバウンディングボックスを直接予測します。これによりデプロイが簡素化され、推論レイテンシーが安定します。
RTDETRv2に組み込まれた「Bag-of-Freebies」により、複雑なシーンや重なり合う物体への対応力が高まります。グローバルアテンション機構は、局所的な畳み込みよりも空間的な関係を本質的に適切に捉えられるためです。
Transformerは複雑なシーンの理解に優れていますが、通常、トレーニング時にCNNよりも大幅に多くのCUDAメモリを必要とします。そのため、一般的なコンシューマー向けGPUではバッチサイズが制限され、トレーニング時間全体も長くなる可能性があります。
YOLOv6-3.0:産業用途のスループットを最大化#
MeituanのVision AI部門から生まれたYOLOv6-3.0は、GPUスループットが最重要となる産業用パイプライン向けの次世代検出器として、明確な目的をもって設計されました。
- 著者: Chuyi Li、Lulu Li、Yifei Geng、Hongliang Jiang、Meng Cheng、Bo Zhang、Zaidan Ke、Xiaoming Xu、Xiangxiang Chu
- 組織: Meituan
- 日付: 2023-01-13
- Arxiv: 2301.05586
- GitHub: meituan/YOLOv6
アーキテクチャの重点#
YOLOv6-3.0は、NVIDIA GPUなどのハードウェアアクセラレーターにおけるメモリアクセスコストを最小限に抑えるよう、綿密に設計されたEfficientRepバックボーンを採用しています。ネックアーキテクチャには、異なるスケール間の特徴融合を改善する双方向連結 (BiC) モジュールが組み込まれています。
トレーニングでは、Anchor-Aided Training (AAT) 戦略を採用してアンカーベースの手法の利点を活用しつつ、実行を高速化するため、推論時にはアンカーフリー方式を維持します。T4やA100などのサーバー向けGPUでは優れたスループットを実現しますが、特化したアーキテクチャのため、CPUのみのエッジデバイスにデプロイするとレイテンシーが最適でない場合があります。
パフォーマンス比較#
本番環境向けにモデルを評価する際は、精度 (mAP) と推論速度、計算コスト (FLOPs) のバランスが重要です。以下の表では、これらのモデルを比較しています。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメーター (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv6-3.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6-3.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6-3.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6-3.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
YOLOv6-3.0はTensorRTでの処理速度で優位に立つ一方、RTDETRv2はより高いmAPスコアを記録し、特に大規模なモデルバリアントほど優れたスケーリングを示します。ただし、どちらのモデルも最新の統合フレームワークが備える幅広い汎用性には及びません。YOLOv6-3.0は主に検出に特化しており、インスタンスセグメンテーションや姿勢推定などのタスクを標準でネイティブにサポートしていません。
ユースケースと推奨事項#
RT-DETRとYOLOv6のどちらを選ぶかは、プロジェクト固有の要件、デプロイ上の制約、エコシステムに関する好みによって異なります。
RT-DETRを選ぶケース#
RT-DETRは、次のような用途に適しています。
- Transformerベースの検出研究: NMSを使わないエンドツーエンドの物体検出に向けて、注意機構やTransformerアーキテクチャを検討するプロジェクト。
- レイテンシに柔軟性がある高精度シナリオ: 検出精度を最優先し、推論レイテンシがやや高くても許容できるアプリケーション。
- 大きなオブジェクトの検出: 主に中型から大型のオブジェクトが存在し、Transformerのグローバル注意機構が本質的な優位性をもたらすシーン。
YOLOv6を選ぶ場合#
YOLOv6は、次のような場合に推奨されます。
- 産業用ハードウェアを考慮したデプロイ: モデルのハードウェアを考慮した設計と効率的な再パラメーター化によって、特定のターゲットハードウェア上で最適な性能が得られるシナリオです。
- 高速な1ステージ検出: 制御された環境でのリアルタイム動画処理において、GPU上での生の推論速度を重視するアプリケーションです。
- Meituanエコシステムとの統合: すでにMeituanの技術スタックとデプロイインフラストラクチャを利用しているチームです。
Ultralytics (YOLO26)を選ぶ場合#
多くの新規プロジェクトにおいて、Ultralytics YOLO26はパフォーマンスと開発者体験を最適なバランスで提供します。
- NMSを使用しないエッジデプロイ: 非最大抑制の後処理を複雑化させずに、安定した低レイテンシー推論を必要とするアプリケーション。
- CPUのみの環境: 専用のGPUアクセラレーションを備えていないデバイスで、YOLO26の最大43%高速なCPU推論が大きな優位性を発揮します。
- 小物体検出: ドローンによる航空画像やIoTセンサーの分析など、ProgLossとSTALによって小さな物体の精度が大幅に向上する難しいシナリオ。
Ultralyticsの強み#
適切なモデルの選択では、ベンチマークの数値だけでなく、開発者体験、デプロイの柔軟性、エコシステムのサポートも同様に重要です。Ultralyticsプラットフォームに統合されたモデルを利用することで、静的な研究リポジトリと比べて大きなメリットが得られます。
- 使いやすさ:
ultralyticsPythonパッケージは、シームレスなAPIを提供します。モデルのトレーニング、検証、エクスポートは、わずか数行のコードで実行できます。 - 充実したメンテナンス体制のエコシステム: 独立した学術リポジトリとは異なり、Ultralytics Platformは継続的に更新されています。ONNX、OpenVINO、CoreMLなどのツールとの強力な統合機能を備えています。
- トレーニング効率: Ultralyticsのモデルは通常、RTDETRv2のようなTransformerアーキテクチャと比べて、トレーニング時のVRAM消費量が大幅に少ないため、コンシューマー向けハードウェアでもより大きなバッチサイズを使用できます。
- 汎用性: 対象範囲が限定されたYOLOv6-3.0とは異なり、Ultralyticsのモデルはマルチタスクに対応し、単一の統合フレームワークでセグメンテーション、画像分類、回転バウンディングボックス (OBB)をネイティブにサポートします。
Ultralytics CLIを使えば、トレーニング済みモデルのエッジデプロイ向けエクスポートは、次のコマンドを実行するだけです。yolo export model=yolo11n.pt format=tensorrt
YOLO26登場:究極のソリューション#
RTDETRv2とYOLOv6-3.0にはそれぞれ利点がありますが、この分野は急速に進化しています。新たにコンピュータービジョンプロジェクトを始めるチームには、Ultralyticsが2026年1月にリリースしたYOLO26を強くおすすめします。
YOLO26は、産業用途のCNNと最新のTransformerの強みを取り入れながら、それぞれの弱点を解消しています。
- エンドツーエンドのNMSフリー設計: YOLOv10で初めて導入された画期的な方式を採用し、YOLO26はオプションのNMSフリーヘッド (
nms=False) を提供します。NMSの後処理をなくすことで、RTDETRv2に似た安定性と予測可能性を実現しながら、オーバーヘッドを大幅に抑えます。 - MuSGDオプティマイザー: Moonshot AIのKimi K2など、高度なLLMトレーニング手法に着想を得たハイブリッドオプティマイザーです。安定したトレーニングと高速な収束を実現し、従来のビジョンTransformerで知られる不安定性を克服します。
- エッジ向けに最適化: 前世代よりもCPU推論が最大43%高速で、Distribution Focal Loss (DFL) を戦略的に削除しているYOLO26は、GPUアクセラレーションを利用できないモバイルデバイスやIoTデバイスに最適です。
- ProgLoss + STAL: 高度なこれらの損失関数は、CNNにとって長年の課題である小さな物体の認識を大きく改善するため、YOLO26は航空画像やロボティクスに最適です。
トレーニング例#
直感的に使えるUltralytics APIにより、最先端のモデルをシームレスにトレーニングできます。以下は、COCO8データセットでYOLO26 Nanoモデルをトレーニングする実行可能な例です。
from ultralytics import YOLO
# Load the newly released YOLO26 Nano model
model = YOLO("yolo26n.pt")
# Train the model on the COCO8 dataset for 50 epochs
# The Ultralytics engine handles data caching and augmentation automatically
train_results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Validate the model's performance
metrics = model.val()
print(f"Validation mAP50-95: {metrics.box.map}")
# Export the trained model to ONNX format for production
model.export(format="onnx")概要#
RTDETRv2とYOLOv6-3.0を比較する際は、主に使用するハードウェアとレイテンシーの制約に基づいて判断します。RTDETRv2は、複雑で重なり合う物体への対応が重要な研究環境やサーバー側の処理に適しています。YOLOv6-3.0は、強力なNVIDIA GPUを備えた高スループットの製造ラインに引き続き有力な選択肢です。
ただし、TransformerのNMSフリー設計と、CNNの圧倒的な速度および少ないメモリ使用量の両立を目指す開発者にとって、YOLO26は他に並ぶものがありません。Ultralyticsエコシステムの充実したドキュメントと活発なコミュニティに支えられ、YOLO26はビジョンAIプロジェクトの堅牢性、拡張性、将来への対応力を高めます。