YOLOv7とRTDETRv2#
コンピュータビジョンは、畳み込みニューラルネットワーク(CNN)とビジョントランスフォーマー(ViT)の競争に牽引され、急速に進化し続けています。この技術比較では、注目すべき2つのアーキテクチャ、最適化度の高いCNNベースの物体検出器であるYOLOv7と、最先端のリアルタイム検出トランスフォーマーであるRTDETRv2を検証します。
アーキテクチャの違い、パフォーマンス指標、最適なデプロイシナリオを分析することで、開発者はこれらのビジョンAIモデルを本番パイプラインに統合する際に、十分な情報に基づいた判断を下せます。
YOLOv7: Bag-of-Freebies 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は後処理に非最大抑制(NMS)を使用します。NMSによってレイテンシが変動し、特に混雑したシーンでは、エッジデバイスで厳密なリアルタイム性能を保証しにくくなる場合があります。
RTDETRv2: リアルタイムTransformerの進化#
RTDETRv2は、元のRT-DETRフレームワークを基盤としており、高い空間精度を維持しながら、トランスフォーマーがリアルタイムのレイテンシにおいて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は、ビジョントランスフォーマーにとって大きな進歩です。柔軟なクエリ選択プロセスと効率的なハイブリッドエンコーダーを活用し、マルチスケールの特徴を高速に処理します。検出トランスフォーマー(DETR)に特化した新たな「無料特典」を導入することで、推論コストを増やさずに精度を高めています。NMSを使用しないため、推論時間の予測可能性が高く、スマートシティの用途や自動運転に役立ちます。
制限事項#
RTDETRv2は進歩を遂げているものの、トランスフォーマーベースのアーキテクチャに従来から伴う負担があります。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は54.3%で最高のmAPvalを達成しますが、259 billion FLOPsを必要とします。一方、YOLOv7のアーキテクチャは強力なベースラインとなるものの、純粋なネットワークのレイテンシ指標には含まれないNMSのオーバーヘッドが加わります。
Ultralyticsの強み: エコシステムと進化#
YOLOv7とRTDETRv2はどちらも優れた機能を備えていますが、本番環境にデプロイすると、運用上の摩擦が明らかになることがよくあります。Ultralyticsエコシステムは、コンピュータビジョンパイプラインに伴う一般的な複雑さを抽象化する統一APIを開発者に提供し、こうした摩擦を減らすよう設計されています。
汎用性とメモリ効率#
大量のVRAMを必要とするトランスフォーマーモデルとは異なり、Ultralytics YOLOモデルはメモリ効率に優れています。そのため、手頃なハードウェアで迅速なモデルのトレーニングが可能です。エコシステムは単一のコードベースから、画像分類や回転バウンディングボックス(OBB)検出など、複数のコンピュータビジョンタスクを標準でサポートしており、現時点でRTDETRv2にはない柔軟性を提供します。
デプロイ#
研究から本番環境への移行には、堅牢なデプロイオプションが必要です。Ultralytics APIを使えば、単一の呼び出しで業界標準フォーマットへのモデルのエクスポートを処理できます。クロスプラットフォーム互換性を目的としたONNXでも、GPUアクセラレーションを最大限に活用するTensorRTでも、変換は自動で行われます。
Ultralytics YOLO26へのアップグレード#
YOLOv7とRTDETRv2のどちらを選ぶか検討している開発者には、Ultralytics YOLO26を推奨します。2026年1月にリリースされたYOLO26は、CNNの速度とトランスフォーマーのエンドツーエンド推論を組み合わせ、それぞれの弱点の多くに対処しています。
YOLO26は、サーバーとエッジの両方へのデプロイに向けて、複数の革新的な機能を導入しています。
- エンドツーエンドのNMSフリーデザイン: YOLOv10がYOLOモデルに導入したNMSフリー学習を基盤として、YOLO26ではオプションのNMSフリーヘッド(
nms=False)を利用できます。このヘッドはNMSの後処理を省略します。これにより、Transformerの計算オーバーヘッドなしでRTDETRv2の予測可能なレイテンシを実現できます。 - MuSGDオプティマイザー: 大規模言語モデルのトレーニング手法(Moonshot AIのKimi K2など)に着想を得たYOLO26は、SGDとMuonのハイブリッドを活用します。多くのViTで使われている標準的なAdamWの設定と比べて、トレーニングの安定性と収束速度が向上します。
- ProgLoss + STAL: Progressive Lossと小さなターゲットを考慮したラベル割り当てにより、小さい物体の認識が向上します。これは、ロボットの自動化に不可欠なRTDETRv2のマルチスケール特徴の利点にも対抗します。
- エッジ最適化とDFLの削除: Distribution Focal Loss(DFL)を取り除くことで、YOLO26は出力ヘッドを効率化し、YOLO26nはYOLO11nよりもCPUで最大43%高速に動作します。そのため、重いトランスフォーマーモデルよりもエッジデバイスに簡単にデプロイできます。
Ultralyticsでの学習例#
シンプルなUltralytics Python APIを使えば、数行のコードでYOLO26sモデルをトレーニングできます。
from ultralytics import YOLO
# YOLO26のsmallモデルを読み込みます
model = YOLO("yolo26s.pt")
# COCO8データセットでモデルをトレーニングします
# このフレームワークは、データ拡張とオプティマイザーの選択を自動で管理します
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device="0")
# デプロイ用にTensorRTへエクスポートします
model.export(format="engine", dynamic=True)最適なユースケース#
適切なアーキテクチャは、デプロイ上の制約と利用可能なハードウェアに大きく左右されます。
YOLOv7を検討するケース:
- YOLOv7が確立されたベースラインとなっている、従来型の研究プロジェクト。
- GPUの高い処理能力を利用でき、NMSによるレイテンシの揺らぎが許容される環境。
RTDETRv2を検討する場合:
- 最高のmAPを必要とするハイエンドサーバーへのデプロイ。
- 予測可能なNMSフリーの推論レイテンシが厳密に求められ、トランスフォーマーのバックボーンを支えるVRAMを確保できるシナリオ。
Ultralytics YOLO26を選ぶ場合:
- ほとんどの新規プロジェクト。 RTDETRv2のようなオプションのNMSフリー推論を提供し、速度と精度でYOLOv7を上回り、VRAM使用量も少なく、データセット管理、トレーニング、デプロイに対応するUltralytics Platformに完全統合されています。