コンテンツにスキップ

YOLOX対YOLOv5:アンカーフリーの革新性と実証された効率性を探る

急速に進化する物体検出において、適切なアーキテクチャを選択することはプロジェクトの成功にとって極めて重要である。この比較では、影響力のある2つのモデルを検討する:YOLOXは、アンカーフリーの設計で知られるアカデミックな大企業である。 YOLOv5スピードと展開の容易さで業界標準となっている。どちらのモデルもコンピュータ・ビジョンの分野を形成してきましたが、研究グレードの精度を優先するか、生産に耐えうる効率を優先するかによって、それぞれ異なるニーズに応えています。

性能分析:速度、精度、効率

YOLOXとYOLOv5評価する際、その違いはしばしば生の精度と運用効率のトレードオフに帰着する。YOLOXは、非結合ヘッドやアンカー・フリー・メカニズムなど、大幅なアーキテクチャの変更を導入し、リリースと同時に最先端のmAP (平均平均精度)スコアを達成しました。YOLOXは、特にCOCOような難易度の高いベンチマークにおいて、精度が何パーセントでも重要なシナリオで優れた性能を発揮します。

逆に、Ultralytics YOLOv5は、「実世界」のパフォーマンスに焦点を当てて設計されました。推論スピードと低レイテンシーを優先しているため、モバイルアプリ、組み込みシステム、エッジAIデバイスに非常に適している。特定の大規模モデルのmAP YOLOXがわずかに優位に立つかもしれないが、YOLOv5 包括的なUltralytics エコシステムを活用し、スループット(フレーム/秒)と展開の柔軟性で一貫して上回っている。

下の表は、様々なサイズのモデルを並べて詳細に比較したものである。YOLOv5 競争力のある精度を維持しながら、推論時間を大幅に短縮していることに注目してください。 TensorRT.

モデルサイズ
(ピクセル)
mAP
50-95
速度
CPU ONNX
(ms)
速度
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
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
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

YOLOX:アンカーなしのコンテンダー

YOLOXは、YOLO シリーズとアンカーフリー検出における学術的進歩とのギャップを埋めるために、Megviiの研究者によって開発された。あらかじめ定義されたアンカーボックスの制約を取り除くことで、YOLOXは学習プロセスを簡素化し、ヒューリスティックなチューニングの必要性を減らしている。

アーキテクチャとイノベーション

YOLOXは、分類と回帰のタスクを異なるブランチに分離するデカップルド・ヘッド(Decoupled Head)を組み込んでいる。この設計は、以前のYOLO バージョンの結合ヘッドとは対照的で、収束速度と精度が向上していると報告されている。さらに、ポジティブサンプルを動的に割り当てる高度なラベル割り当て戦略であるSimOTAを利用し、密なシーンにおけるモデルのロバスト性を高めている。

長所と短所

YOLOXの第一の強みは、特に最大のバリエーション(YOLOX-x)での高い精度上限と、研究者にとって魅力的なアンカーのないすっきりとしたデザインにある。しかし、これらの利点にはトレードオフがあります。非結合ヘッドは計算の複雑さを増し、YOLOv5推論が遅くなることが多い。さらに、研究に特化したモデルであるため、Ultralytics エコシステムに見られる、まとまりのあるユーザーフレンドリーなツールがなく、商用パイプラインへの統合が複雑になる可能性がある。

理想的なユースケース

  • 学術研究:新しい検出アーキテクチャとラベル割り当て戦略の実験。
  • 高精度タスク:オフラインのビデオ分析など、mAP 1~2%の向上が推論の遅さのコストを上回るシナリオ。
  • 密集した物体の検出:SimOTAが優れた性能を発揮する、物体が激しく散乱した環境。

YOLOXの詳細について。

YOLOv5:プロダクション・スタンダード

2020年のリリース以来、Ultralytics YOLOv5は、世界中の開発者にとって、頼りになるモデルとなっています。機械学習オペレーション(MLOps)のライフサイクル全体を効率化するように設計されたプラットフォームによってサポートされ、パフォーマンスと実用性のバランスが非常に優れています。

建築とエコシステム

YOLOv5 、効率的な特徴抽出のために最適化されたCSPNetバックボーンとパスアグリゲーションネットワーク(PANet)ネックを利用している。もともとPyTorchアンカーベースのアプローチを普及させたものですが、その最大の資産は周囲のエコシステムです。ONNX、CoreML、TFLiteようなフォーマットへの自動エクスポートや、モデルのトレーニングと管理のためのUltralytics HUBとのシームレスな統合が可能です。

ご存知でしたか?

YOLOv5 5はバウンディングボックスに限定されない。インスタンスのセグメンテーションや 画像の分類など複数のタスクをサポートしており、複雑なビジョンパイプラインに対応する汎用性の高いツールとなっている。

長所と短所

使いやすさがYOLOv55の特徴である。シンプルなPython APIにより、開発者は数行のコードで事前に訓練された重みをロードし、推論を実行することができます。このモデルはスピードのために高度に最適化されており、YOLOXと比較してCPUとGPUの両方で一貫して低いレイテンシーを実現している。また、学習時に必要なメモリ量も少なく、標準的なハードウェアで利用可能です。アンカーベースの設計のため、カスタムデータセット用にアンカーを進化させる必要がありますが(YOLOv5自動的に処理されます)、その信頼性とよくメンテナンスされたエコシステムにより、本番用として優れています。

理想的なユースケース

  • リアルタイム・アプリケーション:低遅延が重要なビデオ監視、自律走行、ロボット工学。
  • エッジ展開:効率的なアーキテクチャにより、Raspberry Pi、NVIDIA Jetson、またはモバイルデバイス上で動作。
  • 商用製品:長期的なサポートと統合の容易さが要求される場合の、迅速なプロトタイピングと展開。
  • マルチタスク・ビジョン:単一のフレームワーク内で検出、セグメンテーション、分類を必要とするプロジェクト。

YOLOv5の詳細について。

コード例:Ultralytics YOLOv5 実行する

Ultralytics Python パッケージは、YOLOv5 モデルを驚くほど簡単に利用できる。以下は、事前に訓練されたモデルを使用して推論を実行する方法の例です。

from ultralytics import YOLO

# Load a pre-trained YOLOv5 model (Nano version for speed)
model = YOLO("yolov5nu.pt")

# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")

# Display the results
results[0].show()

結論正しい選択をする

どちらのモデルもコンピュータ・ビジョンにおける重要な成果であるが、対象者は異なる。YOLOXは、より細分化されたツールセットを使いこなし、アンカーなし検出の限界を押し広げようとしている研究者にとっては、手強い選択肢である。

しかし、大半の開発者、エンジニア、企業にとっては Ultralytics YOLOv5が優れた選択肢であることに変わりはありません。他の追随を許さないスピード多用途性、そして堅牢でアクティブなエコシステムという勝利の組み合わせにより、最小限の摩擦でコンセプトからデプロイメントに移行することができます。さらに、Ultralytics フレームワークを採用することで、次のような次世代モデルへの明確なアップグレードパスが提供されます。 YOLO11のような次世代モデルへの明確なアップグレードパスを提供します。

その他のモデル比較

これらのモデルが他のアーキテクチャーとどのように比較されるかを検討し、特定のニーズに最適なものを見つけてください:


コメント