Redes convolucionales deformables 笔记


Resumen
CNN está limitado por la transformación geométrica del modelo debido a su estructura fija Los dos nuevos módulos propuestos en este trabajo mejoran las capacidades de transformación de CNN, (Deformable Convolution, DC) y (Deformable RoI Pooling, DRP). El diseño de ambos se basa en el desplazamiento en el módulo para aumentar la posición de muestreo del espacio de la pared y aprender el desplazamiento de la tarea objetivo. Los experimentos muestran que DCN puede reemplazar a CNN para lograr tareas de visión complejas, como la detección de objetivos y la segmentación semántica.
论文贡献 :
1. Proponer un método de muestreo adaptativo;
2. Mejorar el rendimiento de los modelos de detección de objetivos y segmentación semántica sin aumentar significativamente la cantidad de parámetros y cálculos;
3. Puede integrarse fácilmente en tareas de visión por computadora basadas en CNN

1. Introducción

La red de convolución deformable consta de dos módulos, uno es convolución deformable y el otro es agrupación de RoI deformable .

La operación de convolución en el mapa de características en CNN es tridimensional, es decir, plano más canal. La convolución deformable y la agrupación de RoI deformable están en un espacio bidimensional . Cambian la posición de muestreo de la convolución en el plano, es decir, la posición del campo receptivo, mientras que la dimensión del canal no ha cambiado . De esta manera, el rendimiento de extracción de características se mejora . Como se muestra
Inserte la descripción de la imagen aquí

2. Redes convolucionales deformables

Convolución deformable

La convolución 2D tiene dos pasos: el
primer paso es muestrear en el mapa de características a través de un núcleo de convolución; el
segundo paso es multiplicar estos puntos de muestreo con diferentes pesos y sumarlos.
Los puntos de muestreo en la convolución son regulares. Por ejemplo, un núcleo de convolución de 3 × 3 con una dilatación de 1 se expresa como:
Inserte la descripción de la imagen aquí
p Si o es un punto en el mapa de características de salida y, entonces la operación de convolución se define como:
Inserte la descripción de la imagen aquí

La transformación de la convolución variable se refiere al primer paso para cambiar la operación de convolución: modificar la posición del punto de muestreo, lo que se puede lograr agregando un desplazamiento de desplazamiento al punto de muestreo.
El principio es el siguiente:
Primero, mediante una convolución y convolución del mapa de características de entrada igual que la convolución normal, se obtiene un tamaño de mapa de características con la misma dimensión espacial que el mapa de características de salida. El número de canal es 2N, y 2 es que cada punto tiene xy El desplazamiento en la dirección y, N es el tamaño de un campo receptivo convolucionado en un espacio bidimensional, N = k × k. Correspondiente a cada punto en el mapa de características de salida, el punto de muestreo de su convolución está determinado por los valores de compensaciones 2N en los canales 2N en ese punto en el mapa de características de compensaciones. Después de determinar el punto de muestreo, el valor final del punto en el mapa de salida se obtiene sumando el peso w.
Inserte la descripción de la imagen aquí
La fórmula anterior significa:
Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí
ΔPn son nuestras compensaciones, un total de N (N = k × k).

Luego agregue un punto en detalle, ΔPn suele ser un decimal, por lo que P = P0 + Pn + ΔPn también es un decimal, luego el valor de x (p) debe seleccionarse cuidadosamente, aquí tomamos los cuatro puntos enteros q alrededor de P, mediante Interpolación bilineal para encontrar x (P).

Inserte la descripción de la imagen aquí

Entre ellos, G es bidimensional y se puede dividir en dos operaciones unidimensionales.
Inserte la descripción de la imagen aquí

Donde g (a, b) = max (0, 1 - | a - b |).

