コンテンツにスキップ

RTDETRv2とPP-YOLOE+の比較:トランスフォーマーとCNNの技術比較

物体検出の領域は大きく進化し、異なるアーキテクチャ哲学に分かれている。一方では、畳み込みニューラルネットワーク(CNN)の確立された効率性があり、もう一方では、ヴィジョン・トランスフォーマー(ViT)の新たなパワーがある。この比較では、バイドゥが開発した2つの著名なモデルを調査する:RTDETRv2(Real-TimeDetection Transformer v2)とPP-YOLOE+である。

PP-YOLOE+がPaddlePaddle エコシステムの中で洗練されたCNNベースのアンカーフリー検出の最高峰であるのに対し、RTDETRv2はTransformerアーキテクチャをリアルタイムアプリケーションに適応させることで限界を押し広げます。ニューラルネットワークの設計から展開要件に至るまで、この2つのニュアンスの違いを理解することは、エンジニアがコンピュータビジョンプロジェクトに適したツールを選択するために不可欠です。

RTDETRv2:トランスフォーマーの進化

RTDETRv2は、オリジナルのRT-DETR成功に基づき、DETRベースのモデルの優れたグローバルコンテキスト理解を維持しながら、通常関連する高い計算コストを解決することを目指しています。トランスフォーマーの高精度とリアルタイム推論に必要な速度のギャップを埋めるように設計されている。

アーキテクチャと主な機能

RTDETRv2は、マルチスケール特徴を効率的に処理するハイブリッドエンコーダを採用している。局所的な畳み込みに大きく依存する従来のCNNとは異なり、変換器アーキテクチャは画像全体の長距離依存性を捕捉するために自己注意メカニズムを利用する。重要な革新はIoUクエリー選択であり、これはオブジェクトクエリーの初期化を改善し、収束の高速化と精度の向上をもたらす。さらに、NMS(Non-Maximum Suppression)の後処理の必要性を排除し、パイプラインを真のエンドツーエンドにします。

長所と短所

長所:

  • グローバルな文脈: アテンション・メカニズムにより、モデルは画像の離れた部分間の関係を理解することができ、乱雑なシーンや文脈が重要な場合に優れている。
  • エンドツーエンドのロジック: NMS 削除することで、デプロイメントパイプラインが簡素化され、手動チューニングを必要とすることが多いハイパーパラメータが削除される。
  • 高精度: COCO ようなデータセットでは、同規模のCNNと比較して、一般的に高い平均精度(mAP)を達成する。

弱点:

  • リソース強度:最適化にもかかわらず、トランスフォーマーは、効率的なCNNと比較して、本質的に多くのCUDA メモリを消費し、トレーニングのためにより強力なGPUを必要とします。
  • トレーニングの複雑さ:収束が遅くなる可能性があり、学習レシピは標準的なYOLO モデルよりもハイパーパラメータに敏感であることが多い。

RTDETRv2の詳細について。

PP-YOLOE+:アンカー不要のCNN大国

PP-YOLOE+は、PaddlePaddle フレームワークのために特別に開発されたYOLO シリーズの進化版です。純粋なCNNアーキテクチャを使用して、推論速度と検出精度のトレードオフを最適化し、実用的な展開に焦点を当てています。

アーキテクチャと主な機能

PP-YOLOE+は、CSPRepResNetバックボーンとパスアグリゲーションネットワーク(PAN)ネックを備えています。PP-YOLOE+は、CSPRepResNetのバックボーンとパス集約ネットワーク(PAN)のネックを特徴としており、アンカーを使用しないヘッドを採用することで、あらかじめ定義されたアンカーボックスの必要性を排除し、設計を簡素化している。このモデルはタスクアライメント学習(TAL)を採用しており、分類タスクとローカライゼーションタスクの同期を確実にする動的なラベル割り当て戦略により、最終予測の品質を向上させている。

長所と短所

長所:

  • 推論速度:CNNベースのモデルであるため、特に畳み込み演算が高速化されるエッジハードウェアにおいて、速度が高度に最適化されている。
  • シンプルな設計: アンカーがないため、ハイパーパラメータや工学的ヒューリスティックの数が少なくて済む。
  • バランスのとれた性能:競争力のある精度対速度比を提供し、汎用産業アプリケーションに適しています。

弱点:

  • フレームワークへの依存: PaddlePaddle エコシステムと深く結びついているため、主に PyTorchやTensorFlow ワークフローで主に作業しているチームにとっては摩擦となる。
  • 局所受容野:CNNは効果的ではあるが、非常に複雑な視覚シーンにおけるグローバルな文脈を捉えるのに、変換器以上に苦労する。

PP-YOLOE+の詳細について。

パフォーマンス分析:精度と効率の比較

RTDETRv2 と PP-YOLOE+ のどちらを選択するかは、多くの場合、導入環境の特定の制約に帰着する。ハードウェアが高い計算オーバヘッドを許容する場合、RTDETRv2 は優れた検出能力を提供する。逆に、制約の厳しいリアルタイムの推論シナリオでは、PP-YOLOE+が強力な候補であり続ける。

