Algoritmo de detección de objetivos de la serie YOLO-YOLOv4

Catálogo de algoritmos de detección de objetivos de la serie YOLO - enlace al artículo


Este artículo resume:

  1. Para mejorar la precisión de la red neuronal, existen muchos métodos y técnicas hasta el momento, este artículo selecciona algunos de ellos y los combina para lograr el mejor rendimiento.
  2. El detector de objetivos en esta etapa consta principalmente de dos partes, la columna vertebral y la cabeza. En los últimos años, generalmente se insertan algunas capas entre la columna vertebral y la cabeza para recopilar mapas de características en diferentes etapas, lo que se denomina cuello en este documento.
  3. El método que solo cambia la estrategia de entrenamiento o solo aumenta el costo de entrenamiento sin aumentar el costo de inferencia se denomina "bolsa de regalos" (BoF).
  4. Los módulos y métodos de posprocesamiento que solo aumentan ligeramente el costo de inferencia pero que pueden mejorar significativamente la precisión de detección de objetivos se denominan "bolsa de espectros" (BoS).
  5. Los métodos incluidos en BoF son mejora de datos, función de regularización, red de refinamiento de etiquetas, función de regresión de caja, etc.
  6. Los métodos incluidos en BoS incluyen campo receptivo mejorado, módulo de atención, integración de funciones, función de activación, posprocesamiento, etc.
  7. Al comparar varios métodos y técnicas, YOLOv4 finalmente seleccionó CSPDarknet53 como la columna vertebral, SPP+PAN como el cuello y YOLOv3-head como la cabeza.
  8. Los métodos para seleccionar y retener de BoF son CutMix for Backbone, mejora de datos de mosaico, regularización de DropBlock, suavizado de etiquetas de clase; CIoU-loss, CmBN, regularización de DropBlock para detectores, mejora de datos de mosaico, entrenamiento autoadversario, eliminación de sensibilidad de cuadrícula, un GT utiliza anclajes múltiples, programador de recocido de coseno, ajuste de hiperparámetros, tamaño de imagen de entrenamiento aleatorio.
  9. Los métodos para seleccionar y retener de BoS incluyen la función de activación Mish para Backbone, conexiones parciales de etapa cruzada (CSP), conexiones residuales ponderadas de entrada múltiple (MiWRC); función de activación Mish para detectores, bloque SPP, bloque SAM, agregación de ruta PAN bloque, DIoU-NMS.

Resumen de los puntos de conocimiento de aprendizaje profundo

Enlace de columna:
https://blog.csdn.net/qq_39707285/article/details/124005405

此专栏主要总结深度学习中的知识点,从各大数据集比赛开始,介绍历年冠军算法;同时总结深度学习中重要的知识点,包括损失函数、优化器、各种经典算法、各种算法的优化策略Bag of Freebies (BoF)等。



5. Algoritmo de detección de objetivos de la serie YOLO-YOLOv4

5.1 Introducción

  Actualmente, hay muchas formas de mejorar la precisión de las redes neuronales convolucionales. Algunos de estos métodos solo son aplicables a algunos modelos y algunos problemas, o solo son aplicables a conjuntos de datos a pequeña escala; algunos métodos, como la normalización por lotes (BN) y las conexiones residuales (residual-connections), son aplicables a la mayoría de los modelos, tareas y conjunto de datos. Estos métodos generales incluyen conexiones residuales ponderadas (WRC), conexiones parciales de etapas cruzadas (CSP), mini lotes cruzados, normalización (CmBN), entrenamiento autoadversario (SAT) y activación Mish, etc. Este artículo logra los mejores resultados en el conjunto de datos de MS COCO mediante el uso de métodos como WRC, CSP, CmBN, SAT, activación de Mish, mejora de datos de mosaico, CmBN, regularización de DropBlock y pérdida de CIoU, y combinando algunos de estos métodos: En Tesla V100 , la velocidad en tiempo real es 65FPS, 43,5 % AP (65,7 % AP50). Los resultados de YOLOv4 se muestran en la Figura 1.
