Ultralytics YOLO27 :
Get Started

Segmentation d’instances et suivi avec Ultralytics YOLO26#

Qu’est-ce que la segmentation d’instances ?#

La segmentation d’instances est une tâche de vision par ordinateur qui consiste à identifier et à délimiter des objets individuels dans une image au niveau du pixel. Contrairement à la segmentation sémantique, qui classe uniquement les pixels par catégorie, la segmentation d’instances attribue une étiquette unique à chaque instance d’objet et la délimite avec précision. Elle est donc essentielle 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’instances qui permettent de détecter avec précision les contours des objets tout en conservant la vitesse et l’efficacité qui caractérisent les modèles YOLO.

Le package Ultralytics propose deux types de suivi par segmentation d’instances :

  • Segmentation d’instances avec objets de classe : chaque objet de classe reçoit une couleur unique afin d’être clairement distingué.

  • Segmentation d’instances avec suivi d’objets : chaque trajectoire est représentée par une couleur distincte, ce qui facilite l’identification et le suivi d’une image vidéo à l’autre.



Regarder : Segmentation d’instances avec suivi d’objets à l’aide d’Ultralytics YOLO26

Échantillons#

Segmentation d’instancesSegmentation d’instances + suivi d’objets
Segmentation d’instances UltralyticsSegmentation d’instances Ultralytics avec suivi d’objets
Segmentation d’instances Ultralytics 😍Segmentation d’instances Ultralytics avec suivi d’objets 🔥

Segmenter et suivre avec YOLO26#

La solution InstanceSegmentation exécute un modèle de segmentation YOLO26 sur chaque image, dessine les masques de chaque objet et attribue une couleur distincte à chaque instance pour que tu puisses suivre les objets individuellement dans une vidéo. Charge un modèle -seg, puis traite ta source avec l’API Python ou la CLI.

Segmentation d’instances avec Ultralytics YOLO
# 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 des arguments de InstanceSegmentation :

ArgumentTypeValeur par défautDescription
modelstrNoneChemin vers un fichier de modèle Ultralytics YOLO.
line_widthint2Épaisseur des lignes des boîtes, des points clés et des compteurs dessinés par la solution.
verboseboolTrueActive le journal de la solution pour chaque image, qui indique la forme de l'entrée, le nombre d'éléments par classe et la vitesse de traitement. L'appel de suivi reste toujours silencieux.

Tu peux également tirer parti des arguments track dans la solution InstanceSegmentation :

ArgumentTypeValeur par défautDescription
trackerstr'tracktrack.yaml'Indique l'algorithme de suivi à utiliser. Options intégrées : botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Définit le seuil de confiance des détections ; des valeurs plus faibles permettent de suivre davantage d'objets, mais peuvent inclure des faux positifs.
ioufloat0.7Définit le seuil d'intersection sur l'union (IoU) utilisé pour filtrer les détections qui se chevauchent.
classeslistNoneFiltre les résultats selon l'indice de classe. Par exemple, classes=[0, 2, 3] ne suit que les classes spécifiées.
devicestrNoneIndique le périphérique utilisé pour l'inférence (par exemple, cpu, cuda:0 ou 0). Permet de choisir entre le CPU, un GPU spécifique ou d'autres périphériques de calcul pour l'exécution du modèle.
imgszint or tuple640Taille cible de l'image pour l'inférence : un entier pour une image carrée ou une paire (height, width). Les dimensions sont ajustées au stride du modèle.
max_detint300Nombre maximal de détections conservées par image avant le suivi, ce qui limite le nombre d'objets qu'une solution traite dans les scènes denses.
quantizeint or strNonePrécision d’inférence : 16 (FP16) ou 32/unset (FP32) pour les modèles PyTorch et TorchScript hors CPU ; les autres formats utilisent la précision définie par leur artefact et leur environnement d’exécution. Remplace l’argument half obsolète.

De plus, les arguments de visualisation suivants sont disponibles :

