YOLOX vs RTDETRv2: オブジェクト検出に関する技術的比較
適切な物体検出モデルの選択は、精度、速度、計算コストのバランスを取る上で重要な決定です。この比較では、高速性と効率性で知られる高性能なCNNベースのモデルであるYOLOXと、精度を追求したTransformerベースのモデルであるRTDETRv2という、強力でありながら異なる2つのアーキテクチャを掘り下げます。アーキテクチャの違い、パフォーマンス指標、理想的なユースケースを理解することで、特定のコンピュータビジョンプロジェクトに最適なモデルを選択するのに役立ちます。
YOLOX: High-Performance Anchor-Free Detection
YOLOXは、YOLOシリーズの重要な進化として登場し、アンカーフリー設計を導入して検出パイプラインを簡素化し、パフォーマンスを向上させました。軽量から高性能まで拡張できるモデルファミリーを提供することで、学術研究と産業アプリケーションの間のギャップを埋めることを目指しています。
- 著者: Zheng Ge、Songtao Liu、Feng Wang、Zeming Li、Jian Sun
- 組織: Megvii
- Date: 2021-07-18
- Arxiv: https://arxiv.org/abs/2107.08430
- GitHub: https://github.com/Megvii-BaseDetection/YOLOX
- Docs: https://yolox.readthedocs.io/en/latest/
アーキテクチャと主な機能
YOLOXの主な革新は、定義済みのアンカーボックスの必要性を排除し、設計の複雑さを軽減するアンカーフリー設計にあります。主なアーキテクチャ機能は次のとおりです。
- Decoupled Head: 単一のヘッドで分類と回帰を実行する従来のYOLOモデルとは異なり、YOLOXは分離されたヘッドを使用します。この分離により、収束速度と精度が向上します。
- SimOTA ラベル割り当て: YOLOXは、SimOTA(Simplified Optimal Transport Assignment)と呼ばれる高度なラベル割り当て戦略を採用しています。ラベル割り当てを最適な輸送問題として扱うことで、特にオブジェクトが重複している場合に、より正確でロバストな割り当てを実現します。
- 強力なデータ拡張: このモデルは、MixUpやMosaicのような強力なデータ拡張技術を活用して、その汎化能力を向上させています。
長所と短所
長所:
- 優れた速度と精度のトレードオフ: YOLOXモデル、特に小型のバリアントは、卓越した推論速度を提供し、リアルタイムアプリケーションに適しています。
- スケーラビリティ: エッジデバイス向けのYOLOX-Nanoから、高精度タスク向けのYOLOX-Xまで、幅広いモデルを提供します。
- 設計の簡素化: アンカーフリーのアプローチにより、調整が必要なハイパーパラメータの数が削減されます。
弱点:
- タスク特化型: YOLOXは主に物体検出用に設計されており、より最新のフレームワークにあるセグメンテーションや姿勢推定のような他のタスクに対する組み込みの多様性がありません。
- エコシステムとメンテナンス: オープンソースですが、Ultralyticsエコシステムのような継続的な開発、統合ツール(Ultralytics HUBなど)、または広範なコミュニティサポートはありません。
理想的なユースケース
YOLOXは、特に計算能力が限られたデバイス上で、リアルタイム性能と効率が重要なシナリオで優れています。
- Edge AI: 軽量なYOLOX-NanoおよびYOLOX-Tinyモデルは、Raspberry PiやNVIDIA Jetsonのようなプラットフォームへのデプロイに最適です。
- ロボティクス: 高速な知覚は、ロボティクスにおけるナビゲーションと物体操作に不可欠。
- 産業検査: 高速で動く生産ラインでの自動外観検査は、高速検出によって製造業の改善に貢献します。
RTDETRv2:高精度リアルタイム検出Transformer
RTDETRv2(Real-Time Detection Transformer version 2)は、物体検出においてCNN中心の設計からTransformerベースのアーキテクチャへの移行を意味します。Vision Transformerの高い精度を維持しながら、リアルタイムの速度を実現することを目指しています。
- 著者: Wenyu Lv、Yian Zhao、Qinyao Chang、Kui Huang、Guanzhong Wang、Yi Liu
- 組織: Baidu
- 日付: 2023-04-17 (オリジナルのRT-DETR)、2024年にRTDETRv2の改善
- Arxiv: https://arxiv.org/abs/2304.08069
- GitHub: https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch
- ドキュメント: https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch#readme
アーキテクチャと主な機能
RTDETRv2は、効率的な特徴抽出のためのCNNバックボーンと、画像内のグローバルな関係をモデル化するためのTransformerエンコーダ・デコーダを組み合わせたハイブリッドアーキテクチャを使用しています。
- Transformerベースのデコーダ: RTDETRv2の中核はTransformerデコーダであり、セルフアテンション機構を使用して画像のグローバルコンテキストを理解し、複雑で雑然としたシーンでのオブジェクト検出に優れています。
- Anchor-Free with Query-Based Detection: 他のDETRモデルと同様に、一連の学習可能なオブジェクトクエリを使用してオブジェクトをプローブし、一部の構成におけるアンカーボックスとNon-Maximum Suppression (NMS) の複雑さを回避します。
長所と短所
長所:
- 最先端の精度: Transformerアーキテクチャにより、RTDETRv2は非常に高いmAPスコアを達成でき、精度においてCNNベースの対応製品を上回ることがよくあります。
- 複雑なシーンでのロバスト性: グローバルなコンテキストを捉える能力により、多数の重複するオブジェクトや小さなオブジェクトを含む画像に非常に効果的です。
弱点:
- 高い計算コスト: Transformerモデルは計算負荷が高く、Ultralytics YOLOv8のような効率的なCNNと比較して、トレーニングにより多くのFLOPsと大幅に多くのGPUメモリが必要です。
- CPUでの推論が遅い: GPU推論用に最適化されていますが、YOLOXやUltralytics YOLO11などのモデルと比較して、CPUまたはリソース制約のあるエッジデバイスでは速度がボトルネックになる可能性があります。
- Training Complexity: トランスフォーマーベースのモデルのトレーニングは、より複雑で時間がかかる可能性があり、多くの場合、より長いトレーニングスケジュールとより多くのリソースが必要になります。
理想的なユースケース
RTDETRv2は、最高の精度が必須であり、十分な計算リソースが利用可能なアプリケーションに最適な選択肢です。
- 自動運転車: 精度が安全を左右する自動運転車において、信頼性の高い認識に不可欠です。
- 医療画像処理: 医療スキャンにおける異常の正確な検出は、完璧なアプリケーションです。
- 衛星画像解析: 環境モニタリングや都市計画などのアプリケーション向けに、高解像度衛星画像を詳細に解析します。
性能対決:速度 vs. 精度
以下の表は、さまざまなYOLOXモデルとRTDETRv2モデルの直接的な比較を示しており、精度(mAP)、速度、モデルサイズの間のトレードオフを強調しています。YOLOXモデルは一般的に、特にTensorRTで最適化されている場合に、より高速な推論を示しますが、RTDETRv2モデルはより高いmAPスコアを達成します。
モデル | サイズ (ピクセル) |
mAPval 50-95 |
速度 CPU ONNX (ms) |
速度 T4 TensorRT10 (ms) |
params (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.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 |
結論: どのモデルを選ぶべきか?
YOLOXとRTDETRv2はどちらも強力な物体検出器ですが、異なるニーズに対応しています。YOLOXは、高速と効率が要求されるアプリケーションに最適であり、リアルタイムシステムやエッジ展開に最適です。対照的に、RTDETRv2は、十分な計算リソースが利用可能な場合に、可能な限り最高の精度を達成することが主な目標である場合に優れたオプションです。
Ultralytics YOLOモデルを選ぶ理由
YOLOXとRTDETRv2は強力な機能を提供しますが、Ultralytics YOLOモデル(YOLOv8や最新のYOLO11など)は、開発者や研究者にとって、より魅力的な全体的なパッケージを提供することがよくあります。
- 使いやすさ: Ultralyticsは、効率化されたpython API、豊富なドキュメント、および多数のガイドを提供し、開発ライフサイクル全体を簡素化します。
- 適切に管理されたエコシステム: アクティブな開発、強力なコミュニティ、頻繁なアップデート、およびエンドツーエンドのMLOpsのためのUltralytics HUBとのシームレスな統合を活用できます。
- パフォーマンスのバランス:Ultralyticsのモデルは、速度と精度の間で優れたトレードオフを実現するように設計されており、幅広い現実世界のシナリオに非常に適しています。
- メモリ効率: Ultralytics YOLOモデルは、トレーニングと推論の両方でメモリ効率が高くなるように設計されています。通常、リソース需要が高いことで知られるRTDETRv2のようなTransformerベースのモデルよりも必要なCUDAメモリが少なくなります。
- 多様性: Ultralyticsモデルは、セグメンテーション、ポーズ推定、分類、トラッキングなど、複数のタスクを単一の統合フレームワーク内で、すぐにサポートします。
- Training Efficiency: より速い学習時間と、COCOのようなデータセットですぐに利用できる事前学習済みの重みによる効率的なリソース利用をお楽しみください。
その他の比較
意思決定をさらに支援するために、他のモデル比較を検討してください。