anclaje cálculo del marco de anclaje adaptable

Cálculo adaptativo del marco de anclaje

Un fotograma predefinido es un conjunto de fotogramas preestablecidos. Durante el entrenamiento, se construye con el desplazamiento de la posición del fotograma real en relación con el fotograma preestablecido (es decir, la etiqueta que colocamos)

Muestras de entrenamiento. Esto es equivalente a "encuadrar" el objetivo fuera del cuadro preestablecido aproximadamente en una posición posible, y luego ajustar sobre la base de estos cuadros preestablecidos .

Un cuadro de ancla se puede definir por: la relación de aspecto del marco y el área (escala) del marco, que es equivalente a una serie de reglas de generación de marcos preestablecidas. Según el cuadro de ancla, se puede generar una serie de marcos en cualquier posición de la imagen

Dado que el cuadro de Ancla usualmente toma el punto del Mapa de Características extraído por CNN como la posición central para generar el marco, un cuadro de Ancla no necesita especificar la posición central.

Más rápido R-CNN define tres conjuntos de relaciones de aspecto ratio = [0.5,1,2]y tres escalas scale = [8,16,32], y puede combinar 9 formas y tamaños diferentes de bordes.

En otras palabras, la relación define la relación de aspecto,la escala es el área del borde

La generación del cuadro de anclaje se centra en el punto en el mapa de características generado por última vez por la red CNN (mapeado de nuevo a las coordenadas de la imagen original) Tome Faster R-CNN como ejemplo.La red VGG se utiliza para reducir 16 veces la imagen de entrada , es decir, un punto en el mapa de características corresponde a un área cuadrada de 16 × 16 (campo receptivo) en la imagen de entrada.. Según el Anclaje predefinido, un punto en el Mapa de características puede generar 9 formas y tamaños diferentes de bordes en la imagen original, como se muestra en la siguiente figura:

img

En la imagen de arriba, también puede ver por qué se necesita Anchor. Según el campo receptivo de CNN, un punto en un mapa de características corresponde a un área cuadrada de 16 × 1616 × 16 en la imagen original.Usando solo el borde del área para ubicar el objetivo, su precisión será indudablemente muy pobre, y es posible que ni siquiera "enmarque" el objetivo en absoluto.. Con la adición de Anchor, un punto en el mapa de características puede generar 9 formas y tamaños diferentes de cajas, por lo que la probabilidad de "boxear" el objetivo será muy grande.Mejora enormemente la tasa de recordatorio de las inspecciones.; Y luego, a través de la red posterior para ajustar estos bordes, su precisión también se puede mejorar en gran medida.

El mapa de características generado por Faster R-CNN por Anchor Box se obtiene muestreando 16 veces la imagen original. De esta manera, las diferentes relaciones de aspecto estiran el área de 16 × 16 en diferentes formas, como se muestra en siguiente figura:

img

En otras palabras, solo el punto central es el mismo, el área es la misma y la forma ha cambiado

El área del marco generada por diferentes proporciones es la misma y tiene el mismo tamaño. Las tres áreas diferentes (escalas) realmente amplían o reducen el área mencionada anteriormente de 16 × 1616 × 16.
128 × 128 128 × 128 es un aumento de 16 × 1616 × 16 8 veces; 256 × 256 256 × 256 es un aumento de 16 veces; 512 × 512 512 × 512 es un aumento de 32 veces. Como se muestra abajo:

img

Cálculo de borde

En el algoritmo de Yolo, para diferentes conjuntos de datos, habrá cuadros de anclaje con longitud y ancho iniciales .

En el entrenamiento de la red, la red genera el marco de predicción basado en el marco de anclaje inicial y luego lo compara con la verdad básica del marco real , calcula la brecha entre los dos y luego invierte la actualización para iterar los parámetros de la red .

img

En Yolov3 y Yolov4, al entrenar diferentes conjuntos de datos, el cálculo del valor del cuadro de anclaje inicial se ejecuta a través de un programa separado.

