¿Cómo funciona la red de propuestas regionales (RPN) en Faster R-CNN?

Basado en el documento original, Hacia la detección de objetos en tiempo real con redes de propuestas regionales, he resumido el RPN en 3 pasos.

  1. En el primer paso, la imagen de entrada pasa a través de una red de convolución que generará un conjunto de mapas de características de la última capa convolucional:

2. Luego se ejecuta una ventana deslizante espacialmente en estos mapas de características. El tamaño de la ventana deslizante es [math] n \ times n [/ math] (aquí [math] 3 \ times 3 [/ math]). Para cada ventana deslizante, se genera un conjunto de 9 anclajes que tienen el mismo centro [matemática] (x_a, y_a) [/ matemática] pero con 3 relaciones de aspecto diferentes y 3 escalas diferentes como se muestra a continuación. Tenga en cuenta que todas estas coordenadas se calculan con respecto a la imagen original.

Además, para cada uno de estos anclajes, se calcula un valor [matemático] p ^ * [/ matemático] que indica cuánto se superponen estos anclajes con los cuadros delimitadores de la verdad fundamental.

[matemáticas] p ^ * = \ left \ {\ begin {array} {lrr} 1 & if & IoU> 0.7 \\ – 1 & if & IoU <0.3 \\ 0 && de lo contrario \ end {array} \ right. [/ mates]

donde IoU es la intersección sobre la unión y se define a continuación:

[matemática] IoU = \ displaystyle \ frac {\ displaystyle Anchor \ cap GTBox} {\ displaystyle Anchor \ cup GTBox} [/ math]

3. Finalmente, las características espaciales [math] 3 \ times 3 [/ math] extraídas de esos mapas de características de convolución (que se muestran arriba dentro del cuadro rojo ) se alimentan a una red más pequeña que tiene dos tareas: clasificación (cls) y regresión (reg ) La salida del regresor determina un cuadro delimitador predicho [matemática] (x, y, w, h) [/ matemática], la salida de la subred de clasificación es una probabilidad [matemática] p [/ matemática] que indica si la predicción el cuadro contiene un objeto ([matemática] 1 [/ matemática]) o es del fondo ([matemática] 0 [/ matemática] para ningún objeto).

La función de pérdida se define sobre la salida de ambas subredes, con 2 términos y un factor de equilibrio [math] \ lambda [/ math].

La red de propuesta de región (RPN) en la red neuronal convolucional más rápida basada en la región (Faster R-CNN) se usa para decidir “dónde” buscar para reducir los requisitos computacionales del proceso de inferencia general. El RPN escanea rápida y eficientemente cada ubicación para evaluar si es necesario llevar a cabo un procesamiento adicional en una región determinada. Lo hace al generar k propuestas de cuadro delimitador cada una con 2 puntuaciones que representan la probabilidad de un objeto o no en cada ubicación.

Los cuadros de ancla son solo referencias, se seleccionan para tener diferentes relaciones de aspecto y escalas con el fin de acomodar diferentes tipos de objetos, los objetos alargados como los autobuses, por ejemplo, no se pueden representar adecuadamente mediante un cuadro delimitador cuadrado. En Faster R-CNN utilizaron k = 9 que representa 3 escalas y 3 relaciones de aspecto. Cada regresor en el RPN solo calcula 4 valores de desplazamiento (w, h, x, y) en el cuadro de referencia correspondiente.

donde w = ancho, h = altura, (x, y) = centro

El RPN usa una ventana de 3 × 3 que se desliza sobre un mapa de características de conv de alto nivel, el tamaño efectivo de esa pequeña ventana es en realidad 177 × 177 cuando se vuelve a proyectar en la capa de entrada, por lo que el RPN está usando mucho contexto cuando haciendo las propuestas. Esta ventana 3 × 3 se vuelve a muestrear a un vector de 256 dimensiones antes de alimentar a dos capas completamente conectadas, una capa de regresión de caja ( reg ), que calcula las compensaciones de caja, y la capa de clasificación de caja ( cls ) que calcula las puntuaciones de confianza que están relacionadas a la probabilidad de objetividad. La capa reg tiene 4k salidas, mientras que la capa cls tiene 2k salidas, lo que hace que la salida RPN total por posición sea de 4k + 2k .

Entonces, en cada ubicación de la capa conv, los encabezados de regresión del cuadro delimitador generan las compensaciones del cuadro delimitador para cada cuadro delimitador, mientras que la capa de clasificación genera los puntajes de confianza que representan si un objeto está presente o no dentro de cada cuadro delimitador. Solo se procesan más las cajas con una alta probabilidad correspondiente de que el objeto esté presente. Por lo tanto, las propuestas finales en cada ubicación son las cajas de anclaje + las compensaciones de caja con una alta probabilidad de contener un objeto.

Espero que esto ayude.

¡Hola!

Como ya mencionó Vahid Mirjalili, el RPN toma todos los cuadros de referencia (anclas) y genera un conjunto de buenas propuestas para objetos. Lo hace al tener dos salidas diferentes para cada uno de los anclajes.

Si está interesado en una explicación detallada del RPN (y otras partes del modelo Faster R-CNN), puede encontrar útil esta publicación de blog:

R-CNN más rápido: por la madriguera del conejo de la detección de objetos modernos

More Interesting

Máquinas de factorización: ¿cómo hacen los FM para hacer predicciones y aprender?

¿Cuál es la conexión entre un modelo probabilístico y un gráfico en un modelo gráfico probabilístico?

¿Cómo entrenamos un clasificador para el cual solo tenemos datos de entrenamiento positivos (no hay datos negativos o sin etiquetar disponibles)?

¿Necesito una GPU para aprender el aprendizaje profundo?

¿Qué tipo de empresas necesitan / necesitarán ingenieros de Machine Learning?

¿Son las redes neuronales artificiales la única forma de establecer un aprendizaje profundo?

¿Qué es la agrupación promedio global?

¿Existe algún informe publicado que haya aplicado con éxito el aprendizaje profundo para un sistema de recomendación basado en contenido de texto?

¿Es posible aplicar las técnicas de N-gram para el análisis de sentimientos?

Dada una oración, quiero encontrar la emoción de la persona que la dijo. ¿Cómo puedo hacer esto?

Cómo elegir el modelo correcto con la distribución correcta

¿Es cierto que la cantidad de datos es, con mucho, la ventaja competitiva más importante para las empresas de aprendizaje automático (por ejemplo, en automóviles autónomos)?

¿Qué es la discretización de características?

En las arquitecturas VGG-16 y VGG-19, ¿por qué hay más capas convolucionales 3 × 3 apiladas consecutivamente en las capas altas que en las capas inferiores?

¿Qué empresas / startups en India están contratando para trabajos de ciencia de datos, análisis de datos o aprendizaje automático?