Découvrez comment la segmentation d'instance permet la détection d'objets au niveau des pixels. Découvrez comment utiliser Ultralytics pour la génération de masques en temps réel à grande vitesse, et bien plus encore.
La segmentation d'instance est une technique sophistiquée de vision par ordinateur (CV) qui identifie et délimite chaque objet distinct d'intérêt dans une image au niveau des pixels. Alors que la détection d'objets standard localise les éléments à l'aide de rectangles englobants, la segmentation d'instance approfondit l' analyse en générant un masque précis pour chaque entité détectée. Cette capacité permet aux modèles d'intelligence artificielle (IA) de distinguer les objets individuels d'une même classe, par exemple en séparant deux personnes qui se chevauchent, ce qui permet une compréhension plus riche et plus détaillée de la scène visuelle par rapport aux méthodes de classification plus simples.
Pour bien comprendre l'utilité de la segmentation d'instances, il est utile de la différencier d'autres tâches connexes de traitement d'images . Chaque méthode offre un niveau de granularité différent en fonction des exigences de l'application.
Les modèles modernes de segmentation d'instances s'appuient généralement sur des architectures avancées d'apprentissage profond (DL), en particulier les réseaux neuronaux convolutifs (CNN). Ces réseaux extraient des caractéristiques d'une image afin de prédire à la fois la classe d'un objet et son contour spatial. Historiquement, les architectures en deux étapes telles que Mask R-CNN étaient la norme, proposant d'abord des régions d'intérêt, puis les affinant en masques.
Cependant, les progrès récents ont conduit à la création de détecteurs à étape unique tels que YOLO26, qui effectuent simultanément la détection et la segmentation . Cette approche « de bout en bout » améliore considérablement les vitesses d'inférence en temps réel, ce qui permet d' appliquer une segmentation de haute précision aux flux vidéo en direct sur du matériel grand public.
Les limites précises fournies par la segmentation d'instance sont essentielles pour les industries où la compréhension de la forme et de la position exactes d'un objet est nécessaire à la prise de décision.
Les développeurs peuvent facilement mettre en œuvre la segmentation des instances à l'aide de la fonction ultralytics bibliothèque. L'exemple suivant
montre comment charger un modèle pré-entraîné. YOLO26 modèle
et générer des masques de segmentation pour une image.
from ultralytics import YOLO
# Load a pre-trained YOLO26 instance segmentation model
# The 'n' suffix denotes the nano version, optimized for speed
model = YOLO("yolo26n-seg.pt")
# Run inference on an image
# This predicts classes, bounding boxes, and masks
results = model("https://ultralytics.com/images/bus.jpg")
# Visualize the results
# Displays the image with overlaid segmentation masks
results[0].show()
Bien que puissante, la segmentation d'instances est très gourmande en ressources informatiques par rapport à la simple détection de cadres de sélection. La génération de masques au pixel près nécessite d'importantes GPU et une annotation précise des données. L'annotation des données pour ces tâches implique de dessiner des polygones serrés autour de chaque objet, ce qui peut prendre beaucoup de temps.
Pour rationaliser ce processus, les équipes utilisent souvent des outils tels que Ultralytics , qui offre des fonctionnalités de gestion des ensembles de données, d' annotation automatique et de formation basée sur le cloud. Cela permet aux développeurs d'affiner les modèles sur des données personnalisées, telles que des pièces industrielles spécifiques ou des échantillons biologiques, et de les déployer efficacement sur des appareils d'IA de pointe à l'aide de formats optimisés tels que ONNX ou TensorRT.