Notas de estudio de YOLOv4


Prefacio

En el campo de la detección de objetivos en los últimos años, la aparición de YOLOv4 marca un avance tecnológico importante. YOLOv4 no solo hereda las características rápidas y eficientes de la serie YOLO, sino que también introduce una serie de tecnologías y estrategias innovadoras para mejorar significativamente el rendimiento de la detección de objetivos. Este artículo presentará brevemente las principales contribuciones y mejoras de YOLOv4, los conceptos centrales, la arquitectura de red detallada y sus innovaciones en las funciones de mejora y pérdida de datos. A través de esta serie de análisis, podemos comprender mejor la importancia de YOLOv4 en el campo de la detección de objetivos y su potencial de aplicación.
Efecto YOLOv4


1. Contribuciones y mejoras de YOLOv4

Las aportaciones y mejoras de YOLOv4 se pueden resumir en los siguientes aspectos:

  1. Modelo de detección de objetivos potente y eficiente:

    • YOLOv4 desarrolla un modelo de detección de objetos potente y eficiente, que permite a los usuarios con GPU 1080 Ti o 2080 Ti entrenar un detector de objetos rápido y preciso.
  2. Selección y optimización de la arquitectura de red:

    • YOLOv4 utiliza CSPDarknet53 como su red troncal (Backbone), SPP (Spatial Pyramid Pooling) y PAN (Path Aggregation Network) como su cuello (Cuello) y YOLOv3 como su cabezal de detección (Head).
    • Para cumplir con los requisitos especiales de la detección de objetos, como la detección de múltiples objetos de tamaño pequeño, cubrir un tamaño de red de entrada más grande y más parámetros para detectar múltiples objetos de diferentes tamaños en una sola imagen, CSPDarknet53 demostró ser la opción óptima.
  3. Verificación del impacto de las técnicas de mejora de la formación:

    • YOLOv4 probó el impacto de varias técnicas de mejora del entrenamiento en la precisión del clasificador en el conjunto de datos ImageNet y la precisión del detector de objetos en el conjunto de datos MS COCO.
  4. Tecnologías clave utilizadas (BoF y BoS):

    • YOLOv4 utiliza una serie de métodos "Bolsa de regalos (BoF)" y "Bolsa de especiales (BoS)" para mejorar el rendimiento. Estos incluyen aumento de datos CutMix y Mosaic, regularización DropBlock, suavizado de etiquetas de clase, función de activación Mish, conexión parcial entre etapas (CSP), conexión residual ponderada de múltiples entradas (MiWRC), pérdida de CIoU, entrenamiento adaptativo (SAT), sensibilidad de red de eliminación , utilizando múltiples anclajes para un único cuadro de verdad fundamental, programador de recocido de coseno, hiperparámetros óptimos, formas de entrenamiento aleatorias, bloque SPP, bloque SAM, bloque de agregación de rutas PAN y DIoU-NMS.

Estas mejoras e innovaciones permiten a YOLOv4 lograr importantes mejoras de rendimiento en el campo de la detección de objetos, especialmente el equilibrio entre velocidad y precisión, lo que lo convierte en un hito importante en el campo de la detección de objetos.

