YOLOv7とRTDETRv2の比較#
コンピュータービジョンの分野は、畳み込みニューラルネットワーク(CNNs)とビジョントランスフォーマー(ViTs)の競争に大きく影響されながら、急速に進化し続けています。本技術比較では、2つの主要なアーキテクチャ、すなわち高度に最適化されたCNNベースの物体検出器であるYOLOv7と、最先端のリアルタイム検出TransformerであるRTDETRv2を詳しく検証します。
アーキテクチャの違い、パフォーマンス指標、最適なデプロイシナリオを分析することで、開発者はこれらのビジョンAIモデルを本番パイプラインに統合する際に、十分な情報に基づいて判断できます。
YOLOv7:フリー特典を活用したCNNアーキテクチャ#
YOLOv7は、従来のYOLOファミリーにパラダイムを変える複数の構造最適化を導入し、一連の「学習可能なフリー特典」によってリアルタイム物体検出の限界を押し広げました。
主な特徴:
- 著者: Chien-Yao Wang、Alexey Bochkovskiy、Hong-Yuan Mark Liao
- 組織: 中央研究院情報科学研究所
- 日付: 2022-07-06
- Arxiv: https://arxiv.org/abs/2207.02696
- GitHub: WongKinYiu/yolov7
アーキテクチャと強み#
YOLOv7の強みは、Extended Efficient Layer Aggregation Network(E-ELAN)アーキテクチャにあります。この構造設計により、元の勾配経路を壊すことなく、モデルはより多様な特徴を学習できます。さらに、計画的な再パラメーター化畳み込みを組み込み、精度を低下させずに推論速度を最適化しています。学習可能なフリー特典のアプローチにより、速度と精度の優れたトレードオフを実現し、サーバーグレードGPUでのリアルタイム物体検出タスクに非常に適しています。
YOLOv7は非常に汎用性にも優れています。標準的なバウンディングボックス検出に加えて、リポジトリにはポーズ推定とインスタンスセグメンテーション向けのブランチも用意されており、その適応性を示しています。
制限事項#
多くの従来型CNNモデルと同様に、YOLOv7は後処理にNon-Maximum Suppression(NMS)を使用します。NMSは、特に混雑したシーンでレイテンシーを変動させるため、エッジデバイスで厳密なリアルタイム性能を保証する際に複雑さを生じさせる可能性があります。
RTDETRv2:リアルタイムTransformerの進化#
RTDETRv2は元のRT-DETRフレームワークを基盤としており、高い空間精度を維持しながら、TransformerがリアルタイムのレイテンシーでYOLOアーキテクチャと競合できることをさらに実証しています。
主な特徴:
- 著者: Wenyu Lv、Yian Zhao、Qinyao Chang、Kui Huang、Guanzhong Wang、Yi Liu
- 組織: Baidu
- 日付: 2024-07-24
- Arxiv: https://arxiv.org/abs/2407.17140
- GitHub: lyuwenyu/RT-DETR
アーキテクチャと強み#
RTDETRv2は、ビジョントランスフォーマーにとって大きな前進を示しています。柔軟なクエリ選択プロセスと効率的なハイブリッドエンコーダーを活用し、マルチスケール特徴を高速に処理します。Detection Transformer(DETRs)専用に調整された新しい「フリー特典」を導入することで、空間推論の限界を押し広げています。ネイティブにNMSを必要としないため、決定論的な推論時間を実現し、厳格なスマートシティアプリケーションや自動運転に不可欠な機能を提供します。
制限事項#
RTDETRv2は進歩を遂げている一方で、Transformerベースのアーキテクチャに伴う従来の負担も抱えています。CNNと比較して、トレーニング時と推論時の両方で大幅に多くのCUDAメモリを必要とします。さらに、トレーニングの収束時間も明らかに長く、高品質なアノテーション済みデータ(COCOデータセットなど)と大量の計算リソースが必要です。
性能比較#
これらのモデルをベンチマークする際は、精度、実測推論速度、計算フットプリントを含む総合的な観点から評価する必要があります。以下に直接比較した表を示します。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメーター数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| 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 |
RTDETRv2-xは絶対的に最高のmAPvalである54.3%を達成するとされていますが、2590億FLOPsを必要とします。一方、YOLOv7アーキテクチャは優れたベースラインを提供しますが、純粋なネットワークレイテンシー指標では十分に捉えられない、従来型NMSのオーバーヘッドがあります。
Ultralyticsの優位性:エコシステムと進化#
YOLOv7とRTDETRv2は堅牢な機能を提供しますが、本番環境にデプロイすると、運用上の摩擦が明らかになることがよくあります。そこで強みを発揮するのがUltralyticsエコシステムです。エンドツーエンドのシームレスな統合を目的に設計されたUltralyticsフレームワークは、コンピュータービジョンパイプラインに伴う一般的な複雑さを抽象化する統一APIを開発者に提供します。
比類のない汎用性とメモリ効率#
大量のVRAMを消費する硬直的なTransformerモデルとは異なり、Ultralytics YOLOモデルは高いメモリ効率を維持します。これにより、利用しやすいハードウェア上で迅速なモデル学習が可能になります。エコシステムは単一のコードベースから、画像分類や指向性バウンディングボックス(OBB)検出など、複数のコンピュータービジョンタスクを本質的にサポートしており、現在のRTDETRv2にはない柔軟性を提供します。
シームレスなデプロイ#
研究から本番環境へ移行するには、堅牢なデプロイオプションが必要です。Ultralytics APIは、業界標準フォーマットへのワンクリックモデルエクスポートをネイティブに処理します。クロスプラットフォーム互換性を目的にONNXを使用する場合でも、GPUアクセラレーションを最大限に活用するためにTensorRTを使用する場合でも、パイプライン全体が自動化され、信頼性の高い状態で実行されます。
究極のアップグレード:Ultralytics YOLO26#
YOLOv7とRTDETRv2のどちらを選ぶか検討している開発者にとって、実際に最適な前進策は、ビジョンAIにおける新たな標準であるUltralytics YOLO26です。2026年1月にリリースされたYOLO26は、CNNの速度とTransformerの高度な推論能力のギャップを埋めながら、それぞれの弱点を完全に解消します。
YOLO26は、サーバーとエッジの両方のデプロイに合わせた画期的なイノベーションを導入しています。
- エンドツーエンドのNMS不要設計: YOLOv10で初めて導入されたこの設計により、YOLO26はNMSの後処理をネイティブに排除します。これにより、Transformerに伴う負荷の大きい計算オーバーヘッドなしで、RTDETRv2の決定論的なレイテンシーを実現します。
- MuSGDオプティマイザー: 大規模言語モデルのトレーニング手法(Moonshot AIのKimi K2など)に着想を得たYOLO26は、SGDとMuonを組み合わせたハイブリッドを使用します。これにより、ViTsで使用される標準的なAdamW実装と比較して、これまでにないトレーニング安定性と大幅に高速な収束時間を実現します。
- ProgLoss + STAL: これらの高度な損失関数は、小物体認識を大幅に改善し、RTDETRv2のマルチスケール特徴による優位性に直接対抗します。これはロボット自動化において重要です。
- エッジ最適化とDFLの削除: Distribution Focal Loss(DFL)を削除することで、YOLO26は出力ヘッドを効率化し、最大でCPU推論を43%高速化します。これにより、重量級Transformerモデルよりもエッジデバイスに無限にデプロイしやすくなります。
Ultralyticsを使用したトレーニング例#
Ultralytics Python APIはシンプルであるため、わずか数行のコードで最先端のYOLO26モデルをトレーニングできます。
from ultralytics import YOLO
# Load the highly efficient YOLO26 small model
model = YOLO("yolo26s.pt")
# Train the model on the COCO8 dataset
# The framework automatically manages data augmentation and hyperparameter tuning
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device="0")
# Effortlessly export to TensorRT for deployment
model.export(format="engine", dynamic=True)理想的なユースケース#
適切なアーキテクチャの選択は、デプロイの制約と利用可能なハードウェアに大きく左右されます。
YOLOv7を検討する場合:
- YOLOv7が確立されたベースラインとなっている従来の研究プロジェクト。
- 生のGPUアクセラレーションが豊富に利用でき、NMSによるレイテンシーの揺らぎが許容される環境。
RTDETRv2を検討する場合:
- 絶対的に最大のmAPが求められるハイエンドサーバーへのデプロイ。
- Transformerバックボーンを支える十分なVRAMがあることを前提に、決定論的な推論レイテンシー(NMS不要)が厳密に必要なシナリオ。
Ultralytics YOLO26を選択する場合:
- ほぼ常に。 RTDETRv2のNMS不要の決定論性を備え、YOLOv7の速度と精度を上回り、使用するVRAMも大幅に少なく、さらにデータセット管理、トレーニング、デプロイを容易に行えるUltralytics Platformに完全統合されています。
他のアーキテクチャがどのような性能を示すか興味がありますか?YOLO11やYOLOv8など、以前の世代について詳しく確認するか、ハイパーパラメータチューニングを活用してプロジェクトの精度を最大化する方法をご覧ください。