VLT: Transformador de visión-lenguaje para la transformación de visión-lenguaje referenciada y segmentación de generación de consultas

Resumen

En este trabajo, abordamos la desafiante tarea de la segmentación de citas. Las expresiones de consulta en la segmentación de referencia generalmente representan el objeto de destino describiendo su relación con otros objetos. Por lo tanto, para encontrar una instancia de destino entre todas las instancias de una imagen, el modelo debe tener una comprensión holística de la imagen completa. Para lograr esto, reformulamos la segmentación de referencia como un problema de interés directo: encontrar regiones en una imagen donde las expresiones del lenguaje de consulta estén más involucradas . Introducimos transformadores y atención multicabezal para construir una red con una arquitectura de mecanismo de atención de codificador-decodificador que puede "consultar" verbalmente una imagen dada. Además, proponemos un módulo de generación de consultas que produce múltiples conjuntos de consultas con diferentes pesos de atención, que representan diferentes interpretaciones de expresiones lingüísticas desde diferentes aspectos . Mientras tanto, para encontrar el mejor método a partir de estos diversos entendimientos basados ​​en señales visuales, también proponemos un módulo de equilibrio de consultas para seleccionar de forma adaptativa las características de salida de estas consultas para una mejor generación de máscaras. Nuestro método es liviano y logra un nuevo rendimiento constante en los tres conjuntos de datos de segmentación de referencia RefCOCO, RefCOCO+ y G-Ref.

 Nuestro método detecta múltiples formas de enfatizar o comprender una expresión lingüística y genera vectores de consulta para cada forma. Usamos cada vector para "consultar" la imagen y generar una respuesta a cada consulta. Luego, la red agrega selectivamente estas respuestas, donde se resaltan las consultas que brindan una mejor comprensión.

fondo

retos y aportes

1) La asociación entre objetos en la imagen segmentada de referencia es compleja, y la expresión de consulta a menudo representa el objeto de destino describiendo la relación con otros objetos, lo que requiere una comprensión general de la imagen y la expresión del lenguaje .

Sol:

1. Exploramos mejorar la comprensión general de las características multimodales mediante la creación de redes con operaciones globales, donde se modelan las interacciones directas entre todos los elementos (p. ej., píxel-píxel, palabra-palabra, píxel-palabra).

La convolución de núcleo pequeño de uso común es ineficiente en términos de interacción, resuelta con transformador. La mayoría de las redes de segmentación con transformadores en su mayoría solo utilizan el mecanismo de atención como un módulo auxiliar basado en tuberías tipo FCN, lo que limita su capacidad para modelar el contexto global.

Utilizamos la atención guiada por visión para generar un conjunto de vectores de consulta a partir de características lingüísticas y utilizamos estos vectores para "consultar" una imagen dada y generar máscaras de segmentación a partir de las respuestas, como se muestra en la Figura 1. Este marco basado en la atención nos permite lograr operaciones globales entre características multimodales en cada etapa de la computación, lo que permite que la red modele mejor el contexto global de la información visual y lingüística.

2) Diversidad de objetos/imágenes y expresión irrestricta del lenguaje, lo que trae consigo un alto grado de aleatoriedad .

Sol:

1. Proponemos un módulo de generación de consultas (QGM) que genera múltiples vectores de consulta distintos basados ​​en el idioma con la ayuda de características visuales .

En la mayoría de los trabajos de transformación de visión anteriores, la consulta al decodificador de transformación suele ser un conjunto fijo de vectores aprendidos, cada vector aprendido se usa para predecir un objeto. Los experimentos muestran que cada vector de consulta tiene su propio modo de operación y está especializado para una determinada clase de objetos [1]. En estos trabajos con consultas fijas, debe haber una suposición implícita de que los objetos en la imagen de entrada se distribuyen de acuerdo con ciertas reglas estadísticas, que no coinciden con la aleatoriedad de la segmentación de referencia .

2. Para garantizar que los vectores de consulta generados sean efectivos y encuentren una forma más adecuada de comprender las imágenes y los idiomas, también proponemos un módulo de balance de consultas Módulo de balance de consultas para seleccionar de forma adaptativa las características de salida de estas consultas para generar mejor máscaras . El módulo es liviano con un tamaño de parámetro aproximadamente equivalente a siete capas convolucionales.

trabajo relacionado

