美団YOLOv6
概要
MeituanのYOLOv6は、スピードと精度のバランスに優れた最先端の物体検出器であり、リアルタイム・アプリケーションに広く採用されています。このモデルでは、双方向連結(BiC)モジュールの実装、アンカー支援学習(AAT)戦略、COCOデータセットで最先端の精度を実現するための改良されたバックボーンとネック設計など、アーキテクチャと学習スキームにいくつかの注目すべき改良が加えられています。
YOLOv6の概要。 大幅な性能向上をもたらした、再設計されたネットワークコンポーネントとトレーニング戦略を示すモデルアーキテクチャ図。(a)YOLOv6のネック(NとSを示す)。M/LではRepBlocksがCSPStackRepに置き換えられている。 (b) BiCモジュールの構造。(c) SimCSPSPPFブロック。(ソース).
主な特徴
- 双方向コンカチネーション(BiC)モジュール:YOLOv6では、ディテクタのネック部にBiCモジュールを導入し、ローカライゼーション信号を強化することで、速度劣化を最小限に抑えながらパフォーマンスを向上させています。
- アンカー支援トレーニング(AAT)戦略:このモデルは、推論効率を損なうことなく、アンカーベースとアンカーフリーの両方のパラダイムの利点を享受するAATを提案する。
- バックボーンとネック設計の強化:YOLOv6を深化させ、バックボーンとネックに別のステージを含めることで、このモデルは高解像度入力のCOCOデータセットで最先端の性能を達成した。
- 自己蒸留戦略:YOLOv6の小さなモデルの性能を向上させるために、新しい自己蒸留戦略が実装され、学習時に補助的な回帰ブランチを強化し、推論時にそれを削除することで、著しい速度低下を回避する。
パフォーマンス指標
YOLOv6には、さまざまなスケールの事前学習済みモデルが用意されている:
- YOLOv6-N: COCO val2017で37.5%のAPを1187FPSでNVIDIA Tesla T4GPU.
- YOLOv6-S:484FPSで45.0%のAP。
- YOLOv6-M:226FPSでAP50.0%。
- YOLOv6-L:116FPSでAP52.8%。
- YOLOv6-L6:最先端の精度をリアルタイムで。
YOLOv6はまた、さまざまな精度の量子化モデルやモバイルプラットフォームに最適化されたモデルも提供している。
使用例
この例では、簡単なYOLOv6のトレーニングと推論の例を提供します。これらのモードや他のモードに関する完全なドキュメントは、Predict,Train,ValandExportdocsページを参照してください。
例
PyTorch じゅくれんした *.pt
モデルおよび構成 *.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")
CLI コマンドでモデルを直接実行できる:
サポートされるタスクとモード
YOLOv6シリーズには、高性能な物体検出用に最適化された様々なモデルがあります。これらのモデルは、さまざまな計算ニーズや精度要件に対応し、幅広いアプリケーションに対応します。
モデル・タイプ | 事前に訓練されたウェイト | 対応タスク | 推論 | バリデーション | トレーニング | 輸出 |
---|---|---|---|---|---|---|
YOLOv6-N | yolov6-n.pt |
物体検出 | ✅ | ✅ | ✅ | ✅ |
YOLOv6-S | yolov6-s.pt |
物体検出 | ✅ | ✅ | ✅ | ✅ |
YOLOv6-M | yolov6-m.pt |
物体検出 | ✅ | ✅ | ✅ | ✅ |
YOLOv6-L | yolov6-l.pt |
物体検出 | ✅ | ✅ | ✅ | ✅ |
YOLOv6-L6 | yolov6-l6.pt |
物体検出 | ✅ | ✅ | ✅ | ✅ |
この表は、YOLOv6モデルバリアントの詳細な概要を示しており、物体検出タスクにおけるそれぞれの機能と、推論、検証、トレーニング、エクスポートといった様々な操作モードとの互換性を強調しています。この包括的なサポートにより、ユーザーは幅広い物体検出シナリオでYOLOv6モデルの能力をフルに活用することができます。
引用と謝辞
リアルタイム物体検出分野における著者らの多大な貢献に謝意を表したい:
オリジナルのYOLOv6論文はarXivに掲載されている。著者らは彼らの研究を公開し、コードベースはGitHubでアクセスできる。我々は、この分野を発展させ、より広いコミュニティーが彼らの研究にアクセスできるようにした彼らの努力に感謝している。
よくあるご質問
MeituanのYOLOv6とは何ですか?
MeituanのYOLOv6は、リアルタイムアプリケーションに理想的な速度と精度のバランスが取れた最先端のオブジェクト検出器です。双方向連結(BiC)モジュールやアンカー支援トレーニング(AAT)ストラテジーなど、注目すべきアーキテクチャーの強化が特徴です。これらの技術革新により、速度劣化を最小限に抑えながら大幅な性能向上を実現し、YOLOv6は物体検出タスクにおいて競争力のある選択肢となっています。
YOLOv6の双方向連結(BiC)モジュールはどのようにパフォーマンスを向上させるのか?
YOLOv6のBi-directional Concatenation(BiC)モジュールは、検出器のネックにあるローカリゼーション信号を強化し、速度への影響を最小限に抑えながらパフォーマンスを向上させます。このモジュールは、異なる特徴マップを効果的に結合し、物体を正確に検出するモデルの能力を向上させます。YOLOv6の機能の詳細については、主要機能のセクションを参照してください。
Ultralytics を使ってYOLOv6モデルをトレーニングするには?
YOLOv6モデルは、Ultralytics を使って、Python またはCLI の簡単なコマンドでトレーニングできる。例えば
例
詳しくは電車のページをご覧ください。
YOLOv6のさまざまなバージョンとそのパフォーマンス指標は?
YOLOv6には複数のバージョンがあり、それぞれ異なるパフォーマンス要件に最適化されている:
- YOLOv6-N:1187FPSで37.5%のAP
- YOLOv6-S:484FPSで45.0%のAP
- YOLOv6-M:226FPSでAP50.0%。
- YOLOv6-L:116FPSで52.8%のAP
- YOLOv6-L6:リアルタイムシナリオにおける最先端の精度
これらのモデルは、NVIDIA Tesla T4GPU を使用したCOCOデータセットで評価されている。パフォーマンス・メトリクスの詳細については、パフォーマンス・メトリクスのセクションを参照。
アンカー支援トレーニング(AAT)戦略はYOLOv6にどのようなメリットをもたらすのか?
YOLOv6のアンカー支援トレーニング(AAT)は、アンカーベースとアンカーフリーのアプローチの要素を組み合わせることで、推論効率を損なうことなくモデルの検出能力を向上させる。この戦略は、学習中にアンカーを活用してバウンディングボックスの予測を向上させ、YOLOv6を多様な物体検出タスクに有効なものにします。
Ultralytics 、YOLOv6モデルがサポートしている運用モードは?
YOLOv6は、推論、検証、トレーニング、エクスポートを含む様々な操作モードをサポートしている。この柔軟性により、ユーザーは様々なシナリオでモデルの能力をフルに活用することができる。各モードの詳細については、「サポートされるタスクとモード」のセクションをご覧ください。