La segmentación de instancias es una tarea de visión artificial impulsada por aprendizaje profundo que predice los límites exactos de píxeles de cada instancia de objeto individual en una imagen.
La segmentación de instancias, que es un subconjunto del campo más amplio de la segmentación de imágenes, proporciona resultados más detallados y sofisticados que los algoritmos convencionales de detección de objetos. Otras tareas de segmentación de imágenes son la segmentación semántica, que clasifica cada píxel de una imagen por clase semántica (la categoría de “cosa” o ”elemento” que representa) y la segmentación panóptica, que combina los objetivos de la segmentación de instancias y la segmentación semántica.
La segmentación de instancias tiene una amplia variedad de casos de uso de procesamiento de imágenes en muchas industrias, desde el análisis de imágenes médicas hasta la detección de objetos de interés en imágenes satelitales para permitir la navegación en automóviles autónomos.
La diferencia principal entre las tareas de segmentación de instancias y la detección convencional de objetos es que la segmentación de instancias predice los límites del nivel de píxeles de cada objeto, mientras que la detección de objetos solo predice la ubicación aproximada de un objeto.
Los métodos convencionales de detección de objetos son una combinación evolucionada de clasificación de imágenes y localización de objetos. Un modelo de detección de objetos, entrenado con varios algoritmos de machine learning para reconocer los patrones visuales de categorías relevantes de objetos (por ejemplo, un modelo de conducción autónoma podría entrenarse para reconocer cosas como “automóvil” o “peatón”), analiza los datos visuales de una imagen de entrada para anotar cualquier instancia de objeto relevante y generar regiones rectangulares, llamadas “cuadros delimitadores”, en las que se ubica cada instancia.
Del mismo modo, los sistemas de segmentación de instancias detectan objetos en una imagen, pero con mucho más detalle: en lugar de un cuadro delimitador que aproxima la ubicación de una instancia de objeto, los algoritmos de segmentación de instancias generan una “máscara de segmentación” píxel por píxel de la forma precisa y área de cada instancia.
Muchas arquitecturas de modelos de segmentación de instancias líderes, como Mask R-CNN, realizan la detección convencional de objetos como un paso preliminar en el proceso de generación de máscaras de segmentación. Tales modelos de “dos etapas” suelen ofrecer una precisión de última generación, aunque con una desventaja respecto de la velocidad.
La segmentación semántica es una tarea menos compleja que la segmentación de instancias. A diferencia de esta última, la segmentación semántica no se preocupa por contar o distinguir entre diferentes instancias: su único objetivo es anotar cada píxel en una imagen con una etiqueta semántica de clase.
Los modelos de segmentación semántica no distinguen entre cosas, clases de entidades contables con formas distintas, como “automóvil” o “persona” y elementos (es decir, clases de entidades incontables con formas variables, como "cielo" o “carretera”).
Si varias instancias de objetos de la misma clase de cosa están muy próximas o se superponen entre sí, un modelo de segmentación semántica simplemente las agrupará dentro de un solo segmento de imagen. Considere, por ejemplo, cómo un modelo de segmentación semántica trata los automóviles estacionados muy juntos a cada lado de la calle en esta imagen.
Por el contrario, los modelos de segmentación de instancias se centran exclusivamente en detectar y generar máscaras de segmentación para cosas por separado. Un modelo de segmentación de instancias debe ser capaz de delinear cada instancia de objeto diferente, incluso para instancias ocluidas de la misma clase de objeto.
La segmentación panóptica implica tanto la clasificación semántica de cada píxel de una imagen como la delineación de cada instancia de objeto diferente.
En teoría, los modelos de segmentación panóptica pueden realizar la segmentación de instancias, pero lo hacen a un costo computacional mucho mayor (ya que su salida incluye información adicional que no es necesariamente relevante para las tareas de segmentación de instancias).
Los intentos iniciales de segmentación panóptica simplemente realizaron la segmentación de instancias y la segmentación semántica por separado y luego combinaron sus resultados en un paso de posprocesamiento. Este método es computacionalmente ineficiente y no es capaz de resolver discrepancias entre las salidas del modelo semántico y las del modelo de instancias.
Métodos más recientes conectan una “cabeza” (head) de segmentación semántica y una “cabeza” de segmentación de instancias a una “red troncal” (backbone) compartida, a menudo una red piramidal de características (FPN), para la extracción de características: el aislamiento de datos visuales pertinentes. De este modo, se aumenta la eficiencia y se eliminan las discrepancias.
La segmentación de instancias es esencial para diversas tareas de visión artificial.
El aprendizaje profundo se ha vuelto esencial para la segmentación de instancias: casi todos los métodos modernos de segmentación de imágenes utilizan redes neuronales. Aunque en los últimos años han surgido modelos transformadores como una alternativa viable, la mayoría de los métodos de segmentación de imágenes (incluidos los utilizados para la segmentación de instancias) aprovechan alguna forma de redes neuronales convolucionales(CNN).
Los modelos de segmentación de instancias basados en CNN se dividen en dos categorías:
Tanto los modelos de segmentación de instancias basados en CNN como los basados en transformadores utilizan una estructura de codificador-decodificador, en la que se utiliza una red de codificador para extraer datos relevantes de la imagen de entrada y una red de decodificador utiliza esos datos de características extraídos para reconstruir la imagen con un mapa de segmentación.
Para comprender los modelos de segmentación de instancias, es útil entender las partes que los constituyen.
Las CNN simples pueden clasificar imágenes y (en el caso de imágenes que contienen un solo objeto) objetos.
Para que los algoritmos matemáticos sean compatibles con una imagen, deben representar la imagen en un formato numérico. Las CNN procesan una imagen de entrada RGB como una matriz tridimensional (3D) de píxeles, en la que las tres dimensiones del píxel representan sus valores R(ed) (rojo), G(reen) (verde) y (B)lue (azul), respectivamente.
En una CNN convencional, existen tres tipos de capas:
Las capas convolucionales usan filtros bidimensionales, llamados kernels, para extraer características relevantes de la imagen realizando convoluciones. Después de cada convolución, el kernel se mueve, avanza, a una región adyacente, repitiendo este proceso hasta que haya recorrido toda la imagen. El resultado de esta extracción de características es un mapa de características.
Las capas de agrupación comprimen los datos del mapa de características. Este proceso, también llamado downsampling (submuestreo o diezmado) o reducción de dimensionalidad, aumenta la eficiencia computacional y reduce el riesgo de sobreajuste en el entrenamiento de los modelos.
Las capas totalmente conectadas reciben y recopilan datos visuales de cada nodo en la red neuronal “totalmente conectada” y predicen si la imagen coincide con categorías para la que se le entrenó detectar.
Si bien las capas convolucionales adicionales pueden mejorar la precisión, agregar demasiadas capas provoca la desaparición de los gradientes, lo que impide la optimización del modelo. La arquitectura de ResNet resolvió este problema y allanó el camino para las CNN con cientos (o incluso miles) de capas.
La R-CNN se desarrolló para resolver tareas complejas de detección de múltiples objetos que no se pueden lograr con las CNN estándar. Su evolución posterior, Faster R-CNN, es un componente integral de muchos modelos de segmentación de instancias.
Para hacer predicciones a nivel de objeto (en lugar de a nivel de imagen), R-CNN introdujo propuestas de región: R-CNN utiliza la búsqueda selectiva para proponer alrededor de 2,000 cuadros superpuestos que pueden contener un objeto, luego alimenta cada "propuesta de objeto" en una CNN para extracción de características. Admite algoritmos de máquina vectorial (SVM) y luego clasifica objetos y genera cuadros delimitadores.
Faster R-CNN mejoró drásticamente la velocidad de las R-CNN al introducir primero la imagen completa en una CNN para la extracción de características y luego, usar el mapa de características resultante para identificar regiones de interés (RoI). Poco después, Faster R-CNN mejoró aún más la velocidad y la precisión al introducir una red de propuestas de región que se puede entrenar (RPN) para reemplazar el algoritmo de búsqueda selectiva más lento que no se puede entrenar.
Las redes totalmente convolucionales (FCN) sustituyen las capas fijas totalmente conectadas de una CNN simple con capas convolucionales y de agrupación adicionales, de ahí que sean “totalmente convolucionales”. La aparición de las FCN marcó el comienzo de la era moderna de la segmentación de imágenes.
Al igual que las CNN convencionales, las FCNs utilizan una red de codificadores, como ResNet o VGG, para la extracción de características y el submuestreo. Pero en lugar de pasar datos codificados a una capa totalmente conectada para clasificar toda la imagen, las FCNs pasan los datos codificados a través de capas de una red “decodificadora” que clasifica e interpola (upsample) los datos de características comprimidos para reconstruir la imagen original con máscaras de segmentación píxel por píxel.
Naturalmente, algunos datos se pierden durante el proceso de submuestreo. Las variaciones posteriores de FCN, como U-Net, introdujeron conexiones de omisión que omiten selectivamente algunas capas convolucionales para preservar mayores detalles.
La arquitectura Mask R-CNN combinó la detección de objetos de una Faster R-CNN con las capacidades de segmentación de una FCN para lograr un gran avance en la segmentación de instancias.
Después de que la RPN genere cuadros delimitadores para los objetos propuestos y de que el resto de la red Faster R-CNN confirme cuáles propuestas de regiones contienen objetos (y realice regresiones para mejorar la precisión de los cuadros delimitadores de objetos), una FCN crea una máscara de segmentación de los objetos contenidos dentro de cada cuadro delimitador.
Este proceso es eficaz incluso cuando los objetos están ocluidos, ya que la red Faster R-CNN puede diferenciar entre cada instancia de objeto para garantizar que cada una se segmenta individualmente.
Ciertas aplicaciones de segmentación de instancias, como la detección de artículos defectuosos en una línea de ensamblaje de fabricación, requieren resultados en tiempo real. Los modelos de una sola etapa se desarrollaron para casos de uso en los que la velocidad es de máxima prioridad.
Los modelos de dos etapas como Mask R-CNN son muy precisos, pero su enfoque inherentemente secuencial es difícil de acelerar. Los modelos de segmentación de instancias de una sola etapa, como YOLACT (You Only Look At CoefficienTs) [Solo mire los coeficientes ], se basan en modelos de detección de objetos de una etapa, como YOLO (You Only Look Once) [Solo mire una vez].
En YOLACT, una FPN crea mapas de características de alta resolución, que se introducen en dos ramas paralelas: una rama de FCN propone “máscaras prototipo” k de instancias de objetos potenciales; simultáneamente, una rama de capas completamente conectadas produce muchos “cuadros de anclaje”, similares a las propuestas de región, y también predice “coeficientes de máscara” k “ —uno para cada máscara prototipo— que representan la probabilidad de que un objeto propuesto se alinee con una máscara de segmentación propuesta. La supresión no máxima (NMS) se utiliza para filtrar las instancias propuestas con los coeficientes de máscara más altos.
Las innovaciones recientes en la segmentación de instancias y la panóptica han analizado modelos de transformadores, inspirados en su éxito en campos como el procesamiento de lenguaje natural. Los modelos como Transformadores de Visión (ViT) utilizan la autoatención en lugar de la convolución, lo que permite un análisis holístico del contexto visual de una imagen.
El principal reto a superar han sido las exigencias computacionales: la complejidad computacional de la autoatención aumenta cuadráticamente con el tamaño de la imagen. Los transformadores Swin utilizan ventanas desplazadas (en lugar de ventanas deslizantes convencionales) para crear capas de autoatención que no se superponen, lo que hace que la complejidad computacional aumente linealmente, no cuadráticamente, con el tamaño de la imagen. Los modelos basados en Swin ahora rivalizan en precisión con las principales infraestructuras basadas en CNN.
Los algoritmos de machine learning, incluidos los algoritmos de aprendizaje profundo utilizados para la segmentación de instancias, deben entrenarse. Tanto los modelos basados en CNN como los basados en transformadores se entrenan con retropropagación: los modelos realizan ingeniería inversa de imágenes de entrenamiento anotadas para aprender los pesos y sesgos apropiados para la tarea en cuestión.
La anotación de los datos de entrenamiento debe ser muy precisa a fin de maximizar el machine learning adecuado y servir como un punto de referencia de “verdad fundamental” (evidencia empírica) contra el cual se pueden evaluar y optimizar los modelos entrenados. Dado que las capacidades humanas superan con creces incluso los modelos de visión artificial más precisos, esta anotación se realiza a mano, lo cual es un proceso costoso y laborioso.
Para evitar el tiempo y el costo de los conjuntos de datos personalizados, la mayoría de los modelos utilizan conjuntos de datos de entrenamiento de código abierto o ajustan una red de codificadores preentrenados para tareas visuales más específicas. Los conjuntos de datos comunes de imágenes de código abierto incluyen:
COCO (objetos comunes en contexto): un conjunto de datos masivo que contiene más de 330 000 imágenes con segmentos anotados en 80 categorías de cosas y 91 categorías de elementos.
ADE20K: un conjunto de datos de segmentación de escena creado por MIT que contiene más de 20 000 imágenes con más de 150 clases semánticas.
Paisajes urbanos: un conjunto de datos a gran escala centrado en calles urbanas, con imágenes de 50 ciudades en varios días, temporadas y condiciones climáticas.
Las medidas más comúnmente aplicadas de segmentación de instancias y rendimiento de detección de objetos son Intersección sobre unión (IOu) Precisión promedio (AP). Estas métricas generalmente se expresan en términos de rendimiento frente a un conjunto de datos de referencia, como “una AP de 54.4 en el conjunto de datos de COCO”.
IoU mide la superposición de píxeles entre una máscara de verdad fundamental y la predicción de un modelo, expresada como un porcentaje o un número entero entre 0 y 1. Para imágenes con varias instancias, se utiliza la IoU media (mIoU).
Si bien la IoU es intuitiva, tiene limitaciones importantes:
AP se calcula como el área bajo la curva de precisión-recuperación. Equilibra las compensaciones entre dos métricas, precisión y sensibilidad, calculadas utilizando valores de resultados discretos como verdaderos positivos (TP), verdaderos negativos (TN), falsos positivos (FP) y falsos negativos (FN).
Para maximizar la relevancia, la AP a menudo se calcula dentro de umbrales específicos de IoU. Por ejemplo, “AP50” calcula la AP solo para predicciones con una IoU superior al 50 por ciento. La media de la precisión promedio (mAP) se utiliza de manera situacional como el valor promedio de la AP en todos los umbrales calculados.
IBM web domains
ibm.com, ibm.org, ibm-zcouncil.com, insights-on-business.com, jazz.net, mobilebusinessinsights.com, promontory.com, proveit.com, ptech.org, s81c.com, securityintelligence.com, skillsbuild.org, softlayer.com, storagecommunity.org, think-exchange.com, thoughtsoncloud.com, alphaevents.webcasts.com, ibm-cloud.github.io, ibmbigdatahub.com, bluemix.net, mybluemix.net, ibm.net, ibmcloud.com, galasa.dev, blueworkslive.com, swiss-quantum.ch, blueworkslive.com, cloudant.com, ibm.ie, ibm.fr, ibm.com.br, ibm.co, ibm.ca, community.watsonanalytics.com, datapower.com, skills.yourlearning.ibm.com, bluewolf.com, carbondesignsystem.com, openliberty.io