2. Conceptos básicos de YOLOv4

  1. Red troncal CSPDarknet53:

    • CSPDarknet53 es la red troncal de YOLOv4, especialmente diseñada para mejorar la capacidad de aprendizaje y la velocidad de la red. Combina la estructura de Darknet53 y la estrategia de optimización de Cross Stage Partial Network (CSPNet). CSPNet reduce la cantidad de cálculo y mejora la eficiencia de propagación de los mapas de características al segmentar los mapas de características y fusionarlos en la etapa de cruce.
  2. Cuello SPP和PAN:

    • El bloque SPP (Spatial Pyramid Pooling) se utiliza para aumentar el campo receptivo, aislar las características contextuales más importantes y tener menos impacto en la velocidad de operación de la red.
    • PAN (Red de agregación de rutas) se utiliza para mejorar la transmisión de información de características y mejorar el rendimiento de la detección a través de diferentes niveles de fusión de características, especialmente en la detección de objetivos de pequeño tamaño.
  3. Cabezal de detección YOLOv3 (Head):

    • YOLOv4 sigue el cabezal de detección de YOLOv3. Este encabezado está diseñado para generar cuadros de predicción (cuadros delimitadores) y calcular la probabilidad de clase y la confianza del objeto de cada cuadro.
  4. Bolsa de regalos (BoF) y Bolsa de ofertas especiales (BoS):

    • BoF se utiliza para mejorar la eficacia del proceso de formación sin aumentar el coste de la inferencia. Por ejemplo, mejora de datos de Mosaic, regularización de DropBlock, pérdida de CIoU, etc.
    • BoS se refiere a una técnica que agrega una pequeña cantidad de costo computacional durante la fase de inferencia para mejorar significativamente el rendimiento de la detección. Esto incluye funciones de activación Mish, conexiones parciales entre etapas (CSP), conexiones residuales ponderadas de múltiples entradas (MiWRC), etc.
  5. Técnicas de regularización y aumento de datos:

    • YOLOv4 introduce nuevos métodos de aumento de datos como Mosaic y Adaptive Training (SAT), así como DropBlock como método de regularización. Mosaic detecta objetos combinando cuatro imágenes de entrenamiento, mientras que SAT altera la imagen original en dos etapas de avance y retroceso.
  6. Estrategia de entrenamiento y optimización de hiperparámetros:

    • YOLOv4 se diseñó teniendo en cuenta la adaptabilidad del entrenamiento con una sola GPU, incluido el uso de algoritmos genéticos para seleccionar hiperparámetros óptimos y la mejora de algunos métodos existentes para hacerlos más adecuados para un entrenamiento y detección eficientes.

3. Arquitectura de red YOLOv4

La arquitectura de red de YOLOv4 se divide principalmente en tres partes: columna vertebral, cuello y cabeza. La siguiente es una descripción detallada de estas tres partes:

  1. Columna vertebral: CSPDarknet53

    • CSPDarknet53 es la red troncal de YOLOv4, está construida sobre la base de Darknet53 e introduce el concepto de CSPNet. Esta estructura está diseñada para mejorar las capacidades de aprendizaje y la velocidad operativa de la red.
    • Reduce la cantidad de cálculo y mejora la eficiencia de propagación de los mapas de características al dividir los mapas de características y fusionarlos en la etapa de cruce. Además, CSPDarknet53 contiene 29 capas convolucionales (3x3), lo que proporciona un gran campo receptivo de 725x725 y una cantidad de parámetros de 27,6 M, lo que lo hace adecuado como red troncal del detector.
  2. Mástil: SPP y PAN

    • El bloque SPP (Spatial Pyramid Pooling) está ubicado después de la red troncal y se utiliza para aumentar el campo receptivo, aislar las características contextuales más importantes y tiene menos impacto en el velocidad de operación de la red. SPP utiliza operaciones de agrupación para agregar características de diferentes escalas y mejorar la adaptabilidad del modelo a objetivos de diferentes tamaños.
    • PAN (Red de agregación de rutas) se utiliza para mejorar la entrega de información de funciones. La estructura PAN mejora el rendimiento de la detección al fusionar funciones en diferentes niveles, especialmente en la detección de objetivos de tamaño pequeño. Mejora la riqueza y diversidad de características al agregar mapas de características en diferentes niveles.
  3. Cabezal de detección (Head): YOLOv3

    • El cabezal de detección de YOLOv4 sigue el diseño de YOLOv3. Este encabezado está diseñado para generar cuadros de predicción (cuadros delimitadores) y calcular la probabilidad de clase y la confianza del objeto de cada cuadro. Consta de una serie de capas convolucionales para la detección y clasificación final de objetos.
    • La ventaja del cabezal YOLOv3 es su diseño simple y eficiente, que puede manejar tanto la detección como la clasificación de objetos en una sola red.

En general, la arquitectura de red de YOLOv4 mejora la precisión y la velocidad de detección de objetivos a través de estos diseños innovadores al tiempo que garantiza una alta eficiencia, especialmente la capacidad de detección de objetivos de pequeño tamaño.

