CV target detección entrevista imprescindible RCNN serie 1

Tabla de contenido

¿Por qué aprender Faster-RCNN?

prefacio

R-CNN

RCNNResumen 

Rápido-RCNN

Qué es el ROI (también en Faster-RCNN, es un punto de prueba)


¿Por qué aprender Faster-RCNN?

Recientemente me preparé para una pasantía de CV y ​​revisé la serie RCNN. La mayoría de mis amigos piensan que la era Faster-RCNN se ha convertido en historia. ¿Por qué debería ver Faster-RCNN? ¿No es una pérdida de tiempo? Eso pensé al principio. , pero los hermanos de laboratorio están entrevistando para puestos de CV. A menudo encuentro problemas como la estructura de la red RPN en Faster-RCNN, cómo entrenar, cómo calcular la pérdida, etc. Aunque con el desarrollo de la tecnología, los resultados de Faster-RCNN en la mayoría de los conjuntos de datos públicos no son tan buenos como los puntajes actuales de YOLO y transformadores. Alto, pero contiene muchos puntos de conocimiento inicial, que pueden permitirnos aprender mejor. Como dice el refrán, para comprender una tecnología, debe estar familiarizado con es historia. Al mismo tiempo, aunque Faster-RCNN no es tan rápido como YOLO, etc., es más estable, por lo que todavía se usa en la mayoría de las industrias.


prefacio

Faster-RCNN es una evolución paso a paso de fast-RCNN y RCNN. Ambos son algoritmos de dos etapas (en términos simples, necesitan generar marcos candidatos por adelantado y luego modificarlos al final. A diferencia de YOLO, anclan directamente 9 las casillas predicen el resultado final), entonces hay que ver qué es RCNN y qué ha mejorado cada uno.

R-CNN

Mirando la imagen, en términos simples, R-CNN se divide en cuatro pasos

1. Use la búsqueda selectiva para generar áreas candidatas de 1k~2k que pueden contener objetos . ¿Qué significa la búsqueda selectiva? Es ingresar una imagen y rodearla en un área a través de la similitud de cada área de color y características de textura. Por lo tanto, es muy lento y requiere mucho tiempo. (Personalmente creo que la entrevista puede preguntar)

2. Después de obtener estas áreas candidatas, mapéelas a la imagen, que es equivalente a imágenes pequeñas de 1 K ~ 2 K. Dado que cada cuadro es de tamaño variable, el tamaño de la imagen es diferente, así que primero amplíe a un tamaño uniforme de 227x227, y luego Entrada a CNN (AlexNet, como una función de extracción de funciones), y finalmente salida como una función a través de una conexión completa.

3. Ingrese las características de 1k ~ 2k obtenidas en el SVM para la clasificación binaria, por ejemplo, un total de 20 categorías y la dimensión de salida (2000x20)

4. Utilice una conexión completa para corregir la posición de la caja de 1k~2k

Entonces, ¿quieres tantas cajas? La respuesta definitivamente es no, cómo lidiar con eso, aquí hay otra entrevista requerida, supresión de valor no máximo de NMS, sacaré el código más tarde y lo explicaré en detalle.

RCNNResumen 

1. Desventajas: lo anterior es el proceso general de RCNN. También se puede ver que la velocidad es lenta y los cuadros deben seleccionarse manualmente usando el algoritmo SS, y luego la extracción de características se realiza usando Alexnet para cada cuadro. , lo que resulta en una gran pérdida de recursos debido a la convolución repetida y el entrenamiento lento de SVM. Estas son sus deficiencias, pero salió Fast-RCNN

2. Ventajas: el uso del algoritmo SS mejora la precisión y el efecto fue muy bueno en ese momento.


Rápido-RCNN

Entré rápido sin parar, se puede ver el nombre, se ha vuelto más rápido

Primero mire la estructura de red de Fast RCNN. Se puede ver que todavía hay una gran brecha en comparación con RCNN. La mayor diferencia es que hay una capa de agrupación de RoI (Región de interés). En segundo lugar, el SVM en RCNN ha sido cambiado a una capa completamente conectada.

El proceso general es continuar usando la búsqueda selectiva en RCNN para filtrar 2k casillas candidatas, y luego ingresar la imagen en la red convolucional para obtener el mapa de características, y luego mapear la casilla candidata al mapa de características, mientras RCNN mapea la cuadro candidato al original Después de la imagen, se obtienen 2k imágenes pequeñas para la convolución, lo que desperdicia enormemente los recursos informáticos. Posteriormente, el resultado final se obtiene realizando una conexión completa a través de estas matrices de características de 2k.

Qué es el ROI (también en Faster-RCNN, es un punto de prueba)

Consiste en hacer corresponder cada cuadro candidato con las regiones de características de 2k obtenidas en el mapa de características, dividir cada región de características de manera uniforme en bloques M×N (7x7 en el código grande) y realizar una agrupación máxima en cada bloque. Por lo tanto, las regiones candidatas de diferentes tamaños en el mapa de características se convierten en vectores de características de tamaño uniforme y se envían a la siguiente capa. ¿Por qué debería unificarse, porque la entrada no es uniforme y la estructura de la red no se puede procesar de forma adaptativa? Operación específica:

 

1. De acuerdo con la relación entre el tamaño de la imagen de entrada y el tamaño del mapa de características, los cuadros candidatos de 2k se escalan y luego se asignan al mapa de características para obtener el RoI.

2. La operación de agrupación se realiza en cada RoI. Dado que el tamaño de cada cuadro candidato es diferente, el RoI es diferente y debe procesarse con el mismo tamaño. Por ejemplo, si se divide en bloques MxN, y luego se realiza MaxPooling en cada bloque, es para tomar el valor máximo, vea el siguiente diagrama dinámico, aquí se divide en (2x2)

 

Finalmente, es relativamente simple ver el diagrama de flujo general que se proporciona en el documento. Reemplace la SVM en RCNN con una capa completamente conectada. El cálculo de la pérdida también es diferente.

La pérdida suave se utiliza para la existencia de la derivada cuando x=0 y el gradiente es suave. La pérdida de clasificación utiliza SoftMax. El cuadro real pronosticado es el desplazamiento, y el xywh real de cada cuadro se obtiene mediante el siguiente método de cálculo.

Resumir:

Fast-RCNN todavía tiene una gran mejora, y la velocidad se ha mejorado mucho, pero debido a que el algoritmo SS toma manualmente el cuadro candidato, todavía es muy lento, Faster-Rcnn lo mejora aún más.


Dado que Faster-RCNN tiene muchas mejoras, se ve un poco inflado cuando se junta, así que lo pongo en el siguiente artículo.

Blog de referencia:

(10 mensajes) [Aprendizaje profundo] Algoritmo de detección de objetivos en dos etapas_Blog de MangoloD-CSDN Blog_Algoritmo de detección de objetivos en dos etapas

Supongo que te gusta

Origin blog.csdn.net/weixin_44711102/article/details/129249727
Recomendado
Clasificación