YOLOv5 vs RTDETRv2: 物体検出におけるCNNとTransformerアーキテクチャの評価
コンピュータビジョンの状況はここ数年で劇的に拡大し、開発者に複雑な視覚タスクを解決するための多様なアーキテクチャを提供しています。最も人気のあるパラダイムの中には、畳み込みニューラルネットワーク(CNN)と検出Transformer(DETR)があります。
本ガイドでは、これらカテゴリにおける2つの極めて重要なモデル、Ultralytics YOLOv5(非常に効率的で広く採用されているCNNベースのモデル)と、最先端のTransformerベースのリアルタイム物体検出器であるRTDETRv2について、技術的な詳細を比較します。
Ultralytics YOLOv5: 効率性の業界標準
リリース以来、Ultralytics YOLOv5はAIコミュニティの礎となり、世界中の何千もの商用アプリケーションや研究プロジェクトを支えてきました。PyTorchフレームワーク上に完全に構築されており、リアルタイム性能を犠牲にすることなく、直感的な開発者体験を優先しています。
主な特徴:
- 作成者: Glenn Jocher
- 組織: Ultralytics
- 日付: 2020-06-26
- リンク: GitHubリポジトリ
アーキテクチャと強み
YOLOv5は、非常に低いメモリフットプリントを維持しつつ、特徴抽出の効率を最大化するように設計された合理的なCNNアーキテクチャを利用しています。CSPDarknetバックボーンとPANetネックを採用しており、マルチスケールの特徴融合のための強力な組み合わせを実現しています。
One of the primary advantages of YOLOv5 is its Performance Balance. It strikes an exceptional trade-off between speed and accuracy, making it an ideal choice for model deployment on resource-constrained hardware like NVIDIA Jetson devices and smartphones.
さらに、YOLOv5は比類のない汎用性を誇ります。バウンディングボックスの予測に限定されるモデルとは異なり、YOLOv5は画像分類およびインスタンスセグメンテーションをネイティブでサポートしており、多様な視覚タスクに対応する統一されたフレームワークを提供します。その学習効率も驚異的で、Transformerベースのアーキテクチャと比較して学習中に必要なCUDAメモリが大幅に少なくなっています。
弱点
従来のCNNフレームワークに依存しているため、YOLOv5は後処理において、重複するバウンディングボックスを除去するために必然的にNon-Maximum Suppression (NMS)を使用します。Ultralyticsフレームワーク内で高度に最適化されていますが、NMSは専用のエッジNPU上で遅延のボトルネックを引き起こすことがあります。
RTDETRv2: BaiduによるリアルタイムTransformer
RTDETRv2(Real-Time Detection Transformer v2)は、リアルタイム物体検出へのTransformerアーキテクチャの適用において大幅な飛躍を遂げており、従来のDETRを長年悩ませてきた計算上の非効率性に対処しています。
主な特徴:
- 著者: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang, Yi Liu
- 組織: Baidu
- 日付: 2024-07-24
- リンク: Arxiv論文, GitHubリポジトリ
アーキテクチャと強み
RTDETRv2は、ハイブリッドエンコーダーと柔軟なデコーダー設計を利用して画像を処理することで、前身モデルを改良しています。Transformerの自己注意(セルフアテンション)機構は、画像コンテキストの全体的な理解をモデルに提供し、深刻な物体の遮蔽がある複雑なシーンでも非常に優れた性能を発揮します。
A defining feature of RTDETRv2 is its end-to-end, NMS-free design. By predicting object queries directly without requiring anchor boxes or NMS post-processing, it simplifies the inference pipeline. This architecture achieves an impressive mAP (mean Average Precision) on benchmark datasets like COCO.
弱点
リアルタイム機能にもかかわらず、RTDETRv2はYOLOモデルと比較してメモリ要件が顕著に高くなっています。Transformerのアテンション機構はシーケンス長に応じて二次関数的にスケーリングするため、巨大なGPUクラスターを使用しない限り、高解像度の学習中にメモリ不足エラーが発生する可能性があります。さらに、Ultralyticsエコシステムのようなすぐに使える汎用性には欠けており、主に2D物体検出のみに焦点を当てており、セグメンテーションや姿勢推定のネイティブサポートはありません。
性能比較表
これらのアーキテクチャを客観的に評価するために、私たちはパフォーマンスメトリクスをまとめました。太字で強調された値は、テストされたスケール全体で最も効率的、あるいは最高性能のメトリクスを表しています。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメータ (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
| 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の約30倍のパラメータを必要とします。限られたハードウェアで実行される高速アプリケーションには、Ultralyticsモデルが一貫して最高の計算効率を提供します。
Ultralyticsエコシステムの利点
モデルを研究用ノートブックから本番環境へ移行する際には、モデルを取り巻くソフトウェアはニューラルネットワークのアーキテクチャと同様に重要です。Ultralyticsが提供する十分に管理されたエコシステムは、開発ライフサイクルを劇的に加速させます。
比類のない使いやすさ
Ultralyticsモデルは、非常に合理化されたユーザー体験を優先しています。カスタムモデルの学習、検証の実行、あるいはTensorRTやONNXのようなハードウェア固有のフォーマットへのエクスポートを希望する場合でも、Ultralytics Python APIなら数行のコードで実現可能です。
Ultralyticsモデルを使用して学習および推論を実行することがいかに簡単かを示す、実践的なコード例を以下に示します。
from ultralytics import YOLO
# Initialize the model (automatically downloads the weights)
model = YOLO("yolov5s.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device="cpu")
# Perform inference on an online image
inference_results = model.predict("https://ultralytics.com/images/bus.jpg")
# Display the resulting image with bounding boxes
inference_results[0].show()This simple, unified API natively supports experiment tracking integrations with tools like Weights & Biases and Comet, allowing developers to log metrics seamlessly without writing complex boilerplate code.
ユースケースと推奨事項
YOLOv5とRT-DETRの選択は、プロジェクトの特定の要件、デプロイの制約、およびエコシステムの好みに依存します。
YOLOv5を選択すべき場合
YOLOv5が適しているケース:
- 実績のある本番システム: YOLOv5の安定性、広範なドキュメント、および膨大なコミュニティサポートという長い実績が重視される既存のデプロイメント。
- リソース制約のあるトレーニング: YOLOv5の効率的なトレーニングパイプラインと低いメモリ要件が有利となる、GPUリソースが限られた環境。
- 広範なエクスポートフォーマットのサポート: ONNX、TensorRT、CoreML、およびTFLiteを含む多くのフォーマット全体でのデプロイメントが必要なプロジェクト。
RT-DETRを選ぶべき場面
RT-DETRは次の場合に推奨されます:
- Transformerベースの検出研究: NMSなしでのエンドツーエンドの物体検出に向けて、アテンションメカニズムとTransformerアーキテクチャを研究するプロジェクト。
- レイテンシを柔軟に調整できる高精度シナリオ: 検出精度が最優先であり、わずかに高い推論レイテンシが許容されるアプリケーション。
- 大型物体の検出: 主に中型から大型の物体が含まれるシーン。Transformerのグローバルアテンションメカニズムが自然な利点をもたらします。
Ultralytics (YOLO26) を選択すべき場合
ほとんどの新規プロジェクトにおいて、Ultralytics YOLO26はパフォーマンスと開発者体験の最高の組み合わせを提供します:
- NMSフリーのエッジデプロイ: Non-Maximum Suppressionの後処理の複雑さを伴わずに、一貫した低レイテンシの推論が求められるアプリケーション。
- CPUのみの環境: 専用のGPUアクセラレーションがないデバイスにおいて、YOLO26の最大43%高速なCPU推論が決定的な利点となります。
- 小物体の検出: 航空ドローンの映像 やIoTセンサーの分析など、ProgLossとSTALが小物体の精度を大幅に高めることができる困難なシナリオ。
今後について: YOLO11とYOLO26
今日、新しいビジョンプロジェクトを開始する場合、最新世代のUltralyticsモデルを検討することを強くお勧めします。
YOLOv5は非常に信頼性が高いままですが、YOLO11は精度の向上と、Oriented Bounding Box (OBB)検出を含む拡張されたタスクセットを提供します。
さらに重要なことに、最先端のYOLO26は両方の長所を融合させています。これはエンドツーエンドのNMSフリー設計(YOLOv10で最初に導入)を実装し、CNNの効率を維持しながら後処理のオーバーヘッドを排除しています。YOLO26はまた、LLM学習の革新から着想を得たMuSGDオプティマイザを導入し、収束を高速化します。DFL除去(エクスポートの簡素化とエッジ/低電力デバイスとの互換性向上のためにDistribution Focal Lossを削除)により、YOLO26は最大43%高速なCPU推論を実現し、エッジAIにとって絶対的に最適な選択肢となっています。さらに、ProgLoss + STALは改善された損失関数を提供し、IoT、ロボティクス、航空画像に不可欠な小物体認識における著しい改善を実現しています。
結論
YOLOv5とRTDETRv2の選択は、デプロイの制約に大きく依存します。RTDETRv2は、強力なTransformerアテンション機構を利用してmAPの限界を押し広げますが、メモリと計算オーバーヘッドの大きな代償を伴います。
逆に、Ultralytics YOLOv5は、クラウドサーバーからマイクロコントローラーまで、あらゆる場所でスムーズに動作する、実績のある高度に最適化された汎用的なソリューションを提供します。最高レベルの精度とシームレスなデプロイツールを求めるチームにとって、Ultralyticsエコシステム内でYOLO26にアップグレードすることは、最新のビジョンAIアプリケーションのための決定的な最先端ソリューションを提供します。