Présentation de la segmentation d'instances dans Ultralytics YOLOv5 v7.0
Découvre YOLOv5 v7.0, la version qui a introduit les modèles de segmentation d’instances YOLOv5, avec des exemples d’entraînement, de validation, de prédiction et d’exportation.
Nuvola Ladi4 min de lecture
YOLOv5 v7.0, la dernière version de notre architecture d’IA, est disponible, et nous sommes ravis de présenter nos nouveaux modèles de segmentation d’instances ! (Pour les nouveaux projets, découvre Ultralytics YOLO26, qui prend également en charge la segmentation d’instances.)

Lors de la préparation de cette dernière version, nous avons gardé deux objectifs en tête. Le premier était notre mission de rendre l’IA facile d’accès, et le second, notre volonté de redéfinir ce que signifie réellement « l’état de l’art ».
Nous avons donc apporté des améliorations, des corrections et des mises à niveau majeures. Tout en conservant les mêmes flux de travail simples que nos modèles de détection d’objets Ultralytics YOLOv5 actuels, YOLOv5 v7.0 facilite plus que jamais l’entraînement, l’évaluation et le déploiement de tes modèles. De plus, nous avons dépassé tous les benchmarks de pointe, faisant de YOLOv5-seg le modèle de segmentation d’instances en temps réel le plus rapide et le plus précis au moment de sa sortie.
Comme il s’agit de notre première version de modèles de segmentation, nous sommes extrêmement fiers de cette étape importante. Nous devons beaucoup à notre communauté engagée et aux contributeurs qui ont contribué à rendre cette version possible.

Alors, commençons par consulter les notes de version de YOLOv5 v7.0 !
Principales mises à jour d’Ultralytics YOLOv5#
Voici les nouveautés de YOLOv5 depuis notre dernière version, YOLOv5 v6.2, sortie en août 2022.
- Modèles de segmentation ⭐ NOUVEAU : les modèles de segmentation YOLOv5-seg SOTA préentraînés sur COCO sont désormais disponibles pour la première fois (#9052 par @glenn-jocher, @AyushExel et @Laughing-q)
- Export au format PaddlePaddle : exporte n’importe quel modèle YOLOv5 (cls, seg, det) au format Paddle avec
python export.py --include paddle(#9459 par @glenn-jocher) - YOLOv5 AutoCache :
python train.py --cache ramanalysera désormais la mémoire disponible et la comparera à l’utilisation de RAM prévue pour le jeu de données. Cela réduit les risques liés à la mise en cache et devrait favoriser l’adoption de la fonctionnalité de mise en cache des jeux de données, qui peut accélérer considérablement l’entraînement. (#10027 par @glenn-jocher) - Intégration de la journalisation et de la visualisation Comet : gratuit pour toujours, Comet te permet d’enregistrer des modèles YOLOv5, de reprendre l’entraînement et de visualiser et déboguer les prédictions de manière interactive. (#9232 par @DN6)
Nouveaux checkpoints de segmentation#
Nous avons entraîné des modèles de segmentation Ultralytics YOLOv5 sur COCO pendant 300 époques, avec une taille d’image de 640 et des GPU A100. Nous avons exporté tous les modèles au format ONNX FP32 pour les tests de vitesse sur CPU et au format TensorRT FP16 pour les tests de vitesse sur GPU. Nous avons réalisé tous les tests de vitesse sur des notebooks Google Colab Pro afin de faciliter leur reproductibilité.
- Tous les checkpoints sont entraînés pendant 300 époques avec l’optimiseur SGD, avec lr0=0.01 et weight_decay=5e-5, une taille d’image de 640 et tous les paramètres par défaut. Toutes les exécutions sont consignées dans ces journaux d’entraînement Weights & Biases.
- Les valeurs de précision correspondent à une seule échelle et à un seul modèle sur le jeu de données COCO. Reproduis-les avec
python segment/val.py --data coco.yaml --weights yolov5s-seg.pt - Vitesse moyenne calculée sur 100 images d’inférence avec une instance Colab Pro A100 High-RAM. Les valeurs indiquent uniquement la vitesse d’inférence (NMS ajoute environ 1 ms par image). Reproduis-les avec
python segment/val.py --data coco.yaml --weights yolov5s-seg.pt --batch 1 - L’export vers ONNX en FP32 et vers TensorRT en FP16 a été effectué avec export.py. Reproduis-le avec
python export.py --weights yolov5s-seg.pt --include engine --device 0 --half
Nouveaux exemples d’utilisation de la segmentation#
Entraînement#
L’entraînement de segmentation avec Ultralytics YOLOv5 prend en charge le téléchargement automatique du jeu de données de segmentation COCO128-seg avec l’argument --data coco128-seg.yaml, ainsi que le téléchargement manuel du jeu de données COCO-segments avec bash data/scripts/get_coco.sh --train --val --segments, puis python segment/train.py --data coco.yaml.
Un seul GPU#
python segment/train.py --weights yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640DDP multi-GPU#
python -m torch.distributed.run --nproc_per_node 4 --master_port 1 segment/train.py --weights yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640 --device 0,1,2,3Validation#
Évaluer la précision de YOLOv5s-seg sur le jeu de données COCO :
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 # validatePrédiction#
Utilise YOLOv5m-seg préentraîné pour effectuer une prédiction sur bus.jpg :
python segment/predict.py --weights yolov5m-seg.pt --source data/images/bus.jpgmodel = torch.hub.load("ultralytics/yolov5", "custom", "yolov5m-seg.pt") # charger depuis PyTorch Hub (AVERTISSEMENT : l’inférence n’est pas encore prise en charge)
Exportation#
Exporter le modèle YOLOv5s-seg vers ONNX et TensorRT :
python export.py --weights yolov5s-seg.pt --include onnx engine --img 640 --device 0
Tu as des questions ? Pose-les sur le forum Ultralytics, signale un problème ou soumet une PR dans le dépôt. Tu peux aussi commencer avec notre notebook Colab de segmentation YOLOv5 pour suivre des tutoriels de prise en main.
Écrit par
Commentaires
Pose une question, partage tes résultats ou aide quelqu’un.










