05- Interpretación del algoritmo R-CNN (Detección de objetivos)

Puntos principales:

  • Se puede decir que R-CNN es el trabajo pionero en el uso del aprendizaje profundo para la detección de objetivos.


Un algoritmo R-CNN

Se puede decir que R-CNN es el trabajo pionero en el uso del aprendizaje profundo para la detección de objetivos. El autor Ross Girshick ha ganado la competencia de detección de objetivos PAS C A L V O C muchas veces y llevó al equipo a ganar el premio Lifetime Achievement Award en 2010 .

El proceso del algoritmo RCNN se puede dividir en 4 pasos:

  • Una imagen genera 1K~2K regiones candidatas (utilizando el método de búsqueda selectiva)
  • Para cada región candidata, use una red profunda para extraer características
  • Las características se envían al clasificador SVM de cada clase para determinar si pertenece a la clase
  • Use el regresor para ajustar la posición del cuadro candidato

1.1 Generación de regiones candidatas

Use el algoritmo de búsqueda selectiva para obtener algunas regiones originales a través de la segmentación de imágenes y luego use algunas estrategias de fusión para fusionar estas regiones para obtener una estructura de región jerárquica, y estas estructuras contienen objetos posibles.

El algoritmo de búsqueda selectiva es un algoritmo de segmentación de imágenes basado en la detección de objetos, que puede dividir la imagen en múltiples regiones, cada una de las cuales tiene textura, color y otras características similares. Este algoritmo se puede utilizar en tareas de visión artificial como el reconocimiento y la detección de objetos.

La idea central del algoritmo de búsqueda selectiva es generar un área más grande mediante la fusión continua de pequeños bloques similares. Específicamente, primero divide la imagen en muchos bloques pequeños, luego calcula la similitud entre estos bloques pequeños y fusiona los bloques pequeños con una gran similitud en un superpíxel más grande. Este proceso se repite muchas veces hasta que toda la imagen se divide en varios superpíxeles.

En el algoritmo de búsqueda selectiva, el cálculo de similitud puede utilizar una variedad de métodos, como histograma de color, densidad de borde, textura, etc. Además, para mejorar la eficiencia del algoritmo, la búsqueda selectiva también puede utilizar técnicas de segmentación rápida de imágenes, como los algoritmos Felzenszwalb y Huttenlocher.

En última instancia, el algoritmo de búsqueda selectiva genera una imagen de superpíxeles, donde cada superpíxel representa una región de la imagen con características similares. Esta imagen de superpíxeles se puede utilizar como entrada para algoritmos de visión artificial, como la detección y el reconocimiento de objetos, lo que aumenta su precisión y eficiencia.

1.2 Para cada área candidata, use una red profunda para extraer características

Escale las 2000 áreas candidatas a 227x227 píxeles y luego ingrese las áreas candidatas en la red AlexNet CNN previamente entrenada para obtener características de 4096 dimensiones para obtener una matriz de 2000 × 4096 dimensiones .

1.3 Las características se envían al clasificador SVM de cada categoría para determinar la categoría

Multiplique la característica de 2000 × 4096 dimensiones con la matriz de peso 4096 × 20 compuesta por 20 SVM para obtener una matriz de 2000 × 20 dimensiones que indica que cada buzón de sugerencias es un puntaje de una determinada categoría objetivo. Cada columna en la matriz de 2000 × 20 dimensiones anterior, es decir, cada categoría, está sujeta a una supresión de valor no máximo para eliminar los cuadros de sugerencias superpuestos y algunos cuadros de sugerencias con las puntuaciones más altas en esta columna, es decir, en esta categoría. , son obtenidas.

Multiplique la matriz de características de 2000 × 4096 con la matriz de peso de 4096 × 20 compuesta por 20 SVM para obtener una matriz de probabilidad de 2000 × 20 , y cada fila representa la probabilidad de que un buzón de sugerencias pertenezca a cada categoría objetivo. Cada columna de la matriz de 2000 × 20 dimensiones anterior, es decir, cada categoría, está sujeta a supresión de valores no máximos para eliminar los cuadros de sugerencias superpuestos y algunos cuadros de sugerencias con las puntuaciones más altas en esta columna, es decir, en esta categoría. , se obtienen .  

Pantalla IoU (intersección sobre unión)  (A∩B)/(A∪B)

1.4 Utilice el regresor para ajustar la posición del cuadro candidato

Los cuadros de sugerencias restantes después del procesamiento de NMS se revisan más. Luego , se utilizan 20 regresores para retroceder los cuadros de sugerencias restantes en las 20 categorías anteriores y, finalmente , se obtiene el cuadro delimitador corregido con la puntuación más alta para cada categoría.
Como se muestra en la figura, el marco amarillo P representa la Propuesta de la Región del marco de sugerencias, la ventana verde G representa el marco real Ground Truth y la ventana roja G ˆ
Indica la ventana de predicción después de que la propuesta de región realiza la regresión, que se puede resolver mediante el método de mínimos cuadrados para la regresión lineal .

 R - Marco CNN

1.5 Problemas en R- C NN

  1. La velocidad de prueba es lenta : se tarda unos 53 s (CPU) en probar una imagen . Se tarda unos 2 segundos en extraer el cuadro candidato con el algoritmo de búsqueda selectiva Hay una gran cantidad de superposición entre los cuadros candidatos en una imagen y la operación de extracción de características es redundante .
  2. Velocidad de entrenamiento lenta : el proceso es extremadamente engorroso
  3. Gran espacio requerido para el entrenamiento : para el entrenamiento de regresión de SVM y bbox , las características deben extraerse de cada cuadro de candidato objetivo en cada imagen y escribirse en el disco. Para redes muy profundas como VGG16 , las funciones extraídas de imágenes de 5k en el conjunto de entrenamiento VOC07 requieren cientos de GB de almacenamiento .

Supongo que te gusta

Origin blog.csdn.net/March_A/article/details/130566323
Recomendado
Clasificación