コンテンツにスキップ

YOLOv10 RT-DETRv2比較:物体検出の技術比較

最適な物体検出アーキテクチャを選択することは、推論速度、精度、および計算リソース要求の間のトレードオフをナビゲートする必要がある極めて重要な決定である。この包括的なガイドでは YOLOv10効率性の高さで知られるCNNベースのYOLO ファミリーの最先端進化版である RT-DETRv2高精度タスク用に設計された高度な変換器ベースのモデルである。アーキテクチャの革新性、性能指標、理想的な導入シナリオを分析し、コンピュータビジョンプロジェクトのための十分な情報に基づいた選択を支援します。

YOLOv10:効率重視のリアルタイム検出

YOLOv10は、従来のリアルタイム検出器のボトルネックを解消することに重点を置き、YOLO 系譜を大きく飛躍させるものである。清華大学の研究者らによって開発されたNMS10は、NMS-Maximum Suppressionの後処理の必要性を排除し、展開パイプラインを合理化するNMSトレーニングパラダイムを導入しています。

建築イノベーション

YOLOv10 、全体的な効率-精度駆動設計を採用している。YOLOv10は、学習時に一貫したデュアル割り当てを利用することで、NMS推論を可能にし、待ち時間を大幅に短縮する。また、軽量な分類ヘッドと、計算の冗長性を最小化するための空間チャンネル分離ダウンサンプリングも特徴です。この設計により、競争力のある精度を維持しながら極めて高速なモデルを実現し、リソースが乏しいエッジコンピューティングに特に適しています。

NMS推論

YOLOv10 Non-Maximum Suppression(NMS)の削除により、後処理ステップの複雑さが軽減されました。これは推論レイテンシーの低下につながり、NMSためのカスタムCUDA カーネルなしでエンドツーエンドのパイプラインにモデルを展開することが容易になります。

このモデルは、非常に制約の多い環境向けのナノ(n)バージョンから、より高い精度が要求される超大型(x)バージョンまで、さまざまなサイズにわたって効果的にスケールアップする。

from ultralytics import YOLO

# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")

# Run inference on an image
results = model.predict("path/to/image.jpg")

YOLOv10もっと知る

RT-DETRv2:トランスベースの高精度

RT-DETRv2(RT-DETRDetection Transformer v2)は、オリジナルのRT-DETR成功に基づき、リアルタイム物体検出のための視覚変換器の応用をさらに洗練させたものである。Baiduによって開発されたこのモデルは、グローバルなコンテキストをキャプチャするために自己注意メカニズムを活用し、オクルージョンのある複雑なシーンにおいて、しばしばCNNベースの対応するモデルを凌駕します。

検出におけるビジュアルトランスフォーマー

局所受容野を使って画像を処理する従来のCNNとは異なり、RT-DETRv2 Vision Transformer(ViT)バックボーンを採用している。これにより、モデルは自己注意をもって画像パッチを処理し、シーン内の離れたオブジェクト間の関係を効果的に理解することができる。このグローバル・コンテキスト機能は検出精度を向上させるが、YOLOv1010の合理化されたアーキテクチャと比較すると、一般的に計算コストが高くなる。

RT-DETRv2 2は適応性があり、異なる性能ニーズに合わせて様々なモデルスケールを提供するように設計されているが、通常、同等のYOLO モデルよりも学習と推論に多くのGPU メモリを必要とする。

RT-DETRv2もっと知る

パフォーマンス分析

以下の比較では、各アーキテクチャーの明確な利点が強調されている。 YOLOv10は、スピードと効率性に優れ、レイテンシーとパラメータ数が著しく低い。例えば、YOLOv10nモデルは、T4GPU 1.56msで動作し、高速ビデオ処理に最適です。 RT-DETRv2は、より低速ではありますが、特に大きなモデルサイズにおいて確実な精度を提供しますが、その代償としてFLOPsとメモリ使用量が大幅に増加します。

モデルサイズ
(ピクセル)
mAP
50-95
速度
CPU ONNX
(ms)
速度
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4
RTDETRv2-s64048.1-5.032060
RTDETRv2-m64051.9-7.5136100
RTDETRv2-l64053.4-9.7642136
RTDETRv2-x64054.3-15.0376259

表から分かるように、YOLOv10xはRT-DETRv254.3%に比べ54.4%という優れたmAP 達成する一方、推論にかかる時間は23%短縮され、モデルのフットプリントも大幅に小さくなっている。この効率性により、YOLOv10 、ハードウェアリソースが考慮されるほとんどのアプリケーションにおいて、よりバランスの取れた選択肢となります。

長所と短所