La fórmula anterior es la interpolación bilineal. En pocas palabras, los cuatro puntos se dividen en dos grupos y primero se interpolan linealmente en la dirección x para obtener dos puntos, y luego estos dos puntos se interpolan linealmente en la dirección y para obtener el valor final.
Diagrama esquemático: Fuente de la imagen: https://blog.csdn.net/u013010889/article/details/78803240
Inserte la descripción de la imagen aquí
enfatiza lo siguiente, aquí se usa para generar el kernel de convolución para el desplazamiento del punto de muestreo y el tamaño y el tamaño de paso del kernel de convolución para generando el mapa de características final Son todos iguales, todos actúan sobre el mismo mapa de características de entrada, y el campo de compensación generado es del mismo tamaño que el mapa de características generado. Los dos núcleos de convolución aprenden al mismo tiempo, y el aprendizaje de el campo de desplazamiento puede tener puntos de coordenadas decimales, por lo que la interpolación lineal opuesta se usa para aprender el gradiente en el proceso de propagación, que es el método de interpolación bilineal mencionado anteriormente.

Agrupación de RoI deformable

RoI Pooling convierte el área rectangular de entrada de cualquier tamaño en entidades de tamaño fijo.

La operación de RoI Pooling : primero mapee el RoI al mapa de características, y luego, dado el mapa de características de entrada x, y un RoI de tamaño w × h con P0 en la esquina superior izquierda, luego RoI Pooling divide el mapa de características en k × k Bins, cada bin genera un valor a través de la operación de agrupación y, finalmente, genera un mapa de características k × k y.
Entonces, para el (i, j) th bin
Inserte la descripción de la imagen aquí

Donde nij n_ {ij}nortei jEs el número de píxeles en el contenedor (i, j). Dos coordenadas px, py p_x, p_y del píxel p en bin (i, j)pagx,pagyEl rango de valores es el siguiente:
Inserte la descripción de la imagen aquíInserte la descripción de la imagen aquíInserte la descripción de la imagen aquí

De manera similar a la ecuación de convolución de variabilidad anterior (2), aquí se agrega un desplazamiento a todos los píxeles en cada contenedor {∆ pij p_ {ij}pagi j| 0 ≤ i, j <k}, entonces la ecuación 5 anterior se convierte en la siguiente ecuación 6.
Inserte la descripción de la imagen aquí
Por lo general, ∆ pij ∆p_ {ij}pi jEs un decimal, por lo que la ecuación 6 debe calcularse mediante la interpolación bilineal mencionada anteriormente, es decir, las ecuaciones (3) y (4).
La Figura 3 muestra cómo obtener este desplazamiento. Primero, la agrupación de RoI genera un mapa de características agrupado y luego genera un desplazamiento normalizado ∆ pij ^ \ hat {p_ {ij} en este mapa de características a través de una conexión completa }pagi j^, Y luego el desplazamiento se multiplicará por elementos por el ancho y alto de RoI para obtener el ∆ pij p_ {ij} usado en la ecuación (6)pagi j, 即 有∆ pij = γ ⋅ ∆ pij ^。 (w, h) ∆p_ {ij} = γ · ∆ \ hat {p_ {ij}}。 (w, h)pi j=γ pagi j^( W ,h ) . Dondeγ γγ es un escalar predefinido, utilizado para ajustar la magnitud del desplazamiento, generalmente dejeγ γγ = 0.1, y la normalización del desplazamiento puede hacer que el desplazamiento tenga una invariancia de escala. La capa completamente conectada se aprende a través de la propagación inversa, como se muestra en el Apéndice A.

Inserte la descripción de la imagen aquí

Agrupación de RoI sensible a la posición (PS) . Como una variante de la agrupación de RoI, la agrupación de RoI de detección de posición también tiene su forma de variabilidad, a saber, agrupación de RoI de PS deformable. Su diagrama de arquitectura es el siguiente:
Inserte la descripción de la imagen aquí
Las siguientes ramas son aproximadamente las mismas que las de RoI , excepto que cada bin proviene de un mapa de puntuación específico , como (i, j) Correspondiente al mapa (i, j) ésimo, no discutiremos cada clase por separado aquí. Es decir, en la agrupación de PS RoI deformable, el único cambio en la ecuación (6) es que x se convierte en xi, j x_ {i, j}Xi , j. Pero además de la fórmula, el aprendizaje del desplazamiento también es diferente. La agrupación de PS RoI deformable sigue la idea de convolución total. La rama superior en la Figura 4 es la rama de aprendizaje de desplazamientos. El mapa de características de entrada se pasa a un convolución, y el canal es 2 × (C + 1) × k × k, campos de desplazamiento con el mismo tamaño que el mapa de puntuación. El desplazamiento aprendido aquí es el desplazamiento normalizado, que debe obtenerse mediante el mismo método de transformación que en agrupación de RoI deformable para obtener ∆ pij ∆p_ {ij}pi j. Entre ellos, C + 1 corresponde al número de categorías más el fondo, 2 son las dos dimensiones de xey, y k × k corresponde a las N partes divididas, y cada parte tiene un canal separado en el desplazamiento de cada cuadrícula. Del mismo modo que el objeto de la siguiente rama tiene un canal separado para la puntuación de cada parte.

