Notas de estudio de la serie de algoritmos YOLO de detección de objetivos Capítulos 2, 3 y 4 - Arquitectura e ideas de algoritmos YOLOv1, v2, v3

El algoritmo de red neuronal se centra en: valor de salida de estructura de red + función de pérdida.
inserte la descripción de la imagen aquí

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.
inserte la descripción de la imagen aquí

inserte la descripción de la imagen aquí
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.
inserte la descripción de la imagen aquí
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.
inserte la descripción de la imagen aquí
La dimensión del resultado final de la predicción es S×S×(B*5+C)

función de pérdida

inserte la descripción de la imagen aquí

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.
inserte la descripción de la imagen aquí
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)

inserte la descripción de la imagen aquí
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

  1. Las cosas que se superponen son difíciles de detectar.
  2. El efecto de detección de objetos pequeños es promedio y la relación de aspecto es opcional pero única.
  3. 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

inserte la descripción de la imagen aquí
v2 no tiene una capa completamente conectada.

inserte la descripción de la imagen aquí
BN se usa mucho ahora, y se puede decir que conv-bn es estándar.
inserte la descripción de la imagen aquí
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

inserte la descripción de la imagen aquí
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

inserte la descripción de la imagen aquí

  • 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.
    inserte la descripción de la imagen aquí
  • 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.
    inserte la descripción de la imagen aquí
    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).
    inserte la descripción de la imagen aquí
  • 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.
    inserte la descripción de la imagen aquí

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.
    inserte la descripción de la imagen aquí

Mapeo y restauración de coordenadas
inserte la descripción de la imagen aquí

  • 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.
inserte la descripción de la imagen aquí
La fórmula de cálculo del campo receptivo:
inserte la descripción de la imagen aquí
si hay una convolución hueca:
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
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
inserte la descripción de la imagen aquí

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.
inserte la descripción de la imagen aquí
Se requieren campos receptivos grandes y pequeños, por lo que las dos capas se superponen.

multiescala

inserte la descripción de la imagen aquí
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

inserte la descripción de la imagen aquí
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.
inserte la descripción de la imagen aquí
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

inserte la descripción de la imagen aquí

  • 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

inserte la descripción de la imagen aquí
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.

inserte la descripción de la imagen aquí
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

inserte la descripción de la imagen aquí
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

inserte la descripción de la imagen aquí
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

inserte la descripción de la imagen aquí
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)

inserte la descripción de la imagen aquí
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.
inserte la descripción de la imagen aquí

Mejoras en la capa Softmax

inserte la descripción de la imagen aquí
Cada etiqueta hace una clasificación binaria.
No se puede entender en muchos lugares.

Supongo que te gusta

Origin blog.csdn.net/ThreeS_tones/article/details/129770230
Recomendado
Clasificación