Meituan YOLOv6
概要
Meituan YOLOv6は、速度と精度の優れたバランスを提供する最先端の物体検出器であり、リアルタイムアプリケーションで広く利用されています。このモデルは、双方向連結(BiC)モジュール、アンカー支援トレーニング(AAT)戦略、およびバックボーンとネックの設計改善など、アーキテクチャとトレーニングスキームにいくつかの注目すべき改良を導入し、COCOデータセットで最先端の精度を実現しています。
YOLOv6の概要。 大幅なパフォーマンス向上につながった、再設計されたネットワークコンポーネントとトレーニング戦略を示すモデルアーキテクチャ図。(a)YOLOv6のネック(NとSを示す)。M/Lの場合、RepBlocksはCSPStackRepに置き換えられることに注意してください。(b)BiCモジュールの構造。(c)SimCSPSPPFブロック。ソース)。
主な特徴
- 双方向連結(BiC)モジュール: YOLOv6は、検出器のネックにBiCモジュールを導入し、ローカリゼーション信号を強化し、速度の低下を無視できる程度に抑えながらパフォーマンスを向上させます。
- Anchor-Aided Training (AAT) 戦略: このモデルは、推論効率を損なうことなく、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はまた、異なる精度向けに量子化されたモデルと、モバイルプラットフォーム向けに最適化されたモデルを提供します。
使用例
この例では、シンプルな YOLOv6 のトレーニングと推論の例を紹介します。これらおよびその他のモードに関する完全なドキュメントについては、Predict、Train、Val、Exportのドキュメントページを参照してください。
例
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シリーズは、高性能なObject Detection向けに最適化されたさまざまなモデルを提供します。これらのモデルは、さまざまな計算ニーズと精度要件に対応しており、幅広いアプリケーションに汎用性があります。
モデル | ファイル名 | タスク | 推論 | 検証 | 学習 | エクスポート |
---|---|---|---|---|---|---|
YOLOv6-N | yolov6n.yaml |
物体検出 | ✅ | ✅ | ✅ | ✅ |
YOLOv6-S | yolov6s.yaml |
物体検出 | ✅ | ✅ | ✅ | ✅ |
YOLOv6-M | yolov6m.yaml |
物体検出 | ✅ | ✅ | ✅ | ✅ |
YOLOv6-L | yolov6l.yaml |
物体検出 | ✅ | ✅ | ✅ | ✅ |
YOLOv6-X | 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は、速度と精度を両立した最先端の物体検出器であり、リアルタイムアプリケーションに最適です。双方向連結(BiC)モジュールやアンカー支援トレーニング(AAT)戦略などの注目すべきアーキテクチャの拡張機能を備えています。これらのイノベーションは、速度の低下を最小限に抑えながら、大幅なパフォーマンス向上を実現し、YOLOv6を物体検出タスクの競争力のある選択肢にしています。
YOLOv6の双方向連結(BiC)モジュールは、どのようにパフォーマンスを向上させますか?
YOLOv6の双方向連結(BiC)モジュールは、検出器のネックのローカリゼーション信号を強化し、速度への影響を無視できる程度のパフォーマンス向上を実現します。このモジュールは、さまざまな特徴マップを効果的に結合し、オブジェクトを正確に検出するモデルの能力を高めます。YOLOv6の機能の詳細については、主な機能セクションを参照してください。
Ultralyticsを使用してYOLOv6モデルをトレーニングするにはどうすればよいですか?
Ultralyticsを使用して、簡単なpythonまたはCLIコマンドで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-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データセットで評価されます。パフォーマンス指標の詳細については、パフォーマンス指標セクションをご覧ください。
Anchor-Aided Training(AAT)戦略は、YOLOv6にどのように役立ちますか?
YOLOv6のAnchor-Aided Training (AAT)は、アンカーベースとアンカーフリーのアプローチの要素を組み合わせ、推論効率を損なうことなくモデルの検出能力を向上させます。この戦略は、トレーニング中にアンカーを活用してバウンディングボックスの予測を改善し、YOLOv6を多様な物体検出タスクで効果的にします。
Ultralytics において、YOLOv6 モデルはどの動作モードをサポートしていますか?
YOLOv6は、推論、検証、トレーニング、エクスポートを含む様々な動作モードをサポートしています。この柔軟性により、ユーザーはさまざまなシナリオでモデルの機能を最大限に活用できます。各モードの詳細な概要については、サポートされているタスクとモードのセクションをご覧ください。