Tabla de contenido
- Tiempo de publicación, autores y artículos de cada versión
- yolo-v1 (propuesto en 2015)
- yolo-v2 (2017)
- yolo-v3 (2018)
-
- Descripción general de la mejora
- Mejora de métodos multiescala y fusión de funciones
- Análisis Comparativo de Transformación de Escala Métodos Clásicos
- Interpretación del método de conexión residual
- Análisis general de la arquitectura del modelo de red
- Mejora del diseño de la caja a priori
- Mejoras en la capa Softmax
El algoritmo de red neuronal se centra en: valor de salida de estructura de red + función de pérdida.
Tiempo de publicación, autores y artículos de cada versión
YOLO (Solo miras una vez), 2015.6.8, Joseph Redmon
YOLOv2 (YOLO9000), 2016.12.25, Joseph Redmon
YOLOv3, 2018.4.8, Joseph Redmon
YOLOv4, 2020.4.23, Alexey Bochkovskiy
YOLOv5 ,2020.6.10,Ultralíticos
YOLOX, 2021.7.20,旷世
YOLOv6,2022.6.23,美团
YOLOv7,2022.7.7,Alexey Bochkovskiy
YOLOv8,2023.1,Ultralytics
参考:https://blog.csdn.net/qq_34451909/article /detalles/128779602
YOLOv1:2015,artículo:https://arxiv.org/pdf/1506.02640.pdf
YOLOv2:2017,artículo:https://arxiv.org/pdf/1612.08242.pdf
YOLOv3:2018,artículo:https://arxiv. org/pdf/1804.02767.pdf
YOLOv4:2020,papel:https://arxiv.org/pdf/2004.10934.pdf
YOLOv5:2020,papel:https://arxiv.org/pdf/2108.11539.pdf
YOLOv6:2022,papel :https://arxiv.org/pdf/2209.02976.pdf
YOLOv7:2022,papel:https://arxiv.org/pdf/2207.02696.pdf
yolo-v1 (propuesto en 2015)
pensamiento general
La idea central es tratar la detección de objetos como una sola tarea de regresión. Primero divide la imagen en cuadrículas SxS, y en qué cuadrícula cae el centro del marco real del objeto, el marco de anclaje correspondiente a la cuadrícula se encarga de detectar el objeto.
El método clásico de una etapa convierte el problema de detección en un problema de regresión.Una CNN puede manejarlo y generar x, y, h, w.
Divida los datos de entrada en pequeñas cuadrículas de S*S** (la salida en v1 es 7×7)**.
Determine en qué cuadrícula se encuentra el objeto y observe su punto central.
Primero proporcione el H y W de los dos marcos candidatos según la experiencia, calcule el IoU con el marco real, use el que sea más alto como marco de predicción y luego realice un ajuste fino (tarea de regresión), genere un marco de predicción para cada cuadrícula , y finalmente generar x, y, h, w (cuadro delimitador, cuadro delimitador) y confianza (confianza), y luego filtrar muchos de los cuadros generados para obtener un cuadro con una mayor confianza, y luego ajustar el cuadro con un mayor confianza.
Interpretación de la arquitectura de red
Para la capa totalmente conectada, debido a que el tamaño de su peso y sesgo es constante en cada regresión, el tamaño de la característica de entrada debe ser limitado; de lo contrario, no hay forma de hacerlo, por lo que el tamaño de la imagen de entrada se proporciona en YOLO-v1 como 448 × 448 × 3.
La parte frontal de la capa completamente conectada se puede considerar como un proceso de convolución, porque la red GoogLeNet rara vez se usa ahora, por lo que no entraré en detalles, y el modelo de red utilizado en v3 se explicará en detalle.
Mire principalmente el significado de la salida 7 × 7 × 30 más adelante:
7 × 7 significa dividir la imagen en cuadrículas de 7 × 7.
30=10+20: Indica la posición, el tamaño y la confianza de dos cuadros candidatos (cuadro delimitador), más 20 categorías.
La dimensión del resultado final de la predicción es S×S×(B*5+C)
función de pérdida
error de posición
i significa que para diferentes cuadrículas, hay un total de S cuadrados, j significa que hay un total de B para diferentes casillas candidatas, seleccione la casilla con el IoU más grande y calcule la diferencia entre el valor real y el valor pronosticado.
Agregar el signo raíz a w y h es para tratar con los diferentes tamaños de objetos. Para objetos pequeños, el tamaño del marco puede cambiar en una unidad y es posible que el marco no se pueda enmarcar.
y=signo raíz La función x es más sensible cuando el valor es pequeño y no tan sensible cuando el valor es grande. Para objetos pequeños, el desplazamiento puede no ser sensible cuando el desplazamiento es relativamente pequeño. Ahora hágalo más sensible.
Los coeficientes anteriores son equivalentes a elementos de peso.
error de confianza
Dividido en primer plano (es decir, con objetivo) y fondo (sin objetivo)
Cuando la IoU entre un marco determinado y la trama real es mayor que el umbral, como 0,5, cuanto más cercana sea la confianza de la trama actual a la IoU, más apropiado, pero puede haber muchas partes superpuestas de la trama y la marco real, luego calcule el marco con el IoU más grande.
En la imagen real, la proporción del primer plano y el fondo es algo diferente, por lo que hay un término de peso en el cálculo del fondo, por lo que la influencia del fondo en la pérdida es menor.
error de clasificación
Calcula la pérdida de entropía cruzada.
NMS (supresión no máxima)
Al predecir, para un marco con un IoU relativamente grande (prediciendo el mismo objeto), compare su confianza, mantenga el valor máximo y elimine los demás.
Características de yolo-v1
Ventajas
Rápido y fácil.
defecto
- Las cosas que se superponen son difíciles de detectar.
- El efecto de detección de objetos pequeños es promedio y la relación de aspecto es opcional pero única.
- Es difícil resolver el problema de múltiples etiquetas para un mismo objeto, por ejemplo, las etiquetas de un objeto son perros y perros esquimales.
yolo-v2 (2017)
mejorar detalles
v2 no tiene una capa completamente conectada.
BN se usa mucho ahora, y se puede decir que conv-bn es estándar.
En v1, el rendimiento de la computadora puede ser relativamente bajo y el entrenamiento de imágenes de 448 × 448 × 3 será relativamente lento, por lo que la cantidad de píxeles de imagen utilizados para el entrenamiento y la prueba es diferente.
En v2, no se considera el tiempo y se han realizado 10 ajustes adicionales.
Interpretación de la arquitectura de red
Toma prestado de VGG (2014) y la estructura de la red Resnet.
-
Es para extraer características, por lo que no hay una capa completamente conectada .
La capa completamente conectada es fácil de sobreajustar y, debido a la gran cantidad de parámetros, el entrenamiento es relativamente lento.
La salida de la derecha es solo un ejemplo, la situación real no es el caso. -
5 veces de reducción de resolución, cada reducción de resolución se reduce a la mitad del original, y un punto en el mapa de características de salida es equivalente a 1/32 de la imagen original.
La entrada real es 416 × 416 y la salida es 13 × 13 (más refinada que v2). Esta es la estructura de red real Darknet 19 , que tiene 19 capas. El número de capas se puede cambiar según sus necesidades. Si hay son más capas, el mAP puede ser más alto y el FPS puede ser más alto. La salida es un número impar para que el mapa de características tenga un punto central. -
Hay dos tipos de núcleos de convolución en la red: 3 × 3 y 1 × 1. El primero se basa en la idea del documento de red VGG. Al elegir un núcleo de convolución más pequeño, los parámetros son relativamente pequeños y el campo receptivo es relativamente grande. La convolución 1 × 1 solo cambia la cantidad de mapas de características (la cantidad de canales), y es un proceso para lograr la concentración de características. Usar 1 es menos que usar 3 parámetros, y el cálculo es más rápido.
Elija a priori el tamaño de la caja en función de la agrupación
- YOLOv1 utiliza 2 tipos.
- FasterRCNN utiliza 9 tipos. 3 escalas, tres tamaños diferentes, cada una con tres formas. Las relaciones anteriores seleccionadas por la serie de rcnn más rápido son convencionales, pero no necesariamente completamente adecuadas para el conjunto de datos.
- YOLOv2: seleccione el tamaño de cuadro anterior según el agrupamiento de K-means . Se agrupan 5 categorías (k=5) de los ejemplos reales, y el centro de cada categoría se toma como h y w del cuadro anterior como representante, y cada cuadrícula en el mapa de características sale con 5 cuadros anteriores. Si se usa la distancia euclidiana, el error del marco grande puede ser grande y el error del marco pequeño es pequeño. Se propone una definición de distancia, utilizando 1-IoU como distancia.
Hicieron un experimento y tomaron un valor de compromiso k=5. En este momento, el IoU promedio es relativamente grande y el aumento en el valor de k será muy lento (pendiente). Seleccione cinco casillas anteriores (anclajes).
- Como resultado,
mAP disminuyó ligeramente y el recuerdo aumentó significativamente.
Hay más casillas candidatas, pero no todas las casillas candidatas pueden funcionar bien, por lo que el valor de mAP se reduce ligeramente (por ejemplo, encontré dos bien aprendidas y me fue bien, pero si encontré cinco, no puedo tan bien), pero la tasa de recuperación ha mejorado significativamente. La tasa de recuperación significa que hay objetivos en la imagen y se pueden detectar más objetivos.
Método de cálculo de compensación, mapeo de coordenadas y restauración
- El desplazamiento se predice directamente en YOLOv1 .
- En v2, se predice una posición relativa para evitar que el cuadro delimitador se salga de la cuadrícula después de agregar el desplazamiento.
Mapeo y restauración de coordenadas
- tx, ty es el desplazamiento previsto, la función sigmoidea, el rango de valores es de 0 a 1, el desplazamiento previsto se ingresa en la función sigmoidea para obtener un número entre 0 y 1, y las coordenadas de la esquina superior izquierda de la cuadrícula son agregados para obtener bx ,by, los valores predichos finales bx,by,bw,bh se asignan al mapa de características.
- tw, th también son valores pronosticados, que han sufrido una transformación logarítmica, por lo que vuelven a cambiar a bw, bh. Los valores predichos finales bx,by,bw,bh son las posiciones en el mapa de características real.
- pw, ph es el cuadro anterior obtenido por agrupamiento, que es el tamaño del cuadro en el mapa de características, y la imagen original ha sido mapeada (dividida por 32).
El papel del campo receptivo
Cuanto más grande es el campo receptivo, más información se ve en la imagen original, es conveniente reconocer objetos más grandes.
La fórmula de cálculo del campo receptivo:
si hay una convolución hueca:
el campo receptivo de la primera capa de convolución es 3, el campo receptivo de la segunda capa de convolución es 5 y la tercera capa: 5+(3-1 )×1=7
Mejoras en la fusión de características
Cuanto mayor sea el campo receptivo adecuado para capturar objetos grandes, es posible que se pierdan las características más pequeñas.
Se requieren campos receptivos grandes y pequeños, por lo que las dos capas se superponen.
multiescala
El tamaño de la imagen en v2 debe ser divisible por 32.
Después de varias iteraciones, se cambia el tamaño de la imagen para permitir que la red tenga una adaptabilidad que pueda detectar tanto imágenes pequeñas como imágenes grandes, haciéndola más completa.
yolo-v3 (2018)
Descripción general de la mejora
v3 es muy práctico, se usa en campos militares y de privacidad. En 2020, el autor original de YOLO publicó un tuit en el que decía que dejaba de investigar en el campo de la visión artificial.
Las versiones posteriores a v3 no están desarrolladas por el autor original.
Tamaño de cuadrícula del mapa de características:
v1: 7×7
v2: 13×13
v3: 13×13, 26×26, 52×52.
Mejora de métodos multiescala y fusión de funciones
- 3 escalas: 52×52 es bueno para predecir objetivos pequeños, 26×26 es bueno para predecir objetivos medianos y 13×13 es bueno para predecir objetivos grandes. No se trata de dejarlo hacer lo que se le da bien (no hacer lo suyo), ni es integrar directamente las características de la parte delantera y la trasera.
- Se generan tres cuadros de candidatos en cada mapa de características.
- En lugar de permitir directamente que 52 × 52 prediga objetivos pequeños, 26 × 26 prediga objetivos de tamaño mediano y 13 × 13 prediga objetivos grandes, se realiza una fusión de características. 13 × 13 ya conoce la información global, así que use 26 × 26 El 13 La experiencia ×13 también se usa cuando se predicen objetos de tamaño mediano. Para predecir el objetivo, se toman prestadas algunas ideas del mapa de funciones para predecir el objetivo grande, y para objetivos pequeños, las características del objetivo en el pronóstico se usan como referencia.
Análisis Comparativo de Transformación de Escala Métodos Clásicos
Imagen izquierda: imagen piramidal, cambie el tamaño de la imagen de entrada, introdúzcala en la red por separado y genere tres tamaños de mapa de características: 52×52 , 26×26 , 13×13 , pero esta velocidad es demasiado lenta.
Imagen de la derecha: De hecho, es YOLOv1, un único resultado de predicción y una CNN para una imagen.
La imagen de la izquierda está cada uno haciendo lo suyo.
En v3, use la imagen correcta, use upsampling y use interpolación lineal para hacerlo.
El mapa de características de 13 × 13 se muestrea a 26 × 26 y luego se fusiona con 26 × 26 para predecir objetivos de tamaño mediano. Después del muestreo, 26 × 26 se fusiona con 13 × 13 para predecir objetivos pequeños.
Interpretación del método de conexión residual
YOLOv3 incorpora ideas del artículo de resnet (2016).
En 2014, VGG solo hizo 19 capas, porque a veces aumenta la cantidad de capas, el efecto de predicción no es bueno y el gradiente desaparece.
Resnet resuelve el problema de la desaparición del gradiente, porque hay un mapeo x equivalente, por lo que el rendimiento de la red puede alcanzar al menos no peor que el original.
En la esquina inferior izquierda hay un bloque residual.
Análisis general de la arquitectura del modelo de red
1x, 2x, 8x se refieren al número de pilas.
YOLO v3 llama al modelo DarkNet 53 , que en realidad puede considerarse como resnet.
La agrupación comprimirá las funciones, lo que puede no ser efectivo. La convolución ahorra tiempo y esfuerzo y es rápida y eficaz.
Mejora del diseño de la caja a priori
Valor de salida : 13 × 13 × 3 × 85 (13 números de cuadrícula × 3 tipos de proporciones de fotogramas anteriores × 4 coordenadas de fotograma × 1 grado de confianza × 80 categorías)
Una vez realizada la agrupación, se muestran las especificaciones comunes de los 9, pero no todas las cuadrículas tienen los 9 cuadros a priori, sino que se dividen en categorías y se asignan diferentes cuadros a priori a diferentes mapas de características.
Mejoras en la capa Softmax
Cada etiqueta hace una clasificación binaria.
No se puede entender en muchos lugares.