CCNet: atención cruzada para la segmentación semántica

[código pytorch] (t https://github.com/speedinghzl/CCNet)

Dos gráficos de agregación de contexto basados ​​en la atención

  1. Para cada ubicación (por ejemplo, azul), el módulo no local genera un mapa de atención denso con un peso de H × W (verde).
  2. Para cada posición (por ejemplo, azul), el módulo de atención entrecruzada genera un mapa de atención disperso con solo pesos H + W-1. Después de la operación de bucle, cada ubicación (como rojo) en el mapa de características de salida final puede capturar las dependencias remotas de todos los píxeles. En aras de la claridad, se ignora la conexión residual.
    Inserte la descripción de la imagen aquí

1.En general

Inserte la descripción de la imagen aquí

  • La figura 2 es la estructura básica de la red. La imagen de entrada se pasa a través de una red neuronal convolucional profunda (DCNN) para generar un mapa de características X.
    Después de obtener el mapa de características X, primero aplicamos una capa convolucional para obtener un mapa de características de dimensión reducida H, y luego colocamos el mapa de características H en un módulo de atención transversal (CCA) y generamos un nuevo mapa de características H ', que se agrega La información de contexto a larga distancia y cada píxel se sincroniza de forma transversal.

  • El mapa de características H 'solo agrega información de contexto en las direcciones horizontal y vertical, lo que no es suficiente para la segmentación semántica. Para obtener información de contexto más rica y más densa, ingresamos nuevamente el mapa de características H 'en el módulo de atención cruzada, y luego sacamos el mapa de características H ″. Por lo tanto, cada posición en el mapa de características H '' realmente recopila información de todos los píxeles. Los dos módulos de atención cruzada comparten los mismos parámetros para evitar agregar demasiados parámetros adicionales. Esta estructura recursiva se denomina módulo de atención cruzada cruzada recursiva (RCCA).

  • Luego, conectamos la característica de contexto denso H '' con la característica de representación local X. Esto es seguido por una o varias capas convolucionales con normalización por lotes y activación para fusión de características. Finalmente, las características fusionadas se ingresan en la capa de segmentación para generar el mapa de segmentación final.

2. Atención cruzada cruzada

Inserte la descripción de la imagen aquí

  • Como se muestra en la Fig. 3, la característica local HR C × W × H , el módulo de atención cruzada crujiente primero aplica dos capas convolucionales con filtros 1 × 1 en H para generar dos mapas de características Q y K, respectivamente Q {,} ∈R K C '× H × W es . C 'es el número de canales en el mapa de características. Debido a la reducción de tamaño, C' es más pequeño que C. Después de obtener los gráficos de características Q y K, generamos aún más el gráfico de atención A ∈ R (H + W-1) × W × H a través de la operación de afinidad . En cada posición u en la dimensión espacial del mapa de características Q, podemos obtener el vector Qu ∈ R C ' . De manera similar, podemos obtener el conjunto Ωu ​​extrayendo vectores de características de K, donde K está en la misma fila o columna que u. Por lo tanto, Ωu ∈ R (H + W-1) × C ' , Ωi, u ∈ R C' es el i-ésimo elemento de Ωu.

  • Affinity operación definida como sigue:
    Inserte la descripción de la imagen aquí
    en donde di, u∈D caracterizan Qu y? I, el grado de correlación de u, i =, D∈R [1, ..., | | Ωu.] (+ W es-H 1.) X H x W es . Luego, aplicamos la capa softmax en D a lo largo de la dimensión del canal para calcular el gráfico de atención A.

  • Luego, se aplica otra capa convolucional con filtros 1 × 1 en H para generar V ∈ R C × W × H para la adaptación de características. Cada posición en las dimensiones espaciales de las características de la figura V u, podemos obtener el vector Vu∈R C y establecer Φu∈R (+ W es-H. 1) × C . El conjunto Φu es un conjunto de vectores de características en V, y estos vectores de características se encuentran en la misma fila o columna en la posición u. La información de contexto remoto se recopila mediante la operación de Agregación:
    Inserte la descripción de la imagen aquí
    donde H'u representa el vector de características en la posición u del mapa de características de salida H'∈R C × W × H. Ai, u son los valores escalares en el canal i y la posición u. La información de contexto se agrega a las características locales H para mejorar las características locales y mejorar la representación por píxeles. Por lo tanto, tiene una vista contextual amplia y agrega selectivamente el contexto basado en el gráfico de atención espacial.

3. Atención recurrente entrecruzada

Inserte la descripción de la imagen aquí

  • Aunque el módulo de atención horizontal y vertical puede capturar información de contexto remota en direcciones horizontales y verticales, la conexión entre píxeles y píxeles aún es escasa. Basado en el módulo de atención cruzada mencionado anteriormente, hemos introducido la atención cruzada repetida. El módulo de atención cruzada de bucle se puede expandir a R bucles. En el primer bucle, el módulo de atención cruzada extrae el mapa de características H extraído del modelo CNN como entrada, y toma el mapa de características H 'como entrada, donde H y H' tienen la misma forma. En el segundo bucle, el módulo de atención cruzada toma el mapa de características de entrada H 'y el mapa de características de salida H ″ como entradas.
    Como se muestra en la Figura 2, el módulo de atención cíclica de entrelazado cruzado tiene dos bucles (R = 2), suficientes para obtener dependencias remotas de todos los píxeles para generar un nuevo mapa de características con información de contexto densa y rica.

  • A y A 'son los mapas de atención en el ciclo 1 y el ciclo 2, respectivamente. Como solo estamos interesados ​​en la dimensión espacial de la información de contexto en lugar de la dimensión del canal, podemos considerar que la capa convolucional con filtros 1 × 1 es la misma conexión. Además, la función de mapeo desde la posición x ', y' hasta el peso Ai, x, y se define como

  • Inserte la descripción de la imagen aquí

  • Para cualquier posición u en el mapa de características H '' y cualquier posición θ en el mapa de características H, si R = 2, hay una conexión. Un caso es que u y θ están en la misma fila o columna:
    Inserte la descripción de la imagen aquí

  • Donde ← indica operaciones adicionales. Otra situación es que u y θ no están en la misma fila y la misma columna. La Figura 4 muestra la ruta de propagación de la información de contexto en la dimensión espacial:
    Inserte la descripción de la imagen aquí

  • En general, nuestro módulo cíclico de atención cruzada compensa la falta del módulo de atención cruzada que no puede obtener información de contexto densa de todos los píxeles. En comparación con el módulo de atención entrecruzada, el módulo de atención entrecruzada cíclica (R = 2) no aporta parámetros adicionales y puede lograr un mejor rendimiento a costa de un incremento de cálculo más pequeño.

Publicado 12 artículos originales · elogiado 4 · visitas 1266

Supongo que te gusta

Origin blog.csdn.net/qq_36321330/article/details/105460926
Recomendado
Clasificación