YOLOv10

  • 長所:
    • 低レイテンシー: NMS設計により、リアルタイム・アプリケーションに不可欠な極めて高速な推論が可能。
    • リソース効率:必要なパラメータとFLOPが少ないため、NVIDIA JetsonやモバイルプラットフォームなどのエッジAIデバイスへの展開に適している。
    • エコシステムとの統合: Ultralytics エコシステムに完全に統合されており、ONNX、TensorRT、CoreMLフォーマットへのエクスポートが容易です。
  • 弱点:
    • 小さな物体の検出:YOLOv10nのような)非常に小さなバージョンは、より大きなトランスフォーマーモデルと比較して、生のスピードのためにきめ細かな精度を犠牲にするかもしれません。

RT-DETRv2

  • 長所:
    • グローバル・コンテキスト:トランスフォーマーアーキテクチャは、複雑なシーンやオブジェクト間の関係を理解することに優れています。
    • NMSネイティブ:トランスフォーマーは自然にNMS回避し、YOLOv10同様に後処理パイプラインを簡素化する。
  • 弱点:
    • 高い計算コスト:トレーニングと推論には、CUDA メモリと計算能力が大幅に必要となる。
    • スピードが遅い:セルフアテンションメカニズムは正確ではあるが、計算コストが高く、結果として待ち時間が長くなる。
    • 展開の複雑さ:Transformerモデルは、CNNに比べて、特定の組み込みハードウェアに最適化するのが難しい場合がある。

理想的なユースケース

これらのモデルのどちらを選ぶかは、お客様の運用上の制約に大きく依存します。

  • YOLOv10 お選びください: 自律型ドローンやモバイルアプリなど、エッジデバイスでリアルタイムのパフォーマンスが必要な場合。低メモリーフットプリントと高速性により、交通監視や小売分析などのシナリオに最適です。
  • 以下のような場合にRT-DETRv2 お選びください: GPU リソースに余裕があり、ハイエンドの学術研究や難しい画像のサーバーサイドでの解析など、最大限の精度が優先される複雑なシーンに取り組む場合。

Ultralytics 優位性

どちらのモデルも魅力的な機能を備えていますが、Ultralticsを活用することで Ultralytics YOLOモデル(YOLOv10 最先端の YOLO11-を活用することで、開発ライフサイクルにおいて明確なアドバンテージを得ることができます。

  1. 使いやすさ: Ultralytics 、トレーニング、検証、デプロイメントを標準化する統一されたPython APIと CLI 提供します。これにより、開発者は1行のコードでYOLOv8、YOLOv10、YOLO11、RT-DETR 切り替えることができます。
  2. トレーニングの効率性: Ultralytics モデルは効率的なトレーニングのために最適化されており、標準的な実装よりも高速に収束し、より少ないメモリで済みます。これにより、クラウドの計算コストを削減し、市場投入までの時間を短縮します。
  3. 汎用性:検出だけでなく、Ultralytics フレームワークはセグメンテーションポーズ推定OBBをサポートしており、ツールを変更することなくプロジェクトの機能を拡張することができます。
  4. 整備されたエコシステム:頻繁なアップデート、広範なガイド、盛んなコミュニティにより、ユーザーは継続的な改善とサポートの恩恵を受けることができます。

さまざまなモデルを走らせる

Ultralytics APIを使えば、アーキテクチャ間の切り替えはシームレスだ:

from ultralytics import RTDETR, YOLO

# Train YOLOv10
model_yolo = YOLO("yolov10n.pt")
model_yolo.train(data="coco8.yaml", epochs=100)

# Train RT-DETR
model_rtdetr = RTDETR("rtdetr-l.pt")
model_rtdetr.train(data="coco8.yaml", epochs=100)

結論

両方 YOLOv10RT-DETRv2は物体検出技術の最先端を行くものです。 RT-DETRv2は、計算コストが精度を二の次にするような研究指向のタスクには最適です。しかし、実世界での導入の大部分では YOLOv10が優れたバランスを提供している。高速、低レイテンシ、リソース効率を兼ね備えたYOLOv10は、スケーラブルなアプリケーションを構築するエンジニアにとって実用的な勝者となる。

さらに、最新の YOLO11を探求することで、開発者は、使いやすいUltralytics エコシステム内で、精度とスピードのさらなる改良にアクセスすることができます。Ultralytics プラットフォームは、クラウドまたはエッジのどちらにデプロイする場合でも、ワールドクラスのコンピュータビジョンソリューションを効率的に構築するためのツールを確実に提供します。

その他のモデルを見る

さらなる比較に興味がある方は、ぜひチェックしてみてください:


コメント