YOLOv8 と RTDETRv2 の比較#
コンピュータビジョンの分野は絶えず進化しており、新しいアーキテクチャがリアルタイム物体検出の可能性の限界を押し広げています。大きな注目を集めている2つの主要なモデルが、Ultralytics YOLOv8 と Baidu の RTDETRv2 です。本ガイドでは、これら2つの強力なモデルの包括的な技術比較を行い、アーキテクチャ、パフォーマンス指標、および理想的なデプロイシナリオについて解説します。
YOLOv8 の概要#
Ultralytics YOLOv8 は、YOLO (You Only Look Once) モデルファミリーにおける重要なマイルストーンです。長年の基礎研究に基づき、幅広いタスクに対して優れた速度、精度、そして使いやすさを実現しています。
主な特徴:
- 著者:Glenn Jocher、Ayush Chaurasia、Jing Qiu
- 組織: Ultralytics
- 日付: 2023年1月10日
- GitHub: Ultralytics リポジトリ
- Docs: YOLOv8 ドキュメント
アーキテクチャと強み#
YOLOv8 は、特徴抽出とバウンディング ボックス回帰の両方を最適化する合理化されたアーキテクチャを導入しています。これはアンカーフリーの検出器であり、予測ヘッドをシンプルにし、トレーニング中に必要なハイパーパラメータの調整回数を減らします。このアーキテクチャにより、推論速度と平均適合率 (mAP) の間で優れたパフォーマンスのバランスが確保され、エッジ デバイスとクラウド サーバの両方での実際のデプロイメントに非常に適しています。
さらに、YOLOv8 は、Transformer ベースのアーキテクチャと比較して、トレーニング中のメモリ要件が大幅に低くなります。これにより、開発者はメモリ不足エラーが発生することなく、標準的なコンシューマ GPU でモデルをトレーニングできます。
汎用性#
YOLOv8 の決定的な強みの 1 つは、そのネイティブな汎用性です。多くのモデルがバウンディング ボックスのみに焦点を当てている一方で、YOLOv8 は物体検出、インスタンス セグメンテーション、画像分類、姿勢推定、および方向付きバウンディング ボックス (OBB) 検出のサポートをすぐに提供します。
RTDETRv2 の概要#
RTDETRv2 (Real-Time Detection Transformer version 2) は、オリジナルの RT-DETR をベースにしており、Vision Transformer の強力なアテンションメカニズムをリアルタイム物体検出アプリケーションにもたらすことを目的としています。
主な特徴:
- 著者:Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang, and Yi Liu
- 組織: Baidu
- 日付:2024-07-24
- Arxiv: 2407.17140
- GitHub: RT-DETR リポジトリ
- Docs: RTDETRv2 README
アーキテクチャと強み#
RTDETRv2 は、畳み込みニューラル ネットワーク (CNN) バックボーンと Transformer のエンコーダ・デコーダ構造を組み合わせたハイブリッド アーキテクチャを活用しています。これにより、モデルは自己注意機構を通じて複雑な空間関係とグローバル コンテキストを捉えることができます。一連の「バッグ・オブ・フリービーズ」トレーニング戦略を利用することで、RTDETRv2 は COCO データセットなどの標準的なベンチマーク データセットで競合する mAP スコアを達成します。
弱点#
高い精度の一方で、Transformer ベースである RTDETRv2 は、純粋な CNN アーキテクチャと比較してメモリ消費量が多く、トレーニング時間が長くなります。Transformer は本質的に多くの VRAM を必要とするため、リソースが制限されたハードウェアでのトレーニングは困難です。さらに、RTDETRv2 は検出には優れていますが、Ultralytics エコシステムに固有のマルチタスク汎用性(姿勢推定やセグメンテーションなど)が不足しています。
パフォーマンスの比較#
本番環境でモデルを評価する際、モデルサイズ、推論速度、精度のトレードオフが極めて重要です。以下の表は、YOLOv8 と RTDETRv2 の各バリアントを直接比較したものです。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメータ (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
| 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 |
速度は Amazon EC2 P4d インスタンスを使用して測定されました。CPU 推論には ONNX が活用され、GPU 速度は TensorRT でテストされました。
ユースケースと推奨事項#
YOLOv8 と RT-DETR のどちらを選択するかは、プロジェクトの特定の要件、デプロイの制約、およびエコシステムの好みによって決まります。
YOLOv8を選択すべき場合#
YOLOv8は、以下のようなケースに適した強力な選択肢です。
- 多彩なマルチタスクデプロイ: Ultralyticsエコシステム内でのdetection、segmentation、classification、およびpose estimationに実証済みのモデルを必要とするプロジェクト。
- 確立された運用システム: 既にYOLOv8アーキテクチャ上で構築され、安定してテストされたデプロイメントパイプラインを持つ既存の運用環境。
- 広範なコミュニティとエコシステムのサポート: YOLOv8の広範なチュートリアル、サードパーティ統合、アクティブなコミュニティリソースを活用できるアプリケーション。
RT-DETRを選択すべき時#
RT-DETRが推奨される場合:
- Transformerベースの検出研究: NMSなしのエンドツーエンド物体検出に向けたアテンションメカニズムやTransformerアーキテクチャを探求するプロジェクト。
- 高い精度が求められ、レイテンシに柔軟性があるシナリオ: 検出精度が最優先され、多少推論レイテンシが高くても許容されるアプリケーション。
- 大きな物体の検出: 主に中規模から大規模な物体が中心となるシーンで、Transformerのグローバルアテンションメカニズムが自然な利点となる場合。
Ultralytics (YOLO26) を選択すべき時#
ほとんどの新しいプロジェクトにおいて、Ultralytics YOLO26はパフォーマンスと開発者体験の最高の組み合わせを提供します。
- NMSフリーのエッジ展開: Non-Maximum Suppression後処理の複雑さを伴わずに、一貫した低レイテンシの推論が求められるアプリケーション。
- CPUのみの環境: GPUアクセラレーションを利用できないデバイスにおいて、YOLO26の最大43%高速なCPU推論が決定的な利点となる場合。
- 小物体検出: ProgLossとSTALにより極小オブジェクトの精度が大幅に向上する、空中ドローン画像やIoTセンサー分析などの困難なシナリオ。
Ultralyticsの利点#
モデルの選択は生の指標にとどまらず、開発者の生産性には周囲のソフトウェア エコシステムが不可欠です。Ultralytics エコシステムはその使いやすさで知られており、機械学習のライフサイクル全体を簡素化する統一された Python API を提供します。
データセットの管理から分散トレーニングまで、Ultralytics は複雑なボイラープレート コードを抽象化します。開発者は、すぐに利用できる事前トレーニング済みの重みと、Hugging Face などのプラットフォームや監視ツールとのシームレスな統合の恩恵を受けます。この手入れの行き届いたエコシステムにより、活発な開発、頻繁なアップデート、および堅牢なコミュニティ サポートが保証されます。
さらに、トレーニングの効率性は Ultralytics YOLO モデルの大きな特徴です。トレーニング プロセス中の高速な収束と低いメモリ フットプリントに向けて高度に最適化されており、RTDETRv2 のような Transformer ベースの検出器と比較して、実験サイクルが大幅に加速されます。
今後の展望:YOLO26の力#
YOLOv8 は依然として強力ですが、絶対的な最先端を求める開発者は、2026 年 1 月にリリースされた待望の YOLO26へのアップグレードを検討する必要があります。YOLO26 は、いくつかの画期的なイノベーションにより、最先端を再定義します。
- エンドツーエンドの NMS フリー設計: YOLO26 は非最大値抑制 (NMS) の後処理を排除し、より高速で決定論的なデプロイワークフローを実現します。
- DFL の削除: Distribution Focal Loss を削除することで、エッジおよび低電力デバイスとの互換性を高めるためにモデルを効率化しました。
- MuSGD オプティマイザ: LLM トレーニングのイノベーションを取り入れた MuSGD オプティマイザにより、トレーニングの安定性と収束の高速化を確実にします。
- CPU 推論が最大 43% 高速化: 専用 GPU を持たない環境向けに大幅に最適化されています。
- ProgLoss + STAL: これらの高度な損失関数は、航空画像やロボット工学で重要な小さな物体の認識において顕著な改善をもたらします。
Ultralytics スイート内で探索する価値のあるその他の最新の代替手段には YOLO11 があり、これはレガシー プロジェクトに対して堅牢なパフォーマンスを提供しますが、すべての新しいデプロイメントには YOLO26 が推奨されます。
コード例: 学習と推論#
Ultralytics API のシンプルさにより、数行の Python コードでモデルをロード、トレーニング、およびデプロイできます。次の例を実行する前に、PyTorch がインストールされていることを確認してください。
from ultralytics import YOLO
# Load a pretrained YOLOv8 small model
model = YOLO("yolov8s.pt")
# Train the model on your custom dataset
# Memory efficient training allows for larger batch sizes
train_results = model.train(data="coco8.yaml", epochs=50, imgsz=640, batch=16)
# Run inference on a test image
results = model("https://ultralytics.com/images/bus.jpg")
# Display the results
results[0].show()
# Export seamlessly for edge deployment
export_path = model.export(format="onnx")Ultralytics は、ONNX、TensorRT、CoreML など、多数の形式へのワンクリック エクスポートをサポートしており、さまざまなハードウェア アーキテクチャにわたるモデルのデプロイ オプションを簡素化します。
結論#
YOLOv8 と RTDETRv2 はどちらも、リアルタイム物体検出において魅力的な機能を提供します。RTDETRv2 は、グローバルなコンテキストを捉える Transformer の力を実証しており、推論速度とメモリオーバーヘッドが主な制約とならない複雑な空間推論タスクに適しています。
しかし、速度、精度、リソース効率の優れたバランスを優先する開発者にとって、Ultralytics YOLO モデルは依然として優れた選択肢です。YOLOv8 の軽量性、比類のない使いやすさ、複数のビジョンタスクにわたる汎用性、そして成長を続けるオープンソースエコシステムは、スケーラブルな本番環境にとっての最適なソリューションとなります。エッジパフォーマンスの頂点を求める方には、新たにリリースされた YOLO26 が、業界をリードし続ける比類のない NMS フリーの効率性を提供します。