inserte la descripción de la imagen aquí

Las principales contribuciones de YOLOv4 son las siguientes:

  1. Se desarrolla un modelo de detección de objetos eficiente y robusto. Permite que todos usen una GPU 1080 Ti o 2080 Ti directamente para entrenar un detector de objetos ultrarrápido y preciso;
  2. Durante el entrenamiento del modelo, el Bag-of-Freebies más avanzado (generalmente se refiere a aquellos métodos que no aumentan la complejidad del modelo y la cantidad de cálculos de inferencia) y Bag-of-Specials (generalmente se refiere al aumento de cierta complejidad del modelo y cálculos, El rendimiento y el impacto de los métodos, como los métodos que toman un poco más de tiempo para razonar;
  3. Utilice métodos de última generación, incluidos CBN/PAN/SAM, etc., para que sea más eficiente y adecuado para el entrenamiento con una sola GPU.

  El detector de objetivos en esta etapa consta principalmente de dos partes, la columna vertebral y la cabeza. Backbone realiza principalmente un entrenamiento previo en conjuntos de datos como ImageNet y luego usa el cabezal para predecir la categoría y las coordenadas del objetivo. Para la plataforma GPU, la red troncal generalmente usa VGG, ResNet, ResNeXt o DenseNet. Para la plataforma de CPU, la red troncal generalmente elige SqueezeNet, MobileNet y ShuffleNet. La parte de la cabeza se divide principalmente en detectores de objetivos de dos etapas y de una etapa. Los detectores de objetivos de dos etapas se basan principalmente en el ancla, principalmente la serie R-CNN, que incluye R-CNN rápido, R-CNN más rápido, R-FCN, Libra R-CNN, etc. también tienen otros sin ancla, como RepPoints. Los detectores de objetivos de una etapa son principalmente de la serie YOLO, SSD y RetinaNet, etc. Estos están basados ​​en ancla. En los últimos años, hay muchos detectores de objetivos de una etapa sin ancla, como CenterNet, CornerNet y FCOS, etc.

  Los detectores de objetos desarrollados en los últimos años suelen insertar algunas capas entre la columna vertebral y la cabeza, y estas capas suelen utilizarse para recopilar mapas de características en diferentes etapas. Se le puede llamar el cuello del detector de objetos. Por lo general, un cuello consta de varias rutas de abajo hacia arriba y varias rutas de arriba hacia abajo. Las redes equipadas con este mecanismo incluyen Feature Pyramid Network (FPN), Path Aggregation Network (Red de agregación de rutas, PAN), BiFPN y NAS-FPN, etc.

  Además de los modelos anteriores, algunos investigadores también se enfocan en construir directamente nuevas redes troncales (DetNet, DetNAS) o nuevos modelos generales (SpineNet, HitDetector) para la detección de objetos.
En resumen, un detector de objetos común consta de las siguientes partes:

  • Entrada:Imagen,Parches,Pirámide de imágenes
  • Redes troncales: VGG16, ResNet-50, SpineNet, EfficientNet-B0/B7, CSPResNeXt50, ResNeXt-101, CSPDarkNet53
  • Cuello:
    • Bloques adicionales: SPP, ASPP, RFB, SAM
    • Bloques de agregación de ruta: FPN, PAN, NAS-FPN, FPN completamente conectado, BiFPN, ASFF, SFAM
  • cabezas:
    • Predicción densa (una etapa):
      • basado en anclaje: RPN, SSD, YOLO, RetinaNet
      • sin ancla: CornerNet, CenterNet, MatrixNet, FCOS
    • Predicción escasa (dos etapas):
      • basado en anclaje:R-CNN más rápido,R-FCN,Máscara R-CNN
      • sin anclaje:RepPoints

5.2 Bolsa de regalos

  Por lo general, los detectores de objetos convencionales se entrenan fuera de línea. Por lo tanto, esta ventaja se puede explotar para desarrollar mejores métodos de entrenamiento para lograr una mayor precisión de los detectores de objetos sin aumentar el costo de la inferencia. Este documento se refiere a estos métodos que solo cambian la estrategia de capacitación o solo aumentan el costo de la capacitación como "bolsa de regalos".

  El aumento de datos se usa comúnmente en los métodos de detección de objetivos. El propósito del aumento de datos es aumentar la variabilidad de las imágenes de entrada para que el modelo de detección de objetos diseñado sea más sólido para las imágenes obtenidas de diferentes entornos. Por ejemplo, la deformación fotométrica y la deformación geométrica son dos métodos de aumento de datos comúnmente utilizados. Ajuste el brillo, el contraste, el tono, la saturación, el ruido y más de una imagen mientras trabaja con la deformación fotométrica. Para deformaciones geométricas, agregue escalado aleatorio, recorte, volteo, rotación y más.

  Los métodos de mejora de datos anteriores se ajustan píxel por píxel y se conserva toda la información de píxel original en el área ajustada. Además, también hay algunos métodos de mejora de datos que se centran en simular la oclusión del objetivo y también logran una buena clasificación y precisión de posicionamiento. Por ejemplo, el borrado aleatorio y CutOut seleccionan aleatoriamente un área rectangular de una imagen y la rellenan con valores de píxeles cero o aleatorios. En cuanto a las máscaras de cuadrícula y las escondidas, seleccionan aleatoria o uniformemente múltiples regiones rectangulares en la imagen y las reemplazan todas con ceros.

  También en el procesamiento de mapas de características, métodos similares incluyen DropOut, DropConnect y DropBlock. Además, algunos investigadores han propuesto métodos para usar varias imágenes juntas para realizar el aumento de datos. Por ejemplo, MixUp usa dos imágenes multiplicadas y superpuestas con diferentes proporciones de coeficientes, y luego usa estas proporciones superpuestas para ajustar las etiquetas. Para CutMix, recorta la imagen sobre un área rectangular de otras imágenes y ajusta la etiqueta según el tamaño del área fusionada. Además de los métodos anteriores, la GAN de transferencia de estilo también se puede usar para el aumento de datos, lo que puede reducir efectivamente el sesgo de textura aprendido por CNN.

  A diferencia de los diversos métodos propuestos anteriormente, algunos otros métodos de bolsa de regalos abordan el problema de que la distribución semántica en el conjunto de datos puede estar sesgada. Cuando se trata el problema de la desviación de distribución semántica, un problema muy importante es el problema del desequilibrio de datos entre diferentes clases.En los algoritmos de detección de objetivos de dos etapas, este problema generalmente se resuelve mediante la minería de ejemplos duros negativos o la minería de muestras duras en línea (en línea duro). ejemplo minería, OHEM) para resolver. Sin embargo, estos métodos de minería no son adecuados para detectores de objetos de una etapa porque dichos detectores pertenecen a arquitecturas de predicción densas. Por lo tanto, se propuso FocalLoss para resolver el problema de desequilibrio de datos existente entre las diferentes categorías. Otro problema muy importante es que es difícil usar one-hot para expresar la relación de correlación entre diferentes categorías. Este esquema de representación se usa a menudo al etiquetar datos. El suavizado de etiquetas que se propone más adelante consiste en convertir etiquetas duras en etiquetas blandas para el entrenamiento, lo que puede hacer que el modelo sea más sólido. Para obtener mejores etiquetas blandas, alguien introdujo el concepto de destilación de conocimiento para diseñar una red de refinamiento de etiquetas.

  La última bolsa de regalos es la función objetivo para la regresión de cuadro delimitador (BBox). Los detectores de objetos tradicionales suelen utilizar el error cuadrático medio (MSE) para realizar una regresión directa de las coordenadas del punto central y la altura y el ancho de BBox, como la regresión de las coordenadas del punto central y el ancho y la altura, o la regresión de las coordenadas de las esquinas superior izquierda e inferior derecha. . Para el método basado en anclas, es para predecir el valor de desplazamiento correspondiente. Sin embargo, predecir directamente el valor de las coordenadas de cada punto del BBox es tratar estos puntos como variables independientes, pero de hecho esto no considera la integridad del objetivo en sí. Para lidiar mejor con este problema, algunos investigadores propusieron la pérdida de IoU, que considera el área donde se cruzan el BBox predicho y el BBox de GT. Dado que IoU no varía en escala, puede resolver los problemas encontrados por los métodos tradicionales, como el problema de que la pérdida aumentará con el aumento de escala cuando las pérdidas l1 y l2 calculan la pérdida de x, y, w y h. Recientemente, algunos investigadores continúan mejorando la pérdida de IoU. Por ejemplo, además del área de cobertura, GIoU Loss también considera la forma y la orientación del objeto. DIoU Loss, que también tiene en cuenta la distancia desde el centro del objeto. CIoU Loss, que considera simultáneamente regiones superpuestas, distancias entre puntos centrales y relaciones de aspecto. CIoU puede lograr una mejor velocidad de convergencia y precisión en problemas de regresión BBox.

