コンテンツにスキップ

YOLOv6.0とYOLOXの比較:工業用スピードとアンカーフリーの精度を深く掘り下げる

最適な物体検出アーキテクチャを選択することは、コンピュータビジョンシステムの効率と能力に影響を与える重要な決定である。この技術比較では、YOLOv6.0と YOLOXを検証します。YOLOXは、リアルタイム検出の状況を形成してきた2つの影響力のあるモデルです。アーキテクチャの革新性、ベンチマーク性能指標、様々な展開シナリオへの適合性を分析する。

YOLOv6.0:産業効率のために設計された

著者Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu, and Xiangxiang Chu
組織Meituan
Date: 2023-01-13
Arxiv:YOLOv6 v3.0:A Full-Scale Reloading
GitHub:YOLOv6
DocsUltralytics YOLOv6 ドキュメント

MeituanのVision AI部門によって開発されたYOLOv6.0は、ハードウェアリソースに制約がありがちでありながら、リアルタイムのスピードが譲れない産業用アプリケーションのために特別に設計されています。標準的なGPU ハードウェア上で物体検出パイプラインのスループットを最大化することに重点を置いている。

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

YOLOv6.0は、推論コストを増加させることなく精度を向上させるために、一連の "bag-of-freebies "を導入している。

  • 再パラメータ可能なバックボーン:EfficientRepバックボーンを利用することで、学習時には複雑なマルチブランチ構造(豊富な特徴をとらえる)を可能にし、推論時にはシンプルで高速なシングルパス構造に縮退します。
  • アンカー補助学習(AAT):推論時にはアンカーを用いない検出器として動作するが、学習時にはアンカーを用いた補助分岐を用いることで、収束を安定させ、性能を向上させる。
  • 自己蒸留:生徒モデルが自身の教師モデルの予測から学習し、外部依存なしに精度を向上させる知識蒸留技術。

長所と短所

YOLOv6.0の最大の強みは、レイテンシの最適化にある。で最適化された場合、NVIDIA GPU上で卓越した推論速度を達成します。 TensorRTで最適化された場合、NVIDIA GPU上で非常に高速な推論を実現し、高スループットのファクトリーオートメーションやスマートシティ監視の有力な候補となります。さらに、量子化を考慮したトレーニング(QAT)をサポートしているため、精度の要求が低いエッジデバイスへの展開に役立ちます。

しかし、このモデルはやや特殊である。より広範なフレームワークに見られるネイティブなマルチタスクの汎用性に欠け、ほぼ検出に特化している。さらに、そのエコシステムは堅牢ではあるが、Ultralytics モデルを取り巻くコミュニティよりも小規模であるため、サードパーティのチュートリアルやニッチなデータセット用に事前に訓練された重みの利用が制限される可能性がある。

YOLOv6もっと知る

YOLOX:シンプルさとアンカーのない革新性

著者Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, and Jian Sun
組織Megvii
Date: 2021-07-18
Arxiv:YOLOX: ExceedingYOLO Series in 2021
GitHubMegvii-BaseDetection/YOLOX
DocsYOLOXドキュメント

YOLOXは、アンカーなし検出器を主流のYOLO 系譜に加えることで、パラダイムシフトをもたらしました。あらかじめ定義されたアンカーボックスの必要性をなくすことで、設計プロセスを簡素化し、さまざまな形状の物体に対する汎化性を向上させました。

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

YOLOXは、クリーンなアーキテクチャを維持しながらパフォーマンスを向上させるために、いくつかの高度な技術を統合している:

  • 非結合型ヘッド:結合型ヘッド(分類とローカライゼーションのために特徴を共有する)を使用していた以前のYOLO バージョンとは異なり、YOLOXはこれらのタスクを分離することで、収束の速さと精度の向上を実現している。
  • SimOTA ラベル割り当て:学習プロセスを最適輸送問題として扱い、コストを最小化する方法で正サンプルをグランドトゥルースに自動的に割り当てる、高度な動的ラベル割り当て戦略。
  • 強力な補強:を多用している。 MixUpとMosaic補強を多用し、事前に訓練されたバックボーンがなくてもロバストな特徴を学習できる。

長所と短所

YOLOXは精度と研究の柔軟性に優れています。アンカーを使用しないため、通常とは異なるアスペクト比を持つ物体の検出に特に効果的で、このようなシナリオでは、アンカーを使用する同等品よりも優れた性能を発揮することが多い。また、YOLOX-Nanoモデルは際立って軽量(パラメータ1M以下)であるため、極めて低消費電力のマイクロコントローラーに最適です。

