[Notas en papel] Segmentación de instancias de video CVPR2021 Oral——VisTR: segmentación de instancias de video de extremo a extremo con transformadores

Segmentación de instancias de video La segmentación de instancias de video, sobre la base de vos, etiqueta cada instancia.

La segmentación de instancias es detección de objetivos + segmentación semántica. El objetivo se detecta en la imagen y luego a cada píxel del objetivo se le asigna una etiqueta de categoría, que puede distinguir diferentes instancias con la misma categoría semántica de primer plano.

Conjunto de datos: Youtube-VIS

Predecesor: segmentación de instancias de video

imagen-20220514164204594

VisTR:Segmentación de instancias de video de extremo a extremo con transformadores

problema resuelto

VIS no solo detecta y segmenta objetos en un solo cuadro de imágenes, sino que también encuentra la relación correspondiente de cada objeto en múltiples cuadros, es decir, los asocia y los rastrea.

  • El video en sí mismo son datos a nivel de secuencia y se modela como una tarea de predicción de secuencias. Dada la entrada de varios fotogramas, la salida de la secuencia de máscara de segmentación de varios fotogramas requiere un modelo que pueda procesar varios fotogramas en paralelo .
  • Unifique las dos tareas de segmentación y seguimiento de objetivos. La segmentación es el aprendizaje de similitudes de las características de los píxeles, y el seguimiento de objetivos es el aprendizaje de similitudes de las características de las instancias.

Aplicación de transformadores a la segmentación de instancias de video

  • sí mismo para secuencia a secuencia
  • El transformador es bueno para modelar secuencias largas y se puede usar para establecer dependencias de larga distancia y aprender información de tiempo a través de múltiples marcos.
  • La autoatención puede aprender y actualizar funciones en función de la similitud entre pares, y puede aprender mejor la correlación entre marcos

De extremo a extremo, considere las características temporales y espaciales del video como un todo, refiriéndose a DETR

introducir

Tarea: Realice la segmentación de instancias para cada marco y establezca la asociación de datos de instancias en marcos consecutivos al mismo tiempo: seguimiento de seguimiento

Resumen: trata la tarea VIS como un paralelosecuenciaProblemas de decodificación/predicción. Dado un videoclip que consta de múltiples cuadros de imagen como entrada, VisTR genera directamente una secuencia de máscaras para cada instancia en el video. En este documento, la secuencia de salida de cada instancia se denomina secuencia de instancia.

En la imagen a continuación, los marcos se distinguen por la forma, las instancias se distinguen por el color, tres marcos y cuatro instancias

imagen-20220514165143772

  • En la primera etapa, dada una secuencia de cuadros de video, un módulo CNN estándar extrae las características de un solo cuadro de imagen y luego concatena múltiples características de imagen en orden de cuadro para formar una secuencia de características.

    Nota: La selección de la red en la etapa de extracción de características se puede cambiar según el tipo de imagen

  • En la segunda etapa, el transformador toma una secuencia de características a nivel de segmento como entrada y genera una secuencia de predicciones de instancias en secuencia. La secuencia de predicciones sigue el orden de los cuadros de entrada , mientras que las predicciones para cada cuadro también siguen el mismo orden de instancias .

Desafío : modelado como un problema de predicción de secuencias

Aunque en la entrada inicial, la entrada y la salida de múltiples cuadros en la dimensión de secuencia de tiempo están ordenadas, pero para un solo cuadro, la secuencia de instancias no está ordenada en el estado inicial y la asociación de seguimiento de instancias no se puede realizar, por lo que es necesario Es obligatorio hacer que el orden de las instancias de salida de cada cuadro de imagen sea coherente, de modo que siempre que se encuentre la salida de la posición correspondiente, la asociación de la misma instancia se pueda realizar de forma natural.

  • Cómo mantener el orden de la salida

    Estrategia de coincidencia de secuencias de instancias: dimensionamiento de secuencias de características en la misma posición de fuerza

    Realice coincidencias de gráficos bipartitos entre las secuencias reales de salida y de tierra y supervise las secuencias como un todo

  • Cómo obtener la secuencia de máscara para cada instancia de la red del transformador

    Módulo de segmentación de secuencias de instancias: obtenga las características de la máscara de cada instancia en varios fotogramas con autoatención y utilice la convolución 3D para segmentar la secuencia de máscaras de cada instancia

Estructura general de VisTR

Una red troncal de CNN para extraer representaciones de características de múltiples cuadros (Aquí se pueden usar diferentes redes de extracción de características de acuerdo con los diferentes requisitos de la escena.)

Un transformador codificador-decodificador para modelar la similitud de las características a nivel de píxel y a nivel de instancia

