Instance Segmentation
La segmentación de instancias delimita cada objeto de una imagen con su propia máscara de píxeles, de modo que los objetos contiguos de una misma clase sigan separados. Modelos, métricas y código.
La segmentación de instancias es una tarea de visión artificial que localiza cada objeto de una imagen, le asigna una clase y lo delimita con su propia máscara a nivel de píxel. Combina el razonamiento por objeto de la detección de objetos con la precisión por píxel de la segmentación de imágenes: mientras que un detector dibuja una caja delimitadora rectangular que también incluye el fondo, un modelo de segmentación de instancias marca exactamente qué píxeles corresponden a cada objeto. Dos personas hombro con hombro dan lugar a dos máscaras distintas con dos etiquetas, lo que permite contar, medir y recortar objetos individuales.
Segmentación de instancias, semántica y panóptica#
La segmentación de instancias es una de las tres tareas de segmentación, que se diferencian por el significado de cada etiqueta:
- Segmentación semántica: Asigna una clase a cada píxel y agrupa todos los objetos de esa clase en una sola región, de modo que tres coches aparcados forman una única zona de «coche». También etiqueta regiones de fondo, como la carretera y el cielo.
- Segmentación de instancias: Asigna a cada objeto contable, o «cosa», su propia máscara e ID, de modo que los tres coches se convierten en coche 1, coche 2 y coche 3. Los píxeles que no pertenecen a ningún objeto detectado quedan sin etiquetar.
- Segmentación panóptica: Asigna una clase a cada píxel y también un ID de instancia a los objetos contables, combinando ambas perspectivas en una sola salida.
Los modelos que admiten instrucciones, como Segment Anything Model (SAM) de Meta, realizan segmentación interactiva: devuelven una máscara para aquello que señala un clic, una caja o una instrucción de texto, sin limitarse a una lista fija de clases.
Cómo funcionan los modelos de segmentación de instancias#
Los modelos de dos etapas detectan primero y segmentan después. Mask R-CNN, el diseño de referencia establecido desde 2017, propone regiones candidatas, clasifica y ajusta cada caja y predice una máscara pequeña de 28×28 dentro de cada caja mediante una rama de máscaras independiente.
Los modelos de una etapa predicen cajas y máscaras en un solo paso, lo que los hace adecuados para la inferencia en tiempo real. YOLACT introdujo el diseño de prototipos que también usan los modelos de segmentación YOLO: la red predice un conjunto compartido de máscaras prototipo para toda la imagen, además de un vector corto de coeficientes de máscara por cada objeto detectado. La máscara de cada objeto es la suma de los prototipos ponderada por los coeficientes, recortada a su caja y convertida en una máscara binaria mediante un umbral.
Los modelos basados en Transformer, como Mask2Former, siguen una tercera vía: predicen un conjunto fijo de consultas de máscara y usan la misma arquitectura para la segmentación semántica, de instancias y panóptica.
Máscaras, polígonos y métricas#
Las etiquetas de entrenamiento suelen ser polígonos trazados alrededor de cada objeto y almacenados en formatos como JSON de COCO o archivos de texto YOLO, con un ID de clase y una lista de vértices normalizados por objeto. Durante la inferencia, los modelos devuelven cada instancia como una máscara binaria, que se puede convertir de nuevo en un contorno poligonal para almacenarla o dibujarla. La precisión se expresa como precisión media promedio (mAP) de las máscaras. Se calcula como la mAP de cajas, pero la intersección sobre unión (IoU) se mide entre las máscaras predichas y las de referencia. Trazar un polígono alrededor de cada objeto lleva mucho más tiempo que dibujar una caja, por eso los modelos que admiten instrucciones, como SAM, se usan ampliamente para convertir un solo clic en un borrador de máscara que después corrige un anotador.
Los modelos de segmentación Ultralytics YOLO26, cuyo sufijo es -seg, usan el diseño de prototipos, con 32 prototipos y 32 coeficientes por detección, y devuelven cada instancia con su clase, caja, máscara y contorno poligonal:
from ultralytics import YOLO
# Load a YOLO26 instance segmentation model pretrained on the 80 COCO classes
model = YOLO("yolo26n-seg.pt")
# Segment every object instance in the image
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]
# Each instance has its own class and mask outline, even when classes repeat
for class_id, polygon in zip(result.boxes.cls.int().tolist(), result.masks.xy):
print(f"{result.names[class_id]}: outline with {len(polygon)} points")
result.save(filename="instance_segmentation.jpg")Cada persona detectada se muestra en una línea independiente con su propio contorno, y la imagen guardada colorea por separado la máscara de cada instancia. Para etiquetar tus propios datos y entrenar un modelo, consulta cómo entrenar YOLO26 con tus propios datos para segmentar instancias o la lección de Ultralytics Academy Etiquetar y entrenar la segmentación de instancias.
Aplicaciones en el mundo real#
Las máscaras de instancia son importantes siempre que una decisión dependa de la forma exacta o del recuento de objetos individuales:
- Manipulación robótica: Un brazo robótico que recoge piezas de un contenedor desordenado necesita el contorno exacto de cada pieza para elegir un punto de agarre sin tocar las piezas cercanas.
- Biología celular: Los flujos de trabajo de microscopía segmentan células y núcleos individuales, incluidos los que se tocan, para contarlos y medir su tamaño y forma.
- Agricultura: Los robots de recolección y los estimadores de rendimiento separan frutas individuales en copas densas para contarlas y estimar su tamaño a partir del área de la máscara.
- Seguimiento de objetos en vídeo: La combinación de máscaras de instancia con un rastreador permite seguir la silueta exacta de cada objeto de un fotograma a otro.
- Vehículos autónomos: Los conjuntos de datos de conducción, como Cityscapes, ofrecen etiquetas a nivel de instancia para ocho clases de personas y vehículos, de modo que los modelos de percepción pueden distinguir a cada peatón en una multitud.