Segmentación de referencia

El objetivo de la segmentación de referencia es encontrar un objeto de destino en una imagen dada una expresión de lenguaje natural que describa sus propiedades.

Solo se colocan aquí los 20 años posteriores mencionados en este trabajo.

Red de inferencia de relación bidireccional para la segmentación de imágenes de referencia, 2020

Red colaborativa multitarea para la comprensión y segmentación conjunta de expresiones de referencia, 2020

A diferencia de los métodos anteriores creados en redes similares a FCN, reemplazamos los cabezales de predicción y reconocimiento con una arquitectura completamente basada en la atención, lo que nos ayuda a modelar fácilmente las dependencias a largo plazo en las imágenes.

Atención y Transformador

El modelo Transformer es una arquitectura de red profunda de secuencia a secuencia que utiliza solo el mecanismo de atención

Se siente más sentido común

método

 La red toma imágenes y expresiones del idioma como entrada, donde H0 y W0 son la altura y el ancho de la imagen de entrada respectivamente, y T es la longitud de la expresión del idioma.

Primero, las imágenes de entrada y las expresiones del lenguaje se mapean en el espacio de características.

Al mismo tiempo, las características visuales se envían al codificador de Transformer para generar un conjunto de características de memoria. Los vectores de consulta obtenidos de QGM se utilizan para "consultar" las características de la memoria, y luego el módulo de balance de consulta selecciona la respuesta de resultado del decodificador.
Finalmente, la red genera un maskMp para el objeto de destino.

Modelo

Codificación

Dado que la arquitectura de Transformer solo acepta entradas secuenciales, las entradas de idioma e imágenes sin procesar deben transformarse en un espacio de funciones antes de enviarse a Transformer.

caracteristicas visuales

Usamos una red troncal CNN para la codificación de imágenes. Tomamos las características de las últimas tres capas en la columna vertebral como entrada al codificador. Al cambiar el tamaño de los tres conjuntos de mapas de características y sumarlos, obtenemos las características visuales originales

En la fórmula, H; W es el tamaño del espacio de la función y C es el número de canales de función.

caracteristicas del lenguaje

Primero convertimos cada palabra en una palabra incrustada usando una tabla de búsqueda [31], y luego usamos el módulo RNN para convertir la palabra incrustada en el mismo número de canal que la característica visual, lo que da como resultado un conjunto de características lingüísticas.

 Luego, Fvr y Ft se envían al módulo de generación de consultas como características visuales y lingüísticas. Al mismo tiempo, aplanamos el dominio espacial de Fvr en una secuencia para formar características visuales , que se enviarán al módulo transformador.

Módulo Transformador.

Aplicamos operaciones de atención en entidades de entrada utilizando un transformador completo pero poco profundo.
La red tiene un codificador Transformador y un decodificador, cada uno con dos capas. Cada capa tiene uno (codificador) o dos (decodificador) módulos de atención multicabezal y una red feed-forward.

Los codificadores de transformador toman características visuales Fv como entrada y derivan características de memoria de información visual. Agregamos una incrustación posicional espacial de seno fijo en Fv antes de enviar al codificador.

 En nuestros experimentos, multiplicamos Fv con el estado final de las características lingüísticas para enriquecer la información en características visuales. Luego, Fm se envía al módulo Transformer Decoder como clave y valor junto con el vector de consulta Nq generado por la consulta. El decodificador consulta los vectores de consulta del idioma y las características de la memoria visual, y genera respuestas Nq para la decodificación de máscaras.

Módulo decodificador de máscara

El decodificador de máscara consta de tres capas convolucionales apiladas de 3*3 para la decodificación, seguidas de una capa convolucional de 1*1 para generar la máscara de segmentación final. Las capas de muestreo superior se pueden insertar opcionalmente entre capas para controlar el tamaño de salida. Para demostrar más claramente la eficacia del módulo transformador, en nuestra implementación, el módulo de decodificación de máscaras no utiliza ninguna función anterior de CNN. Utilizamos una pérdida de entropía cruzada binaria en la máscara de salida para guiar el entrenamiento de la red.

Módulo de generación de consultas módulo de generación de consultas