Un módulo de coincidencia de secuencias de ejemplo

Un módulo de segmentación de secuencias de instancias
Estructura general

columna vertebral

Entrada inicial: cuadro T * número de canales 3 * H' * W'

Matriz de características de salida (concat cada cuadro): T * C * H * W

codificador de transformador

Aprenda la similitud entre puntos y puntos, y la salida es una secuencia densa de características de píxeles

Primero, las características extraídas por la columna vertebral se reducen en una convolución 1*1: T * C * H * W => T * d * H * W

Aplanamiento: la entrada del transformador debe ser bidimensional, por lo tanto, aplane el espacio (H, W) y el tiempo (T), T * d * H * W => d * (T * H * W)

La comprensión del aplanamiento: d es similar al canal, y T * H * W son todos los píxeles de todos los cuadros T de esta secuencia

Codificación de posiciones en el tiempo y el espacio

Codificación posicional temporal y espacial.

La dimensión del código de posición final es d

El resultado de Transformer es independiente de la secuencia de entrada, y la tarea de segmentación de instancias requiere información de posición precisa, por lo que la característica se complementa con información de codificación de posición fija, que contiene la posición tridimensional (tiempo, espacio - H, W) en el Información del segmento, enviada al codificador junto con la información de características extraída por la red troncal

En el transformador original, la información de posición es unidimensional, por lo que iii es de 1 a d dimensión, entonces2k 2k2 k de 0 a d,wk w_kwkGradualmente de 1 a infinitamente cerca de 0
Por favor agregue una descripción de la imagen
Por favor agregue una descripción de la imagen

Entonces el vector en la posición t final también es de dimensión d:
pt = [ sin ( w 1 . t ) cos ( w 1 . t ) sin ( w 2 . t ) cos ( w 2 . t ) sin ( wd / 2 . t ) cos ( wd / 2 . t ) ] d p_t = \left[ \begin{matrix} sin(w_1 .t)\\ cos(w_1 .t)\\ sin(w_2 .t)\\ cos(w_2 .t) \\ \\ \\ sin(w_{d/2}.t)\\ cos(w_{d/2}.t)\\ \end{matriz} \right] _dpagt=pecado _ _ _ _1. t )c o s ( w1. t )pecado _ _ _ _2. t )c o s ( w2. t )pecado _ _ _ _d / 2. t )c o s ( wd / 2. t )re
En este artículo lo que hay que considerar es la posición de las tres dimensiones, H, W, T, es decir, para un punto de píxel, sus coordenadas tienen tres valores, por lo que para tres dimensiones, independientemente generar d / 3 d/ 3d / vector de posición tridimensional

Para las coordenadas de cada dimensión, utilizando las funciones seno y coseno de forma independiente, se obtiene d/3 d/3vector de d / 3 dimensiones

punto de ventap o s representa las coordenadas (h , w , th, w, th ,w ,t ),iii representa la dimensión, suponiendo que solo mirehhh , seccióniii de 1 ad/3 d/3d / 3 dimensiones, al mismo tiempo para garantizarwk w_kwkEl valor está entre 0 y 1, así que aquí wk w_kwkNo es lo mismo que el transformador original.

imagen-20220515153825709

imagen-20220518133305019

El vector de posición final en la dimensión H se expresa como sigue
PE ( pos ) H = [ sin ( w 1 . t ) cos ( w 1 . t ) sin ( w 2 . t ) cos ( w 2 . t ) sin ( wd / 6 . t ) cos ( wd / 6 . t ) ] d / 3 PE(pos)_H = \left[ \begin{matriz} sin(w_1 .t)\\ cos(w_1 .t)\\ sin(w_2 .t) \\ cos(w_2 .t)\\ \\ \\ sin(w_{d/6}.t)\\ cos(w_{d/6}.t)\\ \\end{matriz} \ derecha] _ {d/3}P E ( p o s )H=pecado _ _ _ _1. t )c o s ( w1. t )pecado _ _ _ _2. t )c o s ( w2. t )pecado _ _ _ _d / 6. t )c o s ( wd / 6. t )d / 3

Luego ingrese el código de posición (d * H * W * T) en el codificador junto con las características extraídas por la red troncal

decodificador de transformador

Decodificar la secuencia de características de píxeles densos generados por el codificador en una secuencia de características de instancia dispersa

Para ser visto: Inspirado en DETR, suponiendo que cada marco tiene n instancias, cada marco tiene un número fijo de incrustaciones de entrada que se utilizan para extraer las características de la instancia, consulta de instancia nombrada, luego la consulta de instancia del marco T tiene N = n* t. se puede aprender y tiene las mismas dimensiones que las características de píxeles