ConvNets deformables

El módulo de agrupación de RoI del núcleo de convolución deformable tiene la misma entrada y salida que su versión simple (no deformable). Por lo tanto, es fácil reemplazar su versión ingenua en la CNN existente, agregar la capa conv core fc para aprender el desplazamiento durante el entrenamiento y usar 0 para inicializar el peso. Su aprendizaje se establece en β veces de la capa existente (el β predeterminado es 1 y el β de la capa fc en Faster R-CNN es β = 0,01), y aprenden mediante interpolación bilineal y retropropagación. La CNN resultante se llama ConvNets deformables.
¿Cómo combinar ConvNets deformables con la arquitectura SOTA CNN existente? En primer lugar, debemos notar que estas arquitecturas se dividen en dos etapas: la primera etapa, la red convolucional completa profunda extrae mapas de características de la imagen de entrada completa; La red especial poco profunda de la segunda etapa genera resultados en este mapa de características. Estas dos etapas se detallan a continuación.
Convolución deformable para extracción de características. En este artículo se utilizan dos modelos SOTA para la extracción de características, a saber, ResNet-101 y una versión modificada de Inception-ResNet. Ambos modelos constan de varios bloques convolucionales, una agrupación promedio y un fc de 1000 vías para la clasificación de ImageNet. Composición de la capa, aquí elimine su agrupación promedio y la capa fc de 1000 vías, y agregue una convolución de 1 × 1 al final para reducir el número de canales a 1024. Como algunas configuraciones comunes, aquí también estará el último bloque de convolución El paso inicial del cambio de 2 a 1, de modo que el paso efectivo del último bloque se cambia de 32 a 16, de modo que la resolución del mapa de características de salida sea mayor. Para compensar, la dilatación de todos los núcleos de convolución del último bloque se cambia de 1 a 2.
Puede optar por utilizar una convolución deformable para las últimas capas convolucionales.Los experimentos muestran que el uso de 3una convolución deformable para lograr el mejor equilibrio.
Redes de segmentación y detección. Como se mencionó anteriormente, una red especial se construye en la salida del mapa de características por la red de extracción de características. En el documento, aquí hay algunos ejemplos de redes de cabezales, por ejemplo, segmentación y detección de objetivos nucleares. Entre ellos, el objetivo de detección de objetivos se reemplaza por el cabezal de red de detección más rápido R-CNN y R-FCN, es decir, el uso de RoI deformable Pooling y RoI deformable sensible a la posición Pooling sustituye a la versión normal correspondiente.

3. Comprensión de las ConvNets deformables

La idea de este trabajo se basa en mejorar la posición de muestreo espacial de la convolución a través del desplazamiento, mejorar el agrupamiento de RoI y aprender el desplazamiento de la tarea objetivo.
Con el apilamiento de convoluciones deformables, cuanto mayor es la influencia de la convolución deformable, como se muestra en la Figura 5, los campos receptivos y los puntos de muestreo en la convolución estándar superior de la izquierda son fijos, mientras que en la convolución deformable de la derecha son fijos. cambiar adaptativamente.
Inserte la descripción de la imagen aquí
La figura 5.2 muestra las capas convolucionales por separado: a es el campo receptivo fijo de convolución estándar y b es el campo receptivo adaptativo de convolución deformable.

3.1. En el contexto de obras relacionadas

