Contrôle vert
Lien copié dans le presse-papiers

Introduction de la segmentation des instances dans Ultralytics YOLOv5 v7.0

Découvre YOLOv5 v7.0 avec de nouveaux modèles de segmentation d'instances, surpassant les benchmarks SOTA pour une précision et une vitesse d'IA de haut niveau. Rejoins notre communauté.

YOLOv5 Lav7.0, la dernière version de notre architecture d'IA, est sortie, et nous sommes ravis de vous présenter nos nouveaux modèles de segmentation des instances !

En travaillant sur cette dernière version, nous avons gardé deux objectifs en tête. Le premier était notre mission de rendre l'IA facile, et le second était notre objectif de redéfinir ce que signifie vraiment "l'état de l'art".

C'est ce que nous avons fait en apportant des améliorations, des corrections et des mises à niveau significatives. En conservant les mêmes flux de travail simples que nos modèles de détection d'objets existants sur YOLOv5 , il est maintenant plus facile que jamais d'entraîner, de valider et de déployer vos modèles avec YOLOv5 v7.0. De plus, nous avons dépassé toutes les références SOTA, ce qui fait de YOLOv5 le modèle le plus rapide et le plus précis au monde.

Comme il s'agit de notre première version de modèles de segmentation, nous sommes immensément fiers de cette étape. Nous devons de nombreux remerciements à notre communauté dévouée et à nos contributeurs, qui nous ont aidés à rendre cette version possible.  

Ultralytics YOLOv5 v7.0 SOTA Segmentation des instances en temps réel

Commençons donc par les notes de mise à jour de YOLOv5 v7.0 !

Mises à jour importantes sur YOLOv5

Voici ce qui a été mis à jour dans YOLOv5 depuis notre dernière version de YOLOv5 v6 .2 en août 2022.

  • Modèles de segmentation ⭐ NOUVEAU: les modèles de segmentation SOTA YOLOv5-seg COCO-pretrained sont désormais disponibles pour la première fois(#9052 par @glenn-jocher, @AyushExel, et @Laughing-q).
  • PaddlePaddle Export: Exporter n'importe quel modèle YOLOv5 (cls, seg, det) au format Paddle avec python export.py --include paddle #9459 par @glenn-jocher).
  • YOLOv5 AutoCache: Utilise python train.py --cache ram va maintenant analyser la mémoire disponible et la comparer à l'utilisation prévue de la mémoire vive de l'ensemble de données. Cela réduit les risques liés à la mise en cache et devrait contribuer à améliorer l'adoption de la fonctionnalité de mise en cache du jeu de données, qui peut accélérer considérablement la formation.(#10027 par @glenn-jocher)
  • Comet Intégration de l'enregistrement et de la visualisation: Gratuit pour toujours, Comet te permet de sauvegarder les modèles YOLOv5 , de reprendre l'entraînement et de visualiser et déboguer les prédictions de façon interactive.(#9232 par @DN6)

Nouveaux points de contrôle de la segmentation

Nous avons entraîné YOLOv5 modèles de segmentation sur COCO pendant 300 époques à la taille d'image 640 en utilisant les GPU A100. Nous avons exporté tous les modèles vers ONNX FP32 pour les tests de vitesse de CPU et vers TensorRT FP16 pour les tests de vitesse de GPU . Nous avons effectué tous les tests de vitesse sur les ordinateurs portables Google Colab Pro pour faciliter la reproductibilité.

  • Tous les points de contrôle sont entraînés à 300 époques avec l'optimiseur SGD avec lr0=0,01 et weight_decay=5e-5 à la taille d'image 640 et tous les paramètres par défaut. Toutes les exécutions sont enregistrées ici.
  • Les valeurs de précision sont pour un seul modèle à une seule échelle sur l'ensemble de données COCO. Reproduction par python segment/val.py --data coco.yaml --weights yolov5s-seg.pt
  • Vitesse moyenne sur 100 images d'inférence en utilisant une instance Colab Pro A100 High-RAM. Les valeurs indiquent la vitesse d'inférence uniquement (NMS ajoute environ 1ms par image). Reproduction par python segment/val.py --data coco.yaml --weights yolov5s-seg.pt --batch 1
  • Exportation vers ONNX à FP32 et TensorRT à FP16 réalisée avec export.py. Reproduction par python export.py --weights yolov5s-seg.pt --include engine --device 0 --half

Exemples d'utilisation de la nouvelle segmentation

Train

YOLOv5 La formation à la segmentation prend en charge le téléchargement automatique de l'ensemble de données de segmentation COCO128-seg avec l'argument --data coco128-seg.yaml et le téléchargement manuel de l'ensemble de données COCO-segments avec bash data/scripts/get_coco.sh --train --val --segments et ensuite python train.py --data coco.yaml.

Unique-GPU

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

Multi-GPU DDP

python -m torch.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

Val

Valider la précision de YOLOv5m-seg sur l'ensemble de données ImageNet-1k :

bash data/scripts/get_coco.sh --val --segments # download COCO val segments split (780MB, 5000 images) python segment/val.py --weights yolov5s-seg.pt --data coco.yaml --img 640 # validate

Prévoir

Utilise YOLOv5m-seg pour prédire 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') # load from PyTorch Hub (WARNING : inference not yet supported)

Ultralytics YOLOv5 v7.0 Segmentation des instances


Exporter

Exporte le modèle YOLOv5s-seg vers ONNX et TensorRT:

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

Ultralytics YOLOv5 v7.0 Segmentation des instances

Tu as des questions ? Pose-les sur le forumUltralytics , soulève un problème ou soumets un PR sur le repo. Tu peux aussi commencer avec notre carnet de notesYOLOv5 segmentation Colab pour des tutoriels de démarrage rapide.

Logo FacebookLogo de TwitterLogo LinkedInSymbole du lien de copie

Lire la suite dans cette catégorie

Construisons ensemble le futur
de l'IA !

Commence ton voyage avec le futur de l'apprentissage automatique.