Ultralytics YOLO27:

YOLOv5とRTDETRv2の比較#

コンピュータービジョンの分野はここ数年で大きく発展し、複雑なビジュアルタスクに取り組むための幅広いアーキテクチャを開発者に提供しています。特に広く採用されているパラダイムとして、畳み込みニューラルネットワーク(CNN)と検出Transformer(DETR)があります。

このガイドでは、これらのカテゴリに属する2つの主要なモデル、すなわち非常に効率的で広く採用されているCNNベースのモデルであるUltralytics YOLOv5と、最先端のTransformerベースのリアルタイム物体検出器であるRTDETRv2を、技術的な観点から詳しく比較します。

Ultralytics YOLOv5:効率性における業界標準#

リリース以来、Ultralytics YOLOv5はAIコミュニティの中核となり、世界中で数千もの商用アプリケーションや研究プロジェクトを支えてきました。PyTorchフレームワーク上に完全に構築されており、リアルタイム性能を損なうことなく、直感的な開発者エクスペリエンスを重視しています。

主な特徴:

アーキテクチャと強み#

YOLOv5は、非常に小さなメモリフットプリントを維持しながら、特徴抽出の効率を最大化するよう設計された、合理化されたCNNアーキテクチャを採用しています。CSPDarknetバックボーンとPANetネックを使用し、マルチスケール特徴融合に強力な組み合わせを形成しています。

YOLOv5の主な利点の1つは、性能のバランスです。速度と精度の間で非常に優れたトレードオフを実現しており、モデルデプロイNVIDIA Jetsonデバイスやスマートフォンなどのリソースに制約のあるハードウェア上で行う場合に理想的な選択肢となります。

さらに、YOLOv5は他に類を見ない汎用性を備えています。バウンディングボックスの予測に厳密に限定されたモデルとは異なり、YOLOv5は画像分類インスタンスセグメンテーションをネイティブにサポートし、さまざまなビジュアルタスクに対応する統合フレームワークを提供します。学習効率も非常に優れており、Transformerベースのアーキテクチャと比較して、学習中に必要なCUDAメモリを大幅に削減できます。

弱点#

古いCNNフレームワークに依存しているため、YOLOv5は重複するバウンディングボックスを除去するために、後処理で非極大抑制(NMS)に本質的に依存しています。Ultralyticsフレームワーク内で高度に最適化されていますが、NMSは特殊なエッジNPU上で遅延のボトルネックを引き起こす場合があります。

RTDETRv2:BaiduによるリアルタイムTransformer#

RTDETRv2(リアルタイム検出Transformer v2)は、リアルタイム物体検出にTransformerアーキテクチャを適用するうえで大きな飛躍を示すものであり、従来のDETRで問題となっていた計算効率の低さに対処しています。

主な特徴:

  • 著者: Wenyu Lv、Yian Zhao、Qinyao Chang、Kui Huang、Guanzhong Wang、Yi Liu
  • 組織: Baidu
  • 日付: 2024-07-24
  • リンク: Arxiv PaperGitHub Repository

アーキテクチャと強み#

RTDETRv2は、ハイブリッドエンコーダーと柔軟なデコーダー設計を使用して画像を処理することで、前身モデルを発展させています。Transformerのセルフアテンション機構により、モデルは画像コンテキストをグローバルに理解できるため、物体の深刻なオクルージョンが発生する複雑なシーンでも非常に優れた性能を発揮します。

RTDETRv2の特徴は、エンドツーエンドのNMSフリーデザインです。アンカーボックスやNMSによる後処理を必要とせず、物体クエリを直接予測することで、推論パイプラインを簡素化します。このアーキテクチャは、COCOなどのベンチマークデータセットで優れたmAP(平均適合率)を達成します。

弱点#

リアルタイム性能を備えている一方で、RTDETRv2はYOLOモデルと比較してメモリ要件が著しく高くなっています。Transformerのアテンション機構はシーケンス長に対して二次関数的にスケールするため、大規模なGPUクラスターを使用しない限り、高解像度の学習中にメモリ不足エラーが発生する可能性があります。さらに、Ultralyticsエコシステムが標準で提供する汎用性には欠けており、主に2Dの物体検出だけに焦点を当て、セグメンテーションや姿勢推定をネイティブにはサポートしていません。

RT-DETR についての詳細情報はこちら

性能比較表#

これらのアーキテクチャを客観的に評価するため、性能指標をまとめました。太字で示された値は、テストしたスケール全体で最も効率的、または最高性能の指標を表します。

モデルサイズ
(ピクセル)
mAPval
50-95
速度
CPU ONNX
(ms)
速度
T4 TensorRT10
(ms)
パラメーター数
(M)
FLOPs
(B)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
RTDETRv2-s64048.1-5.032060
RTDETRv2-m64051.9-7.5136100
RTDETRv2-l64053.4-9.7642136
RTDETRv2-x64054.3-15.0376259
性能の背景

