YOLO Vision 2026:

Meituan YOLOv6#

Descripción general#

Meituan YOLOv6, lanzado en 2022, ofrece un fuerte equilibrio entre velocidad y precisión, lo que lo convierte en una opción popular para aplicaciones en tiempo real. Este modelo introduce varias mejoras notables en su arquitectura y esquema de entrenamiento, incluida la implementación de un módulo de concatenación bidireccional (BiC), una estrategia de entrenamiento asistida por anclajes (AAT) y un diseño mejorado de backbone y cuello para lograr una alta precisión en el COCO dataset.

YOLOv6 real-time object detection model by Meituan YOLOv6 model architecture diagram Descripción general de YOLOv6. Diagrama de la arquitectura del modelo que muestra los componentes de red rediseñados y las estrategias de entrenamiento que han llevado a mejoras significativas en el rendimiento. (a) El cuello de YOLOv6 (se muestran N y S). Nota: para M/L, RepBlocks se reemplaza por CSPStackRep. (b) La estructura de un módulo BiC. (c) Un bloque SimCSPSPPF. (source).

Características clave#

  • Módulo de concatenación bidireccional (BiC): YOLOv6 introduce un módulo BiC en el neck del detector, mejorando las señales de localización y proporcionando ganancias de rendimiento con una degradación de velocidad insignificante.
  • Estrategia de entrenamiento asistida por anclajes (AAT): Este modelo propone AAT para disfrutar de los beneficios de los paradigmas anchor-based y anchor-free sin comprometer la eficiencia de inferencia.
  • Diseño mejorado de backbone y neck: Al profundizar YOLOv6 para incluir otra etapa en el backbone y el neck, este modelo logró un sólido rendimiento en el dataset COCO con una entrada de alta resolución en el momento de su lanzamiento.
  • Estrategia de autodestilación: Se implementa una nueva estrategia de autodestilación para aumentar el rendimiento de los modelos más pequeños de YOLOv6, mejorando la rama de regresión auxiliar durante el entrenamiento y eliminándola en la inferencia para evitar una disminución marcada de la velocidad.

Métricas de rendimiento#

YOLOv6 proporciona varios modelos preentrenados con diferentes escalas:

  • YOLOv6-N: 37.5% AP en COCO val2017 a 1187 FPS con una GPU NVIDIA T4.
  • YOLOv6-S: 45.0% AP a 484 FPS.
  • YOLOv6-M: 50.0% AP a 226 FPS.
  • YOLOv6-L: 52.8% AP a 116 FPS.
  • YOLOv6-L6: Precisión de vanguardia en tiempo real.

YOLOv6 también proporciona modelos cuantizados para diferentes precisions y modelos optimizados para plataformas móviles.

Ejemplos de uso#

Este ejemplo proporciona ejemplos sencillos de entrenamiento e inferencia con YOLOv6. Para consultar la documentación completa sobre estos y otros modes, visita las páginas de documentación de Predict, Train, Val y Export.

Ejemplo

Los archivos *.yaml de YOLOv6 se pueden pasar a la clase YOLO() para construir el modelo correspondiente en Python:

from ultralytics import YOLO

# Build a YOLOv6n model from scratch
model = YOLO("yolov6n.yaml")

# Display model information (optional)
model.info()

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with the YOLOv6n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

Tareas y modos soportados#

La serie YOLOv6 ofrece una gama de modelos, cada uno optimizado para Object Detection de alto rendimiento. Estos modelos satisfacen diversas necesidades computacionales y requisitos de accuracy, lo que los hace versátiles para una amplia variedad de aplicaciones.

ModeloNombres de archivoTareasEntrenamientoValidaciónInferenciaExportar
YOLOv6-Nyolov6n.yamlDetección de objetos
YOLOv6-Syolov6s.yamlDetección de objetos
YOLOv6-Myolov6m.yamlDetección de objetos
YOLOv6-Lyolov6l.yamlDetección de objetos
YOLOv6-Xyolov6x.yamlDetección de objetos

