YOLO Vision 2026:

Meituan YOLOv6#

Panoramica#

Meituan YOLOv6, rilasciato nel 2022, offre un forte equilibrio tra velocità e precisione, rendendolo una scelta popolare per le applicazioni in tempo reale. Questo modello introduce diversi notevoli miglioramenti nella sua architettura e nel suo schema di training, inclusa l'implementazione di un modulo di concatenazione bidirezionale (BiC), una strategia di training assistita da ancore (AAT) e un design migliorato del backbone e del neck per un'elevata precisione sul dataset COCO.

YOLOv6 real-time object detection model by Meituan YOLOv6 model architecture diagram Panoramica di YOLOv6. Diagramma dell'architettura del modello che mostra i componenti di rete ridisegnati e le strategie di training che hanno portato a significativi miglioramenti delle performance. (a) Il neck di YOLOv6 (N e S sono mostrati). Nota per M/L, RepBlocks è sostituito con CSPStackRep. (b) La struttura di un modulo BiC. (c) Un blocco SimCSPSPPF. (sorgente).

Caratteristiche principali#

  • Modulo di Concatenazione Bi-direzionale (BiC): YOLOv6 introduce un modulo BiC nel neck del rilevatore, migliorando i segnali di localizzazione e offrendo guadagni di prestazioni con un degrado della velocità trascurabile.
  • Strategia di training assistita da ancore (AAT): Questo modello propone AAT per godere dei benefici sia dei paradigmi basati su ancore che privi di ancore senza compromettere l'efficienza dell'inferenza.
  • Design Migliorato del Backbone e del Neck: Approfondendo YOLOv6 per includere un altro stadio nel backbone e nel neck, questo modello ha ottenuto prestazioni elevate sul dataset COCO a input ad alta risoluzione al momento del rilascio.
  • Strategia di Auto-Distillazione: Viene implementata una nuova strategia di auto-distillazione per aumentare le prestazioni dei modelli più piccoli di YOLOv6, migliorando il ramo di regressione ausiliario durante l'addestramento e rimuovendolo durante l'inferenza per evitare un marcato calo di velocità.

Metriche di performance#

YOLOv6 fornisce vari modelli preaddestrati con diverse scale:

  • YOLOv6-N: 37,5% AP su COCO val2017 a 1187 FPS con 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: Precisione allo stato dell'arte in tempo reale.

YOLOv6 fornisce anche modelli quantizzati per diverse precisioni e modelli ottimizzati per piattaforme mobili.

Esempi di Utilizzo#

Questo esempio fornisce semplici esempi di training e inferenza per YOLOv6. Per la documentazione completa su queste e altre modalità, consulta le pagine di documentazione Predict, Train, Val e Export.

Esempio

I file YOLOv6 *.yaml possono essere passati alla classe YOLO() per costruire il modello corrispondente 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")

Compiti e modalità supportati#

La serie YOLOv6 offre una gamma di modelli, ciascuno ottimizzato per il rilevamento di oggetti ad alte performance. Questi modelli rispondono a diverse esigenze di calcolo e requisiti di precisione, rendendoli versatili per un'ampia gamma di applicazioni.

ModelloNomi fileTaskAddestramentoValidazioneInferenzaEsportazione
YOLOv6-Nyolov6n.yamlRilevamento di oggetti
YOLOv6-Syolov6s.yamlRilevamento di oggetti
YOLOv6-Myolov6m.yamlRilevamento di oggetti
YOLOv6-Lyolov6l.yamlRilevamento di oggetti
YOLOv6-Xyolov6x.yamlRilevamento di oggetti

Questa tabella fornisce una panoramica dettagliata delle varianti del modello YOLOv6, evidenziando le loro capacità nelle attività di rilevamento di oggetti e la loro compatibilità con varie modalità operative come Inference, Validation, Training e Export. Questo supporto completo assicura che tu possa sfruttare appieno le capacità dei modelli YOLOv6 in una vasta gamma di scenari di rilevamento di oggetti.

Citazioni e riconoscimenti#

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

Citazione
@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 paper originale di YOLOv6 può essere trovato su arXiv. Gli autori hanno reso il loro lavoro pubblicamente disponibile e la codebase è accessibile su GitHub. Apprezziamo i loro sforzi nel far progredire il campo e nel rendere il loro lavoro accessibile alla comunità più ampia.

FAQ#

  • Meituan YOLOv6, rilasciato nel 2022, è un rilevatore di oggetti che bilancia velocità e accuratezza, progettato per applicazioni in tempo reale. Presenta notevoli miglioramenti architettonici come il modulo di Concatenazione Bi-direzionale (BiC) e una strategia di Addestramento Assistita da Ancora (AAT). Queste innovazioni forniscono sostanziali guadagni di prestazioni con una minima degradazione della velocità, rendendo YOLOv6 una scelta competitiva per le attività di rilevamento oggetti.

  • Il modulo di concatenazione bidirezionale (BiC) in YOLOv6 migliora i segnali di localizzazione nel neck del rilevatore, offrendo miglioramenti delle performance con un impatto sulla velocità trascurabile. Questo modulo combina efficacemente diverse feature maps, aumentando la capacità del modello di rilevare gli oggetti con precisione. Per maggiori dettagli sulle funzionalità di YOLOv6, fai riferimento alla sezione Caratteristiche chiave.

  • Puoi addestrare un modello YOLOv6 utilizzando Ultralytics con 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)

    Per ulteriori informazioni, visita la pagina Train.

  • YOLOv6 offre molteplici versioni, ciascuna ottimizzata per diversi requisiti di prestazione:

    • 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: Precisione allo stato dell'arte in scenari in tempo reale

    Questi modelli sono valutati sul dataset COCO utilizzando una GPU NVIDIA T4. Per saperne di più sulle metriche delle performance, consulta la sezione Metriche delle performance.

  • Il training assistito da ancore (AAT) in YOLOv6 combina elementi di approcci basati su ancore e privi di ancore, migliorando le capacità di rilevamento del modello senza compromettere l'efficienza dell'inferenza. Questa strategia sfrutta le ancore durante il training per migliorare le predizioni del bounding box, rendendo YOLOv6 efficace in diverse attività di rilevamento di oggetti.

  • YOLOv6 supporta varie modalità operative tra cui Inference, Validation, Training ed Export. Questa flessibilità ti consente di sfruttare appieno le capacità del modello in diversi scenari. Dai un'occhiata alla sezione Attività e modalità supportate per una panoramica dettagliata di ciascuna modalità.

Commenti