グリーンチェック
クリップボードにコピーされたリンク

Ultralytics YOLOv5 v7.0 におけるインスタンス・セグメンテーションの導入

新しいインスタンス分割モデルを搭載し、SOTAベンチマークを凌駕する最高のAI精度と速度を実現したYOLOv5 v7.0をご覧ください。コミュニティにご参加ください。

YOLOv5 当社のAIアーキテクチャの最新バージョンであるv7.0がリリースされ、新しいインスタンス・セグメンテーション・モデルをご紹介できることを嬉しく思います!

この最新リリースに取り組んでいる間、私たちは2つの目標を常に念頭に置いていた。ひとつはAIを簡単にすること、もうひとつは "最先端 "とは何かを再定義することです。

そこで、大幅な改良、修正、アップグレードを行いました。既存のYOLOv5 オブジェクト検出モデルと同じシンプルなワークフローを維持したまま、YOLOv5 v7.0でモデルのトレーニング、検証、デプロイがこれまで以上に簡単になりました。その上、すべてのSOTAベンチマークを上回り、実質的にYOLOv5 、世界で最も高速かつ高精度になりました。

セグメンテーション・モデルのリリースは今回が初めてなので、このマイルストーンを非常に誇りに思う。このリリースを可能にしたのは、献身的なコミュニティと貢献者のおかげです。  

Ultralytics YOLOv5 v7.0 SOTAリアルタイム・インスタンス・セグメンテーション

それでは、YOLOv5 v7.0のリリースノートから始めよう!

YOLOv5 重要なアップデート

2022年8月にリリースされたYOLOv5 v6 .2以降、YOLOv5 で更新された内容は以下の通り。

  • セグメンテーションモデル ⭐ NEW: SOTAYOLOv5-seg COCO-事前学習済みセグメンテーションモデルが初めて利用可能になりました(#9052by @glenn-jocher, @AyushExel, and @Laughing-q)
  • PaddlePaddle エクスポート:python export.py --include paddle#9459by @glenn-jocher) により、任意のYOLOv5 モデル (cls, seg, det) を Paddle フォーマットにエクスポートします。
  • YOLOv5 AutoCache を追加しました:python train.py --cache ram を使用することで、利用可能なメモリをスキャンし、予測されるデータセットの RAM 使用量と比較するようになりました。これはキャッシングのリスクを減らし、学習を大幅に高速化できるデータセットキャッシング機能の採用を改善するのに役立つはずです。(#10027by @glenn-jocher)
  • Comet ロギングとビジュアライゼーションの統合:永久無料、 Cometこれにより、YOLOv5 モデルの保存、トレーニングの再開、予測値のインタラクティブな可視化とデバッグが可能になります。(#9232@DN6さんによる)

新しいセグメンテーション・チェックポイント

A100GPUを使用し、画像サイズ640で300エポック、COCO上でYOLOv5 セグメンテーションモデルを学習した。全てのモデルをCPU のスピードテスト用にONNX FP32 に、GPU のスピードテスト用にTensorRT FP16 にエクスポートした。再現性を容易にするため、すべてのスピードテストをGoogle Colab Proノートブックで実行した。

  • すべてのチェックポイントは、画像サイズ640、すべてのデフォルト設定で、lr0=0.01、weight_decay=5e-5のSGDオプティマイザで300エポックまで学習されています。すべての実行はここに記録されています。
  • 精度の値は、COCOデータセットのシングルモデルシングルスケールのものです。python segment/val.py --data coco.yaml --weights yolov5s-seg.pt で再現。
  • Colab Pro A100 High-RAMインスタンスを使用した100枚の推論画像の平均速度。値は推論速度のみを示す(NMSは1画像あたり約1msを追加)。python segment/val.py --data coco.yaml --weights yolov5s-seg.pt --batch 1で再現。
  • FP32のONNX 、FP16のTensorRT 、export.pyでエクスポート。python export.py --weights yolov5s-seg.pt --include engine --device 0 --half で再現します。

新しいセグメンテーションの使用例

電車

YOLOv5 セグメンテーショントレーニングは、-data coco128-seg.yaml引数によるCOCO128-segセグメンテーションデータセットの自動ダウンロードと、bash data/scripts/get_coco.sh --train --val --segments、python train.py --data coco.yamlによるCOCO-segmentsデータセットの手動ダウンロードに対応しています。

シングルGPU

python segment/train.py --model yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640

マルチGPU DDP

python -mtorch.distributed.run --nproc_per_node 4 --master_port 1 segment/train.py --model yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640 --device 0,1,2,3

バル

ImageNet-1kデータセットでYOLOv5m-segの精度を検証:

bash data/scripts/get_coco.sh --val --segments # COCOのvalセグメント分割をダウンロード (780MB、5000画像)python segment/val.py --weights yolov5s-seg.pt --data coco.yaml --img 640 # バリデーション

予測する

事前に学習されたYOLOv5m-segを使ってbus.jpgを予測する:

python segment/predict.py --weights yolov5m-seg.pt --data data/images/bus.jpg

model =torch.hub.load('ultralytics/yolov5', 'custom', 'yolov5m-seg.pt') #PyTorch Hub (WARNING: 推論はまだサポートされていません)

Ultralytics YOLOv5 v7.0 インスタンスのセグメンテーション


輸出

YOLOv5s-segモデルをONNX とTensorRT にエクスポートする:

python export.py --weights yolov5s-seg.pt --includeonnx engine --img 640 --device 0

Ultralytics YOLOv5 v7.0 インスタンスのセグメンテーション

質問がありますか?Ultralytics フォーラムで質問したり、問題を提起したり、レポにPRを投稿してください。YOLOv5 segmentation Colab notebookでクイックスタートチュートリアルを始めることもできます。

Facebookのロゴツイッターのロゴリンクトインのロゴコピー・リンク・シンボル

このカテゴリの続きを読む

AIの未来
を一緒に作りましょう!

機械学習の未来への旅を始めよう