YOLOv5 YOLOv6.0:エコシステムの成熟度と工業的精度のバランス
急速に進化するコンピュータ・ビジョンにおいて、適切な物体検出アーキテクチャを選択することは、開発者や研究者にとって極めて重要な決断である。この比較では、次のような技術的な違いを掘り下げます。 Ultralytics YOLOv5と、産業用途向けに特別に設計されたフレームワークであるMeituanYOLOv6.0との技術的な違いを掘り下げる。両モデルとも物体検出に優れているが、導入のニーズやワークフローの好みは異なる。
Ultralytics YOLOv5
著者Glenn Jocher
組織: Ultralytics
Date: 2020-06-26
GitHub: yolov5
Docs: https:yolov5
2020年の発売以来、YOLOv5 5は世界で最も人気と信頼のあるAIモデルのひとつとしての地位を確立している。ベースとなっている PyTorchフレームワークで構築され、使いやすさ、エクスポート性、「すぐに使える」パフォーマンスを優先し、最先端の視覚AIへのアクセスを民主化しました。
建築とエコシステム
YOLOv5 、CSPDarknetバックボーンとPANetネック、YOLOv3スタイルのヘッドを組み合わせている。そのアーキテクチャはアンカー・ベースで、アンカー・ボックスを利用してオブジェクトの位置を予測する。重要な差別化要因は、成熟したエコシステムへの統合である。多くの研究用コードベースとは異なり、YOLOv5 5はエンジニアのための製品として設計されており、以下のようなフォーマットへのシームレスなエクスポートを特徴としている。 ONNXやCoreML、TFLiteようなフォーマットへのシームレスなエクスポートが特徴で、モバイルやエッジでの展開に非常に多用途です。
主な強み
- 使いやすさ:YOLOv5 体験」は、そのシンプルさによって定義される。カスタムデータセットのトレーニングから推論の実行まで、ワークフローは合理化され、十分に文書化されている。
- 整備されたエコシステム:積極的なメンテナンス、頻繁なアップデート、大規模なコミュニティにより、ユーザーは恩恵を受ける。以下のようなMLOpsツールとの統合 Weights & Biasesおよび Cometとの統合はネイティブです。
- 汎用性:標準的な検出だけでなく、リポジトリはインスタンスのセグメンテーションと 画像の分類をサポートし、単一のコードベースでマルチタスクのソリューションを提供します。
- メモリ効率:YOLOv5 5は、トランスフォーマーベースのモデルと比較して、トレーニング時のメモリフットプリントが比較的小さいことで知られており、コンシューマーグレードのGPUで利用可能です。
シームレスな展開
YOLOv55はエクスポート可能性に重点を置いているため、開発者はクラウドサーバーからRaspberry PiやNVIDIA Jetsonのようなエッジデバイスまで、多様な環境に簡単にモデルを展開することができる。
美団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: https://arxiv.org/abs/2301.05586
GitHub: YOLOv6
Docs: https:ultralytics
MeituanのビジョンAIチームによって開発されたYOLOv6.0は、特にハードウェアを意識したアプリケーションのために、速度と精度のバランスに焦点を当てた産業コンテンダーとして位置づけられている。YOLOv6-3.0は、TensorRTを使用してGPUのスループットを最大化するように設計されている。 TensorRTを使用してGPUのスループットを最大化するように設計されている。
建築と産業
YOLOv6 、EfficientRepバックボーンとRep-PANネックを利用し、再パラメータ化技術(RepVGGスタイル)を活用することで、精度を犠牲にすることなく推論速度を向上させている。学習時、モデルはマルチブランチ構造を使用し、推論時にはシングルブランチ構造に縮退する。バージョン3.0では、自己蒸留のような戦略を導入し、平均平均精度(mAP)をさらに向上させました。
長所と短所
- GPU 最適化:このアーキテクチャは、標準的なGPU 推論用に大きく調整されており、TensorRT使用した場合、NVIDIA T4カードで高いFPSベンチマークを達成することがよくあります。
- 量子化フレンドリー:Meituanは、トレーニング後の量子化(PTQ)と量子化を考慮したトレーニング(QAT)をサポートしています。
- 限られた汎用性:YOLOv6 検出能力に優れているが、包括的なUltralytics スイートに見られる(ポーズ推定やOBBのような)広範でネイティブなマルチタスクサポートがない。
- 複雑さ:再パラメータ化ステップと特定のトレーニングパイプラインは、Ultralytics モデルのプラグアンドプレイの性質と比較して複雑さをもたらす可能性があります。
性能直接対決
以下の比較は、性能のトレードオフを強調している。YOLOv6.0は、強力なハードウェア上で最高の精度を目指しますが、多くの場合、パラメータ効率とトレードオフになります。対照的に、Ultralytics YOLOv5 5は驚くべきバランスを保ち、CPU環境やエッジデバイスでのリアルタイム推論に優れた軽量モデルを提供しています。
| モデル | サイズ (ピクセル) | mAP値 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | params (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 |
| YOLOv6.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
分析
YOLOv5nは、モバイル・アプリケーション向けの極めて効率的なソリューションとして際立っており、最小のYOLOv6 バリアント(4.7M)と比較して、必要なパラメータが大幅に少なくなっています(2.6M)。YOLOv6.0は、より大きなサイズでより高いピークmAP 達成する一方で、モデルサイズ(FLOPsとパラメータ)の増加という代償を払っています。CPU デプロイメント(ロボット工学や低電力モニタリングで一般的)をターゲットとする開発者のために、YOLOv55のCPU 速度は明確にベンチマークされ最適化されているのに対し、YOLOv6 GPU アクセラレーションに重点を置いている。
トレーニング方法と経験
トレーニングの体験は、2つのエコシステム間で大きく異なる。Ultralytics 、ローコードで柔軟性の高いアプローチを優先します。
Ultralytics ワークフロー
YOLOv5 PyTorch Hubを介して直接統合することができ、ユーザーは最小限の定型コードでモデルをロードして実行することができます。トレーニングスクリプトは、データの増強からロギングまで、すべてを自動的に処理します。
import torch
# Load YOLOv5s from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s")
# Perform inference
img = "https://ultralytics.com/images/zidane.jpg"
results = model(img)
results.print()
産業用ワークフロー
YOLOv6 一般的に、リポジトリのクローン、リパラメータ化バックボーンのための特定の設定ファイルのセットアップ、および外部MLOpsツールとの統合が少ないスクリプトの実行を含む、より手作業によるセットアップを必要とする。強力な反面、報告されたベンチマークを達成するには、特定のアーキテクチャ制約(自己蒸留パラメータなど)をより深く理解する必要がある。
理想的なユースケース
これらのモデルのどちらを選ぶかは、ハードウェア、精度、開発速度に関する特定の制約によって決まる。
- Ultralytics YOLOv5:ラピッドプロトタイピング、エッジデプロイメント、コミュニティサポートに最適です。Raspberry Pi、携帯電話、CPU サーバーにデプロイする必要がある場合、YOLOv55の軽量性とエクスポートサポートは比類のないものです。また、検出と並行してセグメンテーションと分類をサポートする多目的なコードベースを必要とする研究者にも最適です。
- MeituanYOLOv6.0:ハイエンドGPUが利用可能で、mAP 最大化が唯一の優先事項である固定産業環境に最適。NVIDIA T4/A10サーバー上で動作する工場品質保証システムを構築しており、リパラメーター化されたモデルを微調整するエンジニアリング・リソースがある場合、YOLOv6 6は有力な候補となります。
結論
Ultralytics YOLOv5 、そのパフォーマンスバランス、使いやすさ、盛んなエコシステムで称賛され、コンピュータビジョンコミュニティの要であり続けています。エッジからクラウドまで幅広いハードウェアで信頼性の高い結果を提供できるため、汎用性と市場投入までの時間を優先する多くの開発者にとって優れた選択肢となっています。
YOLOv6.0は、産業用GPU 推論のための印象的なアーキテクチャの革新を導入していますが、Ultralytics モデルの包括的なエコシステムとマルチプラットフォーム適応性に欠けています。最新のパフォーマンスと効率性を求める方には、以下をお勧めします。 Ultralytics YOLO11は、ユーザーフレンドリーなUltralytics APIはそのままに、精度とスピードでYOLOv5 YOLOv6 両方を凌駕しています。
専門的なタスクについては、Ultralytics ドキュメントにある以下のような他のモデルも検討してみてください。 YOLOv8, YOLOv9, YOLOv10またはトランスベースの RT-DETR.
Ultralytics Models Documentationで、ビジョンAIの可能性を最大限に引き出してください。