Tabla de contenido
- I. Introducción
- Dos, YOLOv2
-
- Características de 2.1 v2
-
- (1) Normalización de capa convolucional
- (2) clasificador de alta resolución
- (3) Completamente convolucional
- (4) Use el cuadro de anclaje para predecir el cuadro delimitador
- (5) Agrupamiento dimensional
- (6) predicción de posición directa
- (7) Características más detalladas
- (8) Entrenamiento multiescala
- 2.2 Marco YOLOv2
- 3 YOLOv3
I. Introducción
La detección de objetos en tiempo real se ha convertido en un componente clave de numerosas aplicaciones de vecindario, que incluyen: vehículos autónomos, robótica, videovigilancia y realidad aumentada. Entre los muchos algoritmos de detección de objetos, en los últimos años, el marco YOLO (You Only Look Once) se ha destacado por su excelente velocidad y precisión, y se ha demostrado que puede identificar objetos en imágenes de manera rápida y confiable. Desde su nacimiento, YOLO ha pasado por muchas iteraciones, y cada versión se ha mejorado sobre la base de la versión anterior, mejorando constantemente el rendimiento. Al momento de escribir este artículo, el marco de YOLO se ha actualizado de V1 a v8. Como aplicación de tecnología de visión artificial, es necesario que tengamos una comprensión sistemática de la evolución tecnológica de YOLO y que estemos familiarizados con las principales innovaciones, diferencias y mejoras entre cada versión de YOLO (como diseño de red, modificación de función de pérdida , adaptación del marco de anclaje y escalado de resolución de entrada) espera). Para comprender mejor el pulso principal del desarrollo tecnológico de YOLO y elegir y aplicar mejor las tecnologías de reconocimiento visual relacionadas. Hay tres notas de estudio de resumen de tecnología YOLO, principalmente siguiendo la
línea principal del artículo extranjero "UNA REVISIÓN INTEGRAL DE YOLO: DESDE YOLOV1 Y MÁS ALLÁ" para estudiar y formar una comprensión racional de la tecnología YOLO mediante la síntesis de otra literatura.
Dos, YOLOv2
YOLOv2 fue publicado por Joseph Redmon y Ali Farhadi en la conferencia CVPR de 2017. Ha realizado varias mejoras sobre el YOLO original, haciéndolo aún mejor, manteniendo la misma velocidad, mientras se vuelve más fuerte: ¡capaz de detectar 9000 categorías! Las mejoras incluyen lo siguiente:
Características de 2.1 v2
(1) Normalización de capa convolucional
La normalización por lotes para todas las capas convolucionales mejora la convergencia y actúa como regularizador para reducir el sobreajuste.
(2) clasificador de alta resolución
El modelo se entrenó previamente en 224 × 224 usando ImageNet, mientras tanto, el modelo se ajustó en ImageNet usando una resolución de 448 × 448 durante 10 épocas, mejorando el rendimiento de la red en entradas de mayor resolución.
(3) Completamente convolucional
Se eliminan las capas densas (capas totalmente conectadas) y se utiliza una arquitectura totalmente convolucional.
(4) Use el cuadro de anclaje para predecir el cuadro delimitador
Utilice un conjunto de cajas previas o cajas ancla, que son cajas con una forma predefinida que coinciden con la forma del prototipo del objeto, como se muestra en la figura. Cada celda de la cuadrícula define varios cuadros de anclaje y el sistema predice las coordenadas y categorías de cada cuadro de anclaje. El tamaño de la salida de la red es proporcional al número de cuadros de anclaje por celda de cuadrícula.
(5) Agrupamiento dimensional
Elegir un buen cuadro anterior ayuda a la red a aprender a predecir cuadros delimitadores más precisos. v2 ejecuta el agrupamiento k-means en los cuadros delimitadores de entrenamiento para encontrar buenos antecedentes. Eligieron cinco antecedentes que proporcionan un buen equilibrio entre el recuerdo y la complejidad del modelo.
(6) predicción de posición directa
A diferencia de otros métodos para predecir compensaciones [45], YOLOv2 sigue la misma filosofía, prediciendo las coordenadas de posición en relación con las celdas de la cuadrícula. La red predice cinco cuadros delimitadores para cada celda, y cada cuadro delimitador tiene cinco valores tx, ty, tw, th y to, donde to es equivalente a Pc en YOLOv1, y las coordenadas finales del cuadro delimitador son las siguientes (mediante sigmoide Los valores tx y ty previstos de la función se compensan con las posiciones de las unidades de cuadrícula cx y cy para obtener las coordenadas del centro del cuadro. El ancho y el alto del cuadro final usan el ancho pw y el alto anteriores ph a escala e tw y e respectivamente th , donde tw y th se obtienen como se muestra en la predicción de YOLOv2).
(7) Características más detalladas
En comparación con YOLOv1, YOLOv2 elimina una capa de agrupación para obtener un mapa de características de salida de 13 × 13 o una cuadrícula de imágenes de entrada de 416 × 416. YOLOv2 también usa una capa de paso que reorganiza los mapas de características de 26×26×512 en características adyacentes en diferentes canales en lugar de perderlos a través del submuestreo espacial. Esto genera un mapa de características de 13×13×2048, que se concatena con el mapa de baja resolución de 13×13×1024 en la dimensión del canal para obtener un mapa de características de 13×13×3072. Consulte la siguiente tabla para ver los detalles del esquema:
(8) Entrenamiento multiescala
Dado que YOLOv2 no usa capas completamente conectadas, la entrada puede ser de diferentes tamaños. Para hacer que YOLOv2 sea resistente a diferentes tamaños de entrada, los autores entrenan aleatoriamente el modelo, variando el tamaño de entrada cada 10 lotes, desde 320 × 320 hasta 608 × 608. YOLOv2 logró un AP de 78,6 % en el conjunto de datos PASCAL VOC2007, mientras que YOLOv1 solo logró 63,4 %
2.2 Marco YOLOv2
La arquitectura de red troncal utilizada por YOLOv2 se llama Darknet-19, que contiene 19 capas convolucionales y cinco capas de agrupación máxima. Similar a la arquitectura de YOLOv1, está inspirado en Network in Network, utilizando convolución 1×1 para reducir la cantidad de parámetros entre 3×3. Además, como se mencionó anteriormente, usan la normalización por lotes para normalizar y ayudar con la convergencia.
La tabla anterior muestra toda la arquitectura troncal de Darknet-19 y el cabezal de detección de objetos. Cuando se utiliza el conjunto de datos PASCAL VOC, YOLOv2 predice cinco cuadros delimitadores, cada uno con cinco valores y 20 categorías. El cabezal de clasificación de objetivos reemplaza las últimas cuatro capas convolucionales con una única capa convolucional con 1000 filtros, seguida de una capa de agrupación promedio global y Softmax.