Esta parte presenta el trabajo relacionado con el documento desde muchos aspectos, y el contenido se refiere a (13) Lectura de papel | Detección de destino DCN
Spatial Transform Networks, STN , la red de transformación espacial es el trabajo pionero de aprendizaje de la transformación espacial de datos en el campo de aprendiendo.
Convolución activa , de manera similar, este trabajo también aprende el desplazamiento de la posición de muestreo durante el proceso de convolución y actualiza los parámetros mediante retropropagación. Pero la diferencia es: (1) Comparte compensaciones en diferentes ubicaciones espaciales; (2) Los parámetros de compensación son estáticos, es decir, se aprenden por separado para cada tarea o cada entrenamiento.
Campo Receptivo Efectivo , este trabajo revela que la contribución de los píxeles en el campo receptivo no es la misma. El área efectiva solo ocupa una pequeña parte del campo receptivo, y la contribución general de los píxeles presenta una distribución gaussiana. Esto requiere un método de muestreo regional adaptativo.

Atrous Convolution (convoluciones dilatadas) , la convolución del agujero apareció por primera vez en las tareas de segmentación semántica, el propósito es aumentar el campo receptivo en el proceso de convolución, de modo que las características originales de la imagen se puedan retener en la red profunda. Al mismo tiempo, se puede capturar información de contexto de múltiples escalas estableciendo diferentes tasas de anulación. La siguiente figura es un diagrama esquemático de la convolución de un agujero unidimensional:
Inserte la descripción de la imagen aquí
como se muestra en la figura anterior, la convolución ordinaria corresponde a un muestreo escaso; la convolución del agujero corresponde a un muestreo denso. La convolución de agujeros agrega relleno de ceros al mapa de características de entrada para aumentar el campo receptivo del mapa de características de salida. El campo receptivo correspondiente en la figura (b) es 5 55, y el campo receptivo correspondiente en la figura (a) es 3. La convolución hueca se propuso por primera vez en DeepLab, y el artículo proviene de aquí .

Modelos de piezas deformables, DPM, la idea de agrupación de RoI deformable es similar a DPM. DPM es un método tradicional de detección de objetivos basado en el gradiente de píxeles. La idea central es modelar el objeto objetivo como una combinación de varios componentes. No puede lograr una formación de principio a fin y requiere mucha información previa, como componentes y tamaños de componentes.

DeepID-Net , que es similar a la idea de agrupación de RoI deformable, pero la implementación es más complicada. DeepID-Net se basa en R-CNN y es difícil de integrar en el modelo de detección de objetivos para lograr una formación de principio a fin. La parte restante presenta trabajos relacionados, como la combinación de pirámides espaciales, SIFT, ORB, etc.

4. Experimentos

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
El modelo clásico se mejora después de aplicar una convolución deformable.
Inserte la descripción de la imagen aquí

5. Conclusión

El artículo propone un método de muestreo adaptativo y luego propone una red neuronal convolucional DCN deformable. Por primera vez, se propone un método flexible y eficaz para conocer la densa transformación espacial de CNN para resolver complejas tareas visuales. Y DCN se puede combinar con cualquier modelo basado en CNN sin aumentar una gran cantidad de parámetros y costos para mejorar la precisión del modelo.

DilatedConv 和 Deconvolution

El artículo también mencionó dilatación (extendida) convoluciones dilatadas, también conocidas como convoluciones atroces, aquí hay una nota simple.
¿Cuáles son las formas de mejorar el campo receptivo?
Todos podemos pensar en agrupar o hacer que el núcleo de convolución sea> 1, por lo que el campo receptivo de cada píxel en el mapa de características obtenido será más grande. Sin embargo, estos dos métodos harán que la resolución de nuestro mapa de características sea más pequeña y, a veces, necesitamos mejorar el campo receptivo manteniendo la alta resolución de la imagen. Por ejemplo, en la segmentación de potencia, la clasificación se realiza a nivel de píxel y el mapa de características de clasificación final tiene el mismo tamaño que la imagen de entrada. Si utiliza los dos métodos anteriores, debe realizar una reducción y una mejora, e inevitablemente habrá una pérdida de progreso en el proceso.
Entonces, ¿hay alguna diferencia entre ellos? ¿La tasa se reduce y, al mismo tiempo, la forma de aumentar el campo receptivo de cada píxel en el mapa de características de salida? Sí, es decir, conv ( conv dilatado)

