Vai al contenuto

Meituan YOLOv6

Panoramica

Meituan YOLOv6 è un rilevatore di oggetti all'avanguardia che offre un notevole equilibrio tra velocità e precisione, rendendolo una scelta popolare per le applicazioni in tempo reale. Questo modello introduce diversi miglioramenti degni di nota nella sua architettura e nello schema di addestramento, tra cui l'implementazione di un modulo di concatenazione bidirezionale (BiC), una strategia di addestramento assistito da ancore (AAT) e un design migliorato della spina dorsale e del collo per una precisione all'avanguardia sul set di dati COCO.

Meituan YOLOv6 Modello immagine di esempio Panoramica di YOLOv6. Diagramma dell'architettura del modello che mostra i componenti della rete riprogettati e le strategie di formazione che hanno portato a significativi miglioramenti delle prestazioni. (a) Il collo di YOLOv6 (sono mostrati N e S). Nota per M/L, RepBlocks è sostituito da CSPStackRep. (b) La struttura di un modulo BiC. (c) Un blocco SimCSPSPPF. (fonte).

Caratteristiche principali

  • Modulo di concatenazione bidirezionale (BiC): YOLOv6 introduce un modulo BiC nel collo del rilevatore, migliorando i segnali di localizzazione e offrendo un aumento delle prestazioni con una degradazione trascurabile della velocità.
  • Strategia di formazione assistita da ancore (AAT): Questo modello propone l'AAT per sfruttare i vantaggi dei paradigmi basati sulle ancore e senza ancore senza compromettere l'efficienza dell'inferenza.
  • Design migliorato della spina dorsale e del collo: Approfondendo YOLOv6 per includere un altro stadio nella spina dorsale e nel collo, questo modello raggiunge prestazioni all'avanguardia sul dataset COCO con input ad alta risoluzione.
  • Strategia di autodistillazione: Per incrementare le prestazioni dei modelli più piccoli di YOLOv6 è stata implementata una nuova strategia di autodistillazione, che potenzia il ramo di regressione ausiliario durante l'addestramento e lo rimuove al momento dell'inferenza per evitare un netto calo di velocità.

Metriche di prestazione

YOLOv6 fornisce vari modelli pre-addestrati con diverse scale:

  • YOLOv6-N: 37.5% AP on COCO val2017 at 1187 FPS with NVIDIA T4 GPU.
  • YOLOv6-S: 45,0% di AP a 484 FPS.
  • YOLOv6-M: 50,0% di AP a 226 FPS.
  • YOLOv6-L: 52,8% di AP a 116 FPS.
  • YOLOv6-L6: precisione all'avanguardia in tempo reale.

YOLOv6 also provides quantized models for different precisions and models optimized for mobile platforms.

Esempi di utilizzo

Questo esempio fornisce semplici esempi di formazione e inferenza YOLOv6. Per una documentazione completa su queste e altre modalità, consulta le pagine dei documenti Predict, Train, Val ed Export.

Esempio

PyTorch pretrained *.pt modelli e configurazione *.yaml possono essere passati ai file YOLO() per creare un'istanza del modello in 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 sono disponibili comandi per eseguire direttamente i modelli:

# 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

Attività e modalità supportate

The YOLOv6 series offers a range of models, each optimized for high-performance Object Detection. These models cater to varying computational needs and accuracy requirements, making them versatile for a wide array of applications.

Tipo di modelloPesi pre-addestratiAttività supportateInferenzaConvalidaFormazioneEsportazione
YOLOv6-Nyolov6-n.ptRilevamento degli oggetti
YOLOv6-Syolov6-s.ptRilevamento degli oggetti
YOLOv6-Myolov6-m.ptRilevamento degli oggetti
YOLOv6-Lyolov6-l.ptRilevamento degli oggetti
YOLOv6-L6yolov6-l6.ptRilevamento degli oggetti

This table provides a detailed overview of the YOLOv6 model variants, highlighting their capabilities in object detection tasks and their compatibility with various operational modes such as Inference, Validation, Training, and Export. This comprehensive support ensures that users can fully leverage the capabilities of YOLOv6 models in a broad range of object detection scenarios.

Citazioni e ringraziamenti

Desideriamo ringraziare gli autori per i loro significativi contributi nel campo del rilevamento di oggetti in tempo reale:

@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}
}

Il documento originale di YOLOv6 è disponibile su arXiv. Gli autori hanno reso il loro lavoro disponibile al pubblico e la base di codice è accessibile su GitHub. Apprezziamo i loro sforzi per far progredire il campo e rendere il loro lavoro accessibile a una comunità più ampia.

DOMANDE FREQUENTI

Cos'è Meituan YOLOv6 e cosa lo rende unico?

Meituan YOLOv6 è un rilevatore di oggetti all'avanguardia che bilancia velocità e precisione, ideale per le applicazioni in tempo reale. Presenta notevoli miglioramenti architettonici come il modulo Bi-directional Concatenation (BiC) e la strategia Anchor-Aided Training (AAT). Queste innovazioni garantiscono un aumento sostanziale delle prestazioni con una riduzione minima della velocità, rendendo YOLOv6 una scelta competitiva per le attività di rilevamento degli oggetti.

In che modo il modulo di concatenazione bidirezionale (BiC) di YOLOv6 migliora le prestazioni?

Il modulo Bi-directional Concatenation (BiC) di YOLOv6 migliora i segnali di localizzazione nel collo del rilevatore, offrendo un miglioramento delle prestazioni con un impatto trascurabile sulla velocità. Questo modulo combina efficacemente diverse mappe di caratteristiche, aumentando la capacità del modello di rilevare gli oggetti in modo accurato. Per maggiori dettagli sulle caratteristiche di YOLOv6, consulta la sezione Caratteristiche principali.

Come posso addestrare un modello YOLOv6 utilizzando Ultralytics?

Puoi addestrare un modello YOLOv6 utilizzando Ultralytics con i semplici comandi Python o CLI . Ad esempio:

Esempio

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)
yolo train model=yolov6n.yaml data=coco8.yaml epochs=100 imgsz=640

Per maggiori informazioni, visita la pagina del treno.

Quali sono le diverse versioni di YOLOv6 e le relative metriche di prestazione?

YOLOv6 offre diverse versioni, ognuna delle quali è ottimizzata per diversi requisiti di prestazione:

  • YOLOv6-N: 37,5% di AP a 1187 FPS
  • YOLOv6-S: 45,0% di AP a 484 FPS
  • YOLOv6-M: 50,0% AP a 226 FPS
  • YOLOv6-L: 52,8% di AP a 116 FPS
  • YOLOv6-L6: precisione all'avanguardia in scenari in tempo reale

These models are evaluated on the COCO dataset using an NVIDIA T4 GPU. For more on performance metrics, see the Performance Metrics section.

In che modo la strategia Anchor-Aided Training (AAT) è utile a YOLOv6?

Anchor-Aided Training (AAT) in YOLOv6 combines elements of anchor-based and anchor-free approaches, enhancing the model's detection capabilities without compromising inference efficiency. This strategy leverages anchors during training to improve bounding box predictions, making YOLOv6 effective in diverse object detection tasks.

Quali modalità operative sono supportate dai modelli YOLOv6 in Ultralytics?

YOLOv6 supporta diverse modalità operative, tra cui Inferenza, Convalida, Formazione ed Esportazione. Questa flessibilità permette agli utenti di sfruttare appieno le capacità del modello in diversi scenari. Consulta la sezione Attività e modalità supportate per una panoramica dettagliata di ciascuna modalità.

📅 Created 11 months ago ✏️ Updated 21 days ago

Commenti