Muchos atributos están ocultos en las expresiones del idioma, como "grande/pequeño", "izquierda/derecha", por ejemplo. Para extraer información clave y resolver el problema de la alta aleatoriedad en la segmentación de referencias, proponemos un módulo de generación de consultas, que genera automáticamente vectores de consulta en línea con la ayuda de información de imagen de acuerdo con la imagen de entrada y la expresión del lenguaje , como se muestra en la figura. .

 Además, para que la red aprenda diferentes aspectos de la información y mejore la solidez de las consultas, generamos múltiples consultas con una sola instancia de destino. El módulo de generación de consultas toma características lingüísticas fv2rnlc y raw vision como entrada para fv2rhwc. En Ft, el i-ésimo vector es el vector característico de la palabra wi, que es la i-ésima palabra en la expresión del lenguaje de entrada.
Nl en Ft se fija mediante relleno con ceros. El objetivo de este módulo es generar Nq vectores de consulta, cada uno de los cuales es una característica lingüística guiada por información visual con diferentes pesos de atención.

Primero, prepare las funciones visuales, como se muestra en la figura: este módulo convierte las funciones visuales 2D regulares en un conjunto de funciones secuenciales. Reducimos el tamaño de la dimensión del canal de características de la característica visual Fvr al número de consultas Nq a través de tres capas convolucionales para obtener mapas de características Nq.

 

Cada uno de ellos participará en la generación de un vector de consulta. Luego, el mapa de características se aplana en el dominio espacial para formar una matriz de características Fvq de tamaño Nq(HW), a saber:

 La mayoría de los trabajos obtienen pesos a través de la autoatención del lenguaje, que no utiliza información en imágenes y solo genera un conjunto de pesos. Pero en la práctica, una misma oración puede tener diferentes ángulos de comprensión y énfasis, y los énfasis más adecuados y efectivos solo se pueden conocer con la ayuda de imágenes, como se muestra en la figura.

Para la misma oración de entrada "el círculo grande a la izquierda", la palabra "izquierda" es más informativa para la primera imagen, mientras que
"grande" es más útil para la segunda imagen. En este caso, la autoatención lingüística no puede distinguir la importancia de "grande" y "izquierda", por lo que solo puede otorgar mayor peso de atención a estas dos palabras, lo que hace que el proceso de atención sea menos eficiente.

Por lo tanto, en el módulo de generación de consultas, combinamos imágenes para comprender las expresiones del lenguaje desde múltiples aspectos y formamos consultas Nq desde el lenguaje. Diferentes consultas enfatizan diferentes palabras, y luego se encuentra y mejora un peso de atención más apropiado a través del módulo de equilibrio de consultas.

Con este fin, combinamos características visuales Fvq para derivar pesos de atención para características lingüísticas Ft. Primero, proyectamos linealmente Fvq y Ft. Luego, para la n-ésima consulta, tomamos el n-ésimo vector de características visuales fvqn2
R1 (HW);N = 1;2;:::;Nq y las características lingüísticas de todas las palabras. Sea la representación característica de la i-ésima palabra fti 2
R1C;I = 1;2;:::; El n-ésimo peso de atención de la i-ésima palabra es el producto de la proyección fvqn y fti:

 Obtenga el escalar ani y son parámetros que se pueden aprender. La función Softmax se aplica a todas las palabras de cada consulta como una normalización.

Para la enésima consulta, de ani para formar el conjunto de pesos de atención para todas las palabras.
Consiste en un conjunto de pesos de atención para diferentes palabras, y diferentes consultas pueden enfocarse en diferentes partes de la expresión del lenguaje. Por lo tanto, los vectores de consulta Nq se enfocan en diferentes énfasis o diferentes formas de entender las expresiones del lenguaje.

 A continuación, aplique los pesos de atención resultantes a las características lingüísticas:

 donde es un parámetro aprendible. Cada Fqn es un vector de características lingüísticas auxiliares guiado por información visual como un vector de consulta para el decodificador de transformación. Matemáticamente, cada consulta es una suma ponderada proyectada de las características de diferentes palabras en la expresión lingüística, por lo que conserva las propiedades como características lingüísticas y puede usarse para consultar imágenes.

 Módulo de Consulta de Saldo 

 Obtenemos Nq vectores de consulta diferentes del módulo de generación de consultas, cada consulta representa una comprensión específica de la expresión del lenguaje de entrada. Como se mencionó anteriormente, tanto las imágenes de entrada como las expresiones del lenguaje son muy aleatorias. Por lo tanto, es necesario elegir de forma adaptativa un mejor método de comprensión y dejar que la red se centre en un método de comprensión más razonable y apropiado. Por otro lado, dado que la independencia de cada vector de consulta se mantiene en Transformer Decoder, pero solo necesitamos una salida de máscara, debemos equilibrar la influencia de diferentes q

