Notas de estudio de redes neuronales 8 - Teoría de FPN y comprensión del código

Directorio de artículos de la serie

Explicación de la estación RPN B relacionada con la segmentación del objetivo


prefacio

La idea básica de Feature Pyramid Networks (FPN) es construir una serie de imágenes o mapas de características de diferentes escalas para el entrenamiento y prueba de modelos, con el propósito de mejorar la robustez de los algoritmos de detección para objetivos de detección de diferentes tamaños. Sin embargo, si el cálculo de FPN se realiza directamente de acuerdo con la definición original, generará una gran cantidad de sobrecarga de cálculo. Para reducir la cantidad de cálculo, FPN adopta un método de fusión de características de múltiples escalas, que puede mejorar significativamente la solidez de la escala de la expresión de características sin aumentar mucho la cantidad de cálculo.

1. Estructura piramidal

inserte la descripción de la imagen aquí

imagen (una)

Primero, la imagen original se escala a diferentes escalas para construir una pirámide de imagen, y luego se extraen diferentes características de cada escala de la pirámide de imagen, y se debe predecir el número de escalas tantas veces como haya.
Ventajas: Se obtiene directamente de la imagen, con buena precisión
Desventajas: A mayor escala, mayor cantidad de cálculo, muchas operaciones repetidas, baja eficiencia y gran uso de memoria

Figura (b)

La imagen original se convoluciona y agrupa a través de la columna vertebral, y se obtiene un nuevo mapa de características de diferentes tamaños en la salida anterior, y se construye una pirámide en el espacio de características de la imagen. Cree que la red superficial presta más atención a la información detallada, y la red de alto nivel presta más atención a la información semántica, que es más propicia para la detección precisa de objetivos. Por lo tanto, después de múltiples escalas, se realizan predicciones y clasificaciones en el final mapa de características.

Ventajas: alta velocidad, menos uso de memoria.
Desventajas: para las características de destino pequeñas, es fácil perderlas, centrándose solo en las características de la última capa en la red profunda, pero ignorando las características de otras capas.

Figura (c)

La imagen original se convoluciona y agrupa a través de la columna vertebral, y se obtiene un nuevo mapa de características de diferentes tamaños en la salida anterior, y se construye una pirámide en el espacio de características de la imagen. Sin embargo, utiliza características de bajo nivel y características de alto nivel para hacer predicciones por separado y hace diferentes predicciones a través de mapas de características de diferentes escalas, lo que reduce la pérdida de objetivos pequeños.

Ventajas: genera el objetivo correspondiente en diferentes capas y genera el objetivo correspondiente sin pasar por todas las capas, lo que es más rápido y mejora el rendimiento de detección del algoritmo.

Desventajas: Las características obtenidas no son robustas, todas son características débiles y se ven fácilmente afectadas por capas menos profundas.

Figura (d)

FPN realiza operaciones de convolución y agrupación en la imagen original a través de la columna vertebral, obtiene nuevos mapas de características de diferentes tamaños en la salida anterior y construye una pirámide en el espacio de características de la imagen. Pero en lugar de simplemente escalar y luego hacer predicciones como en la Figura bc, se predice después de la fusión de mapas de características de diferentes escalas.

Un resumen simple es: de abajo hacia arriba, de arriba hacia abajo, conexión horizontal y fusión de convolución.

Dos, estructura FPN

1. locales