欠点として、YOLOXは、同レベルの精度のYOLOv6 YOLO11 ような新しいモデルと比較して、FLOPsの点で計算コストが高くなる可能性があります。YOLOXのトレーニングパイプラインは、効果的ではあるが、複雑な動的ラベル割り当て計算のために遅くなる可能性があり、高度に最適化されたUltralytics 実装と比較して、一般的にトレーニング中に多くのGPU メモリを必要とする。

YOLOXの詳細について。

パフォーマンス比較:指標と分析

次の表は、COCO データセットにおける主要なパフォーマンスメトリクスの比較である。

モデルサイズ
(ピクセル)
mAP
50-95
速度
CPU ONNX
(ms)
速度
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
YOLOv6.0n64037.5-1.174.711.4
YOLOv6.0s64045.0-2.6618.545.3
YOLOv6.0m64050.0-5.2834.985.8
YOLOv6.0l64052.8-8.9559.6150.7
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9

分析

このデータは、設計思想の明確な相違を浮き彫りにしている。 YOLOv6.0 ハードウェアを意識した効率性において優位に立つ。例えば YOLOv6-3.0n はT4 GPUで1.17msという驚異的な推論時間を達成し、このクラスのモデルの一般的なベンチマークよりも大幅に高速化した。また YOLOv6-3.0l また、最大のYOLOXモデル(YOLOXx52.8対51.1mAP)の精度であった。 フロップス.

YOLOX逆に、超軽量カテゴリーでは勝利している。その YOLOXnano これは、最新の検出器ではほとんど再現できないことであり、計算速度よりもメモリ・ストレージが主なボトルネックとなる特定のIoTアプリケーションに適している。しかし、汎用的な検出では、YOLOXはYOLOv6同等の精度を得るために、より多くのパラメーターを必要とする傾向がある。

ハードウェアに関する考察

導入対象が最新のNVIDIA GPU Orin、T4、A100など)の場合、YOLOv6.0は、その特化したバックボーンにより、より優れたスループットを提供する可能性が高い。一般的なCPU 、ストレージの制限が非常に厳しいレガシーな組み込みシステムをターゲットにしている場合は、YOLOX Nanoの方が適しているかもしれません。

Ultralyticsの利点:YOLO11を選ぶ理由

一方、YOLOv6 YOLOXは、特定のニッチ向けの堅牢なソリューションを提供している、 Ultralytics YOLO11は、最先端の研究の集大成であり、大多数の開発者にスピード、精度、使いやすさの優れたバランスを提供します。

比類なき汎用性とエコシステム

バウンディングボックスの検出のみにフォーカスすることが多い競合他社とは異なり、YOLO11 、インスタンス・セグメンテーションポーズ推定指向性オブジェクト検出(OBB)、および分類を含む、幅広いコンピュータビジョンタスクをネイティブにサポートしています。これにより、開発者は複雑な複数段階の問題を単一のフレームワークで解決することができます。

さらに、Ultralytics エコシステムは積極的にメンテナンスされており、最新のPython バージョン、PyTorch アップデート、以下のようなデプロイメントターゲットとの互換性を確保しています。 CoreML, OpenVINOそして ONNX.

効率と使いやすさ

YOLO11 トレーニングの効率性を重視して設計されており、通常、トランスフォーマーベースの代替品(RT-DETR)や旧バージョンのYOLO 少ないGPU メモリで済む。これにより、研究者はコンシューマーグレードのハードウェアでより大きなモデルをトレーニングすることができる。Python APIはシンプルに設計されており、ユーザーはインストールから推論までわずか数行のコードで行うことができる:

from ultralytics import YOLO

# Load the YOLO11 model (n, s, m, l, or x)
model = YOLO("yolo11n.pt")

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

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

実世界でのパフォーマンス・バランス

ベンチマークは一貫して、YOLO11 より高い性能を達成していることを示している。 mAPスコアを達成することが示されている。この「パレート最適」性能により、自律走行車から 医療画像解析まで幅広いアプリケーションに推奨される選択肢となっている。

結論

YOLOv6.0と YOLOXを比較する場合、その選択は特定の制約に大きく依存します。YOLOv6.0は、ミリ秒レベルのレイテンシーが重要な産業用GPU 導入に適しています。YOLOXは、アンカーフリーアーキテクチャの研究や、Nanoモデルによる超制約されたストレージ環境のための堅実な選択肢です。

しかし、トップクラスのパフォーマンスと、使いやすく機能豊富なプラットフォームを兼ね備えた、将来性のあるソリューションを求める開発者にとっては、Ultralyticsは非常に有効なソリューションです、 Ultralytics YOLO11が決定的な勝者です。複数のタスクをシームレスに処理するその能力は、豊富なドキュメントと幅広い導入サポートと相まって、コンセプトから本番までの開発ライフサイクルを加速させます。

Ultralytics モデルがどのように比較されるか、他の比較もご覧ください。 RT-DETRまたは YOLOv7.


コメント