Segmentation d'instance et suivi avec Ultralytics YOLO26 🚀
Qu'est-ce que la segmentation d'instance ?
La segmentation d'instance est une tâche de vision par ordinateur qui consiste à identifier et à détourer des objets individuels dans une image au niveau du pixel. Contrairement à la segmentation sémantique qui classifie uniquement les pixels par catégorie, la segmentation d'instance étiquette de manière unique et délimite précisément chaque instance d'objet, ce qui la rend cruciale pour les applications nécessitant une compréhension spatiale détaillée comme l'imagerie médicale, la conduite autonome et l'automatisation industrielle.
Ultralytics YOLO26 offre de puissantes capacités de segmentation d'instance qui permettent une détection précise des limites des objets tout en conservant la vitesse et l'efficacité pour lesquelles les modèles YOLO sont reconnus.
Il existe deux types de suivi par segmentation d'instance disponibles dans le package Ultralytics :
-
Segmentation d'instance avec des objets de classe : Chaque objet de classe se voit attribuer une couleur unique pour une séparation visuelle claire.
-
Segmentation d'instance avec suivi d'objets : Chaque suivi est représenté par une couleur distincte, facilitant l'identification et le suivi aisés à travers les images vidéo.
Watch: Instance Segmentation with Object Tracking using Ultralytics YOLO26
Échantillons
| Segmentation d'instance | Segmentation d'instance + Suivi d'objets |
|---|---|
![]() | |
| Segmentation d'instance Ultralytics 😍 | Segmentation d'instance Ultralytics avec suivi d'objets 🔥 |
# Instance segmentation using Ultralytics YOLO26
yolo solutions isegment show=True
# Pass a source video
yolo solutions isegment source="path/to/video.mp4"
# Monitor the specific classes
yolo solutions isegment classes="[0, 5]"Arguments de InstanceSegmentation
Voici un tableau avec les arguments de InstanceSegmentation :
| Argument | Type | Défaut | Description |
|---|---|---|---|
model | str | None | Chemin d'accès vers un fichier de modèle Ultralytics YOLO. |
region | list | '[(20, 400), (1260, 400)]' | Liste de points définissant la zone de comptage. |
Tu peux également tirer parti des arguments de track au sein de la solution InstanceSegmentation :
| Argument | Type | Défaut | Description |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Spécifie l'algorithme de suivi à utiliser, par exemple bytetrack.yaml ou botsort.yaml. |
conf | float | 0.1 | Définit le seuil de confiance pour les détections ; des valeurs plus basses permettent de suivre davantage d'objets mais peuvent inclure des faux positifs. |
iou | float | 0.7 | Définit le seuil Intersection over Union (IoU) pour filtrer les détections qui se chevauchent. |
classes | list | None | Filtre les résultats par index de classe. Par exemple, classes=[0, 2, 3] suit uniquement les classes spécifiées. |
verbose | bool | True | Contrôle l'affichage des résultats de suivi, fournissant une sortie visuelle des objets suivis. |
device | str | None | Spécifie le périphérique pour l'inférence (par exemple, cpu, cuda:0 ou 0). Permet aux utilisateurs de choisir entre le CPU, un GPU spécifique ou d'autres dispositifs de calcul pour l'exécution du modèle. |
De plus, les arguments de visualisation suivants sont disponibles :
| Argument | Type | Défaut | Description |
|---|---|---|---|
show | bool | False | Si True, affiche les images ou vidéos annotées dans une fenêtre. Utile pour un retour visuel immédiat lors du développement ou des tests. |
line_width | int or None | None | Spécifie l'épaisseur de ligne des boîtes englobantes. Si None, l'épaisseur de ligne est automatiquement ajustée en fonction de la taille de l'image. Fournit une personnalisation visuelle pour plus de clarté. |
show_conf | bool | True | Affiche le score de confiance pour chaque détection à côté de l'étiquette. Donne un aperçu de la certitude du modèle pour chaque détection. |
show_labels | bool | True | Affiche les étiquettes pour chaque détection dans la sortie visuelle. Fournit une compréhension immédiate des objets détectés. |
Applications de la segmentation d'instance
La segmentation d'instance avec YOLO26 a de nombreuses applications concrètes dans divers secteurs :
Gestion des déchets et recyclage
YOLO26 peut être utilisé dans les installations de gestion des déchets pour identifier et trier différents types de matériaux. Le modèle peut segmenter les déchets plastiques, le carton, le métal et d'autres matières recyclables avec une grande précision, permettant aux systèmes de tri automatisés de traiter les déchets plus efficacement. Cela est particulièrement précieux si l'on considère que seulement environ 10 % des 7 milliards de tonnes de déchets plastiques générés dans le monde sont recyclés.
Véhicules autonomes
Dans les voitures autonomes, la segmentation d'instance aide à identifier et à suivre les piétons, les véhicules, les panneaux de signalisation et d'autres éléments routiers au niveau du pixel. Cette compréhension précise de l'environnement est cruciale pour la navigation et les décisions de sécurité. Les performances en temps réel de YOLO26 le rendent idéal pour ces applications où le temps est critique.
Imagerie médicale
La segmentation d'instance peut identifier et détourer des tumeurs, des organes ou des structures cellulaires dans des scanners médicaux. La capacité de YOLO26 à délimiter précisément les limites des objets le rend précieux pour les diagnostics médicaux et la planification de traitements.
Surveillance de chantier de construction
Sur les chantiers de construction, la segmentation d'instance peut suivre les engins lourds, les travailleurs et les matériaux. Cela aide à garantir la sécurité en surveillant les positions des équipements et en détectant lorsque des travailleurs pénètrent dans des zones dangereuses, tout en optimisant le flux de travail et l'allocation des ressources.
Remarque
Pour toute demande, n'hésite pas à poster tes questions dans la section des problèmes Ultralytics ou dans la section de discussion mentionnée ci-dessous.
FAQ
Comment effectuer une segmentation d'instance en utilisant Ultralytics YOLO26 ?
Pour effectuer une segmentation d'instance en utilisant Ultralytics YOLO26, initialise le modèle YOLO avec une version de segmentation de YOLO26 et traite les images vidéo via celui-ci. Voici un exemple de code simplifié :
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
# Video writer
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("instance-segmentation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Init InstanceSegmentation
isegment = solutions.InstanceSegmentation(
show=True, # display the output
model="yolo26n-seg.pt", # model="yolo26n-seg.pt" for object segmentation using YOLO26.
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = isegment(im0)
video_writer.write(results.plot_im)
cap.release()
video_writer.release()
cv2.destroyAllWindows()Apprends-en plus sur la segmentation d'instance dans le guide Ultralytics YOLO26.
Quelle est la différence entre la segmentation d'instance et le suivi d'objets dans Ultralytics YOLO26 ?
La segmentation d'instance identifie et détourer des objets individuels dans une image, en donnant à chaque objet une étiquette et un masque uniques. Le suivi d'objets étend cela en attribuant des ID cohérents aux objets à travers les images vidéo, facilitant le suivi continu des mêmes objets au fil du temps. Lorsqu'ils sont combinés, comme dans l'implémentation de YOLO26, tu obtiens des capacités puissantes pour analyser le mouvement et le comportement des objets dans les vidéos tout en conservant des informations précises sur les limites.
Pourquoi devrais-je utiliser Ultralytics YOLO26 pour la segmentation d'instance et le suivi plutôt que d'autres modèles comme Mask R-CNN ou Faster R-CNN ?
Ultralytics YOLO26 offre des performances en temps réel, une précision supérieure et une facilité d'utilisation par rapport à d'autres modèles comme Mask R-CNN ou Faster R-CNN. YOLO26 traite les images en un seul passage (détection à une étape), ce qui le rend nettement plus rapide tout en maintenant une haute précision. Il offre également une intégration transparente avec la plateforme Ultralytics, permettant aux utilisateurs de gérer efficacement les modèles, les jeux de données et les pipelines d'entraînement. Pour les applications nécessitant à la fois vitesse et précision, YOLO26 fournit un équilibre optimal.
Existe-t-il des jeux de données fournis par Ultralytics adaptés à l'entraînement des modèles YOLO26 pour la segmentation d'instance et le suivi ?
Oui, Ultralytics propose plusieurs jeux de données adaptés à l'entraînement des modèles YOLO26 pour la segmentation d'instance, notamment COCO-Seg, COCO8-Seg (un sous-ensemble plus petit pour des tests rapides), Package-Seg et Crack-Seg. Ces jeux de données sont accompagnés des annotations au niveau du pixel nécessaires aux tâches de segmentation d'instance. Pour des applications plus spécialisées, tu peux également créer des jeux de données personnalisés en suivant le format Ultralytics. Des informations complètes sur les jeux de données et des instructions d'utilisation sont disponibles dans la documentation sur les jeux de données Ultralytics.
