YOLOv5とRTDETRv2#
コンピュータービジョンの分野はここ数年で大きく拡大し、複雑な視覚タスクに取り組む開発者に多様なアーキテクチャを提供しています。代表的なアプローチには、畳み込みニューラルネットワーク(CNNs)と検出Transformer(DETRs)があります。
このガイドでは、これらのカテゴリを代表する2つのモデル、効率が高く広く採用されているCNNベースのモデルUltralytics YOLOv5と、最先端のTransformerベースのリアルタイム物体検出器であるRTDETRv2を詳しく技術比較します。
Ultralytics YOLOv5:効率性における業界標準#
リリース以来、Ultralytics YOLOv5はAIコミュニティの中核を担い、世界中の何千もの商用アプリケーションや研究プロジェクトを支えてきました。PyTorchフレームワーク上に全面的に構築されており、リアルタイム性能を損なうことなく、直感的な開発者エクスペリエンスを優先しています。
主な特徴:
- 著者: Glenn Jocher
- 組織: Ultralytics
- 日付: 2020-06-26
- リンク:GitHubリポジトリ
アーキテクチャと強み#
YOLOv5は、極めて小さなメモリフットプリントを維持しながら特徴抽出の効率を最大化するよう設計された、効率的なCNNアーキテクチャを採用しています。CSPDarknetバックボーンとPANetネックを使用し、マルチスケールの特徴融合に適した強力な構成を実現しています。
YOLOv5の主な利点の一つは、性能バランスです。速度と精度を優れた形で両立しているため、NVIDIA Jetsonデバイスやスマートフォンなど、リソースに制約のあるハードウェアへのモデルのデプロイに最適です。
さらに、YOLOv5は比類のない汎用性を備えています。バウンディングボックスの予測に限定されるモデルとは異なり、YOLOv5は画像分類とインスタンスセグメンテーションをネイティブにサポートし、さまざまな視覚タスクに対応する統一フレームワークを提供します。トレーニング効率も優れており、Transformerベースのアーキテクチャと比べてトレーニング時に必要なCUDAメモリが大幅に少なくて済みます。
弱点#
YOLOv5は旧世代のCNNフレームワークを基盤としているため、後処理時に重複したバウンディングボックスを除去する非極大値抑制(NMS)に本質的に依存します。Ultralyticsフレームワーク内では高度に最適化されていますが、NMSが特殊なエッジNPUでレイテンシーのボトルネックになる場合があります。
RTDETRv2: BaiduによるリアルタイムTransformer#
RTDETRv2(リアルタイム検出Transformer v2)は、Transformerアーキテクチャをリアルタイム物体検出に適用するうえで大きな進歩をもたらし、従来のDETRに長く見られた計算効率の課題に対処しています。
主な特徴:
- 著者: Wenyu Lv、Yian Zhao、Qinyao Chang、Kui Huang、Guanzhong Wang、Yi Liu
- 組織: Baidu
- 日付: 2024-07-24
- リンク: Arxiv論文、GitHubリポジトリ
アーキテクチャと強み#
RTDETRv2は、ハイブリッドエンコーダーと柔軟なデコーダー設計を採用して画像を処理することで、先行モデルを発展させています。Transformerの自己注意機構により、モデルは画像全体のコンテキストを把握でき、物体の遮蔽が深刻な複雑なシーンでも優れた性能を発揮します。
RTDETRv2の特徴は、エンドツーエンドのNMSフリーデザインです。アンカーボックスやNMSによる後処理を必要とせず、物体クエリを直接予測することで、推論パイプラインをシンプルにします。このアーキテクチャは、COCOなどのベンチマークデータセットで優れたmAP(平均適合率)を達成します。
弱点#
リアルタイム処理に対応する一方、RTDETRv2はYOLOモデルよりもメモリ要件がかなり高くなります。Transformerの注意機構はシーケンス長に対して二次的にスケールするため、大規模なGPUクラスターを使用しない場合、高解像度のトレーニング中にメモリ不足エラーが発生する可能性があります。また、Ultralyticsエコシステムのようなすぐに使える汎用性はなく、ネイティブなセグメンテーションや姿勢推定をサポートせず、主に2Dの物体検出に特化しています。
性能比較表#
これらのアーキテクチャを客観的に評価するため、性能指標をまとめました。太字で示した値は、テストしたスケール全体で最も効率的、または最高性能の指標を表します。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメーター (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | - | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | - | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | - | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | - | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | - | 11.89 | 86.7 | 205.7 |
| 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は絶対mAPが最も高い一方、YOLOv5nの約40倍のパラメーターが必要です。限られたハードウェアで動作する高速アプリケーションでは、Ultralyticsモデルが一貫して最高の計算効率を発揮します。
Ultralyticsエコシステムの利点#
研究用ノートブックから本番環境にモデルを移行する際は、モデルを取り巻くソフトウェアもニューラルネットワークのアーキテクチャと同じくらい重要です。Ultralyticsが提供する適切に保守されたエコシステムは、開発ライフサイクルを大幅に加速します。
比類のない使いやすさ#
Ultralyticsのモデルは、非常にシンプルでスムーズなユーザー体験を重視しています。カスタムモデルのトレーニング、検証の実行、TensorRTやONNXなどのハードウェア固有の形式へのエクスポートなどを、Ultralytics Python APIを使ってわずか数行のコードで実現できます。
Ultralyticsのモデルを使ったトレーニングと推論がいかに簡単かを示す、実用的なコード例を紹介します。
from ultralytics import YOLO
# モデルを初期化します(重みは自動的にダウンロードされます)
model = YOLO("yolov5su.pt") # YOLOv5u: ultralyticsパッケージ向けのアンカーフリーYOLOv5重み
# COCO8データセットでモデルをトレーニングします
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device="cpu")
# オンライン画像に対して推論を実行します
inference_results = model.predict("https://ultralytics.com/images/bus.jpg")
# バウンディングボックスを重ねて結果画像を表示します
inference_results[0].show()このシンプルな統合APIは、実験トラッキングをネイティブにサポートし、Weights & BiasesやCometなどのツールと連携できます。これにより、開発者は複雑な定型コードを書くことなく、メトリクスをスムーズに記録できます。
ユースケースと推奨事項#
YOLOv5とRT-DETRのどちらを選ぶかは、プロジェクト固有の要件、デプロイ上の制約、エコシステムに関する好みによって異なります。
YOLOv5を選ぶ場合#
YOLOv5は、次のような場合に適しています。
- 実績のある本番システム: YOLOv5の長年にわたる安定性の実績、充実したドキュメント、幅広いコミュニティサポートが重視される既存のデプロイ環境です。
- リソースが限られたトレーニング: GPUリソースが限られており、YOLOv5の効率的なトレーニングパイプラインと低いメモリ要件が有利となる環境です。
- 幅広いエクスポート形式への対応: ONNX、TensorRT、CoreML、LiteRTなど、多様な形式でのデプロイが必要なプロジェクトです。
RT-DETRを選ぶケース#
RT-DETRは、次の用途に推奨されます。
- Transformerベースの検出研究: NMSを使わないエンドツーエンドの物体検出に向けて、注意機構やTransformerアーキテクチャを検討するプロジェクト。
- レイテンシに柔軟性がある高精度シナリオ: 検出精度を最優先し、推論レイテンシがやや高くても許容できるアプリケーション。
- 大きなオブジェクトの検出: 主に中型から大型のオブジェクトが存在し、Transformerのグローバル注意機構が本質的な優位性をもたらすシーン。
Ultralytics (YOLO26)を選ぶ場合#
多くの新規プロジェクトにおいて、Ultralytics YOLO26はパフォーマンスと開発者体験を最適なバランスで提供します。
- NMSを使用しないエッジデプロイ: 非最大抑制の後処理を複雑化させずに、安定した低レイテンシー推論を必要とするアプリケーション。
- CPUのみの環境: 専用のGPUアクセラレーションを備えていないデバイスで、YOLO26の最大43%高速なCPU推論が大きな優位性を発揮します。
- 小物体検出: ドローンによる航空画像やIoTセンサーの分析など、ProgLossとSTALによって小さな物体の精度が大幅に向上する難しいシナリオ。
今後の展望:YOLO11とYOLO26#
現在、新しいビジョンプロジェクトを始める場合は、Ultralyticsの最新世代のモデルをぜひ検討してください。
YOLOv5は今も非常に信頼性が高い一方、YOLO11は精度が向上し、回転バウンディングボックス(OBB)検出を含む、より幅広いタスクに対応しています。
さらに注目すべき点として、最先端のYOLO26は両者の長所を融合しています。YOLOv10で初めて採用されたエンドツーエンドのNMSフリーデザインを実装し、CNNの効率を維持しながら後処理のオーバーヘッドを排除します。また、YOLO26はLLMのトレーニングにおける革新に着想を得たMuSGD Optimizerを導入し、収束を高速化します。DFLの削除(エクスポートの簡素化とエッジ/低電力デバイスとの互換性向上のためにDistribution Focal Lossを削除)により、YOLO26はCPU推論を最大43%高速化し、エッジAIに最適な選択肢となっています。さらに、ProgLoss + STALによって損失関数が改善され、小物体認識の性能が大きく向上します。これはIoT、ロボティクス、航空画像の分野で重要です。
結論#
YOLOv5とRTDETRv2のどちらを選ぶかは、デプロイ上の制約に大きく左右されます。RTDETRv2は強力なTransformerのアテンション機構によってmAPの限界を押し広げますが、メモリ消費と計算オーバーヘッドが大きくなります。
一方、Ultralytics YOLOv5は実績があり、高度に最適化された汎用的なソリューションで、クラウドサーバーからマイクロコントローラーまで、あらゆる環境でスムーズに動作します。最高水準の精度とシームレスなデプロイツールを求めるチームには、Ultralyticsエコシステム内でYOLO26にアップグレードすることで、最新のビジョンAIアプリケーションに最適な最先端ソリューションを利用できます。