Semantic Segmentation
La segmentación semántica asigna una clase a cada píxel y devuelve un único mapa de clases denso. Descubre cómo funcionan los modelos, en qué se diferencia de la segmentación de instancias y consulta el código.
La segmentación semántica es una tarea de visión artificial que asigna una etiqueta de clase a cada píxel de una imagen. La salida es un mapa de clases denso con la misma altura y anchura que la entrada, donde cada valor es un ID de clase, como carretera, acera, edificio, cielo o persona. Mientras que la clasificación de imágenes asigna una etiqueta por imagen y la detección de objetos dibuja una caja por objeto, la segmentación semántica describe toda la escena región por región, incluidas zonas de fondo amorfas como la hierba y el cielo, que no tienen instancias contables.
Cómo funciona la segmentación semántica#
Un modelo de segmentación semántica es un clasificador por píxel. Una red neuronal convolucional (CNN) o un Transformer de visión genera un mapa de puntuaciones por clase, normalmente a una resolución reducida; los mapas se amplían al tamaño de la imagen y cada píxel recibe la clase con la puntuación más alta. El entrenamiento compara la predicción de cada píxel con una máscara etiquetada mediante la entropía cruzada, y excluye de la pérdida los píxeles marcados con un valor de ignorar, a menudo 255.
La dificultad principal es que reconocer qué es una región requiere un campo receptivo amplio y una reducción de resolución considerable, mientras que dibujar contornos precisos exige conservar el detalle espacial. Las redes totalmente convolucionales (FCN) fueron las primeras en convertir redes de clasificación en predictores densos, en 2014. Los diseños de codificador-decodificador como U-Net recuperaron después los contornos al pasar características de alta resolución del codificador al decodificador mediante conexiones de salto, y DeepLab utilizó convoluciones dilatadas (atrous) para ampliar el contexto sin reducir el mapa de características. Los modelos en tiempo real fusionan el contexto general con el detalle fino de este modo:
Los modelos de segmentación semántica YOLO26 de Ultralytics, identificados por el sufijo -sem, siguen este patrón: clasifican píxeles a partir de características del neck a escala 1/8 que ya incorporan contexto fusionado y, después, amplían los logits 8× hasta el tamaño de entrada. Vienen preentrenados con las 19 clases de Cityscapes o las 150 clases de ADE20K y se entrenan con imágenes de máscaras o con etiquetas poligonales de YOLO convertidas en máscaras sobre la marcha.
from ultralytics import YOLO
# Load a YOLO26 semantic segmentation model trained on the 19 Cityscapes classes
model = YOLO("yolo26n-sem.pt")
# Predict one class ID for every pixel of a street image
results = model("https://ultralytics.com/images/bus.jpg")
class_map = results[0].semantic_mask.data
# Measure how much of the image each class covers
ids, counts = class_map.unique(return_counts=True)
for class_id, count in zip(ids.tolist(), counts.tolist()):
print(f"{results[0].names[class_id]}: {count / class_map.numel():.1%}")La salida muestra cada clase presente y la proporción de imagen que ocupa. Todas las personas de la foto se incluyen en una única proporción de la clase persona, porque el mapa de clases almacena una clase por píxel y no indica a qué objeto pertenece el píxel.
Segmentación semántica, de instancias y panóptica#
La segmentación semántica es una de las tres tareas de segmentación de imágenes:
- Segmentación de instancias: Asigna a cada objeto contable su propia máscara e ID, de modo que tres coches se convierten en coche 1, coche 2 y coche 3, y deja sin etiquetar los píxeles del fondo.
- Segmentación panóptica: Etiqueta cada píxel con una clase, como hace la segmentación semántica, y añade un ID de instancia a los píxeles de los objetos contables.
La segmentación semántica es adecuada para escenas en las que las regiones importan más que el número de objetos, como la superficie transitable de una carretera o la cubierta terrestre.
Si necesitas ayuda para elegir entre la segmentación semántica y la de instancias, consulta la guía de segmentación semántica frente a segmentación de instancias. La lección de Ultralytics Academy Segmentación semántica: etiqueta cada píxel explica paso a paso cómo etiquetar datos y entrenar un modelo para esta tarea.
Aplicaciones en el mundo real#
- Vehículos autónomos: Los sistemas de conducción segmentan los fotogramas de la cámara en carretera, acera, marcas viales, vehículos y peatones para localizar el espacio transitable y los obstáculos.
- Imagen médica: Los modelos delimitan órganos, tumores y lesiones en escáneres de TC y RM para que los profesionales clínicos puedan medir volúmenes y planificar tratamientos; U-Net se diseñó originalmente para imágenes biomédicas.
- Análisis de imágenes satelitales: Los mapas de cubierta terrestre etiquetan cada píxel como agua, bosque, terreno agrícola o zona construida para seguir la deforestación y el crecimiento urbano.
- Agricultura: Los robots de campo y los drones clasifican los píxeles como cultivo, mala hierba o suelo, para que los pulverizadores traten solo las malas hierbas.
Pruebas de referencia y métricas#
Los modelos se evalúan mediante la intersección sobre unión media (IoU), o mIoU: se calcula el solapamiento entre los píxeles predichos y los reales para cada clase y, después, se promedia, por lo que las clases poco frecuentes, como postes y señales de tráfico, tienen el mismo peso que la carretera y el cielo. ADE20K abarca 150 clases de interiores y exteriores para la comprensión general de escenas, y Cityscapes, el referente de conducción más conocido, contiene 5.000 imágenes de calles de 50 ciudades con etiquetas precisas a nivel de píxel; la clasificación se basa en la mIoU de 19 clases de evaluación.










