Descubre cómo la segmentación de instancias refina la detección de objetos con precisión a nivel de píxel, permitiendo 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 exactos de los distintos objetos, sobre todo cuando éstos se solapan.
Los modelos de segmentación de instancias analizan una imagen para localizar primero los objetos potenciales y luego, para cada objeto detectado, predecir qué píxeles pertenecen a esa instancia concreta. Los enfoques tradicionales, como la influyente arquitectura R-CNN de máscara, suelen emplear un proceso de dos etapas: primero, realizan la detección de objetos para generar propuestas de cajas delimitadoras, y segundo, generan una máscara de segmentación dentro de cada caja propuesta. Aunque eficaces, estos métodos pueden ser exigentes desde el punto de vista computacional.
Enfoques más recientes, que incluyen modelos como Ultralytics YOLOsuelen utilizar procesos 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 conlleva mejoras significativas en la velocidad, haciéndolos 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, en concreto 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 eficaz. 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(ver detalles de la tarea de segmentación). Los usuarios pueden aprovechar los modelos preentrenados o realizar un ajuste fino en conjuntos de datos personalizados utilizando herramientas como la plataforma Ultralytics HUB, que simplifica el flujo de trabajo del aprendizaje automático (ML) desde la gestión de datos hasta el despliegue del modelo. Para la implementación práctica, tienes a tu disposición recursos como tutoriales sobre segmentación con modelos Ultralytics YOLOv8 preentrenados o guías sobre aislamiento de objetos de segmentación. También puedes aprender a utilizar Ultralytics YOLO11 para la segmentación de instancias. Frameworks populares como PyTorch y TensorFlow se utilizan habitualmente para desarrollar y desplegar estos modelos.