Pero en Yolov5, esta función está incrustada en el código, y cada vez que se entrena, el mejor valor de cuadro de anclaje en diferentes conjuntos de entrenamiento se calcula de forma adaptativa.

Por supuesto, si cree que el efecto del marco de anclaje calculado no es muy bueno, también puede desactivar la función de cálculo automático del marco de ancla en el código .

img

Pregunta 1: ¿Por qué necesito una caja de anclaje?

Para comprender por qué necesita un cuadro de anclaje, primero debe comprender algunos de los métodos anteriores de reconocimiento de objetivos.

1. Ventana corredera

Este es un método de detección de objetivos relativamente primitivo. Dada una ventana de tamaño fijo, deslice de izquierda a derecha y de arriba a abajo paso a paso de acuerdo con el ritmo establecido, e ingrese cada ventana en la red neuronal convolucional para la predicción y clasificación, esto tiene dos desventajas:

  • Debido a que el tamaño de la ventana es fijo, no es adecuado para objetos con gran deformación.
  • Más ventanas y mucha computación

2. Recomendaciones regionales

img

Esta es la idea central de la serie R-CNN. Tomando Faster R-CNN como ejemplo, se utilizan dos redes neuronales en el modelo, una es CNN y la otra es RPN (propuesta regional). La red de propuesta regional no es responsable para la clasificación de imágenes. Solo es responsable de seleccionar las regiones candidatas en la imagen que pueden pertenecer a uno de los conjuntos de datos. El siguiente paso es ingresar las regiones candidatas generadas por RPN en la red de clasificación para la clasificación final.

3.caja de anclaje

La caja de ancla apareció por primera vez en el artículo Faster R-CNN. Para entender la caja de ancla, primero debemos entender dos cuestiones.

* ¿Por qué proponer caja de ancla? *

Hay dos razones principales:

  • Una ventana solo puede detectar un objetivo
  • No se pudo resolver el problema de múltiples escalas.

img

El modelo anterior solo puede predecir un objetivo por ventana. Ingrese la ventana en la red de clasificación y finalmente obtenga una probabilidad de predicción. A qué categoría está sesgada esta probabilidad, el objetivo en la ventana se predice como la categoría correspondiente, como la regresión en el cuadro rojo en la figura Si la probabilidad de peatón es mayor, el objetivo se considera un peatón. Además, una idea se utiliza principalmente al resolver problemas de múltiples escalas: pirámides o pirámides de características clásicas como los modelos DPM. Detecte objetivos de diferentes tamaños en mapas de características de diferentes resoluciones. Pero hay un problema con esto, es decir, aumenta enormemente la cantidad de cálculo.

* ¿Por qué utilizar diferentes tamaños y diferentes relaciones de aspecto? *

img

Para conseguir una mayor intersección sobre unión (pagaré).

Tome la fase de formación como ejemplo.

Para la visión por computadora, es más fácil de entenderVerdad fundamental, Etiquetas hechas por humanos para cada objetivo. Pero después de agregar la idea de caja de anclaje, en el conjunto de entrenamiento,Tratamos cada cuadro de anclaje como una muestra de entrenamiento.. Por lo tanto, para entrenar el modelo de destino, es necesario marcar la etiqueta de cada cuadro de anclaje. La etiqueta aquí incluye dos partes:

  • Etiqueta de categoría
  • Compensar

Hay varias cajas de anclaje, ¿cuál debería elegir? Esto es para hacer una selección mediante combinación cruzada. Imagínese que si se utiliza un ancla de tamaño fijo, la marca de ancla no está dirigida.

img

Por ejemplo, el marrón en la figura es la etiqueta real del peatón, el amarillo es la etiqueta real del vehículo y el cuadro rojo es el cuadro de anclaje mapeado del mapa de características. De esta manera, es difícil obtener cada unidad en el mapa de características a través de la intersección y la comparación. La etiqueta correspondiente.

img

img

