Meituan YOLOv6#
概要#
MeituanのYOLOv6は2022年にリリースされ、速度と精度の優れたバランスを提供するため、リアルタイムアプリケーションで人気の選択肢となっています。このモデルは、双方向連結(BiC)モジュール、アンカー支援トレーニング(AAT)戦略の導入、およびCOCO datasetで高い精度を実現するための改良されたbackboneとネックの設計など、そのアーキテクチャとトレーニングスキームにいくつかの顕著な改良を導入しています。
YOLOv6 の概要。 大幅なパフォーマンス向上をもたらした、再設計されたネットワークコンポーネントと学習戦略を示すモデルアーキテクチャ図。(a) YOLOv6 のネック(N と S を表示)。M/L については、RepBlocks が CSPStackRep に置き換えられていることに注意してください。(b) BiC モジュールの構造。(c) SimCSPSPPF ブロック。(source)。
主な特徴#
- 双方向連結 (BiC) モジュール: YOLOv6は、検出器のネックにBiCモジュールを導入することで、ローカリゼーション信号を強化し、速度をほとんど低下させることなくパフォーマンスを向上させています。
- アンカー支援学習(AAT)戦略: このモデルは、推inference効率を損なうことなく、anchor-based および anchor-free の両方のパラダイムの利点を享受できるように AAT を提案しています。
- 強化されたバックボーンおよびネック設計: バックボーンとネックにもう一つのステージを追加することでYOLOv6を深層化した結果、リリース時点で高解像度入力においてCOCOデータセット上で強力なパフォーマンスを達成しました。
- 自己蒸留戦略: YOLOv6の小型モデルのパフォーマンスを向上させるために、新しい自己蒸留戦略が実装されています。これによりトレーニング中に補助回帰ブランチを強化し、推論時には速度の著しい低下を避けるためにそれを削除します。
性能メトリクス#
YOLOv6は、さまざまなスケールの事前学習済みモデルを提供しています:
- YOLOv6-N: NVIDIA T4 GPUを使用し、1187 FPSでCOCO val2017において37.5% AP。
- YOLOv6-S: 484 FPSで45.0% AP。
- YOLOv6-M: 226 FPSで50.0% AP。
- YOLOv6-L: 116 FPSで52.8% AP。
- YOLOv6-L6: リアルタイムにおいて最高水準の精度。
YOLOv6 はまた、さまざまな precisions 向けの量子化モデルや、モバイルプラットフォーム向けに最適化されたモデルも提供しています。
使用例#
この例では、簡単な YOLOv6 の学習および推論の例を提供します。これらおよびその他の modes に関する完全なドキュメントについては、Predict、Train、Val、および Export のドキュメントページをご覧ください。
YOLOv6 *.yaml ファイルを YOLO() クラスに渡して、Python で対応するモデルを構築できます。
from ultralytics import YOLO
# Build a YOLOv6n model from scratch
model = YOLO("yolov6n.yaml")
# Display model information (optional)
model.info()
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with the YOLOv6n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")サポートされるタスクとモード#
YOLOv6 シリーズはさまざまなモデルを提供しており、それぞれが高性能な Object Detection 向けに最適化されています。これらのモデルは、さまざまな計算ニーズと accuracy の要件に対応するため、幅広いアプリケーションで汎用的に使用できます。
| モデル | ファイル名 | タスク | トレーニング | バリデーション | 推論 | エクスポート |
|---|---|---|---|---|---|---|
| YOLOv6-N | yolov6n.yaml | Object Detection | ✅ | ✅ | ✅ | ✅ |
| YOLOv6-S | yolov6s.yaml | Object Detection | ✅ | ✅ | ✅ | ✅ |
| YOLOv6-M | yolov6m.yaml | Object Detection | ✅ | ✅ | ✅ | ✅ |
| YOLOv6-L | yolov6l.yaml | Object Detection | ✅ | ✅ | ✅ | ✅ |
| YOLOv6-X | yolov6x.yaml | Object Detection | ✅ | ✅ | ✅ | ✅ |
この表は、YOLOv6 モデルのバリエーションの詳細な概要を示しており、object detection タスクにおける機能と、Inference、Validation、Training、Export などのさまざまな運用モードとの互換性を強調しています。この包括的なサポートにより、ユーザーは幅広い物体検出シナリオで YOLOv6 モデルの機能を最大限に活用できます。
引用と謝辞#
リアルタイム物体検出の分野への多大な貢献に対し、著者らに敬意を表します:
@misc{li2023yolov6,
title={YOLOv6 v3.0: A Full-Scale Reloading},
author={Chuyi Li and Lulu Li and Yifei Geng and Hongliang Jiang and Meng Cheng and Bo Zhang and Zaidan Ke and Xiaoming Xu and Xiangxiang Chu},
year={2023},
eprint={2301.05586},
archivePrefix={arXiv},
primaryClass={cs.CV}
}オリジナルの YOLOv6 の論文は arXiv で見つけることができます。著者は自分たちの研究を一般公開しており、コードベースは GitHub からアクセスできます。分野の発展に貢献し、広範なコミュニティがその研究を利用できるようにしてくれた彼らの努力に感謝します。
よくある質問 (FAQ)#
Meituan YOLOv6とは何であり、何がユニークなのですか?#
2022年にリリースされたMeituan YOLOv6は、速度と精度のバランスを取り、リアルタイムアプリケーション向けに設計された物体検出器です。これには、双方向連結 (BiC) モジュールやアンカー補助トレーニング (AAT) 戦略といった注目すべきアーキテクチャの強化が含まれています。これらのイノベーションにより、速度をほとんど低下させることなく大幅なパフォーマンス向上が実現され、YOLOv6は物体検出タスクにおいて競争力のある選択肢となっています。
YOLOv6の双方向連結 (BiC) モジュールはどのようにパフォーマンスを向上させますか?#
YOLOv6 の双方向連結(BiC)モジュールは、検出器のネックにおけるローカライゼーション信号を強化し、速度への影響を無視できる程度に抑えながらパフォーマンスを向上させます。このモジュールは、さまざまな feature maps を効果的に結合し、モデルがオブジェクトを正確に検出する能力を高めます。YOLOv6 の機能の詳細については、Key Features セクションを参照してください。
Ultralyticsを使用してYOLOv6モデルをトレーニングするにはどうすればよいですか?#
Ultralyticsを使用してYOLOv6モデルをトレーニングするには、シンプルなPythonまたはCLIコマンドを使用できます。例:
from ultralytics import YOLO
# Build a YOLOv6n model from scratch
model = YOLO("yolov6n.yaml")
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)詳細については、Train ページをご覧ください。
YOLOv6にはどのようなバージョンがあり、そのパフォーマンスメトリクスは何ですか?#
YOLOv6には複数のバージョンがあり、それぞれが異なるパフォーマンス要件に合わせて最適化されています:
- YOLOv6-N: 1187 FPSで37.5% AP
- YOLOv6-S: 484 FPSで45.0% AP
- YOLOv6-M: 226 FPSで50.0% AP
- YOLOv6-L: 116 FPSで52.8% AP
- YOLOv6-L6: リアルタイムシナリオにおいて最高水準の精度
これらのモデルは、NVIDIA T4 GPU を使用して COCO dataset で評価されています。パフォーマンス指標の詳細については、Performance Metrics セクションをご覧ください。
アンカー補助トレーニング (AAT) 戦略はどのようにYOLOv6に利益をもたらしますか?#
YOLOv6 のアンカー支援学習(AAT)は、アンカーベースおよびアンカーフリーのアプローチの要素を組み合わせており、推論効率を損なうことなくモデルの検出機能を強化します。この戦略では、学習中にアンカーを活用して bounding box の予測を改善し、YOLOv6 を多様な物体検出タスクで効果的にします。
UltralyticsのYOLOv6モデルでは、どの操作モードがサポートされていますか?#
YOLOv6 は、推論、検証、学習、エクスポートなどのさまざまな運用モードをサポートしています。この柔軟性により、ユーザーはさまざまなシナリオでモデルの機能を完全に活用できます。各モードの詳細な概要については、Supported Tasks and Modes セクションをご確認ください。