La segmentación de instancias es una tarea de visión por computadora que combina la detección de objetos y la segmentación semántica para identificar y delinear cada instancia de objeto distinta dentro de una imagen. A diferencia de la segmentación semántica, que etiqueta todos los píxeles de una clase dada con una sola etiqueta, la segmentación de instancias asigna una etiqueta única a cada objeto individual, lo que permite una separación precisa de objetos superpuestos o adyacentes de la misma categoría. Esta capacidad es crítica en aplicaciones que van desde la conducción autónoma y la imagen médica hasta la robótica y la realidad aumentada.
La tarea se formula típicamente como un problema de clasificación por píxel, donde a cada píxel se le asigna tanto una etiqueta de clase como un identificador de instancia. Los enfoques modernos dependen en gran medida del aprendizaje profundo, particularmente de redes neuronales convolucionales y arquitecturas basadas en transformadores, para lograr resultados de vanguardia. La segmentación de instancias es uno de los tres grupos principales de segmentación de imágenes, junto con la segmentación semántica y la segmentación panóptica, que unifica ambas al clasificar cada píxel y distinguir instancias para clases contables.
Antecedentes históricos
La segmentación de instancias surgió de trabajos anteriores en segmentación de imágenes y detección de objetos. Las técnicas clásicas de visión por computadora, como el umbralizado, la agrupación y la detección de bordes, proporcionaron métodos fundamentales, pero carecían de la capacidad para separar instancias individuales. La introducción del aprendizaje profundo, especialmente con el éxito de las redes neuronales convolucionales basadas en regiones (R-CNN) alrededor de 2014, permitió la detección y segmentación simultánea de objetos. La arquitectura Mask R-CNN, introducida en 2017 por Kaiming He y sus colegas en Facebook AI Research, extendió Faster R-CNN añadiendo una rama de máscaras, convirtiéndose en un punto de referencia para la segmentación de instancias. Desarrollos posteriores incluyen YOLACT, que realiza segmentación de instancias en tiempo real, y modelos basados en transformadores como Mask2Former, que unifican las tareas de segmentación semántica y de instancias.
Técnicas principales
Los enfoques clásicos para la segmentación de instancias incluyen el umbralizado, la agrupación y los métodos basados en movimiento. El umbralizado, la técnica más simple, convierte imágenes en escala de grises a binarias seleccionando un valor de umbral, con métodos como el método de Otsu y la agrupación k-means. Los algoritmos de agrupación, como k-means y mean shift, dividen los píxeles en grupos según color, intensidad o textura, pero no distinguen inherentemente instancias. La segmentación basada en movimiento utiliza diferencias entre fotogramas consecutivos para aislar objetos en movimiento, como lo demuestran los sistemas de segmentación interactiva que empujan físicamente objetos para generar señales de movimiento.
Los métodos modernos de aprendizaje profundo dominan el campo. Los detectores de dos etapas, como Mask R-CNN, primero proponen regiones candidatas y luego predicen máscaras dentro de cada región. Los métodos de una sola etapa, como YOLACT y SOLO, predicen máscaras directamente sin propuestas de región, ofreciendo una inferencia más rápida. Las arquitecturas basadas en transformadores, incluyendo DETR y Mask2Former, tratan la segmentación de instancias como un problema de predicción de conjuntos, utilizando mecanismos de atención para capturar el contexto global. Estos modelos se entrenan en conjuntos de datos anotados a gran escala como COCO, que proporciona más de 200,000 imágenes con máscaras a nivel de instancia.
Aplicaciones
La segmentación de instancias tiene aplicaciones prácticas generalizadas. En la imagen médica, permite la segmentación de instancias de núcleos en imágenes de histopatología, lo que permite el conteo de células, la extracción de características morfométricas y la clasificación de tumores. También se utiliza para localizar tumores, medir volúmenes de tejido y planificar cirugías. En la conducción autónoma, la segmentación de instancias ayuda a detectar y rastrear peatones, vehículos y obstáculos, mejorando los sistemas de seguridad. Otras aplicaciones incluyen el análisis de imágenes satelitales para localizar carreteras, bosques y cultivos; la videovigilancia para el seguimiento de objetos; y la recuperación de imágenes basada en contenido. En robótica, la segmentación de instancias apoya la manipulación de objetos y la comprensión de escenas.
Desafíos y direcciones futuras
A pesar del progreso, la segmentación de instancias enfrenta desafíos. Manejar objetos superpuestos o fusionados, como escenas concurridas o células en contacto, sigue siendo difícil. La necesidad de grandes cantidades de datos anotados es un cuello de botella, especialmente en dominios especializados como la imagen médica, donde las anotaciones de expertos son escasas. El rendimiento en tiempo real es otra preocupación para aplicaciones como la conducción autónoma y la robótica. La investigación futura se centra en mejorar la eficiencia, reducir los requisitos de anotación mediante aprendizaje semi-supervisado y con pocos ejemplos, e integrar la segmentación de instancias con otras tareas como la segmentación panóptica para una comprensión integral de escenas. A partir de 2025, los modelos basados en transformadores son cada vez más favorecidos por su flexibilidad y precisión.