5.3 Bolsa de carbones especiales

  Para aquellos módulos y métodos de procesamiento posterior que aumentarán el costo de la inferencia en una pequeña cantidad, pero que pueden mejorar significativamente la precisión de la detección de objetos, se denominan "bolsa de espectros". En términos generales, estos módulos se utilizan para mejorar ciertos atributos en el modelo, como expandir el campo receptivo, introducir un mecanismo de atención o mejorar las capacidades de integración de funciones, etc. El posprocesamiento es un método para evaluar los resultados de predicción del modelo.
inserte la descripción de la imagen aquí
  Los módulos comunes que se pueden usar para mejorar el campo receptivo son SPP, ASPP y RFB. El módulo SPP se deriva de Spatial Pyramid Matching (SPM), y el método original de SPM es dividir el mapa de características en varios bloques iguales d×d, donde d puede ser 1/2/3, etc., formando así un espacio Pirámide y, a continuación, extraiga las funciones de bolsa de palabras. SPP integra SPM en CNN y reemplaza las operaciones de bolsa de palabras con operaciones de agrupación máxima. Dado que el módulo SPP propuesto por He Kaiming et al generará un vector de características unidimensional, no es adecuado para una red totalmente convolucional (FCN). Por lo tanto, en el diseño de YOLOv3, el módulo SPP se mejora como una cascada de salidas de agrupación máxima con tamaño de kernel k×k, donde k={1,5,9,13} y stride igual a 1. Bajo este diseño, la agrupación k × k max relativamente grande aumenta efectivamente el campo receptivo de las características de la red troncal. Después de agregar la versión mejorada del módulo SPP, YOLOv3-608 aumentó el AP50 en un 2,7 % en la tarea de detección de objetivos MS COCO, y el costo de cálculo adicional fue solo del 0,5 %.
