YOLOv7とRTDETRv2#
コンピュータービジョンの分野は、畳み込みニューラルネットワーク(CNNs)とVision Transformer(ViTs)の競争に大きく影響を受けながら、急速に進化し続けています。この技術比較では、高度に最適化されたCNNベースの物体検出モデルYOLOv7と、最先端のリアルタイム物体検出TransformerであるRTDETRv2という、2つの強力なアーキテクチャを詳しく検証します。
アーキテクチャの違い、パフォーマンス指標、最適なデプロイシナリオを分析することで、開発者はこれらのビジョンAIモデルを本番パイプラインに統合する際に、十分な情報に基づいた判断を下せます。
YOLOv7: Bag-of-Freebies CNNアーキテクチャ#
YOLOv7では、従来のYOLOファミリーに複数の画期的な構造最適化が導入され、一連の「学習可能なbag-of-freebies」によってリアルタイム物体検出の限界を押し広げています。
主な特徴:
- 著者: 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)アーキテクチャです。この構造設計により、モデルは元の勾配経路を損なうことなく、より多様な特徴を学習できます。さらに、計画的な再パラメーター化畳み込みを取り入れ、精度を損なわずに推論速度を最適化しています。学習可能なbag-of-freebiesによって速度と精度の優れたトレードオフを実現しており、サーバーグレードの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はVision Transformerを大きく前進させるモデルです。柔軟なクエリ選択プロセスと効率的なハイブリッドエンコーダーを活用し、マルチスケール特徴を高速に処理します。Detection Transformer(DETRs)専用の新しい「bag-of-freebies」を導入することで、空間推論の限界を押し広げています。ネイティブで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は54.3%で最高のmAPvalを達成するとされていますが、259 billion FLOPsという膨大な計算量が必要です。一方、YOLOv7アーキテクチャは優れたベースラインを提供しますが、ネットワーク単体のレイテンシ指標では完全には捉えられない、旧来のNMSオーバーヘッドが課題です。
Ultralyticsの強み: エコシステムと進化#
YOLOv7とRTDETRv2は堅牢な機能を備えていますが、本番環境にデプロイすると運用上の摩擦が明らかになることがよくあります。ここで優位性を発揮するのがUltralyticsエコシステムです。エンドツーエンドのシームレスな統合を念頭に設計されたUltralyticsフレームワークは、コンピュータービジョンパイプラインにありがちな複雑さを抽象化する統一APIを開発者に提供します。
優れた汎用性とメモリ効率#
大量のVRAMを消費する柔軟性に欠けるTransformerモデルとは異なり、Ultralytics YOLOモデルは高いメモリ効率を維持します。そのため、手頃なハードウェアでもモデルの学習を迅速に行えます。エコシステムは単一のコードベースから複数のコンピュータービジョンタスクをネイティブにサポートしており、画像分類やOriented Bounding Box(OBB)検出にも対応しています。これは、現時点でRTDETRv2にはない柔軟性です。
シームレスなデプロイ#
研究から本番環境への移行には、堅牢なデプロイオプションが欠かせません。Ultralytics APIは、業界標準フォーマットへのワンクリックモデルエクスポートをネイティブに処理します。クロスプラットフォーム互換性を実現するONNXでも、GPUアクセラレーションを最大化するTensorRTでも、パイプライン全体が自動化されており、信頼性も高いです。
究極のアップグレード: Ultralytics YOLO26#
YOLOv7とRTDETRv2のどちらを選ぶか検討している開発者にとって、最適な選択肢は実際にはビジョンAIの新たな標準となるUltralytics YOLO26です。2026年1月にリリースされたYOLO26は、CNNの速度とTransformerの高度な推論能力の隔たりを埋め、それぞれの弱点を完全に解消します。
YOLO26には、サーバーとエッジの両方へのデプロイに適した画期的な革新が導入されています。
- エンドツーエンドのNMSフリー設計: YOLOv10で初めて導入されたこの方式を発展させ、YOLO26はネイティブのNMSフリーヘッド(
nms=False)を提供し、NMS後処理を排除します。これにより、Transformerに伴う大きな計算オーバーヘッドなしで、RTDETRv2の決定論的なレイテンシを実現します。 - MuSGDオプティマイザー: Moonshot AIのKimi K2など、大規模言語モデルの学習手法に着想を得たYOLO26は、SGDとMuonを組み合わせたハイブリッド方式を採用しています。ViTで使われる標準的なAdamW実装と比べて、かつてない学習安定性と大幅に速い収束を実現します。
- ProgLoss + STAL: これらの高度な損失関数は、小物体の認識性能を大きく向上させます。これは、ロボット自動化に不可欠なRTDETRv2のマルチスケール特徴の優位性に対抗するものです。
- エッジ最適化とDFLの削除: Distribution Focal Loss(DFL)を取り除くことで、YOLO26は出力ヘッドを合理化し、最大43%高速なCPU推論を実現します。そのため、大規模なTransformerモデルよりもエッジデバイスに格段にデプロイしやすくなります。
Ultralyticsでの学習例#
シンプルなUltralytics Python APIを使えば、最先端のYOLO26モデルをわずか数行のコードで学習できます。
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が必須となるハイエンドサーバーへのデプロイ。
- Transformerバックボーンを動作させるためのVRAMが確保でき、決定論的な推論レイテンシ(NMSフリー)が厳格に求められるシナリオ。
Ultralytics YOLO26を選ぶ場合:
- ほとんどの場合です。 RTDETRv2のNMSフリーによる決定性を実現しながら、YOLOv7を速度と精度で上回り、VRAMの使用量も大幅に抑えます。さらに、データセット管理、学習、デプロイを簡単に行えるよう、Ultralytics Platformに完全に統合されています。
ほかのアーキテクチャの性能が気になりますか?YOLO11やYOLOv8などの旧世代モデルを詳しく解説した記事をご覧いただくか、プロジェクトの精度を最大化するハイパーパラメーター調整の活用方法をご確認ください。