コンテンツへスキップ

美団YOLOv6

概要

MeituanのYOLOv6は、スピードと精度のバランスに優れた最先端の物体検出器であり、リアルタイム・アプリケーションに広く採用されています。このモデルでは、双方向連結(BiC)モジュールの実装、アンカー支援学習(AAT)戦略、COCOデータセットで最先端の精度を実現するための改良されたバックボーンとネック設計など、アーキテクチャと学習スキームにいくつかの注目すべき改良が加えられています。

美団YOLOv6 モデル例 YOLOv6の概要。 大幅な性能向上をもたらした、再設計されたネットワークコンポーネントとトレーニング戦略を示すモデルアーキテクチャ図。(a)YOLOv6のネック(NとSを示す)。M/LではRepBlocksがCSPStackRepに置き換えられている。 (b) BiCモジュールの構造。(c) SimCSPSPPFブロック。(ソース).

主な特徴

  • 双方向コンカチネーション(BiC)モジュール:YOLOv6では、ディテクタのネック部にBiCモジュールを導入し、ローカライゼーション信号を強化することで、速度劣化を最小限に抑えながらパフォーマンスを向上させています。
  • アンカー支援トレーニング(AAT)戦略:このモデルは、推論効率を損なうことなく、アンカーベースとアンカーフリーの両方のパラダイムの利点を享受するAATを提案する。
  • バックボーンとネック設計の強化:YOLOv6を深化させ、バックボーンとネックに別のステージを含めることで、このモデルは高解像度入力のCOCOデータセットで最先端の性能を達成した。
  • 自己蒸留戦略:YOLOv6の小さなモデルの性能を向上させるために、新しい自己蒸留戦略が実装され、学習時に補助的な回帰ブランチを強化し、推論時にそれを削除することで、著しい速度低下を回避する。

パフォーマンス指標

YOLOv6には、さまざまなスケールの事前学習済みモデルが用意されている:

  • YOLOv6-N:NVIDIA Tesla T4 GPUを使用し、1187 FPSのCOCO val2017で37.5%のAP。
  • 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 コマンドでモデルを直接実行できる:

# 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-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モデルの能力をフルに活用することができます。

引用と謝辞

リアルタイム物体検出分野における著者らの多大な貢献に謝意を表したい:

@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でアクセスできる。我々は、この分野を発展させ、より広いコミュニティーが彼らの研究にアクセスできるようにした彼らの努力に感謝している。



作成日:2023-11-12 更新日:2024-01-07
作成者:glenn-jocher(5)

コメント