YOLOv4: detecci贸n de objetos a gran velocidad y precisi贸n
Bienvenido a la p谩gina de documentaci贸n de Ultralytics para 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.
Diagrama de arquitectura de YOLOv4. Presentaci贸n del complejo 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. Se trata de un modelo de detecci贸n de objetos en tiempo real desarrollado para solventar 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 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 trabajar en tiempo real en una GPU convencional, al tiempo que s贸lo requiere una de estas GPU para el entrenamiento.
Arquitectura
YOLOv4 utiliza varias funciones innovadoras que trabajan conjuntamente para optimizar su rendimiento. Entre ellas se incluyen 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 obtener los resultados m谩s avanzados.
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 recopilar mapas de caracter铆sticas de distintas etapas y suele incluir varias rutas ascendentes y varias descendentes. La parte de la cabeza es la que se utiliza para realizar las detecciones y clasificaciones finales de objetos.
Bolsa de regalos
YOLOv4 tambi茅n hace uso de 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 incrementa 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 (ajuste del brillo, el contraste, el tono, la saturaci贸n y el ruido de una imagen) y las distorsiones geom茅tricas (adici贸n de escalado, recorte, volteo y rotaci贸n aleatorios). Estas t茅cnicas ayudan al modelo a generalizarse 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 por su precisi贸n, alcanzando los mejores resultados en pruebas de detecci贸n de objetos.
Ejemplos de uso
En el momento de escribir estas l铆neas, Ultralytics no es compatible con los modelos YOLOv4. Por lo tanto, los usuarios interesados en utilizar YOLOv4 deber谩n consultar directamente el repositorio GitHub de YOLOv4 para obtener instrucciones de instalaci贸n y uso.
A continuaci贸n le ofrecemos un breve resumen de los pasos t铆picos que puede seguir para utilizar YOLOv4:
-
Visita el repositorio GitHub de YOLOv4: https://github.com/AlexeyAB/darknet.
-
Siga las instrucciones del archivo README para la instalaci贸n. Esto normalmente implica clonar el repositorio, instalar las dependencias necesarias y configurar las variables de entorno necesarias.
-
Una vez finalizada la instalaci贸n, puede entrenar y utilizar el modelo seg煤n las instrucciones de uso proporcionadas en el repositorio. Esto suele implicar la preparaci贸n del conjunto de datos, la configuraci贸n de los par谩metros del modelo, el entrenamiento del modelo y, a continuaci贸n, el uso del modelo entrenado para realizar la detecci贸n de objetos.
Tenga en cuenta que los pasos concretos pueden variar en funci贸n de su 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 implante 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 un excelente rendimiento en tareas de detecci贸n de objetos en tiempo real. YOLOv4 puede ser entrenado y utilizado por cualquier persona con un 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:
El art铆culo original sobre 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 este campo y poner su trabajo a disposici贸n de la comunidad en general.
PREGUNTAS FRECUENTES
驴Qu茅 es YOLOv4 y por qu茅 deber铆a utilizarlo para la detecci贸n de objetos?
YOLOv4, que significa "You Only Look Once versi贸n 4", es un modelo de detecci贸n de objetos en tiempo real de 煤ltima generaci贸n desarrollado por Alexey Bochkovskiy en 2020. Consigue un equilibrio 贸ptimo entre velocidad y precisi贸n, lo que lo hace muy adecuado para aplicaciones en tiempo real. La arquitectura de YOLOv4 incorpora varias funciones innovadoras, como las conexiones residuales ponderadas (WRC), las conexiones parciales en etapas cruzadas (CSP) y el entrenamiento autoadversarial (SAT), entre otras, para lograr resultados de vanguardia. Si buscas un modelo de alto rendimiento que funcione eficientemente en GPUs convencionales, YOLOv4 es una excelente elecci贸n.
驴C贸mo mejora su rendimiento la arquitectura de YOLOv4?
La arquitectura de YOLOv4 incluye varios componentes clave: la columna vertebral, el cuello y la cabeza. La columna vertebral, que puede ser modelos como VGG, ResNet o CSPDarknet53, est谩 preentrenada para predecir clases y cuadros delimitadores. El cuello, que utiliza PANet, conecta mapas de caracter铆sticas de diferentes etapas para la extracci贸n exhaustiva de datos. Por 煤ltimo, la cabeza, que utiliza configuraciones de YOLOv3, realiza las detecciones finales de objetos. YOLOv4 tambi茅n emplea t茅cnicas de "bag of freebies" como el aumento de datos en mosaico y la regularizaci贸n DropBlock, optimizando a煤n m谩s su velocidad y precisi贸n.
驴Qu茅 son las "bolsas de regalos" en el contexto de YOLOv4?
La "bolsa de regalos" se refiere a los m茅todos que mejoran la precisi贸n del entrenamiento de YOLOv4 sin aumentar el coste de la inferencia. Estas t茅cnicas incluyen varias formas de aumento de datos, como distorsiones fotom茅tricas (ajuste de brillo, contraste, etc.) y distorsiones geom茅tricas (escalado, recorte, volteo, rotaci贸n). Al aumentar la variabilidad de las im谩genes de entrada, estos aumentos ayudan a YOLOv4 a generalizarse mejor a distintos tipos de im谩genes, mejorando as铆 su robustez y precisi贸n sin comprometer su rendimiento en tiempo real.
驴Por qu茅 se considera que YOLOv4 es adecuado para la detecci贸n de objetos en tiempo real en GPU convencionales?
YOLOv4 est谩 dise帽ado para optimizar tanto la velocidad como la precisi贸n, por lo que resulta ideal para tareas de detecci贸n de objetos en tiempo real que requieren un rendimiento r谩pido y fiable. Funciona de forma eficiente en GPU convencionales, ya que s贸lo necesita una para el entrenamiento y la inferencia. Esto lo hace accesible y pr谩ctico para diversas aplicaciones que van desde los sistemas de recomendaci贸n hasta la gesti贸n aut贸noma de procesos, lo que reduce la necesidad de grandes configuraciones de hardware y lo convierte en una soluci贸n rentable para la detecci贸n de objetos en tiempo real.
驴C贸mo puedo empezar a utilizar YOLOv4 si Ultralytics no lo admite actualmente?
Para empezar a utilizar YOLOv4, visita el repositorio oficial de YOLOv4 en GitHub. Siga las instrucciones de instalaci贸n proporcionadas en el archivo README, que suelen incluir la clonaci贸n del repositorio, la instalaci贸n de dependencias y la configuraci贸n de variables de entorno. Una vez instalado, puede entrenar el modelo preparando su conjunto de datos, configurando los par谩metros del modelo y siguiendo las instrucciones de uso proporcionadas. Dado que Ultralytics no es compatible actualmente con YOLOv4, se recomienda consultar directamente el GitHub de YOLOv4 para obtener las instrucciones m谩s actualizadas y detalladas.