モデルサイズ
(ピクセル)
mAP
50-95
速度
CPU ONNX
(ms)
速度
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
RTDETRv2-s64048.1-5.032060
RTDETRv2-m64051.9-7.5136100
RTDETRv2-l64053.4-9.7642136
RTDETRv2-x64054.3-15.0376259
PP-YOLOE+t64039.9-2.844.8519.15
PP-YOLOE+s64043.7-2.627.9317.36
PP-YOLOE+m64049.8-5.5623.4349.91
PP-YOLOE+l64052.9-8.3652.2110.07
PP-YOLOE+x64054.7-14.398.42206.59

データ・インサイト

  • 精度:最大の PP-YOLOE+x モデルが最高のmAP (54.7)を達成し、RTDETRv2-x を上回った。しかし、中型と大型のサイズを見ると、RTDETRv2 の方がモデル階層あたりの精度が高い。
  • レイテンシ:PP-YOLOE+sは、TensorRT2.62msと、ここでのスピードキングであり、軽量タスクに対するCNNアーキテクチャの効率性を強調している。
  • 計算:RTDETRv2モデルは、一般的に、直接のPP-YOLOE+モデルよりも必要なパラメー タ数が少ない(たとえば、RTDETRv2-xのパラメータ数は76Mであるのに対し、 PP-YOLOE+xは98Mである)。

Ultralytics 優位性開発者がYOLO11選ぶ理由

RTDETRv2やPP-YOLOE+のようなモデルを探求することで、さまざまなアーキテクチャ・アプローチに対する洞察が得られるが、ほとんどの開発者は、パフォーマンスとユーザビリティやエコシステム・サポートのバランスが取れたソリューションを求めている。そこで Ultralytics YOLO11が優れている点です。

Ultralytics YOLO11 11は単なるモデルではなく、機械学習オペレーション(MLOps)のライフサイクル全体を合理化するために設計された包括的なビジョンAIフレームワークの一部です。

Ultralytics 主な利点

  • 使いやすさ:研究指向のトランスフォーマーモデルや、PaddleDetectionのようなフレームワークに特化したツールでしばしば必要とされる複雑な設定とは異なり、Ultralytics 「ゼロからヒーローへ」の体験を提供します。数行のPython コードで最先端のモデルをトレーニングすることができます。
  • メモリ効率:RTDETRv2のようなTransformerベースのモデルは、メモリ消費量が多いことで有名で、トレーニングにかなりのCUDA メモリを必要とします。Ultralytics YOLO モデルは、コンシューマーグレードのGPUでのトレーニングや、Raspberry PiやJetson Nanoのようなエッジデバイスでの展開が可能なように、効率のために最適化されています。
  • 汎用性:PP-YOLOE+とRTDETRv2が主に検出に重点を置いているのに対し、YOLO11 インスタンス分割姿勢推定分類指向性物体検出(OBB)など、幅広いタスクをネイティブにサポートしている。
  • 整備されたエコシステム: Ultralytics 、頻繁なアップデート、広範なドキュメント、大規模なコミュニティにより、サポート不足や古い依存関係によってブロックされることはありません。
  • トレーニングの効率化: Ultralytics 、すぐに利用可能な事前学習済みの重みと堅牢なデータ増強パイプラインを提供し、より少ないデータでモデルをより速く収束させます。

メモリの最適化

トランスフォーマーモデルのトレーニングには、多くの場合、24GB以上のVRAMを搭載したハイエンドGPUが必要です。対照的に、Ultralytics YOLO11 モデルは高度に最適化されており、多くの場合、わずか8GBのVRAMを搭載した標準的なGPUで微調整することができます。

Ultralyticsシンプルな実装

以下のコードは、Ultralytics Python APIを使用して、いかに簡単にモデルをトレーニングしてデプロイできるかを示しており、より複雑なアカデミックリポジトリと比較して、ユーザーフレンドリーな設計が強調されています。

from ultralytics import YOLO

# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")

# Train the model on your custom dataset
# This handles data loading, augmentation, and logging automatically
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on an image
# Returns a list of Result objects with boxes, masks, keypoints, etc.
results = model("path/to/image.jpg")

# Export the model to ONNX for deployment
model.export(format="onnx")

結論正しい選択をする

RTDETRv2、PP-YOLOE+、Ultralytics YOLO11いずれかを決定する場合、特定のアプリケーション要件によって決定する必要があります。

  • 複雑で乱雑なシーンで精度を最大化することが唯一の重要な指標であり、より高いトレーニングコストに余裕がある場合、学術研究またはハイエンドのハードウェアを使用している場合は、RTDETRv2を選択してください。
  • PP-YOLOE+は、Baidu/PaddlePaddle エコシステムに深く統合されており、特定の対応ハードウェア上で効率的に動作する強固なCNNベースの検出器を必要とする場合に選択します。
  • 商業的かつ実用的なアプリケーションの大部分には、 Ultralytics YOLO11お選びください。速度、精度、メモリ効率の優れたバランスと、セグメンテーションと トラッキングのサポートにより、開発者にとって最も生産性の高い選択肢となります。TensorRT、CoreML、OpenVINO フォーマットへのデプロイが容易なため、クラウドからエッジまで、どこでもモデルを実行できます。

その他のモデル比較

これらのアーキテクチャーが他の主要なソリューションとどのように比較されるかをさらに理解するには、以下の詳細な比較をご覧ください:


コメント