4. Mejora de datos de YOLOv4

YOLOv4 introduce algunas tecnologías innovadoras en el aumento de datos, que mejoran significativamente la capacidad de generalización y la precisión del modelo en diferentes entornos y condiciones. Los principales métodos de aumento de datos incluyen:

  1. Aumento del número de mosaico:

    • Mosaic es un novedoso método de aumento de datos que combina cuatro imágenes de entrenamiento para formar una única imagen sintética. Este enfoque no sólo aumenta la diversidad de los datos de entrenamiento, sino que también permite que el modelo aprenda a detectar objetos en diferentes contextos.
    • Con el aumento de Mosaic, el modelo puede procesar estadísticas de activación de cuatro imágenes diferentes en cada capa, lo que ayuda a reducir la necesidad de minilotes grandes.
  2. Entrenamiento de autoadversidad (SAT):

    • Entrenamiento adaptativo (SAT) es otra técnica novedosa de aumento de datos que opera en dos fases hacia adelante y hacia atrás. En la primera etapa, la red neuronal modifica la imagen original en lugar de los pesos de la red, lo que equivale a realizar un ataque adversario a sí misma, modificando la imagen original para crear la ilusión de que el objeto objetivo no existe.
    • En la segunda etapa, se entrena la red neuronal para detectar objetos en esta imagen modificada. Este enfoque mejora la solidez del modelo ante ataques adversarios y condiciones anormales.
  3. CutMix y MixUp:

    • Aunque el artículo de YOLOv4 se centra en Mosaic, en el entrenamiento de detección de objetivos, CutMix y MixUp también es una tecnología de mejora de datos de uso común. Estas técnicas generan nuevas muestras de entrenamiento combinando partes de diferentes imágenes, mejorando la capacidad del modelo para aprender diferentes combinaciones de escenas y objetos.
  4. Formas de entrenamiento aleatorias:

    • YOLOv4 también utiliza un método de forma de entrenamiento aleatorio, lo que significa que el tamaño de la imagen de entrada seguirá cambiando durante el proceso de entrenamiento. Este método ayuda al modelo a adaptarse mejor a entradas de diferentes tamaños y mejora la adaptabilidad a entradas de diferentes resoluciones.

El objetivo común de estas técnicas de aumento de datos es mejorar el rendimiento y la solidez de los modelos en entornos complejos y cambiantes del mundo real, especialmente cuando se trata de tareas de detección de objetos de diferentes tamaños, diferentes orígenes y diferentes entornos. A través de estos métodos, YOLOv4 puede mejorar efectivamente su adaptabilidad a diversos escenarios y su precisión de detección.

5. Función de pérdida de YOLOv4

