Descubra cómo la segmentación de instancias refina la detección de objetos con precisión a nivel de píxel, lo que permite máscaras de objetos detalladas para aplicaciones de IA.
La segmentación de instancias es una técnica fundamental en la visión por computadora (CV) que va más allá de la simple detección de objetos para delinear con precisión cada objeto distinto en una imagen. Mientras que la detección de objetos estándar identifica la presencia y ubicación de los objetos utilizando cuadros delimitadores rectangulares, la segmentación de instancias va un paso más allá al generar una máscara a nivel de píxeles para cada entidad detectada. Esto significa que el modelo no solo sabe que hay un «coche» o una «persona» en la imagen, sino que también identifica exactamente qué píxeles pertenecen a ese coche o persona específicos, recortándolos eficazmente del fondo y entre sí.
Esta técnica combina los objetivos de otras dos tareas importantes de la visión por computadora: la detección de objetos y la segmentación semántica. Para entender cómo funciona, es útil distinguirla de sus contrapartes:
Los algoritmos modernos suelen lograrlo utilizando arquitecturas de aprendizaje profundo (DL), como las redes neuronales convolucionales (CNN). Modelos como Ultralytics utilizan una arquitectura unificada para predecir cuadros delimitadores y generar máscaras de segmentación simultáneamente, lo que permite velocidades de inferencia en tiempo real adecuadas para el análisis de vídeo .
El detalle granular proporcionado por la segmentación de instancias la hace indispensable para aplicaciones que requieren un análisis preciso de formas y separación de objetos.
Utilización de la ultralytics paquete, puede implementar la segmentación de instancias con solo unas pocas líneas de código. El
siguiente ejemplo muestra cómo cargar un modelo preentrenado
YOLO26 modelo de segmentación y ejecutar la inferencia en una imagen.
from ultralytics import YOLO
# Load a pre-trained YOLO26 instance segmentation model
model = YOLO("yolo26n-seg.pt")
# Run inference on an image
# The model predicts classes, bounding boxes, and pixel-wise masks
results = model("https://ultralytics.com/images/bus.jpg")
# Visualize the results
# This displays the image with masks overlaid on detected objects
results[0].show()
Este flujo de trabajo utiliza modelos entrenados en el COCO , que incluye 80 categorías de objetos comunes . Para casos de uso especializados, como la inspección industrial o la supervisión agrícola, puede realizar el entrenamiento del modelo en sus propios conjuntos de datos personalizados para detect segment objetos segment .
Aunque potente, la segmentación de instancias es computacionalmente más costosa que la simple detección de cuadros delimitadores. El proceso de generación de máscaras requiere más memoria y potencia de procesamiento, lo que puede ser un factor a tener en cuenta a la hora de implementar en dispositivos periféricos. Además, el etiquetado de datos para el entrenamiento requiere mucho trabajo, ya que los anotadores deben dibujar polígonos precisos alrededor de cada objeto en lugar de simples rectángulos. A menudo se necesitan herramientas diseñadas específicamente para la anotación de datos a fin de agilizar este flujo de trabajo.
A pesar de estos retos, los avances en la arquitectura de los modelos, como los que se encuentran en el Ultralytics YOLO , siguen optimizando el equilibrio entre precisión y velocidad, haciendo que la segmentación de alta calidad sea accesible para una amplia gama de aplicaciones en tiempo real.