inserte la descripción de la imagen aquí
  La diferencia entre el módulo ASPP y el módulo SPP mejorado es que ASPP no usa el grupo máximo para obtener mapas de características de diferentes campos receptivos, sino que usa la convolución para lograrlo, y su tamaño de kernel es de 3, pero se introducen diferentes tasas de agujeros para Expandir el campo receptivo disfrazado. El resto de las operaciones son consistentes con SPP.
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
  El kernel de convolución k = 1/3/5 del módulo RFB coopera con la convolución dilatada para realizar el aumento del campo receptivo y la fusión de diferentes mapas de características del campo receptivo. La relación de expansión es igual a k y el tamaño del paso es igual a 1 a obtener un espacio más amplio que la cubierta ASPP. RFB gasta solo un 7 % más de tiempo de inferencia, aumentando el AP50 de SSD en MS COCO en un 5,7 %.

  Los módulos de atención que se utilizan a menudo en la detección de objetivos se dividen principalmente en atención por canales y atención por puntos. Los representantes de estos dos modelos de atención son Squeeze-and-Excitation (SE) y el módulo de atención espacial (Spatial Attention Module, SAM). Aunque el módulo SE puede mejorar la capacidad de ResNet50 en la tarea de clasificación de imágenes de ImageNet en un 1 % de precisión top-1, solo necesita aumentar la carga de trabajo computacional en un 2 %, pero generalmente aumenta el tiempo de inferencia en aproximadamente un 10 % en la GPU. , por lo que es más adecuado para su uso en dispositivos móviles. Pero para SAM, solo necesita un cálculo adicional del 0,1 % para mejorar la precisión del top 1 de ResNet50-SE en un 0,5 % en la tarea de clasificación de imágenes de ImageNet. Lo más importante es que no afecta en absoluto la velocidad de inferencia en la GPU.

  En términos de integración de funciones, la práctica inicial es utilizar una conexión de salto o una hipercolumna para integrar funciones físicas de bajo nivel en funciones semánticas de alto nivel. Dado que los métodos de predicción multiescala como FPN se han vuelto populares, se han propuesto muchos módulos livianos que integran diferentes pirámides de características. Dichos módulos incluyen SFAM, ASFF y BiFPN. La idea principal de SFAM es realizar la ponderación de canales en mapas de características concatenadas de múltiples escalas utilizando módulos SE. Para ASFF, utiliza softmax como ponderación de nivel por puntos y luego agrega mapas de características de diferentes escalas. En BiFPN, se proponen conexiones residuales ponderadas de múltiples entradas para realizar una nueva ponderación a nivel de escala y luego agregar mapas de características de diferentes escalas.

  En la investigación de aprendizaje profundo, algunas personas se enfocan en encontrar buenas funciones de activación. Una buena función de activación permite que los gradientes se propaguen de manera más eficiente sin incurrir en demasiados costos computacionales adicionales. En 2010, el ReLU propuesto resolvió sustancialmente el problema de desaparición del gradiente que se encuentra a menudo en las funciones de activación sigmoidea y tanh tradicionales. Posteriormente se propusieron LReLU, PReLU, ReLU6, Scaled Exponential Linear Unit (SELU), Swish, hard-Swish y Mish, que también se utilizan para resolver el problema de desaparición de gradiente. El objetivo principal de LReLU y PReLU es resolver el problema de que el gradiente de ReLU es cero cuando la salida es menor que cero. En cuanto a ReLU6 y hard-Swish, están especialmente diseñados para redes cuantificadas. Para auto-normalizar las redes neuronales, se propone la función de activación SELU para cumplir con este objetivo. Cabe señalar que tanto Swish como Mish son funciones de activación continuamente diferenciables.

  Un método de posprocesamiento de uso común en la detección de objetos basada en el aprendizaje profundo es NMS, que se puede usar para filtrar aquellos BBoxes que predicen mal para el mismo objeto y solo mantienen los BBoxes candidatos con respuestas más altas. El método que NMS intenta mejorar es consistente con el método de optimización de la función objetivo. El método original propuesto por NMS no considera la información de contexto, por lo que se agrega la clasificación de confianza en R-CNN como referencia, y NMS se realiza en el orden de puntaje alto a puntaje bajo según el orden de confianza. Para NMS suave, considera el problema de que la oclusión del objeto puede conducir a la disminución de la puntuación de confianza en NMS con puntuación IoU. La forma de pensar de los desarrolladores de DIoU NMS es agregar la información de la distancia del punto central al proceso de detección de BBox sobre la base de NMS suave. Vale la pena mencionar que, dado que ninguno de los métodos de posprocesamiento anteriores involucra directamente las características de la imagen capturada, ya no se requiere el posprocesamiento en los métodos sin anclaje.

