Inicio Topics Segmentación de instancias ¿Qué es la segmentación de instancias?
Descubra IBM Maximo Visual Inspection
Una cuadrícula de contenedores de envío

La segmentación de instancias es una tarea de computer vision 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 prácticos 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.

Segmentación de instancias frente a detección de objetos

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, realizan la 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.

Contenido relacionado

Suscríbase al boletín de IBM

Segmentación de instancias frente a segmentación semántica

La segmentación semántica es una tarea menos compleja que la segmentación de instancias. A diferencia de la segmentación de instancias, la segmentación semántica no se ocupa 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.

Segmentación de instancias frente a segmentación panóptica

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.

Casos prácticos de segmentación de instancias

La segmentación de instancias es esencial para diversas tareas de computer vision.

  •  Imágenes médicas: la segmentación de instancias se utiliza para detectar los límites específicos de tejidos y patologías, como tumores
  • Conducción autónoma: la segmentación de instancias permite a los coches autoconducidos detectar y clasificar con precisión coches, objetos, personas y características de la carretera (como los semáforos).
  • Imágenes por satélite: La segmentación de instancias puede ayudar a identificar y aislar objetos de interés, como distinguir entre varios edificios a lo largo de una carretera para fines de GPS.
  • Robótica: La segmentación de instancias permite clasificar artículos, detectar defectos y, de forma similar a los coches autoconducidos, permite a los robots discernir y navegar alrededor de los objetos de su entorno.

 

 

¿Cómo funciona la segmentación de instancias?

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:

  • Los modelos de dos etapas , como Mask R-CNN, primero detectan objetos y luego generan máscaras de segmentación de objetos
  • Los modelos de una sola toma (o de una sola etapa), como YOLACT, realizan ambas tareas en paralelo.

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.

Redes neuronales convolucionales (CNN)

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.

Ver vídeo: "¿Qué son las redes neuronales convolucionales (CNN)?" en YouTube
CNN basada en regiones (R-CNN)

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 realizar 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 (enlace externo a ibm.com) para proponer unos 2000 recuadros superpuestos que pueden contener un objeto y, a continuación, introduce cada "propuesta de objeto" en una CNN para la 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.

Lea el artículo: "R-CNN más rápidas: Hacia la detección de objetos en tiempo real con redes de propuesta de región"
Redes totalmente convolucionales

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.

Lea el artículo: "Redes totalmente convolucionales para la segmentación semántica"
Máscara R-CNN

La arquitectura máscara 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 Faster R-CNN 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.

Lea el artículo: "Máscara R-CNN"
Modelos de una sola toma (una sola etapa)

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 prácticos 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.

Lea el artículo: "YOLACT++: Mejor segmentación de instancias en tiempo real"
modelos de transformadores

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 Vision Transformers (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.

Lea el artículo: "Swin Transformer: Transformador de visión jerárquico mediante ventanas desplazadas"
Entrenamiento de modelos de segmentación de instancias

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 computer vision 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 ajustan 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.

Evaluación de modelos de segmentación de instancias

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 PA de 54,4 en el conjunto de datos COCO".

Intersección sobre Unión (IoU)
La IoU mide el solapamiento en píxeles entre una máscara de la verdad sobre el terreno y la predicción de un modelo, expresado como un porcentaje o un número entero entre 0 y 1. Para imágenes con múltiples instancias, se utiliza la IoU media (mIoU).

Si bien la IoU es intuitive, tiene limitaciones importantes:

  • Recompensa las predicciones demasiado amplias. Incluso si una máscara de segmentación es demasiado grande, obtendrá una IoU perfecta de 1 si contiene la máscara de verdad sobre el terreno.
  • No se puede utilizar como una función de pérdida. En caso de predicciones erróneas sin solapamiento, ya sean ligeramente erróneas o ni siquiera cercanas, IoU=0. Esto significa que la IoU no es diferenciable y, por tanto, no puede ayudar a un algoritmo a optimizar un modelo. Intersección sobre unión generalizada (o GIoU) (enlace externo a ibm.com) modifica la IoU para hacerla diferenciable.

Precisión media (AP)
La AP se calcula como el área bajo la curva de precisión-recuerdo. 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).

  • La precisión mide la frecuencia con la que las predicciones positivas (en este caso, píxeles de una instancia segmentada) son correctas: TP/(TP+FP). Tiene la desventaja de recompensar los falsos negativos.
  • Recordar mide con qué frecuencia se capturan predicciones positivas: TP/(TP+FN). Tiene la desventaja de recompensar los falsos positivos.

Para maximizar la relevancia, la PA 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 (PAm) se utiliza situacionalmente como el valor medio de PA en todos los umbrales calculados.

 

 

Soluciones relacionadas
IBM Maximo Visual Inspection

Libere el poder de la computer vision sin código para la inspección visual automatizada con un conjunto de herramientas intuitivas para etiquetar, entrenar e implementar modelos de visión de inteligencia artificial.

Descubra IBM Maximo Visual Inspection

Recursos de segmentación de instancias IBM Research: Computer Vision

Los modernos sistemas de computer vision tienen una precisión sobrehumana en el reconocimiento y análisis de imágenes, pero no entienden realmente lo que ven. En IBM Research estamos diseñando sistemas de IA capaces de ver el mundo como nosotros.

Introducción a la computer vision y al procesamiento de imágenes

Este curso para principiantes le ayudará a comprender la computer vision y sus diversas aplicaciones en muchos sectores. Como parte del curso, utilizará Python, Pillow y OpenCV para el procesamiento básico de imágenes y realizará la clasificación de imágenes y la detección de objetos.

Introducción a IBM Maximo Visual Inspection

Empiece con IBM Maximo Visual Inspection para crear y entrenar modelos basados en IA para inspeccionar sus activos y productos, e identificar los defectos que pueden causar problemas de producción y calidad.

Dé el siguiente paso

Libere el poder de la computer vision sin código para la inspección visual automatizada con IBM Maximo Visual Inspection: un conjunto de herramientas intuitivas para etiquetar, entrenar e implementar modelos de visión de inteligencia artificial.

Descubra IBM Maximo Visual Inspection Vea la demostración de MVI