Descubra cómo la segmentación por instancias refina la detección de objetos con precisión a nivel de píxel, lo que permite obtener máscaras de objetos detalladas para aplicaciones de IA.
La segmentación de instancias es una sofisticada técnica de visión por ordenador (VC ) que identifica objetos dentro de una imagen y delinea los límites precisos de cada instancia individual a nivel de píxel. A diferencia de los métodos que sólo colocan recuadros alrededor de los objetos, la segmentación de instancias proporciona una comprensión mucho más detallada de una escena al crear una máscara única para cada objeto detectado, aunque pertenezcan a la misma clase. Esta capacidad es crucial para las aplicaciones avanzadas de inteligencia artificial (IA), en las que es esencial conocer la forma, el tamaño y la extensión espacial exacta de los distintos objetos, sobre todo cuando éstos se solapan.
Los modelos de segmentación de instancias analizan una imagen para, en primer lugar, localizar posibles objetos y, a continuación, para cada objeto detectado, predecir qué píxeles pertenecen a esa instancia específica. Los enfoques tradicionales, como la influyente arquitectura R-CNN de máscara, suelen emplear un proceso de dos fases: en primer lugar, realizan la detección de objetos para generar propuestas de recuadros delimitadores y, en segundo lugar, generan una máscara de segmentación dentro de cada recuadro propuesto. Aunque eficaces, estos métodos pueden ser muy exigentes desde el punto de vista computacional.
Los enfoques más recientes, incluidos modelos como Ultralytics YOLO, suelen utilizar canales de una sola etapa. Estos modelos predicen simultáneamente los recuadros delimitadores, las etiquetas de clase y las máscaras de instancia en una sola pasada por la red neuronal (NN), lo que mejora significativamente la velocidad y los hace adecuados para la inferencia en tiempo real. El entrenamiento de estos modelos requiere grandes conjuntos de datos con anotaciones a nivel de píxel, como el ampliamente utilizado conjunto de datos COCO, específicamente sus anotaciones de segmentación. El proceso suele implicar técnicas de aprendizaje profundo (deep learning, DL), que aprovechan las redes neuronales convolucionales (Convolutional Neural Networks, CNN) para aprender características visuales complejas.
Es importante diferenciar la segmentación de instancias de otras tareas de segmentación de imágenes:
La segmentación de instancias se centra específicamente en detectar y delinear instancias de objetos individuales, proporcionando una gran precisión en cuanto a los límites y la separación de los objetos.
La capacidad de identificar y aislar con precisión objetos individuales hace que la segmentación de instancias tenga un valor incalculable en numerosos campos:
Ultralytics proporciona modelos de última generación capaces de realizar una segmentación de instancias eficiente. Modelos como YOLOv8 y YOLO11 están diseñados para ofrecer un alto rendimiento en diversas tareas de visión por ordenador, incluida la segmentación de instancias(véanse los detalles de la tarea de segmentación). Los usuarios pueden aprovechar los modelos preentrenados o realizar ajustes finos en conjuntos de datos personalizados utilizando herramientas como la plataforma Ultralytics HUB, que simplifica el flujo de trabajo de aprendizaje automático (ML) desde la gestión de datos hasta la implementación de modelos. Para la implementación práctica, están disponibles recursos como tutoriales sobre segmentación con modelos Ultralytics YOLOv8 preentrenados o guías sobre aislamiento de objetos de segmentación. También puede aprender a utilizar Ultralytics YOLO11 para la segmentación de instancias. Frameworks populares como PyTorch y TensorFlow se utilizan comúnmente para desarrollar y desplegar estos modelos.