5.4 Recopilación del método YOLOv4

  El objetivo básico de la detección de objetos es la rápida velocidad de ejecución de la red neuronal en el sistema de producción y la optimización de la computación paralela, en lugar del índice teórico de carga computacional baja (BFLOP). Este documento propone dos opciones de redes neuronales en tiempo real:

  • Para GPU, use una pequeña cantidad de grupos (1-8) en la capa convolucional: CSPResNeXt50/CSPDarknet53
  • Para VPU (Unidad de procesamiento de video, unidad de procesamiento de video), use convolución de grupo, pero evite usar bloques Squeeze-and-excitement (SE), incluidos los siguientes modelos: EfficientNet-lite / MixNet / GhostNet / MobileNetV3

5.4.1 Selección de estructura de red

  El objetivo de este artículo es encontrar el mejor equilibrio entre la resolución de la red de entrada, el número de capas convolucionales, el número de parámetros (tamaño del kernel de convolución^2 número de canales/grupos del kernel de convolución) y el número de salidas de capa (tamaño del kernel de convolución^2). número de núcleo). Por ejemplo, numerosos estudios muestran que CSPResNext50 es mucho mejor que CSPDarknet53 en términos de clasificación en el conjunto de datos ILSVRC2012 (ImageNet). Sin embargo, por el contrario, CSPDarknet53 es mejor que CSPRESNET50 en la detección de objetos en el conjunto de datos MS COCO.

  El siguiente objetivo es seleccionar bloques adicionales para aumentar el campo receptivo y la mejor manera de agregar parámetros de diferentes niveles de red troncal para diferentes niveles de detectores (por ejemplo, FPN, PAN, ASFF, BiFPN).