Lo siguiente cita la explicación de Zhihu Tan Xu sobre la convolución y deconvolución del agujero:
enlace: https://www.zhihu.com/question/54149221/answer/192025860
Inserte la descripción de la imagen aquí

(a) La cifra corresponde a 3x3 1 conv dilatada, que es la misma que la operación de convolución ordinaria. (b) La cifra corresponde a 3x3 2 convolución dilatada. El tamaño real del grano de convolución sigue siendo 3x3, pero el agujero es 1 , es decir, para uno En el parche de imagen 7x7, solo 9 puntos rojos y el kernel 3x3 se someten a operaciones de convolución, y se omiten los puntos restantes. También se puede entender que el tamaño del kernel es 7x7, pero solo el peso de los 9 puntos en la figura no es 0, y el resto son todos 0. Se puede ver que aunque el tamaño del kernel es solo 3x3, el campo receptivo de esta convolución se ha aumentado a 7x7 (si considera que la capa anterior de esta conv 2-dilatada es una conv 1-dilatada, entonces cada punto rojo es 1- La salida de convolución de dilatado, por lo que el campo receptivo es 3x3, por lo que 1-dilatado y 2-dilatado juntos pueden alcanzar 7x7 conv), la imagen © es una operación conv de 4-dilatada, lo mismo es seguido por dos 1-dilatado y 2 -Detrás del conv dilatado, el campo receptivo puede llegar a 15x15. En comparación con la operación de convolución tradicional, se suman 3 capas de convoluciones de 3x3. Si la zancada es 1, solo puede alcanzar el campo receptivo de (kernel-1) * capa + 1 = 7, que es una relación lineal con el número de capas , y dilatado El campo receptivo de conv es crecimiento exponencial. La ventaja de dilatado es que sin agrupar la información de pérdida, el campo receptivo se agranda, de modo que cada salida de convolución contiene un rango más amplio de información.

La diferencia entre deconv y conv dilatada:

La explicación específica de deconv se puede encontrar en ¿Cómo entender las redes de deconvolución en el aprendizaje profundo? Uno de los usos de deconv es realizar un muestreo superior, es decir, aumentar el tamaño de la imagen. Y la conv dilatada no está haciendo upsampling, sino aumentando el campo receptivo. Puede explicarse visualmente: para la operación de convolución k * k estándar, la zancada es s, y hay tres casos:
(1) s> 1, es decir, la reducción de resolución se realiza durante la convolución y el tamaño de la imagen se reduce después de la convolución;
(2) s = 1, convolución ordinaria con un tamaño de paso de 1. Por ejemplo, si padding = SAME se establece en tensorflow, la entrada y salida de la imagen de la convolución tienen el mismo tamaño;
(3) 0 <s <1, La convolución de pasos fraccionarios equivale a realizar un muestreo superior de la imagen. Por ejemplo, cuando s = 0,5, significa que después de rellenar un píxel en blanco entre cada píxel de la imagen, la zancada se cambia a 1 para la convolución y el tamaño del mapa de características resultante se duplica.
La conv dilatada no está rellenando píxeles en blanco entre píxeles, pero en los píxeles existentes, omite algunos píxeles o la entrada permanece sin cambios, inserte algunos pesos 0 en los parámetros del kernel de conv para lograr una vista de convolución El propósito de aumentar el alcance de la espacio. Por supuesto, establecer el tamaño del paso de zancada de convolución común mayor que 1 también logrará el efecto de aumentar el campo receptivo, pero un paso mayor que 1 provocará una disminución de la resolución y el tamaño de la imagen será más pequeño. Puede comprender la conexión y la diferencia entre deconv, conv dilatada, pooling / downsampling y upsampling de lo anterior . Bienvenido a dejar un mensaje para la comunicación.

Supongo que te gusta

Origin blog.csdn.net/yanghao201607030101/article/details/110309771
Recomendado
Clasificación