Saltar al contenido

YOLOv4: Detecci贸n de Objetos de Alta Velocidad y Precisi贸n

Bienvenido a la p谩gina de documentaci贸n Ultralytics de YOLOv4, un detector de objetos en tiempo real de 煤ltima generaci贸n lanzado en 2020 por Alexey Bochkovskiy en https://github.com/AlexeyAB/darknet. YOLOv4 est谩 dise帽ado para ofrecer un equilibrio 贸ptimo entre velocidad y precisi贸n, lo que lo convierte en una opci贸n excelente para muchas aplicaciones.

Esquema de la arquitectura de YOLOv4 Esquema de la arquitectura de YOLOv4. Muestra el intrincado dise帽o de red de YOLOv4, incluidos los componentes de la columna vertebral, el cuello y la cabeza, y sus capas interconectadas para una detecci贸n 贸ptima de objetos en tiempo real.

Introducci贸n

YOLOv4 son las siglas de You Only Look Once versi贸n 4. Es un modelo de detecci贸n de objetos en tiempo real desarrollado para abordar las limitaciones de versiones anteriores de YOLO como YOLOv3 y otros modelos de detecci贸n de objetos. A diferencia de otros detectores de objetos basados en redes neuronales convolucionales (CNN), YOLOv4 no s贸lo es aplicable a los sistemas de recomendaci贸n, sino tambi茅n a la gesti贸n aut贸noma de procesos y a la reducci贸n de entradas humanas. Su funcionamiento en unidades de procesamiento gr谩fico (GPU) convencionales permite un uso masivo a un precio asequible, y est谩 dise帽ado para funcionar en tiempo real en una GPU convencional, al tiempo que s贸lo requiere una GPU de este tipo para el entrenamiento.

Arquitectura

YOLOv4 utiliza varias funciones innovadoras que trabajan juntas para optimizar su rendimiento. Entre ellas se encuentran las conexiones residuales ponderadas (WRC), las conexiones parciales en etapas cruzadas (CSP), la normalizaci贸n de mini lotes cruzados (CmBN), el entrenamiento autoadversarial (SAT), la activaci贸n err贸nea, el aumento de datos en mosaico, la regularizaci贸n DropBlock y la p茅rdida CIoU. Estas caracter铆sticas se combinan para lograr resultados de vanguardia.

Un detector de objetos t铆pico se compone de varias partes: la entrada, la columna vertebral, el cuello y la cabeza. La columna vertebral de YOLOv4 est谩 preentrenada en ImageNet y se utiliza para predecir las clases y los cuadros delimitadores de los objetos. La columna vertebral puede proceder de varios modelos, como VGG, ResNet, ResNeXt o DenseNet. La parte del cuello del detector se utiliza para recoger mapas de caracter铆sticas de distintas etapas y suele incluir varias trayectorias ascendentes y varias descendentes. La parte de la cabeza es la que se utiliza para hacer las detecciones y clasificaciones finales de los objetos.

Bolsa de regalos

YOLOv4 tambi茅n utiliza m茅todos conocidos como "bag of freebies", que son t茅cnicas que mejoran la precisi贸n del modelo durante el entrenamiento sin aumentar el coste de la inferencia. El aumento de datos es una t茅cnica com煤n de "bag of freebies" utilizada en la detecci贸n de objetos, que aumenta la variabilidad de las im谩genes de entrada para mejorar la robustez del modelo. Algunos ejemplos de aumento de datos son las distorsiones fotom茅tricas (ajustando el brillo, el contraste, el tono, la saturaci贸n y el ruido de una imagen) y las distorsiones geom茅tricas (a帽adiendo escalado, recorte, volteo y rotaci贸n aleatorios). Estas t茅cnicas ayudan a que el modelo se generalice mejor a distintos tipos de im谩genes.

Caracter铆sticas y prestaciones

YOLOv4 est谩 dise帽ado para una velocidad y precisi贸n 贸ptimas en la detecci贸n de objetos. La arquitectura de YOLOv4 incluye CSPDarknet53 como columna vertebral, PANet como cuello y YOLOv3 como cabeza de detecci贸n. Este dise帽o permite a YOLOv4 realizar la detecci贸n de objetos a una velocidad impresionante, lo que lo hace adecuado para aplicaciones en tiempo real. YOLOv4 tambi茅n destaca en precisi贸n, alcanzando resultados de vanguardia en pruebas de detecci贸n de objetos.

Ejemplos de uso

En el momento de escribir esto, Ultralytics no admite actualmente los modelos YOLOv4. Por lo tanto, cualquier usuario interesado en utilizar YOLOv4 tendr谩 que consultar directamente el repositorio GitHub de YOLOv4 para obtener instrucciones de instalaci贸n y uso.

Aqu铆 tienes un breve resumen de los pasos t铆picos que puedes dar para utilizar YOLOv4:

  1. Visita el repositorio GitHub de YOLOv4: https://github.com/AlexeyAB/darknet.

  2. Sigue las instrucciones proporcionadas en el archivo README para la instalaci贸n. Esto suele implicar clonar el repositorio, instalar las dependencias necesarias y configurar las variables de entorno necesarias.

  3. Una vez completada la instalaci贸n, puedes entrenar y utilizar el modelo seg煤n las instrucciones de uso proporcionadas en el repositorio. Normalmente, esto implica preparar tu conjunto de datos, configurar los par谩metros del modelo, entrenar el modelo y, a continuaci贸n, utilizar el modelo entrenado para realizar la detecci贸n de objetos.

Ten en cuenta que los pasos concretos pueden variar en funci贸n de tu caso de uso espec铆fico y del estado actual del repositorio de YOLOv4. Por lo tanto, se recomienda encarecidamente consultar directamente las instrucciones proporcionadas en el repositorio GitHub de YOLOv4.

Lamentamos las molestias que esto pueda causar y nos esforzaremos por actualizar este documento con ejemplos de uso para Ultralytics una vez que se implemente la compatibilidad con YOLOv4.

Conclusi贸n

YOLOv4 es un modelo de detecci贸n de objetos potente y eficaz que logra un equilibrio entre velocidad y precisi贸n. Su uso de caracter铆sticas 煤nicas y t茅cnicas de bag of freebies durante el entrenamiento le permite rendir de forma excelente en tareas de detecci贸n de objetos en tiempo real. YOLOv4 puede ser entrenado y utilizado por cualquiera que disponga de una GPU convencional, lo que lo hace accesible y pr谩ctico para una amplia gama de aplicaciones.

Citas y agradecimientos

Queremos agradecer a los autores de YOLOv4 sus importantes contribuciones en el campo de la detecci贸n de objetos en tiempo real:

@misc{bochkovskiy2020yolov4,
      title={YOLOv4: Optimal Speed and Accuracy of Object Detection},
      author={Alexey Bochkovskiy and Chien-Yao Wang and Hong-Yuan Mark Liao},
      year={2020},
      eprint={2004.10934},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

El art铆culo original de YOLOv4 puede consultarse en arXiv. Los autores han puesto su trabajo a disposici贸n del p煤blico, y se puede acceder al c贸digo base en GitHub. Agradecemos sus esfuerzos por hacer avanzar el campo y poner su trabajo a disposici贸n de la comunidad en general.



Creado 2023-11-12, Actualizado 2024-01-07
Autores: glenn-jocher (6), sergiuwaxmann (1)

Comentarios