Un modelo que es óptimo para la clasificación no siempre es óptimo para la detección. A diferencia de los clasificadores, los detectores requieren:

  • Mayor tamaño de entrada (resolución): para detectar objetos de tamaño pequeño
  • Más capas: se utiliza para obtener un campo receptivo más alto para cubrir la red de entrada ampliada
  • Más parámetros: Para permitir que el modelo tenga mayor capacidad, se pueden detectar múltiples objetos de diferentes tamaños en una sola imagen

  Se puede suponer que se debe seleccionar como columna vertebral un modelo con un tamaño de campo receptivo más grande (con más capas convolucionales de 3×3) y más parámetros. La tabla 1 muestra los resultados de la comparación de CSPResNeXt50, CSPDarknet53 y EfficientNet-B3.
inserte la descripción de la imagen aquí
  CSPResNext50 contiene solo 16 capas convolucionales de 3×3, campo receptivo de 425×425 y parámetros de 20,6 M, mientras que CSPDarknet53 contiene 29 capas convolucionales de 3×3, campo receptivo de 725×725 y parámetros de 27,6 M. Este argumento teórico junto con extensos experimentos muestran que CSPDarknet53 es el mejor modelo como columna vertebral del detector.

  El impacto de diferentes tamaños de campos receptivos se resume de la siguiente manera:

  • Hasta el tamaño del objeto: permite ver el objeto completo
  • Tamaño máximo de red: permite ver el contexto alrededor del objetivo
  • Exceder el tamaño de la red: aumentar el número de conexiones entre puntos de imagen y activaciones finales

  El bloque SPP se agrega a CSPDarknet53, ya que aumenta significativamente el campo receptivo, aísla las características contextuales más importantes y apenas ralentiza el funcionamiento de la red. El FPN utilizado en YOLOv3 ya no se utiliza y, en su lugar, se utiliza PANet como método de agregación de parámetros.

  Al final, este documento elige la red troncal CSPDarknet53, el módulo adicional SPP, PANet Neck y YOLOv3 (basado en anclaje) Head como la arquitectura de YOLOv4.

5.4.2 Selección de BoF y BoS

  Para mejorar el entrenamiento de detección de objetos, las CNN suelen utilizar los siguientes métodos:

  • Función de activación: ReLU, Leaky-ReLU, parametric-ReLU, ReLU6, SELU, Swish o Mish
  • Función de pérdida de regresión BBOX: MSE, IoU, GIoU, CIoU, DIoU
  • Aumento de datos: CutOut, MixUp, CutMix
  • Método de regularización: DropOut, DropPath, Spatial DropOut, DropBlock
  • 标准化方法: Normalización por lotes (BN), Normalización por lotes entre GPU (CGBN o SyncBN), Normalización de respuesta de filtro (FRN), Normalización por lotes de iteración cruzada (CBN)
  • Conexiones salteadas: Conexiones residuales, Conexiones residuales ponderadas, Conexiones residuales ponderadas de entrada múltiple, Conexiones parciales de etapa cruzada (CSP)

  Dado que PReLU y SELU son más difíciles de entrenar, y ReLU6 está especialmente diseñado para redes cuantificadas, las funciones de activación anteriores se eliminan de la lista de candidatos.

  Entre los métodos de regularización, las personas que publicaron DropBlock compararon su método con otros métodos en detalle, y su método de regularización logró muchos resultados. Por lo tanto, este documento elige DropBlock como el método de regularización sin dudarlo.

  Para la selección del método de normalización, dado que este documento solo se enfoca en la estrategia de entrenamiento usando una GPU, no se considera syncBN.