consulta de instancia: se utiliza para realizar operaciones de atención con secuencias de características de entrada densas y seleccionar características que pueden representar cada instancia

Entrada: E + consulta de instancia

Salida: la secuencia de predicción O de cada instancia, el proceso posterior considera la secuencia de predicción de todos los cuadros de una sola instancia como un todo, y los genera en el orden de la secuencia de cuadros de video original, que es n * T vectores de instancia

coincidencia de secuencia de instancia

La salida del decodificador es n * T secuencias de predicción, en el orden de los cuadros, pero el orden de n instancias en cada cuadro es incierto

La función de este módulo es mantener la posición relativa sin cambios para la predicción de la misma instancia en diferentes marcos.

Haga coincidir binariamente la secuencia predicha de cada instancia con la secuencia GT de cada instancia en los datos etiquetados y use el método de coincidencia húngaro para encontrar los datos etiquetados más cercanos para cada predicción

Suplemento FFN: De hecho, es el perceptrón multicapa MLP, que es FC+GeLU+FC

En Transformer, a MSA le sigue una FFN (red de avance), que contiene dos capas de FC, la primera FC transforma características de la dimensión D a 4D, la segunda FC restaura características de la dimensión 4D a D y la del medio no lineal. todas las funciones de activación usan GeLU (Unidad lineal de error gaussiano, Unidad lineal de error gaussiano): esto es esencialmente un MLP (el perceptrón multicapa es similar al modelo lineal, la diferencia es que MLP aumenta el número de capas en relación con FC e introduce no -funciones de activación lineal, como FC + GeLU + FC)

Principalmente para mantener la posición relativa de la predicción de la misma instancia en diferentes imágenes

Segmentación de secuencias de instancias

Tarea: Calcular la máscara de cada instancia en el marco correspondiente

O es la salida del decodificador, E es la salida del codificador y B es la función extraída por CNN

La esencia de la segmentación de instancias es el aprendizaje de la similitud de píxeles. Para cada cuadro , primero envíe la imagen de predicción O y la función de codificación E a la autoatención, calcule la similitud y use el resultado como máscara inicial del cuadro de la instancia. , y luego compárelo con el marco. La característica principal inicial y la característica de codificación E se fusionan para obtener la característica de máscara final de la instancia del marco. Con el fin de hacer un mejor uso de la información de tiempo, el concatenamiento de máscara de múltiples cuadros de esta instancia genera una secuencia de máscara, que se envía al módulo de convolución 3D para su segmentación.

Este método fortalece la segmentación de un solo marco al usar las características de la misma instancia de varios marcos para aprovechar la sincronización.

Motivo: cuando el objeto está en estado de desafío, como desenfoque de movimiento, cubierta, etc., puede ayudar a la segmentación al aprender información de otros marcos, es decir, las características de la misma instancia de múltiples marcos pueden ayudar a la red a mejorar. identificar el objeto ejemplo

Suponiendo que la característica de máscara g(i, t) de la instancia i en el cuadro t: 1 * a * H'/4 * W'/4, donde a es el número de canal, concatene las características del cuadro T para obtener la instancia en todos máscara en cuadro 1*a*T*H'/4*W'/4

4 aquí es porque hay 4 instancias en el ejemplo

imagen-20220515160846905

experimento de ablación

duración de la secuencia de vídeo

De 18 a 36, ​​el efecto mejora y más información sobre el tiempo puede ayudar a mejorar los resultados.
inserte la descripción de la imagen aquí

orden de las secuencias de video

imagen-20220515162424531

código de localización

posición relativa en la secuencia de vídeo

El efecto de la primera línea sin codificación de posición es que la correspondencia entre el formato ordenado de la supervisión de secuencia y el orden de entrada y salida del transformador implica parte de la información de posición relativa

imagen-20220515162527332

Incrustaciones de consultas de instancias aprendibles

Nivel de predicción predeterminado: una incrustación es responsable de una predicción, un total de n * T

nivel de video: solo una incrustación, reutilizada n * T veces

nivel de cuadro: para cada cuadro, use una incrustación, es decir, T incrustaciones, y para cada incrustación, repita n veces

nivel de instancia: para cada instancia, use una incrustación, es decir, n incrustaciones, repetidas T veces

Las consultas de una instancia se pueden compartir , lo que se puede usar para mejorar la velocidad

imagen-20220515162914171

Resultados experimentales

Conjunto de datos: YouTube-VIS

Gran velocidad gracias a: Decodificación en paralelo

Resultados de la visualización: (a) instancias superpuestas, (b) cambios en posiciones relativas entre instancias, © confusión cuando las instancias de la misma categoría están juntas, (d) instancias en varias poses.
inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/xqh_Jolene/article/details/124784226
Recomendado
Clasificación