Esta tabla ofrece una visión detallada de las variantes del modelo YOLOv6, destacando sus capacidades en tareas de object detection y su compatibilidad con varios modos operativos como Inference, Validation, Training y Export. Este soporte integral garantiza que puedas aprovechar al máximo las capacidades de los modelos YOLOv6 en una amplia gama de escenarios de detección de objetos.

Citas y agradecimientos#

Nos gustaría agradecer a los autores por sus importantes contribuciones en el campo de la detección de objetos en tiempo real:

Cita
@misc{li2023yolov6,
      title={YOLOv6 v3.0: A Full-Scale Reloading},
      author={Chuyi Li and Lulu Li and Yifei Geng and Hongliang Jiang and Meng Cheng and Bo Zhang and Zaidan Ke and Xiaoming Xu and Xiangxiang Chu},
      year={2023},
      eprint={2301.05586},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

El artículo original de YOLOv6 se puede encontrar en arXiv. Los autores han hecho su trabajo disponible públicamente y el código base se puede consultar en GitHub. Agradecemos sus esfuerzos por hacer avanzar el campo y poner su trabajo a disposición de la comunidad en general.

FAQ#

  • Meituan YOLOv6, lanzado en 2022, es un detector de objetos que equilibra la velocidad y la precisión, diseñado para aplicaciones en tiempo real. Presenta mejoras arquitectónicas notables como el módulo de concatenación bidireccional (BiC) y una estrategia de entrenamiento asistido por anclas (AAT). Estas innovaciones proporcionan ganancias de rendimiento sustanciales con una degradación mínima de la velocidad, lo que convierte a YOLOv6 en una opción competitiva para tareas de detección de objetos.

  • El módulo de concatenación bidireccional (BiC) en YOLOv6 mejora las señales de localización en el cuello del detector, ofreciendo mejoras de rendimiento con un impacto de velocidad insignificante. Este módulo combina eficazmente diferentes feature maps, aumentando la capacidad del modelo para detectar objetos con precisión. Para más detalles sobre las características de YOLOv6, consulta la sección Key Features.

  • Puedes entrenar un modelo YOLOv6 usando Ultralytics con comandos simples de Python o CLI. Por ejemplo:

    Ejemplo
    from ultralytics import YOLO
    
    # Build a YOLOv6n model from scratch
    model = YOLO("yolov6n.yaml")
    
    # Train the model on the COCO8 example dataset for 100 epochs
    results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

    Para obtener más información, visita la página Train.

  • YOLOv6 ofrece múltiples versiones, cada una optimizada para diferentes requisitos de rendimiento:

    • YOLOv6-N: 37.5% AP a 1187 FPS
    • YOLOv6-S: 45.0% AP a 484 FPS
    • YOLOv6-M: 50.0% AP a 226 FPS
    • YOLOv6-L: 52.8% AP a 116 FPS
    • YOLOv6-L6: Precisión de vanguardia en escenarios en tiempo real

    Estos modelos se evalúan en el dataset COCO utilizando una GPU NVIDIA T4. Para obtener más información sobre las métricas de rendimiento, consulta la sección Performance Metrics.

  • El entrenamiento asistido por anclajes (AAT) en YOLOv6 combina elementos de enfoques basados en anclajes y sin anclajes, mejorando las capacidades de detección del modelo sin comprometer la eficiencia de inferencia. Esta estrategia aprovecha los anclajes durante el entrenamiento para mejorar las predicciones de bounding box, lo que hace que YOLOv6 sea eficaz en diversas tareas de detección de objetos.

  • YOLOv6 admite varios modos operativos, incluidos Inferencia, Validación, Entrenamiento y Exportación. Esta flexibilidad permite aprovechar al máximo las capacidades del modelo en diferentes escenarios. Echa un vistazo a la sección Supported Tasks and Modes para obtener una visión detallada de cada modo.

Comentarios