Saltar al contenido

Meituan YOLOv6

Visi贸n general

Meituan YOLOv6 es un detector de objetos de 煤ltima generaci贸n que ofrece un notable equilibrio entre velocidad y precisi贸n, lo que lo convierte en una elecci贸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 asistido por anclas (AAT) y un dise帽o mejorado de la columna vertebral y el cuello para obtener una precisi贸n de vanguardia en el conjunto de datos COCO.

Meituan YOLOv6 Modelo de imagen de ejemplo Visi贸n general de YOLOv6. Diagrama de la arquitectura del modelo que muestra los componentes redise帽ados de la red y las estrategias de entrenamiento que han dado lugar a importantes mejoras de rendimiento. (a) El cuello de YOLOv6 (se muestran N y S). Observa que para M/L, RepBlocks se sustituye por CSPStackRep. (b) La estructura de un m贸dulo BiC. (c) Un bloque SimCSPSPPF. (fuente).

Caracter铆sticas principales

  • M贸dulo de Concatenaci贸n Bidireccional (BiC): YOLOv6 introduce un m贸dulo BiC en el cuello del detector, que mejora las se帽ales de localizaci贸n y proporciona mejoras de rendimiento con una degradaci贸n insignificante de la velocidad.
  • Estrategia de Entrenamiento Asistido por Anclas (AAT): Este modelo propone la AAT para disfrutar de las ventajas de los paradigmas basado en anclas y sin anclas, sin comprometer la eficacia de la inferencia.
  • Dise帽o mejorado de la columna vertebral y el cuello: Al profundizar en YOLOv6 para incluir otra etapa en la columna vertebral y el cuello, este modelo consigue un rendimiento de vanguardia en el conjunto de datos COCO con una entrada de alta resoluci贸n.
  • Estrategia de autodestilaci贸n: Se aplica una nueva estrategia de autodestilaci贸n para aumentar el rendimiento de los modelos m谩s peque帽os de YOLOv6, potenciando la rama de regresi贸n auxiliar durante el entrenamiento y elimin谩ndola en la inferencia para evitar un marcado descenso 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 GPU NVIDIA Tesla 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 distintas precisiones y modelos optimizados para plataformas m贸viles.

Ejemplos de uso

Este ejemplo proporciona ejemplos sencillos de entrenamiento e inferencia de YOLOv6. Para obtener documentaci贸n completa sobre estos y otros modos, consulta las p谩ginas de documentaci贸n Predecir, Entrenar, Val y Exportar.

Ejemplo

PyTorch preentrenado *.pt modelos, as铆 como la configuraci贸n *.yaml pueden pasarse a la funci贸n YOLO() para crear una instancia del modelo 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")

CLI para ejecutar directamente los modelos:

# Build a YOLOv6n model from scratch and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov6n.yaml data=coco8.yaml epochs=100 imgsz=640

# Build a YOLOv6n model from scratch and run inference on the 'bus.jpg' image
yolo predict model=yolov6n.yaml source=path/to/bus.jpg

Tareas y modos admitidos

La serie YOLOv6 ofrece una gama de modelos, cada uno de ellos optimizado para la Detecci贸n de Objetos de alto rendimiento. Estos modelos responden a distintas necesidades de c谩lculo y requisitos de precisi贸n, lo que los hace vers谩tiles para una amplia gama de aplicaciones.

Tipo de modelo Pesos preentrenados Tareas admitidas Inferencia Validaci贸n Formaci贸n Exportar
YOLOv6-N yolov6-n.pt Detecci贸n de objetos
YOLOv6-S yolov6-s.pt Detecci贸n de objetos
YOLOv6-M yolov6-m.pt Detecci贸n de objetos
YOLOv6-L yolov6-l.pt Detecci贸n de objetos
YOLOv6-L6 yolov6-l6.pt Detecci贸n de objetos

Esta tabla proporciona una visi贸n detallada de las variantes del modelo YOLOv6, destacando sus capacidades en tareas de detecci贸n de objetos y su compatibilidad con diversos modos operativos, como Inferencia, Validaci贸n, Entrenamiento y Exportaci贸n. Esta completa compatibilidad garantiza que los usuarios puedan aprovechar plenamente las capacidades de los modelos YOLOv6 en una amplia gama de escenarios de detecci贸n de objetos.

Citas y agradecimientos

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

@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 documento original de YOLOv6 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.



Created 2023-11-12, Updated 2024-06-10
Authors: glenn-jocher (8)

Comentarios