ArgumentTypeValeur par défautDescription
showboolFalseSi True, affiche les images ou vidéos annotées dans une fenêtre. Utile pour obtenir un retour visuel immédiat pendant le développement ou les tests.
show_confboolTrueAffiche le score de confiance de chaque détection à côté de son étiquette. Donne une indication du degré de certitude du modèle pour chaque détection.
show_labelsboolTrueAffiche les étiquettes de chaque détection dans le résultat visuel. Permet d'identifier immédiatement les objets détectés.
show_boxesboolTrueDessine des boîtes englobantes autour des objets détectés. Indispensable pour visualiser et localiser les objets dans les images ou les images vidéo.

Applications de la segmentation d’instances#

La segmentation d’instances avec YOLO26 a de nombreuses applications concrètes dans divers secteurs :

Gestion et recyclage des déchets#

YOLO26 peut être utilisé dans des 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, ce qui permet aux systèmes de tri automatisés de traiter les déchets plus efficacement. C’est particulièrement utile étant donné qu’à peine 10 % environ 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’instances permet d’identifier et de suivre au niveau du pixel les piétons, les véhicules, les panneaux de signalisation et d’autres éléments de la route. Cette compréhension précise de l’environnement est essentielle pour la navigation et les décisions de sécurité. Les performances en temps réel de YOLO26 en font une solution idéale pour ces applications où le temps est un facteur déterminant.

Imagerie médicale#

La segmentation d’instances peut identifier et délimiter des tumeurs, des organes ou des structures cellulaires dans des examens médicaux. La capacité de YOLO26 à délimiter précisément les contours des objets est utile pour le diagnostic médical et la planification des traitements.

Surveillance des chantiers de construction#

Sur les chantiers de construction, la segmentation d’instances peut suivre les engins lourds, les ouvriers et les matériaux. Elle contribue à la sécurité en surveillant la position des équipements et en détectant l’entrée d’ouvriers dans des zones dangereuses, tout en optimisant le flux de travail et l’affectation des ressources.

FAQ#

  • Pour effectuer une segmentation d’instances avec Ultralytics YOLO26, initialise le modèle YOLO avec une version de YOLO26 destinée à la segmentation, puis traite les images vidéo avec ce modèle. 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"
    
    # Écriture de la vidéo
    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))
    
    # Initialiser la segmentation d’instances
    isegment = solutions.InstanceSegmentation(
        show=True,  # afficher le résultat
        model="yolo26n-seg.pt",  # model="yolo26n-seg.pt" pour la segmentation d’objets avec YOLO26.
    )
    
    # Traiter la vidéo
    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()

    Pour en savoir plus sur la segmentation d’instances, consulte le guide Ultralytics YOLO26.

  • La segmentation d’instances identifie et délimite les objets individuels dans une image, en attribuant à chacun une étiquette et un masque uniques. Le suivi d’objets va plus loin en attribuant des ID cohérents aux objets d’une image vidéo à l’autre, ce qui permet de suivre continuellement les mêmes objets au fil du temps. Lorsqu’elles sont combinées, comme dans l’implémentation de YOLO26, ces fonctionnalités permettent d’analyser efficacement les déplacements et le comportement des objets dans les vidéos tout en conservant des informations précises sur leurs contours.

  • Ultralytics YOLO26 offre des performances en temps réel, une précision supérieure et une grande simplicité 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 en une étape), ce qui le rend nettement plus rapide tout en conservant une grande précision. Il s’intègre également facilement à la plateforme Ultralytics, ce qui permet aux utilisateurs de gérer efficacement les modèles, les jeux de données et les pipelines d’entraînement. Pour les applications qui exigent à la fois vitesse et précision, YOLO26 offre un équilibre optimal.

  • Oui, Ultralytics propose plusieurs jeux de données adaptés à l’entraînement de modèles YOLO26 pour la segmentation d’instances, notamment COCO-Seg, COCO8-Seg (un sous-ensemble plus petit pour les tests rapides), Package-Seg et Crack-Seg. Ces jeux de données comprennent les annotations au niveau du pixel nécessaires aux tâches de segmentation d’instances. Pour des applications plus spécialisées, tu peux également créer des jeux de données personnalisés au format Ultralytics. Tu trouveras toutes les informations sur les jeux de données et les instructions d’utilisation dans la documentation des jeux de données Ultralytics.

Commentaires