Detección de objetos: Introducción a YOLO y SSD

Como una de las tres tareas principales de la visión por computadora (clasificación de imágenes, detección de objetivos y segmentación de imágenes), la tarea de la detección de objetivos es localizar y clasificar objetos de interés a partir de imágenes. Las soluciones de visión tradicionales incluyen transformación de Hough, ventana deslizante, extracción de características, detección de límites, coincidencia de plantillas, características Hal, DPM, BoW, aprendizaje automático tradicional (como bosque aleatorio, AdaBoost) y otras tecnologías o métodos. Con el apoyo de redes neuronales convolucionales, la tarea de detección de objetos ha avanzado mucho en los últimos años. Tiene una amplia gama de aplicaciones, como en el campo de la conducción autónoma, donde la detección de objetos se utiliza para que vehículos no tripulados detecten otros vehículos, peatones o señales de tráfico.

Los marcos de detección de objetivos utilizados habitualmente se pueden dividir en dos categorías. Uno es un enfoque de dos etapas/dos activadores, caracterizado por separar la detección y clasificación de regiones de interés. Los más representativos incluyen R-CNN, FAST R-CNN y Fast R-CNN. El otro es un método de una sola etapa, que utiliza una red para detectar y clasificar simultáneamente regiones de interés, representadas por YOLO (v1, v2, v3) y SSD.

El enfoque de dos etapas apareció antes porque requiere que la detección y clasificación de las regiones de interés estén separadas. Aunque la precisión es relativamente alta, el rendimiento en tiempo real es relativamente pobre y no es adecuado para escenarios de aplicación como la conducción autónoma y la percepción de vehículos no tripulados. Entonces, esta vez presentamos principalmente los marcos de las series SSD y YOLO.

SSD y 2016 fueron propuestos por W. Liu et al. en el artículo "SSD: Single-shot Multi-Box Detector". Aunque se propuso un poco más tarde que YOLO (v1) en el mismo año, es más rápido y preciso.

El marco SSD agrega algunas estructuras adicionales a una red CNN básica (el autor usa VGG-16, pero también puede ser reemplazado por otras redes), dándole a la red las siguientes características:

Detección de mapas de características de múltiples escalas

El autor agregó algunas capas de características detrás de VGG-16, y el tamaño de estas capas disminuyó gradualmente, lo que nos permite hacer predicciones en diferentes escalas. Cuanto más profundo y pequeño sea el mapa de características, más grandes serán los objetos que se pueden predecir.

Predicción de red convolucional

A diferencia de la capa totalmente conectada de YOLO, para cada mapa de características de canal utilizado para la predicción, el clasificador SSD utiliza convolución para la predicción, donde cada El número de fotogramas anteriores colocados en el La unidad es el número de categorías previstas.

Establecer cuadros más allá

Para cada celda en el mapa de características, colocamos una secuencia de cuadros anteriores. Luego, para cada cuadro anterior correspondiente a cada celda en el mapa de características, predecimos el desplazamiento dimensional del cuadro anterior y la confianza de cada clase. Por ejemplo, para un nuevo mapa de características, si cada mapa de características corresponde a un cuadro anterior y la clase a predecir está clasificada, el tamaño de salida es. (Reflejado en el proceso de entrenamiento)

Entre ellos, si la posición central, el ancho y el alto del cuadro anterior se utilizan para representar la posición central, el ancho y el alto del cuadro predicho, la dimensión real predicha se compensa. son:

La siguiente imagen es un marco de SSD. Primero use un VGG-16 para convolucionar las primeras cinco capas, y luego conecte en cascada una serie de capas convolucionales, seis de ellas convolucionan por separado (o la agrupación promedio de la última capa) para realizar predicciones para obtener una salida, y luego mediante la supresión máxima. (NMS) para obtener el resultado final.

Hay cuatro mapas de características utilizados para la detección de redes en la figura, con tamaños de , , y respectivamente. Cada unidad de estos mapas de características corresponde a , y cuadros preestablecidos a priori, por lo que la red **; * Predecir un cuadro delimitador con una dimensión de salida (antes de la supresión máxima) de.

Continuará

Referencia:

blog CSDN de chenxp2311: Lectura de papel: SSD: detector de cajas múltiples de un solo disparo.

Columna Xiaojiangzhihu: Detección de objetivos|Principio e implementación de SSD

Blog CSDN de LittleYii: Lectura del artículo sobre detección de objetivos: YOLOv1-YOLOv3 (1)

Autor Otros artículos relacionados :

Segmentación de imágenes: explicación detallada de la red neuronal totalmente convolucional (FCN)

PointNet: explicación detallada del modelo de segmentación y clasificación de nubes de puntos 3D basado en aprendizaje profundo

Posicionamiento interior del robot basado en visión