Descubra cómo la segmentación de instancias permite la detección de objetos a nivel de píxel. Descubra cómo utilizar Ultralytics para la generación de máscaras en tiempo real y a alta velocidad, y mucho más.
La segmentación de instancias es una técnica sofisticada de visión artificial (CV) que identifica y delinea cada objeto de interés dentro de una imagen a nivel de píxeles. Mientras que la detección de objetos estándar localiza los elementos utilizando cuadros delimitadores rectangulares , la segmentación de instancias profundiza en el análisis generando una máscara precisa para cada entidad detectada. Esta capacidad permite a los modelos de inteligencia artificial (IA) distinguir entre objetos individuales de la misma clase, como separar a dos personas superpuestas, lo que proporciona una comprensión más rica y detallada de la escena visual en comparación con métodos de clasificación más simples.
Para comprender plenamente la utilidad de la segmentación de instancias, resulta útil diferenciarla de otras tareas relacionadas con el procesamiento de imágenes . Cada método ofrece un nivel diferente de granularidad en función de los requisitos de la aplicación.
Los modelos modernos de segmentación de instancias suelen basarse en arquitecturas avanzadas de aprendizaje profundo (DL), en particular las redes neuronales convolucionales (CNN). Estas redes extraen características de una imagen para predecir tanto la clase de un objeto como su contorno espacial. Históricamente, las arquitecturas de dos etapas, como Mask R-CNN, eran el estándar, proponiendo primero las regiones de interés y luego refinándolas en máscaras.
Sin embargo, los avances recientes han dado lugar a detectores de una sola etapa como YOLO26, que realizan la detección y la segmentación simultáneamente. Este enfoque «de extremo a extremo» mejora significativamente las velocidades de inferencia en tiempo real, lo que permite aplicar una segmentación de alta precisión a las transmisiones de vídeo en directo en hardware de consumo.
Los límites precisos que proporciona la segmentación por instancias son fundamentales para las industrias en las que es necesario conocer la forma y la posición exactas de un objeto para la toma de decisiones.
Los desarrolladores pueden implementar fácilmente la segmentación de instancias utilizando la función ultralytics biblioteca. El siguiente
ejemplo muestra cómo cargar un modelo preentrenado. YOLO26 modelo
y generar máscaras de segmentación para una imagen.
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()
Aunque potente, la segmentación de instancias requiere un gran esfuerzo computacional en comparación con la simple detección de cuadros delimitadores. La generación de máscaras con píxeles perfectos requiere importantes GPU y una anotación precisa de los datos. La anotación de datos para estas tareas implica dibujar polígonos ajustados alrededor de cada objeto, lo que puede llevar mucho tiempo.
Para agilizar este proceso, los equipos suelen utilizar herramientas como la Ultralytics , que ofrece funciones para la gestión de conjuntos de datos, la anotación automática y la formación basada en la nube. Esto permite a los desarrolladores ajustar los modelos con datos personalizados, como piezas industriales específicas o muestras biológicas, e implementarlos de manera eficiente en dispositivos de IA de vanguardia utilizando formatos optimizados como ONNX o TensorRT.