RTDETRv2-xは絶対値として最高のmAPを達成しますが、YOLOv5nの約30倍のパラメーターを必要とします。限られたハードウェア上で動作する高速アプリケーションでは、Ultralyticsモデルが一貫して最高の計算効率を提供します。

Ultralyticsエコシステムの優位性#

モデルを研究用ノートブックから本番環境へ移行する際は、モデルを取り巻くソフトウェアがニューラルネットワークのアーキテクチャと同じくらい重要です。Ultralyticsが提供する十分に保守されたエコシステムにより、開発ライフサイクルが大幅に加速します。

他に類を見ない使いやすさ#

Ultralyticsモデルは、非常に合理化されたユーザーエクスペリエンスを重視しています。カスタムモデルの学習、検証の実行、TensorRTONNXなどハードウェア固有のフォーマットへのエクスポートのいずれを行う場合でも、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()

このシンプルで統合されたAPIは、Weights & BiasesCometなどのツールとの実験トラッキング連携をネイティブにサポートしているため、開発者は複雑なボイラープレートコードを記述せずに、シームレスにメトリクスを記録できます。

ユースケースと推奨事項#

YOLOv5とRT-DETRのどちらを選ぶかは、具体的なプロジェクト要件、デプロイの制約、エコシステムに関する好みによって異なります。

YOLOv5を選ぶべきケース#

YOLOv5 は次の用途に適しています:

  • 実績のある本番システム: YOLOv5の長年にわたる安定性の実績、豊富なドキュメント、広範なコミュニティサポートが重視される既存のデプロイ環境。
  • リソースに制約のあるトレーニング: YOLOv5の効率的なトレーニングパイプラインと少ないメモリ要件が有利になる、GPUリソースが限られた環境。
  • 幅広いエクスポート形式のサポート: ONNXTensorRTCoreMLTFLiteなど、多数の形式にまたがるデプロイが必要なプロジェクト。

RT-DETRを選択するケース#

RT-DETRは次の用途に推奨されます。

  • Transformerベースの検出研究: NMSを使用しないエンドツーエンド物体検出のために、アテンションメカニズムやTransformerアーキテクチャを研究するプロジェクト。
  • 柔軟なレイテンシーを許容できる高精度シナリオ: 検出精度を最優先し、やや高い推論レイテンシーを許容できるアプリケーション。
  • 大きな物体の検出: 主に中型から大型の物体が存在し、Transformerのグローバルアテンションメカニズムが本質的な優位性を発揮するシーン。

Ultralytics (YOLO26)を選ぶタイミング#

ほとんどの新規プロジェクトでは、Ultralytics YOLO26が性能と開発者エクスペリエンスの最適な組み合わせを提供します。

  • NMSフリーのエッジデプロイ: Non-Maximum Suppressionの後処理を複雑にすることなく、一貫した低レイテンシー推論が必要なアプリケーション。
  • CPUのみの環境: 専用GPUアクセラレーションを持たないデバイスで、YOLO26の最大43%高速なCPU推論が決定的な優位性となる場合。
  • 小さな物体の検出: aerial drone imageryやIoTセンサー分析など、ProgLossとSTALによって微小物体の精度が大幅に向上する難しいシナリオ。

今後の展望:YOLO11とYOLO26#

現在、新しいビジョンプロジェクトを開始する場合は、最新世代のUltralyticsモデルを検討することを強くおすすめします。

YOLOv5は依然として非常に信頼性の高いモデルですが、YOLO11は精度が向上しており、方向付きバウンディングボックス(OBB)検出を含む、より幅広いタスクに対応しています。

さらに重要なのは、最先端のYOLO26が両方の長所を融合している点です。エンドツーエンドNMSフリーデザインYOLOv10で初めて導入)を実装し、CNNの効率性を維持しながら後処理のオーバーヘッドを排除しています。YOLO26は、LLMの学習におけるイノベーションに着想を得たMuSGDオプティマイザーも導入しており、より高速な収束を実現します。DFLの削除(エクスポートの簡素化とエッジ/低消費電力デバイスとの互換性向上のためにDistribution Focal Lossを削除)により、YOLO26はCPU推論を最大43%高速化し、エッジAIに最適な選択肢となります。さらに、ProgLoss + STALにより損失関数が改善され、IoT、ロボティクス、航空画像で重要となる小物体認識が大幅に向上します。

まとめ#

YOLOv5とRTDETRv2のどちらを選ぶかは、デプロイの制約に大きく左右されます。RTDETRv2は強力なTransformerアテンション機構を活用してmAPの限界を押し広げますが、メモリと計算オーバーヘッドが大きくなります。

一方、Ultralytics YOLOv5は、クラウドサーバーからマイクロコントローラーまで、あらゆる環境でスムーズに動作する、実績があり高度に最適化された汎用ソリューションです。可能な限り高い精度とシームレスなデプロイツールを求めるチームにとって、Ultralyticsエコシステム内でYOLO26へアップグレードすることが、現代のビジョンAIアプリケーション向けの決定的な最先端ソリューションとなります。

コメント