Debido a que las capacidades expresivas de las funciones del mapa de funciones en diferentes niveles son diferentes, las funciones superficiales reflejan principalmente detalles como luces y sombras, bordes, etc., mientras que las funciones profundas reflejan una estructura general más rica. El uso exclusivo de funciones poco profundas no puede contener información estructural general, lo que debilitará la capacidad expresiva de las funciones. Las características profundas en sí mismas se construyen a partir de las características superficiales, por lo que contienen cierta información especial de las características superficiales. Si las características profundas se fusionan con las características superficiales, se tienen en cuenta algunos detalles y la semántica general, lo que hace que las características fusionadas tengan mayor poder expresivo.
FPN adopta esta idea y la implementa. Se extraen varias capas de mapas de características de la pirámide de características. Estas capas forman una relación jerárquica de superficial a profunda, y luego fusionan las características profundas con las capas superficiales paso a paso para formar una nueva. Pirámide de características, cada capa de esta nueva pirámide integra información superficial y profunda, y las características de cada capa de la nueva pirámide se utilizan para la detección, a fin de lograr el propósito de detectar objetivos de diferentes escalas. Llamamos a este método de construcción de características el método de la pirámide de características, que utiliza la estructura jerárquica de la propia red y proporciona un método de entrenamiento de extremo a extremo basado en la imagen original, que se puede utilizar sin aumentar significativamente la sobrecarga computacional y de memoria. para lograr la detección de objetos a múltiples escalas.
inserte la descripción de la imagen aquí

  1. Los mapas de características de diferentes escalas utilizados en FPN deben seleccionarse con una relación de 2 veces. Suponiendo que el tamaño del mapa de características inferior es 28 x 28, la capa superior es 14 x 14 y la capa superior es 7 x 7. Finalmente , la pirámide izquierda original.
  2. Cada mapa de funciones de la pirámide de la izquierda realizará una operación de conversión 1x1 y ajustará los canales de diferentes mapas de funciones en la columna vertebral para garantizar que los canales sean los mismos para la fusión.
  3. Realizar una operación de aumento de 2x en el mapa de características de alto nivel es un aumento de muestreo de 2 veces Por ejemplo, realizar un aumento de muestreo de 2 veces en el mapa de características de 7x7 superior para obtener un mapa de características de 14x14, a fin de garantizar el mismo tamaño que el mapa de características de la capa intermedia .
  4. Después del procesamiento, la forma del mapa de características de la capa más alta y la capa intermedia es exactamente la misma, y ​​se puede realizar la operación de agregar.Por ejemplo, el mapa de características de 7 × 7 de la capa superior se muestrea 2 veces, y el El mapa de características de 14 × 14 en el medio es 1 × 1. El producto ajusta el canal y los dos se agregan para generar una nueva capa piramidal. La nueva capa de características obtenida se puede predecir y esta capa se puede usar como base para sobremuestreo de la siguiente capa.

2. En general

Combinando el modelo resnet para mostrar la estructura general de FPN, el modelo proviene de la estación B
inserte la descripción de la imagen aquí

  1. Con resnet50 como columna vertebral, genere la pirámide original, desde la imagen original de 640 × 640 × 3 a 20 × 20 × 2048, y obtenga cuatro mapas de características de C2, C3, C4 y C5.
  2. Los cuatro mapas de características de C2, C3, C4 y C5, respectivamente, realizan una operación de convolución de 1 × 1 × 256. La razón para realizar esta operación de convolución es garantizar que el canal sea el mismo cuando los dos están fusionados. , el canal se cambia a 256. .
  3. La operación Upsample consiste en realizar un muestreo ascendente 2 veces en el mapa de características de la capa superior y luego fusionarlo con el mapa de características de la capa inferior. Por ejemplo, después de que C5 se somete a una operación de convolución de 1 × 1 × 256, se ingresa en Upsample para 2 veces upsampling, y luego combinado con el 1×1× El mapa de características C4 de la operación de convolución 256 se fusiona.
  4. El resultado de salida después de la fusión también se someterá a una operación de convolución de 3 × 3 × 256 y finalmente obtendrá P2, P3, P4 y P5. Entre ellos, P5 se obtiene realizando continuamente una operación de convolución de 1 × 1 × 256 y una operación de convolución de 3 × 3 × 256 mediante C5, y no se requiere fusión.
  5. Sobre la base de P5, se realiza una reducción de resolución de 1 × 1 × 256 con un tamaño de paso de 2 para obtener un P6, y se usa P6 y solo se usa para la parte RPN, lo que significa que P23456 se puede usar para la parte RPN para predicción, Fast-RCNN solo usará P2345 para la predicción.

el código

Implementación de ResNet+FPN + código de prostitución gratis

Supongo que te gusta

Origin blog.csdn.net/qq_45848817/article/details/128417039
Recomendado
Clasificación