美団YOLOv6
概要
Meituan YOLOv6は、速度と精度の優れたバランスを提供する最先端の物体detectorであり、リアルタイムアプリケーションに最適です。このモデルは、双方向連結(BiC)モジュール、アンカー支援トレーニング(AAT)戦略、およびCOCOデータセットで最先端の精度を実現するための改善されたバックボーンとネックデザインの実装など、アーキテクチャとトレーニングスキームにいくつかの注目すべき機能強化を導入しています。

YOLOv6概要。 大幅な性能向上をもたらした、再設計されたネットワークコンポーネントとトレーニング戦略を示すモデルアーキテクチャ図。(a)YOLOv6 6のネック(NとSを示す)。M/LではRepBlocksがCSPStackRepに置き換えられている。 (b) BiCモジュールの構造。(c) SimCSPSPPFブロック。(ソース)。
主な特徴
- 双方向コンカチネーション(BiC)モジュール: YOLOv6 、ディテクタのネック部にBiCモジュールを導入し、ローカライゼーション信号を強化し、速度劣化を最小限に抑えて性能を向上させています。
- Anchor-Aided Training (AAT) 戦略: このモデルは、推論効率を損なうことなく、anchor-basedとanchor-freeの両方のパラダイムの利点を享受するために、AATを提案します。
- バックボーンとネック設計の強化: YOLOv6 深化させ、バックボーンとネックに別のステージを含めることで、このモデルは高解像度入力のCOCO データセットで最先端の性能を達成した。
- 自己蒸留戦略: YOLOv66の小さなモデルの性能を向上させるために、新しい自己蒸留戦略が実装され、学習時に補助的な回帰ブランチを強化し、推論時にそれを削除することで、著しい速度低下を回避する。
パフォーマンス指標
YOLOv6 、さまざまなスケールの事前学習済みモデルが用意されている:
- YOLOv6:NVIDIA T4GPU COCO val2017を1187 FPSで37.5%のAP 。
- YOLOv6:484FPSで45.0%のAP 。
- YOLOv6:226FPSでAP 50.0%。
- YOLOv6:116FPSでAP 52.8%。
- YOLOv6:最先端の精度をリアルタイムで。
YOLOv6 また、さまざまな精度の量子化モデルや、モバイルプラットフォームに最適化されたモデルも提供している。
使用例
この例では、簡単なYOLOv6 トレーニングと推論の例を提供します。これらのモードや他のモードに関する完全なドキュメントは、Predict,Train,ValandExportdocsページを参照してください。
例
YOLOv6 *.yaml filesを以下に渡すことができます。 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")
CLIコマンドは、モデルを直接実行するために利用できます。
# Build a YOLOv6n model from scratch and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov6n.yaml data=coco8.yaml epochs=100 imgsz=640
# Build a YOLOv6n model from scratch and run inference on the 'bus.jpg' image
yolo predict model=yolov6n.yaml source=path/to/bus.jpg
サポートされているタスクとモード
YOLOv6 シリーズには、高性能な物体検出用に最適化された様々なモデルがあります。これらのモデルは、さまざまな計算ニーズや精度要件に対応し、幅広いアプリケーションに対応します。
| モデル | ファイル名 | タスク | 推論 | 検証 | 学習 | エクスポート |
|---|---|---|---|---|---|---|
| YOLOv6 | yolov6n.yaml | 物体検出 | ✅ | ✅ | ✅ | ✅ |
| YOLOv6 | yolov6s.yaml | 物体検出 | ✅ | ✅ | ✅ | ✅ |
| YOLOv6 | yolov6m.yaml | 物体検出 | ✅ | ✅ | ✅ | ✅ |
| YOLOv6 | yolov6l.yaml | 物体検出 | ✅ | ✅ | ✅ | ✅ |
| YOLOv6 | yolov6x.yaml | 物体検出 | ✅ | ✅ | ✅ | ✅ |
この表は、YOLOv6 モデルバリアントの詳細な概要を示しており、物体検出タスクにおけるそれぞれの機能と、推論、検証、トレーニング、エクスポートといった様々な操作モードとの互換性を強調しています。この包括的なサポートにより、ユーザーは幅広い物体検出シナリオで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でアクセスできる。我々は、この分野を発展させ、より広いコミュニティーが彼らの研究にアクセスできるようにした彼らの努力に感謝している。
よくある質問
MeituanのYOLOv6 何ですか?
MeituanのYOLOv6 6は、リアルタイムアプリケーションに理想的な速度と精度のバランスが取れた最先端のオブジェクト検出器です。双方向連結(BiC)モジュールやアンカー支援トレーニング(AAT)ストラテジーなど、注目すべきアーキテクチャーの強化が特徴です。これらの技術革新により、速度劣化を最小限に抑えながら大幅な性能向上を実現し、YOLOv6 6は物体検出タスクにおいて競争力のある選択肢となっています。
YOLOv6 6の双方向連結(BiC)モジュールはどのようにパフォーマンスを向上させるのか?
YOLOv6 6のBi-directional Concatenation(BiC)モジュールは、検出器のネックにあるローカリゼーション信号を強化し、速度への影響を最小限に抑えながらパフォーマンスを向上させます。このモジュールは、異なる特徴マップを効果的に結合し、物体を正確にdetect するモデルの能力を向上させます。YOLOv66の機能の詳細については、主要機能のセクションを参照してください。
Ultralytics YOLOv6 モデルをトレーニングするには?
簡単なPython コマンドやCLI コマンドで、Ultralytics YOLOv6 モデルをトレーニングすることができます。例えば
例
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)
yolo train model=yolov6n.yaml data=coco8.yaml epochs=100 imgsz=640
詳細については、Trainページをご覧ください。
YOLOv6 さまざまなバージョンとそのパフォーマンス指標は?
YOLOv6 複数のバージョンがあり、それぞれ異なるパフォーマンス要件に最適化されている:
- YOLOv6:1187FPSで37.5%のAP
- YOLOv6:484FPSで45.0%のAP
- YOLOv6:226FPSでAP 50.0%。
- YOLOv6:116FPSで52.8%のAP
- YOLOv6:リアルタイムシナリオにおける最先端の精度
これらのモデルは、NVIDIA T4GPU使用してCOCO データセットで評価されている。パフォーマンス・メトリクスの詳細については、パフォーマンス・メトリクスのセクションを参照してください。
アンカー支援トレーニング(AAT)戦略はYOLOv6どのようなメリットをもたらすのか?
YOLOv6 6のアンカー支援トレーニング(AAT)は、アンカーベースとアンカーフリーのアプローチの要素を組み合わせることで、推論効率を損なうことなくモデルの検出能力を向上させる。この戦略は、学習中にアンカーを活用してバウンディングボックスの予測を向上させ、YOLOv6 多様な物体検出タスクに有効なものにします。
Ultralytics YOLOv6 モデルでサポートされている運用モードは?
YOLOv6 、推論、検証、トレーニング、エクスポートを含む様々な操作モードをサポートしている。この柔軟性により、ユーザーは様々なシナリオでモデルの能力をフルに活用することができる。各モードの詳細については、「サポートされるタスクとモード」のセクションをご覧ください。