En este caso, la relación de intersección entre la caja de anclaje 1 y los peatones puede ser relativamente grande, lo que se puede utilizar para entrenar y predecir a los peatones, y la relación de intersección entre la caja de anclaje 2 y los automóviles es relativamente grande, y puede usarse para entrenamiento y predecir coches. Utilice cuadros de anclaje con diferentes proporciones y tamaños, que son más específicos.

¿Cómo elegir el tamaño de la caja de anclaje?

Actualmente, hay tres formas principales de elegir el cuadro de anclaje:

  • Selección de experiencia humana
  • clústeres de k-medias
  • Aprender como hiperparámetro

Pregunta 2: ¿En qué etapa se utiliza la caja de anclaje?

Por supuesto, se utiliza tanto en la fase de entrenamiento como en la fase de predicción. Pero aquí viene la pregunta, ¿cómo se usa en la fase de entrenamiento y en la fase de predicción?

Está bien en las nubes y nieblas que vi antes, hablemos de ello en detalle aquí.

1. Fase de formación

La comprensión principal de la fase de entrenamiento es que el cuadro de anclaje se establece durante el entrenamiento. En otras palabras, se generarán varios cuadros de ancla durante la predicción real y, luego, a través de la iteración, nuestra función de pérdida es la más pequeña, por lo que el cuadro de predicción es igual que la entrada anterior Los marcos de anclaje son lo más consistentes posible

Etiqueta

En la fase de entrenamiento, el cuadro de anclaje se utiliza como muestra de entrenamiento. Para los ejemplos de entrenamiento, debemos etiquetar cada cuadro de anclaje con dos tipos de etiquetas: uno es la categoría de destino contenida en el cuadro de anclaje, denominado categoría; el otro es la desviación del cuadro delimitador real en relación con el cuadro de ancla. Desplazamiento, denominado desplazamiento (desplazamiento)

Durante la detección de objetivos,Primero generamos varios cuadros de anclaje, luego predecimos la categoría y el desplazamiento para cada cuadro de anclaje, luego ajustamos la posición del cuadro de anclaje de acuerdo con el desplazamiento previsto para obtener el cuadro delimitador previsto y, finalmente, filtramos el cuadro delimitador previsto que se debe generar. .

Conociendo la verdad sobre el terreno de cada objetivo, ¿cómo etiquetar la caja de anclaje?

Utilice la relación máxima de intersección (IOU)

img

La imagen proviene del aprendizaje profundo práctico

Supongamos que hay
un cuadro de anclaje en la imagen, hay

Un cuadro delimitador real, de esta manera, se forma una matriz de relación correspondiente entre el cuadro de anclaje y el cuadro delimitador real.
Inserte la descripción de la imagen aquí

