YOLOv5とYOLOXの比較#
リアルタイムコンピュータビジョンの進化において、数多くのマイルストーンが築かれてきました。さまざまなアーキテクチャが速度と精度の限界を押し広げています。この分野で非常に影響力のある2つのモデルが、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: Exceeding YOLO Series in 2021
- 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のアプローチ#
YOLOv5 のトレーニングには通常、オリジナルのリポジトリのクローン、特定依存関係の管理、および複雑なコマンドラインスクリプトの実行が必要です。混合精度トレーニングや 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の長期にわたる安定性の実績、広範なドキュメント、および膨大なコミュニティサポートが重視される既存のデプロイ環境。
- リソースが制限されたトレーニング: GPUリソースが限られており、YOLOv5の効率的なトレーニングパイプラインと低いメモリ要件が有利に働く環境。
- 豊富なエクスポートフォーマットのサポート: 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推論が決定的な利点となる場合。
- 小物体検出: ProgLossとSTALにより極小オブジェクトの精度が大幅に向上する、空中ドローン画像やIoTセンサー分析などの困難なシナリオ。
ビジョンAIの未来: YOLO26の登場#
YOLOv5 と YOLOX の両方がコンピュータービジョンの歴史にその地位を固めていますが、この分野は急速に進歩しています。今日新しくプロジェクトを開始する開発者向けに、Ultralytics は最新のフラッグシップモデルである YOLO26 の探索を強く推奨しています。
2026年1月にリリースされたYOLO26は、パフォーマンスと使いやすさの両面で大きな飛躍を遂げました。画期的なエンドツーエンドのNMSフリー設計を導入しており、Non-Maximum Suppressionの後処理を完全に排除しています。これにより、レイテンシの変動が大幅に抑えられ、低電力デバイス上でのデプロイロジックが簡素化されます。
さらに、YOLO26 は、LLM トレーニングの革新にインスピレーションを得た SGD と Muon のハイブリッドである新しい MuSGD Optimizer を活用し、信じられないほど安定した高速な収束を実現します。簡素化されたエクスポートと優れたエッジ・低電力デバイスの互換性のために分布焦点損失が削除された DFL Removal により、YOLO26 は最大 43% 高速な CPU 推論 を達成し、現代のエッジコンピューティング、ロボティクス、IoT アプリケーション向けの究極のモデルとしての地位を確固たるものにしています。さらに、ProgLoss + STAL は、IoT、ロボティクス、および空中画像にとって極めて重要な小物体認識の顕著な改善を伴う改良された損失関数を提供します。以前の世代に関心のあるユーザーは YOLO11 を調べることもできますが、YOLO26 は文句なしの最先端の選択肢です。
結論#
YOLOv5とYOLOXは、どちらも素晴らしい物体検出能力を提供します。YOLOXは、2021年にアンカーフリー設計が従来の手法と競合し、それを凌駕できることを証明することで、アーキテクチャの限界を押し広げました。しかし、YOLOv5は、その比類なき使いやすさ、広範なエコシステム、およびトレーニング中のより低いメモリ要件により、依然として強力な力を持っています。
商用アプリケーションの大部分において、Ultralyticsエコシステムは、生のデータセットからデプロイされた本番モデルまでの最速のパスを提供します。実績のあるYOLOv5を使用する場合でも、最先端のYOLO26へアップグレードする場合でも、開発者はビジョンAIを身近で効率的、かつ高性能にするために設計されたフレームワークの恩恵を受けることができます。