YOLOv6-3.0 vs RTDETRv2:技術比較
適切な物体検出モデルの選択は、精度、速度、計算コストのバランスを取る上で非常に重要な決定です。この比較では、アーキテクチャが大きく異なる2つの強力なモデル、高度に最適化されたCNNベースの検出器であるYOLOv6-3.0と、最先端のリアルタイムTransformerベースのモデルであるRTDETRv2について詳しく掘り下げます。YOLOv6-3.0は高速な産業用アプリケーション向けに設計されていますが、RTDETRv2はVision Transformer (ViT)を活用して卓越した精度を実現しています。
このページでは、アーキテクチャ、パフォーマンス指標、理想的なユースケースの詳細な分析を提供し、プロジェクトに最適なものを判断できるよう支援します。
YOLOv6-3.0
著者: Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu, Xiangxiang Chu
所属: Meituan
日付: 2023-01-13
Arxiv: https://arxiv.org/abs/2301.05586
GitHub: https://github.com/meituan/YOLOv6
ドキュメント: https://docs.ultralytics.com/models/yolov6/
YOLOv6-3.0は、Meituanによって開発されたシングルステージの物体検出フレームワークであり、特に推論速度が最優先される産業用アプリケーション向けに設計されています。これは、いくつかの重要な最適化を施した従来のYOLOアーキテクチャを基盤としています。
アーキテクチャと主な機能
YOLOv6-3.0は、効率を最大化するために、ハードウェアを意識したニューラルネットワーク設計を導入しています。そのアーキテクチャは、効率的な再パラメータ化バックボーンと、精度と速度のバランスを取るように再設計されたネックを特徴としています。このモデルには、推論オーバーヘッドを増加させることなくパフォーマンスを向上させるために、自己蒸留を含む最適化されたトレーニング戦略も組み込まれています。これは従来のワンステージオブジェクト検出器であり、本質的に高速でデプロイが簡単です。
長所
- 高速な推論速度: 高速なパフォーマンスのために最適化されており、産業環境におけるリアルタイム推論に非常に適しています。
- 良好な精度と速度のトレードオフ: 特に大型バリアントでは、高いスループットを維持しながら、競争力のある精度を提供します。
- 量子化とモバイルサポート: モデル量子化に対する強力なサポートを提供し、モバイルまたはCPUベースの展開向けに調整されたYOLOv6Liteバリアントが含まれています。
弱点
- 限定的なタスクの多様性: 主に物体検出に焦点が当てられており、Ultralytics YOLOのような、より包括的なフレームワークにある、セグメンテーション、分類、およびポーズ推定のような他のタスクの組み込みサポートがありません。
- エコシステムとメンテナンス: オープンソースですが、そのエコシステムはUltralyticsプラットフォームほど広範または活発にメンテナンスされていません。これは、アップデートが少なくなり、コミュニティサポートが少なくなる可能性があることを意味します。
理想的なユースケース
YOLOv6-3.0は、速度が最も重要なシナリオに優れています。
- 産業オートメーション:製造業における品質管理とプロセス監視に最適です。
- リアルタイムシステム: ロボティクスやビデオ監視など、厳密な遅延要件を持つアプリケーションに最適です。
- エッジコンピューティング: 効率的な設計とモバイルバリアントにより、NVIDIA Jetsonのようなリソース制約のあるデバイスへの実装に最適です。
RTDETRv2
著者: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang, Yi Liu
所属: Baidu
日付: 2023-04-17
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(Real-Time Detection Transformer v2)は、Transformerアーキテクチャをリアルタイム性能に適応させた、最先端の物体検出器です。元のDETRフレームワークを基盤としており、グローバルな画像コンテキストを効果的に捉えることで、高精度を実現します。
アーキテクチャと主な機能
RTDETRv2は、Transformerエンコーダ・デコーダ構造を利用しており、シーン内のオブジェクト間の長距離依存関係をモデル化できます。このグローバルコンテキスト認識により、特に多くのオブジェクトが重なり合う複雑な画像で、優れた精度が得られることがよくあります。アンカーフリー検出器として、アンカーボックスの設計とデコーダでのNon-Maximum Suppression(NMS)の必要性を排除することで、検出パイプラインを簡素化します。
長所
- 高精度: Transformerアーキテクチャにより、画像コンテキストを深く理解することができ、その結果、最高の検出精度が得られます。
- ロバストな特徴抽出: グローバルなコンテキストと詳細な情報の両方を捉えることに優れており、複雑なシーンでもロバストです。
- リアルタイム対応: 特にTensorRTのようなツールで高速化された場合に、高速な推論のために最適化されており、リアルタイムアプリケーションに利用可能です。
弱点
- 高い計算コスト: Transformerは、リソースを大量に消費することで知られています。RTDETRv2モデルは一般的に、CNNモデルよりも多くのパラメータとFLOPsを持っています。
- Demanding Training Requirements: 一般的に、Transformerベースのモデルのトレーニングには、より多くのデータ、より長いトレーニング時間、およびはるかに高いCUDAメモリが必要となるため、ハードウェアが限られているユーザーにとってはアクセスが難しくなります。対照的に、Ultralytics YOLOモデルは、標準的なGPUでの効率的なトレーニング向けに設計されています。
理想的なユースケース
RTDETRv2は、最高の精度が主な目標となるアプリケーションに最適です。
- 自動運転: 高精度な認識は、自動運転車の安全に不可欠です。
- 高度なロボティクス: ロボットが複雑で動的な環境をナビゲートし、インタラクションすることを可能にします。
- 高精度監視: 小さい物体や遮蔽された物体の正確な検出が必要なセキュリティシステムに役立ちます。
性能比較:YOLOv6-3.0 対 RT-DETRv2
以下の表は、COCOデータセットでのパフォーマンス比較を示しています。
モデル | サイズ (ピクセル) |
mAPval 50-95 |
速度 CPU ONNX (ms) |
速度 T4 TensorRT10 (ms) |
params (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv6-3.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
YOLOv6-3.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
YOLOv6-3.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
YOLOv6-3.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.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を達成しており、そのTransformerアーキテクチャの精度上の利点を示しています。ただし、これには速度とモデルサイズのコストが伴います。対照的に、YOLOv6-3.0モデルは、パラメータが少なく、推論時間が大幅に高速です。たとえば、YOLOv6-3.0sは、RTDETRv2-sよりもほぼ2倍高速でありながら、45.0の競争力のあるmAPを提供します。選択は明らかにプロジェクトの優先順位によって異なります。最大の精度(RTDETRv2)または最適な速度と効率(YOLOv6-3.0)です。
学習方法論
YOLOv6-3.0は、パフォーマンスを向上させるための自己蒸留などの技術を含め、CNNに共通の標準的な深層学習手法を使用してトレーニングされます。そのトレーニングプロセスは一般的に効率的であり、リソースをあまり必要としません。
TransformerベースのモデルであるRTDETRv2は、より要求の厳しいトレーニング体制を必要とします。これらのモデルは、効果的に収束するために、より大規模なデータセット、より長いトレーニングスケジュール、および大幅に多くのGPUメモリを必要とすることがよくあります。この参入障壁の高さにより、高性能コンピューティングリソースにアクセスできないチームにとっては、実用的でなくなる可能性があります。
結論
YOLOv6-3.0とRTDETRv2はどちらも、それぞれのニッチで強力なパフォーマンスを発揮します。YOLOv6-3.0は、速度と効率が重要な産業用アプリケーションに最適です。RTDETRv2は、精度の限界を押し広げ、精度が妥協できない高リスクのタスクに最適です。
しかし、ほとんどの開発者や研究者にとって、YOLOv8、YOLOv10、および最新のYOLO11のようなUltralytics YOLOモデルは、より魅力的な全体的なパッケージを提供します。Ultralyticsモデルは、速度と精度の優れたバランスを提供し、トレーニングが非常に効率的で、セグメンテーション、ポーズ推定、分類など、オブジェクト検出以外の幅広いタスクをサポートします。
さらに、包括的なドキュメント、シンプルなPython API、効率的なトレーニングとデプロイメントのためのUltralytics HUBとの統合など、堅牢で活発にメンテナンスされているエコシステムによって支えられています。このパフォーマンス、汎用性、使いやすさの組み合わせにより、Ultralytics YOLOモデルは、幅広いコンピュータビジョンプロジェクトに推奨される選択肢となっています。
その他のモデルを見る
さらに比較に関心がある場合は、Ultralyticsドキュメントで他のモデルを調べることができます。
- YOLOv8 vs YOLOv6-3.0
- YOLOv8 vs RT-DETR
- YOLOv7 対 YOLOv6-3.0
- YOLOv5 vs YOLOv6-3.0
- EfficientDetとYOLOv6-3.0の比較