[Error en la transferencia de la imagen del enlace externo. El sitio de origen puede tener un mecanismo de enlace anti-sanguijuela. Se recomienda guardar la imagen y subirla directamente (img-pStVuRZK-1612342739834) (https://www.zhihu.com/equation? tex = X% 5Cin% 20R% 5E% 7Bn_a% 5Ctimes% 20n_b% 7D # pic_center)]

[Error en la transferencia de la imagen del enlace externo. El sitio de origen puede tener un mecanismo de enlace anti-sanguijuela. Se recomienda guardar la imagen y subirla directamente (img-54ufaga1-1608376802802) (https://www.zhihu.com/equation? tex = X% 5Cin + R% 5E% 7Bn_a% 5Ctimes + n_b% 7D)], luego de acuerdo con esta correspondencia, encuentre el cuadro delimitador verdadero con la relación de intersección más grande con cada cuadro de anclaje, y luego use la etiqueta del límite verdadero box como la etiqueta del cuadro de ancla, y luego calcule el ancla El desplazamiento del cuadro en relación con el cuadro delimitador verdadero.

De esta forma, se marca cada cuadro de anclaje: etiqueta y desplazamiento.

capacitación

img

* ¿ Cuándo se activa la caja de anclaje durante la fase de entrenamiento? *

Después de una serie de convolución y agrupación, el cuadro de anclaje se utiliza en la capa de mapa de características. Como se muestra en la figura anterior, después de una serie de extracción de características, finalmente para el [fallo de transferencia de imagen de enlace externo, el sitio de origen puede tener un anti -Mecanismo de cadena de lejía, se recomienda Guardar la imagen y subirla directamente (img-NIuAJ1rz-1608376802804) (https://www.zhihu.com/equation?tex=3%5Ctimes3)] La cuadrícula obtendrá un [Enlace externo la transferencia de la imagen falló, el sitio de origen puede haber un mecanismo de cadena anti-sanguijuelas, se recomienda guardar la imagen y cargarla directamente (img-sGwmbK5n-1608376802805) (https://www.zhihu.com/equation?tex= 3% 5Ctimes3% 5Ctimes2% 5Ctimes8)] capa de características, donde 2 es el número de cuadros de anclaje, tome el curso de "aprendizaje profundo" como ejemplo, seleccione dos cuadros de anclaje, 8 representa el número de variables contenidas en cada cuadro de anclaje, que son 4 compensaciones de posición y 3 categorías (método de etiquetado en caliente), 1 etiqueta de caja de anclaje (si la relación de intersección de la caja de anclaje y el marco real es la más grande, es 1, de lo contrario es 0).

Después de llegar a la capa de entidades, asigne cada celda a la imagen original, busque el cuadro de anclaje preetiquetado y luego calcule la pérdida entre este cuadro de anclaje y la verdad del terreno. El objetivo principal del entrenamiento es entrenar el cuadro de anclaje para que se ajuste al cuadro de anclaje real. Parámetros del modelo de marco.

Observar la función de pérdida será más útil para comprender este concepto. La función de pérdida utilizada en el texto original de Faster R-CNN es:

[Error en la transferencia de la imagen del enlace externo. El sitio de origen puede tener un mecanismo de enlace anti-sanguijuela. Se recomienda guardar la imagen y subirla directamente (img-Qsi29swv-1608376802806) (https://www.zhihu.com/equation? tex = L% 5Cleft% 28% 5Cleft% 5C% 7Bp_% 7Bi% 7D% 5Cright% 5C% 7D% 2C% 5Cleft% 5C% 7Bt_% 7Bi% 7D% 5Cright% 5C% 7D% 5Cright% 29% 3D% 5Cfrac% 7B1% 7D% 7BN_% 7Bc + l + s% 7D% 7D +% 5Csum_% 7Bi% 7D + L_% 7Bc + l + s% 7D% 5Cleft% 28p_% 7Bi% 7D% 2C + p_% 7Bi% 7D% 5E% 7B% 2A% 7D% 5Cright% 29% 2B% 5Clambda +% 5Cfrac% 7B1% 7D% 7BN_% 7Br + e + g% 7D% 7D +% 5Csum_% 7Bi% 7D + p_% 7Bi% 7D% 5E% 7B% 2A% 7D + L_% 7Br + e + g% 7D% 5Cleft% 28t_% 7Bi% 7D% 2C + t_% 7Bi% 7D% 5E% 7B% 2A% 7D% 5Cright% 29)]

[Error en la transferencia de la imagen del enlace externo. El sitio de origen puede tener un mecanismo de enlace anti-sanguijuela. Se recomienda guardar la imagen y subirla directamente (img-NObpkzft-1608376802806) (https://www.zhihu.com/equation? tex = L_% 7Bc + l + s% 7D% 5Cleft% 28p_% 7Bi% 7D% 2C + p_% 7Bi% 7D% 5E% 7B% 2A% 7D% 5Cright% 29)] es la pérdida de categoría, [imagen de enlace externo la transferencia falló, el sitio de origen puede tener un mecanismo Anti-hotlinking, se recomienda guardar la imagen y cargarla directamente (img-Ssoa3IjB-1608376802807) (https://www.zhihu.com/equation?tex=p%5E% 2A_i)] es la etiqueta real, si es una muestra positiva, márquela como 1. Si es una muestra negativa, márquela como 0. De manera similar, [Falló la transferencia de la imagen del enlace externo, el sitio de origen puede tener un mecanismo de enlace anti-sanguijuela, se recomienda guardar la imagen y cargarla directamente (img-GGBUOqum-1608376802808) (https://www.zhihu.com/ ecuación? tex = L_% 7Br + e + g% 7D% 5Cleft% 28t_% 7Bi% 7D% 2C + t_% 7Bi% 7D% 5E% 7B% 2A% 7D% 5Cright% 29)] es la pérdida de compensación de posición, [ Error en la transferencia de la imagen del enlace externo. El sitio de origen puede tener un mecanismo de cadena anti-sanguijuelas. Se recomienda guardar la imagen y cargarla directamente (img-84SaTL87-1608376802809) (https://www.zhihu.com/equation?tex = t% 5E% 2A_i)). El vector de las 4 coordenadas parametrizadas del cuadro de anclaje. El objetivo final del entrenamiento es hacer que la pérdida funcione. https: //www.zhihu.

2. Fase de predicción

* En la etapa de predicción del modelo, ¿cómo podemos obtener el cuadro delimitador predicho? *

Primero, se generan múltiples cuadros de anclaje en la imagen, y luego se predicen los tipos y desplazamientos de estos cuadros de anclaje de acuerdo con los parámetros del modelo entrenado, y luego se obtiene el cuadro delimitador predicho. Debido a la elección del umbral y el número de cuadros de anclaje, el mismo objetivo puede generar múltiples cuadros delimitadores previstos similares, lo que no solo no es conciso, sino que también aumenta la cantidad de cálculo. Para resolver este problema, la medida comúnmente utilizada es utilizar supresión no máxima (supresión no máxima, NMS).

* ¿Cómo entender NMS? *

img

NMS es un proceso transversal iterativo que suprime la redundancia.

Para un cuadro delimitador previsto [Error en la transferencia de la imagen del enlace externo, el sitio de origen puede tener un mecanismo de enlace anti-sanguijuelas, se recomienda guardar la imagen y cargarla directamente (img-MnIIAqSU-1608376802814) (https: //www.zhihu .com / ecuación? tex = B)], el modelo finalmente calculará el valor de probabilidad que pertenece a cada categoría, y la categoría con el mayor valor de probabilidad es la categoría del cuadro delimitador predicho. En la misma imagen, organice las probabilidades pronosticadas de todos los cuadros delimitadores pronosticados (sin distinguir categorías) de grandes a pequeños, y luego saque el cuadro delimitador pronosticado con la mayor probabilidad. [Error en la transferencia de la imagen del enlace externo, el sitio de origen puede tener mecanismo de cadena antirrobo, se recomienda guardar la imagen y cargarla directamente (img-TrZbZ1vm-1608376802815) (https://www.zhihu.com/equation?tex=B_1)] como punto de referencia, y luego calcular el cuadro delimitador previsto restante y [Error en la transferencia de la imagen del enlace externo. El sitio de origen puede tener un mecanismo de cadena anti-sanguijuelas. Se recomienda guardar la imagen y cargarla directamente (img-bMDg2HrO-1608376802816) (https: //www.zhihu .com / ecuación? tex = B_1)] si la relación es mayor que el determinado umbral de A dado, entonces se elimina este cuadro delimitador de predicción. De esta manera, se retiene el cuadro delimitador previsto con la mayor probabilidad y se eliminan otros cuadros delimitadores similares. Lo siguiente que debe hacer es seleccionar el cuadro delimitador previsto con el mayor valor de probabilidad de los cuadros delimitadores previstos restantes [La transferencia de la imagen del enlace externo falló, el sitio de origen puede tener un mecanismo de enlace antirrobo, se recomienda guardar la imagen y cárguelo directamente (img-UAMXo6XT- 1608376802817) (https://www.zhihu.com/equation?tex=B_2)] El proceso de cálculo repite el proceso anterior.


Supongo que te gusta

Origin blog.csdn.net/ahelloyou/article/details/111409090
Recomendado
Clasificación