La función de pérdida de YOLOv4 es un componente clave de su rendimiento de detección de objetivos, que incluye principalmente tres aspectos: pérdida de confianza, pérdida de categoría y pérdida de coordenadas de cuadro. Los principios y fórmulas de estas funciones de pérdida se presentan en detalle a continuación.

  1. Pérdida de confianza:

    • La pérdida de confianza se utiliza para evaluar si el cuadro delimitador predicho por el modelo contiene un objeto y medir la precisión de su predicción. YOLOv4 utiliza pérdida de entropía cruzada para realizar esta tarea.
    • 公式通常表示为:
      Pérdida de confianza = − ∑ i = 0 S 2 ∑ j = 0 B 1 i j o b j log ⁡ ( C ^ i j ) + λ n o o b j 1 i j n o o b j log ⁡ ( 1 − C ^ i j ) \text{Pérdida de confianza} = -\sum_{i=0}^{S^2}\sum_{j=0}^{B} 1_{ij}^{obj} \log( \hat{C}_{ij}) + \lambda_{noobj}1_{ij}^{noobj} \log(1 - \hat{C}_{ij}) Pérdida de confianza=i=0S2j=0B1yoobjlog(C^ij)+yonoobj1yonoobjlog(1C^ij)
      dentro, S 2 S^2 S2 representa el número de celdas de la cuadrícula, B B B representa el número de cuadros delimitadores predichos por cada unidad de cuadrícula, 1 i j o b j 1_{ij}^{obj} 1yoobj es un indicador si el cuadro delimitador j j j 在网格单源 i i i 中-elefante incluido 则为1,未则为0; C ^ i j \hat{C}_{ij} < /a >C^ij es la confianza de que el cuadro delimitador predicho por el modelo contiene el objeto; λ n o o b j \lambda_{noobj} yonoobjes el peso del cuadro delimitador que no contiene el objeto.
  2. Pérdida de clase:

    • La pérdida de clase se utiliza para evaluar la precisión del modelo en las predicciones de clasificación. YOLOv4 también utiliza la pérdida de entropía cruzada para calcular la pérdida de categoría.
    • 公式通常表示为:
      Pérdida de clase = − ∑ i = 0 S 2 ∑ j = 0 B 1 i j o b j ∑ c ∈ c l a s s e s p i j ( c ) log ⁡ ( p ^ i j ( c ) ) \text{Pérdida de clase} = -\sum_{i=0}^{S^2}\sum_{j=0}^{B} 1_{ij}^{obj} \sum_{c \en clases } p_{ij}(c) \log(\hat{p}_{ij}(c)) Pérdida de clase=i=0S2j=0B1yoobjccla sespagij(c)log(pag^ij(c))
      其中, p i j ( c ) p_{ij}(c) pagij(c) Esto es cierto c c c Marco mundial existente j j j 和网格单源 i i i probabilidad, p ^ i j ( c ) \hat{p}_{ij}(c) pag^ij(c) es la probabilidad correspondiente predicha por el modelo.
  3. Pérdida del cuadro delimitador:

    • YOLOv4 introduce la pérdida CIoU (intersección completa sobre pérdida de unión) para reemplazar la pérdida IoU tradicional para optimizar con mayor precisión las coordenadas del cuadro de predicción.
    • La pérdida de CIoU tiene en cuenta el área de superposición del cuadro delimitador, la distancia del punto central y la relación de aspecto, lo que proporciona una regresión de coordenadas del cuadro más completa.
    • Definición:
      Pérdida de CIoU = 1 − IoU + ρ 2 ( b , b g t ) c 2 + α v \text{Pérdida de CIoU} = 1 - \text{IoU } + \frac{\rho^2(b, b_{gt})}{c^2} + \alpha vPérdida de CIoU=1pagaré+C2r2(b,bgt)+αv
      Entre ellos, IoU es la relación de intersección y unión, ρ ( b , b g t ) \rho(b, b_{gt) } ) ρ(b,bgt) es 预测框 b b b Marco real japonés b g t b_{gt} bgt Distancia euclidiana del punto central, c c c es la longitud diagonal del área cerrada más pequeña que contiene dos cajas, v v v es la medida de coherencia de la relación de aspecto, α \alpha α es el coeficiente de ponderación utilizado para equilibrar diferentes términos.

Estas funciones de pérdida juntas constituyen la función de pérdida de YOLOv4, que permite que el modelo tenga en cuenta la precisión, la confianza y la predicción de categorías al mismo tiempo al realizar la detección de objetivos. A través de dicho diseño, YOLOv4 puede mejorar la precisión y la solidez de la detección mientras mantiene el procesamiento de alta velocidad.


Resumir

Después de un análisis en profundidad de YOLOv4, podemos ver que ha logrado avances significativos en la tecnología de detección de objetivos. YOLOv4 no solo mejora la velocidad y precisión de la detección, sino que también mejora en gran medida la capacidad de generalización del modelo a través de su arquitectura de red única y estrategias de entrenamiento innovadoras. Especialmente en el diseño de funciones de pérdida y mejora de datos, YOLOv4 ha demostrado su poderosa capacidad para manejar escenarios complejos y diversos. En general, el desarrollo de YOLOv4 establece nuevos estándares para la detección de objetivos en tiempo real y proporciona una gran inspiración y posibilidades para futuras investigaciones y aplicaciones.

Supongo que te gusta

Origin blog.csdn.net/qq_31463571/article/details/134812347
Recomendado
Clasificación