La segmentación de instancias es una tarea de visión artificial basada en el deep learning que predice los límites exactos en 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 su clase semántica, la categoría de "cosa" o "materia" que representa, y la segmentación panóptica, que combina los objetivos de la segmentación por instancias y la segmentación semántica.
La segmentación de instancias tiene una amplia variedad de casos de uso en el procesamiento de imágenes en muchos sectores, desde el análisis de imágenes médicas hasta la detección de objetos de interés en imágenes de satélite, pasando por la navegación en coches autoconducidos.
La principal diferencia entre las tareas de segmentación de instancias y la detección de objetos convencional es que la segmentación de instancias predice los límites a nivel de píxel de cada objeto, mientras que la detección de objetos sólo 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 diversos 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 estar entrenado para reconocer cosas como "coche" o "peatón", analiza los datos visuales de una imagen de entrada para anotar cualquier instancia de objeto relevante y generar regiones rectangulares, denominadas "cuadros delimitadores", en las que se localiza cada instancia.
Los sistemas de segmentación de instancias también detectan objetos en una imagen, pero con mucho más detalle: en lugar de un cuadro delimitador que se aproxime a la ubicación de una instancia de objeto, los algoritmos de segmentación de instancias generan una "máscara de segmentación" píxel a píxel de la forma y el área precisas de cada instancia.
Muchas arquitecturas líderes de modelos de segmentación de instancias, como Mask R-CNN, llevan a cabo una detección convencional de objeciones como paso previo en el proceso de generación de máscaras de segmentación. Estos modelos de "dos etapas" suelen ofrecer la máxima precisión, aunque a cambio de una mayor velocidad.
La segmentación semántica es una tarea menos compleja que la segmentación de instancias. A diferencia de la segmentación por instancias, la segmentación semántica no se encarga de contar o distinguir entre diferentes instancias: el único objetivo de la segmentación semántica es anotar cada píxel de una imagen con una etiqueta de clase semántica.
Los modelos de segmentación semántica no distinguen entre cosas contables (clases de entidades contables con formas distintas, como "coche" o "persona") y cosas incontables (es decir, clases de entidades incontables con formas variables, como "cielo" o "carretera").
Si varios objetos de la misma clase están muy próximos o se superponen, un modelo de segmentación semántica los agrupará en un único segmento de imagen. Considere, por ejemplo, cómo trata un modelo de segmentación semántica los coches aparcados 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 individuales. 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 delimitació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 con un coste computacional mucho mayor (ya que su resultado incluye información adicional no necesariamente relevante para las tareas de segmentación de instancias).
Los primeros intentos de segmentación panóptica se limitaban a realizar la segmentación de instancias y la segmentación semántica por separado, y luego combinaban sus resultados en un paso de posprocesamiento. Este método es ineficaz desde el punto de vista informático y tiene dificultades para resolver las discrepancias entre las salidas de datos del modelo semántico y las salidas de datos del modelo de instancia.
Enfoques más recientes conectan una "cabeza" de segmentación semántica y una "cabeza" de segmentación de instancias a una "columna vertebral" compartida, a menudo una red piramidal de características (FPN), para la extracción de características: el aislamiento de los datos visuales pertinentes. Esto añade eficiencia y elimina las discrepancias.
La segmentación de instancias es esencial para diversas tareas de visión artificial.
El deep learning 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 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 codificador-decodificador, en la que una red codificadora se utiliza para extraer datos relevantes de la imagen de entrada y una red decodificadora utiliza esos datos de características extraídos para reconstruir la imagen con un mapa de segmentación.
Para entender los modelos de segmentación de instancias, es útil comprender las partes que los constituyen.
Las CNN simples pueden realizar la clasificación de imágenes y (para imágenes que contienen un único objeto) la clasificación de objetos.
Para que los algoritmos matemáticos sean compatibles con una imagen, deben representarla en un formato numérico. Las CNN procesan una imagen RGB de entrada como una matriz tridimensional (3D) de píxeles, en la que las tres dimensiones del píxel representan sus valores R(ed), G(reen) y (B)lue, respectivamente.
Hay tres tipos de capas en una CNN convencional:
Las capas convolucionales utilizan filtros bidimensionales, denominados núcleos, para extraer las características relevantes de la imagen mediante la realización de convoluciones. Después de cada convolución, el núcleo se desplaza 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 denominado "downsampling" o reducción de la dimensionalidad, aumenta la eficiencia computacional y reduce el riesgo de sobreajuste en el entrenamiento del modelo.
Las capas totalmente conectadas reciben y cotejan los datos visuales de todos los nodos de la red neuronal, de ahí lo de "totalmente conectadas", y predicen si la imagen coincide con alguna de las categorías para cuyo reconocimiento ha sido entrenada.
Aunque las capas convolucionales adicionales pueden mejorar la precisión, añadir demasiadas capas hace que los gradientes se desvanezcan, lo que impide la optimización del modelo. La arquitectura ResNet resolvió este problema, allanando el camino para las CNN con cientos (o incluso miles) de capas.
La R-CNN se desarrolló para resolver tareas complejas de detección multiobjeto que no pueden realizarse con las CNN estándar. Su evolución posterior, R-CNN más rápida, 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 2000 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, a continuación, clasifica objetos y genera cuadros delimitadores.
La R-CNN rápida mejoró drásticamente la velocidad de la R-CNN introduciendo primero toda la imagen en una CNN para la extracción de características y, a continuación, utilizando el mapa de características resultante para identificar las regiones de interés (RoI). Poco después, la R-CNN más rápida mejoró aún más la velocidad y la precisión introduciendo una red de propuesta de región (RPN) entrenable para reemplazar el algoritmo de búsqueda selectiva más lento y no entrenable.
Las FCN sustituyen las capas fijas totalmente conectadas de una CNN simple por capas convolucionales y de agrupación adicionales, de ahí lo de "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 FCN utilizan una red codificadora, como ResNet o VGG, para la extracción de características y el downsampling. Pero en lugar de pasar los datos codificados a una capa totalmente conectada para clasificar toda la imagen, las FCN pasan los datos codificados a través de capas de una red "decodificadora" que clasifica y amplía los datos de características comprimidos para reconstruir la imagen original con máscaras de segmentación píxel a píxel.
Naturalmente, durante el proceso de reducción de la muestra se pierden algunos datos. Las variaciones posteriores de FCN, como U-Net, introdujeron saltos de conexiones que omiten selectivamente algunas capas convolucionales para preservar un mayor detalle.
La arquitectura Mask R-CNN combina la detección de objetos de una R-CNN más rápida 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 R-CNN más rápida confirme qué 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 R-CNN más rápida 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 cadena de montaje 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 una prioridad absoluta.
Los modelos de dos etapas como máscara R-CNN son muy precisos, pero su enfoque inherentemente secuencial es difícil de acelerar. Los modelos de segmentación de instancias en una sola etapa, como YOLACT (You Only Look At CoefficienTs), se basan en modelos de detección de objetos en una sola etapa, como YOLO (You Only Look Once).
En YOLACT, una FPN crea mapas de características de alta resolución, que se introducen en dos ramas paralelas: una rama FCN propone k "máscaras prototipo" de posibles instancias de objetos; simultáneamente, una rama de capas totalmente conectadas produce muchos "cuadros de anclaje", similares a las propuestas de regiones, y también predice k "coeficientes de máscara", uno por 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 recientes innovaciones en segmentación por instancias y panóptica han explorado los modelos transformadores, inspirados por su éxito en campos como el procesamiento del lenguaje natural. Modelos como los 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 los avances deslizantes convencionales) para crear capas de autoatención no superpuestas, 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 los principales marcos basados en CNN.
Los algoritmos de machine learning, incluidos los algoritmos de deep learning utilizados para la segmentación de instancias, deben ser entrenados. Tanto los modelos basados en CNN como los basados en transformadores se entrenan con retropropagación: los modelos realizan ingeniería inversa de las imágenes de entrenamiento anotadas para aprender los pesos y sesgos adecuados para la tarea en cuestión.
La anotación de los datos de formación debe ser muy precisa para maximizar un machine learning adecuado y servir como punto de referencia de "verdad sobre el terreno" con el que evaluar y optimizar los modelos formados. Dado que las capacidades humanas superan con creces incluso a los modelos de visión artificial más precisos, esta anotación se realiza a mano, un proceso caro y laborioso.
Para evitar el tiempo y el coste de los conjuntos de datos personalizados, la mayoría de los modelos utilizan grandes conjuntos de datos de entrenamiento de código abierto o afinan una red codificadora preentrenada para tareas visuales más específicas. Entre los conjuntos de datos de imágenes de código abierto más comunes figuran:
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 contables y 91 categorías de cosas incontables
ADE20K: un conjunto de datos de segmentación de escenas creado por el MIT que contiene más de 20 000 imágenes con más de 150 clases semánticas
Cityscapes: un conjunto de datos a gran escala centrado en las calles urbanas, con imágenes de 50 ciudades a lo largo de varios días, estaciones y condiciones meteorológicas.
Las medidas más utilizadas para medir el rendimiento de la segmentación de instancias y la detección de objetos son la intersección sobre unión (IoU) y la precisión media (AP). Estas métricas suelen expresarse en términos de rendimiento frente a un conjunto de datos de referencia, como "un AP de 54,4 en el conjunto de datos COCO".
La IoU mide la superposición en píxeles entre una máscara de verdad del terreno 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).
Aunque la IoU es intuitiva, tiene importantes limitaciones:
La AP se calcula como el área bajo la curva de precisión-recuperación. Equilibra las compensaciones entre dos métricas, precisión y recuperación, 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 suele calcularse dentro de unos umbrales de IoU específicos. Por ejemplo, "AP50" calcula AP sólo para predicciones con una IoU superior al 50 %. La precisión media media (mAO) se utiliza situacionalmente como el valor medio de PA en todos los umbrales calculados.
Hemos encuestado a 2000 organizaciones sobre sus iniciativas de IA para descubrir qué funciona, qué no y cómo puede adelantarse.
IBM Granite es nuestra familia de modelos de IA abiertos, eficaces y de confianza, adaptados a la empresa y optimizados para escalar sus aplicaciones de IA. Explore las opciones de idioma, código, series de tiempo y salvaguardas.
Acceda a nuestro catálogo completo de más de 100 cursos en línea al adquirir hoy mismo una suscripción individual o multiusuario, que le permitirá ampliar sus conocimientos en una amplia gama de nuestros productos a un precio reducido.
Dirigido por los principales líderes de opinión de IBM, el plan de estudios está diseñado para ayudar a los líderes empresariales a conseguir el conocimiento necesario para priorizar las inversiones en IA que pueden impulsar el crecimiento.
¿Quiere obtener un mayor rendimiento de sus inversiones en IA? Descubra cómo escalar la IA generativa en áreas clave impulsa el cambio ayudando a sus mentes más brillantes a crear y ofrecer nuevas soluciones innovadoras.
Aprenda a incorporar con confianza la IA generativa y el machine learning a su negocio.
Profundice en los tres elementos cruciales de una estrategia de IA sólida: crear una ventaja competitiva, ampliar la IA en toda la empresa y promover una IA fiable.