5.4.3 Estrategias de promoción adicionales

  Para que el detector diseñado sea más adecuado para el entrenamiento en una sola GPU, se realizan los siguientes diseños y mejoras adicionales:

  • Se utiliza un nuevo método de aumento de datos: Mosaic y Self-Adversarial Training (SAT)
  • Elección de hiperparámetros óptimos al aplicar un algoritmo genético
  • Se modificaron algunos métodos existentes para hacerlos adecuados para un entrenamiento y una detección eficientes: SAM modificado, PAN modificado y Normalización cruzada de mini lotes (CmBN)

  Mosaic es un nuevo método de aumento de datos que mezcla 4 imágenes de entrenamiento. Así, se mezclan 4 contextos diferentes, mientras que CutMix solo mezcla 2 imágenes de entrada. Esto permite la detección de objetos fuera del contexto normal. Además, la normalización por lotes calcula las estadísticas de activación de 4 imágenes diferentes en cada capa, lo que reduce en gran medida la necesidad de grandes tamaños de mini lotes (por ejemplo, solo una imagen a la vez si los recursos de capacitación son limitados) Para imágenes, con el método de mejora de datos Mosaic , es equivalente a entrenar una imagen que contiene información de 4 imágenes).

  El Self-Adversarial Training (SAT) es también una nueva técnica de aumento de datos, que se divide en dos etapas antes y después. En la primera etapa, la red neuronal altera la imagen original, no los pesos de la red. De esta forma, la red neuronal realiza un ataque contradictorio contra sí misma, alterando la imagen original de tal manera que produce una falsificación de que el objetivo deseado no está presente en la imagen. En la segunda etapa, la red neuronal se entrena para detectar objetos en la imagen modificada de forma normal.
inserte la descripción de la imagen aquí
  CmBN representa la versión modificada de CBN, como se muestra en la Figura 4, definida como Normalización cruzada de mini lotes (CmBN). Esto solo recopila estadísticas entre mini lotes dentro de un solo lote.
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
  Modifique SAM de atención espacial a atención puntual y reemplace la conexión de acceso directo de PAN con concatenación, como se muestra en la Figura 5 y la Figura 6, respectivamente.

5.5 YOLOv4

  La composición de YOLOv4:

  • Columna vertebral: CSPDarknet53
  • Mástil: SPP, PAN
  • Cabeza: YOLOv3

YOLOv4 utiliza las siguientes bolsas:

  • Bolsa de regalos (BoF) utilizada en Backbone: mejora de datos CutMix y Mosaic, regularización de DropBlock, suavizado de etiquetas de clase
  • Bolsa de especiales (BoS) utilizada en Backbone: función de activación Mish, conexiones parciales de etapa cruzada (CSP), conexiones residuales ponderadas de entrada múltiple (MiWRC)
  • Bolsa de obsequios (BoF) utilizada en el detector: CIoU-loss, CmBN, regularización de DropBlock, mejora de datos de mosaico, entrenamiento autoadversario, elimina la sensibilidad de la cuadrícula, un GT usa múltiples anclas, programador de recocido de coseno, ajuste de hiperparámetros, tamaño de imagen de entrenamiento aleatorio
  • Bolsa de especiales (BoS) utilizada en el detector: función de activación Mish, bloque SPP, bloque SAM, bloque de agregación de ruta PAN, DIoU-NMS
    inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/qq_39707285/article/details/126976069
Recomendado
Clasificación