YOLOv5 対 YOLOX#
リアルタイムコンピュータビジョンの進化では、速度と精度の限界を押し広げるさまざまなアーキテクチャによって、多くのマイルストーンが築かれてきました。この分野で特に大きな影響力を持つモデルが、YOLOv5とYOLOXです。どちらも物体検出で高い性能を発揮することで知られていますが、アーキテクチャには根本的に異なるアプローチを採用しています。
このガイドでは、これら2つのモデルについて、アーキテクチャ、性能指標、トレーニング手法、最適なデプロイシナリオを詳細に技術分析し、開発者や研究者がビジョンAIプロジェクトに適したツールを選択できるようにします。
モデルの概要とアーキテクチャの違い#
Ultralytics YOLOv5#
- 著者: Glenn Jocher
- 組織: Ultralytics
- 日付: 2020-06-26
- GitHub: Ultralytics YOLOv5 リポジトリ
- ドキュメント: YOLOv5 公式ドキュメント
Ultralytics によって発表された YOLOv5 は、性能、使いやすさ、メモリ効率の優れたバランスにより、すぐに業界標準となりました。PyTorch フレームワーク上にネイティブに構築された YOLOv5 は、アンカーベースのアーキテクチャを使用しています。事前定義されたバウンディングボックスの形状に基づいて物体の位置を予測するため、標準的な物体検出タスクで非常に効果的です。
YOLOv5 の最大の強みの1つは、十分に保守されたエコシステムです。豊富なドキュメント、非常にシンプルな Python API、Ultralytics Platform とのネイティブ統合を備えています。これにより、開発者はデータセットのラベリングから、トレーニング、ONNX や TensorRT などの形式へのエクスポートまで、シームレスに移行できます。
Ultralytics YOLO モデルは通常、複雑な Transformer ベースの代替モデルと比較して、トレーニング中に必要とする GPU メモリが大幅に少なくなります。この小さなメモリフットプリントにより、YOLOv5 はコンシューマー向けハードウェアを使用する研究者にも非常に利用しやすいモデルです。
Megvii YOLOX#
- 著者: Zheng Ge、Songtao Liu、Feng Wang、Zeming Li、Jian Sun
- 組織: Megvii
- 日付: 2021-07-18
- Arxiv: YOLOX: 2021年にYOLOシリーズを超越
- GitHub: Megvii YOLOX リポジトリ
- ドキュメント: YOLOX GitHub ドキュメント
Megvii の研究者によって開発された YOLOX は、YOLO ファミリーにアンカーフリー設計を導入するという異なる道を選びました。アンカーボックスを排除することで、YOLOX は検出ヘッドを簡素化し、トレーニング中に手動で調整する必要があるヒューリスティックパラメーターの数を大幅に削減しています。
YOLOX はさらに、分類タスクと回帰タスクを異なるネットワークブランチに分離するデカップルドヘッドを取り入れ、SimOTA のラベル割り当て戦略を活用しています。これらの革新により、学術研究と産業用途の隔たりが埋められ、物体スケールが大きく異なる環境で YOLOX は特に効果を発揮します。
パフォーマンスとメトリクス#
コンピュータビジョンモデルを評価する際、平均適合率(mAP)と推論速度のトレードオフは重要です。どちらのモデルも、異なるハードウェア制約に対応できるよう、Nano から Extra-Large までさまざまなサイズを提供しています。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメーター数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
YOLOXx はピーク精度がわずかに高い(51.1 mAP)一方で、YOLOv5 は CPU と GPU ハードウェア全体で、はるかに堅牢で十分にテストされたデプロイパイプラインを提供します。YOLOv5 の TensorRT における速度は、エッジコンピューティングデバイス向けの高度な最適化を示しており、リアルタイム動画分析に非常に信頼性の高い選択肢となっています。
トレーニング手法と使いやすさ#
この2つのアーキテクチャでは、開発者エクスペリエンスが大きく異なります。
YOLOX のアプローチ#
YOLOX のトレーニングでは通常、元のリポジトリをクローンし、特定の依存関係を管理して、複雑なコマンドラインスクリプトを実行する必要があります。MegEngine を介した混合精度トレーニングやマルチノード構成などの高度な機能をサポートしていますが、迅速なプロトタイピングを必要とする開発者にとっては、習得のハードルが高くなる場合があります。
Ultralyticsの優位性#
一方、Ultralytics は非常に効率化されたユーザーエクスペリエンスを優先しています。ultralytics Python パッケージを使用すると、開発者は最小限の定型コードでモデルの読み込み、トレーニング、検証を実行できます。Ultralytics は、複雑なデータ拡張、ハイパーパラメーターの進化、学習率スケジューリングを自動的に処理します。
from ultralytics import YOLO
# Load a pretrained YOLOv5 small model
model = YOLO("yolov5s.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate the model's performance
metrics = model.val()さらに、YOLOv5 の汎用性は標準的な物体検出にとどまらず、まったく同じ一貫した API 内で 画像分類 と インスタンスセグメンテーション を強力にサポートします。
トレーニングが完了したら、YOLOv5 モデルを CoreML、TFLite、または OpenVINO にエクスポートするには、model.export(format="onnx") を実行するだけです。これにより、研究に重点を置いたリポジトリで一般的に必要となるサードパーティ製変換スクリプトが不要になります。
実世界での用途#
これらのモデルのどちらを選択するかは、デプロイ環境と技術要件によって決まります。
- 小売・在庫管理: NVIDIA Jetson のようなエッジデバイス上でリアルタイムの商品認識を必要とするアプリケーションには、YOLOv5 が非常に適しています。小さなメモリフットプリントと高速な TensorRT 推論により、フレームを落とさずにマルチカメラトラッキングを実行できます。
- 学術研究とカスタムアーキテクチャ: YOLOX は研究コミュニティで高く評価されています。デカップルドヘッドとアンカーフリーという特性により、新しいラベル割り当て戦略を試したいエンジニアや、従来のアンカーボックスでは汎化が困難なデータセットに取り組むエンジニアにとって、優れたベースラインとなります。
- 農業AI: ドローンによる果物検出や雑草識別などの精密農業タスクでは、Ultralytics Platform を使用して YOLOv5 モデルを簡単にトレーニングおよびデプロイできるため、専門的な機械学習エンジニアリングの深い知識がない分野の専門家でも AI ソリューションを導入できます。
ユースケースと推奨事項#
YOLOv5 と YOLOX のどちらを選択するかは、具体的なプロジェクト要件、デプロイの制約、エコシステムに関する好みによって決まります。
YOLOv5を選ぶべきケース#
YOLOv5 は次の用途に適しています:
- 実績のある本番システム: YOLOv5の長年にわたる安定性の実績、豊富なドキュメント、広範なコミュニティサポートが重視される既存のデプロイ環境。
- リソースに制約のあるトレーニング: YOLOv5の効率的なトレーニングパイプラインと少ないメモリ要件が有利になる、GPUリソースが限られた環境。
- 幅広いエクスポート形式のサポート: ONNX、TensorRT、CoreML、TFLiteなど、多数の形式にまたがるデプロイが必要なプロジェクト。
YOLOX を選択するタイミング#
YOLOX は次の用途に推奨されます。
- アンカーフリー検出の研究: 新しい検出ヘッドや損失関数を試すためのベースラインとして、YOLOX の簡潔なアンカーフリーアーキテクチャを使用する学術研究。
- 超軽量エッジデバイス: YOLOX-Nano バリアントの非常に小さなフットプリント(0.91Mパラメータ)が重要となる、マイクロコントローラーや従来型モバイルハードウェアへのデプロイ。
- SimOTA ラベル割り当て研究: 最適輸送に基づくラベル割り当て戦略と、それがトレーニングの収束に与える影響を調査する研究プロジェクト。
Ultralytics (YOLO26)を選ぶタイミング#
ほとんどの新規プロジェクトでは、Ultralytics YOLO26が性能と開発者エクスペリエンスの最適な組み合わせを提供します。
- NMSフリーのエッジデプロイ: Non-Maximum Suppressionの後処理を複雑にすることなく、一貫した低レイテンシー推論が必要なアプリケーション。
- CPUのみの環境: 専用GPUアクセラレーションを持たないデバイスで、YOLO26の最大43%高速なCPU推論が決定的な優位性となる場合。
- 小さな物体の検出: aerial drone imageryやIoTセンサー分析など、ProgLossとSTALによって微小物体の精度が大幅に向上する難しいシナリオ。
ビジョンAIの未来:YOLO26の登場#
YOLOv5 と YOLOX はどちらもコンピュータビジョンの歴史に確固たる地位を築いていますが、この分野は急速に進歩しています。現在新しいプロジェクトを始める開発者には、Ultralytics は最新のフラッグシップモデルである YOLO26 を検討することを強く推奨します。
2026年1月にリリースされた YOLO26 は、性能と使いやすさの両面で大きく進歩しています。画期的な エンドツーエンドの NMS-free 設計を導入し、Non-Maximum Suppression の後処理を完全に排除しています。これにより、レイテンシーの変動が大幅に抑えられ、低消費電力デバイス上でのデプロイロジックが簡素化されます。
さらに、YOLO26 は LLM のトレーニングにおける革新に着想を得た、SGD と Muon のハイブリッドである新しい MuSGD Optimizer を利用し、非常に安定した高速収束を実現します。DFL Removal(Distribution Focal Loss を削除してエクスポートを簡素化し、エッジデバイスや低消費電力デバイスとの互換性を向上)により、YOLO26 は最大 43% 高速な CPU 推論を実現し、最新のエッジコンピューティング、ロボティクス、IoT アプリケーション向けの究極のモデルとしての地位を確立しています。さらに、ProgLoss + STAL により損失関数が改善され、IoT、ロボティクス、航空画像で重要となる小物体認識が大幅に向上します。以前の世代に関心があるユーザーは YOLO11 も確認できますが、YOLO26 が議論の余地なく最先端の選択肢です。
まとめ#
YOLOv5 と YOLOX はどちらも、優れた物体検出機能を提供します。YOLOX は、2021年にアンカーフリー設計が従来手法と競合し、それを上回ることが可能であると実証し、アーキテクチャの可能性を広げました。しかし、YOLOv5 は、比類のない使いやすさ、広範なエコシステム、トレーニング時の低いメモリ要件により、依然として大きな存在感を保っています。
大半の商用アプリケーションでは、Ultralytics エコシステムが、未加工のデータセットから本番環境にデプロイされたモデルまでの最短経路を提供します。実績のある YOLOv5 を利用する場合でも、最先端の YOLO26 にアップグレードする場合でも、開発者はビジョンAIを利用しやすく、効率的で、高性能にすることを目的としたフレームワークの恩恵を受けられます。