El módulo de balance de consultas acepta el vector de consulta Fq del módulo de generación de consultas y su respuesta del Transformer DecoderFr, que tiene el mismo tamaño que Fq. Sea Frn la respuesta correspondiente a Fqn. En el módulo de equilibrio de consultas, las consultas y sus respuestas correspondientes se concatenan primero.

Luego, dos capas lineales consecutivas generan un conjunto de niveles de confianza de consulta Cq de tamaño nq*1. Cada
Cqn escalar muestra qué tan bien se ajusta una consulta Fqn a su contexto predicho y controla el impacto de su respuesta Frn en la decodificación de la máscara. La segunda capa lineal utiliza sigmoide como función de activación para controlar el rango de salida. Cada respuesta Frn se multiplica por la confianza de consulta correspondiente Cqn y se envía a la decodificación de máscara.

experimento

Configuracion basica

Seguimos estrictamente el trabajo previo [19, 29] para la configuración experimental, incluida la preparación de la red troncal Darknet-56 como codificador de CNN. La imagen de entrada cambia de tamaño a 416 X 416. Cada bloque Transformer tiene 8 cabezas y el tamaño de la capa oculta en todas las cabezas se establece en 256.

La longitud máxima de las expresiones del idioma de entrada se establece en 15 para RefCOCO y RefCOCO+, y 20 para G-Ref.

Entrenamos la red durante 50 épocas utilizando el optimizador Adam con tasa de aprendizaje = 0,001. Usando la arquitectura de transformador superficial, pudimos entrenar el modelo con un tamaño de lote de 32 por GPU con 32 GB de VRAM.

Criterios de evaluación

Máscara IoU y Precision@X . La métrica de IoU muestra la calidad de la máscara de salida, que refleja el rendimiento general del método, incluidas las capacidades de orientación y generación de máscaras. Precision@X informa la tasa de puntería exitosa por debajo del umbral X de IoU, centrándose en la capacidad de puntería del método.

conjunto de datos

RefCOCO y RefCOCO+

son los dos conjuntos de datos de segmentación de referencia más grandes y más utilizados. El conjunto de datos RefCOCO contiene 19 994 imágenes que contienen 142 209 expresiones de referencia para 50 000 objetos, mientras que el conjunto de datos UNC+ contiene 19 992 imágenes que contienen 141 564 expresiones para 49 856 objetos.

Ref. G

Contiene 26.711 imágenes y 104.560 expresiones que involucran 54.822 objetos.

Resultados experimentales

Creemos que la razón del buen rendimiento es que, por un lado, las oraciones largas y complejas suelen contener más información y más énfasis, mientras que nuestro módulo de generación y equilibrio de consultas puede detectar múltiples énfasis y encontrar otros más informativos . Por otro lado, los casos más difíciles también pueden contener escenas complejas que requieren una vista global, y la atención de múltiples cabezas como operador global es más adecuada para este problema .

 

experimento de ablación

Realice una investigación de ablación en un conjunto de datos más difícil, RefCOCO+ testB.

Tamaño del parámetro

 El tamaño del parámetro de nuestro módulo basado en la atención es solo aproximadamente equivalente a 7 capas convolucionales, mientras que tiene un rendimiento superior. El rendimiento del módulo Transformador es mejor que el del módulo de 7 convoluciones, el IoU aumenta en más del 5 % y el [email protected] mejora en más del 7 %. Esto demuestra la efectividad de este módulo Transformer.

Generación de consultas

 El vector de consulta fijo aprendido no puede representar el objeto de destino con tanta eficacia como la consulta generada en línea por el módulo de generación de consultas.

Número de consulta

Resulta que si bien solo generan una sola máscara, las redes de transformadores aún requieren múltiples consultas.

Las múltiples consultas generadas por el módulo de generación de consultas representan diferentes aspectos de la información.

Supongo que te gusta

Origin blog.csdn.net/Scabbards_/article/details/132069768
Recomendado
Clasificación