Meet YOLO26: next-gen vision AI.

Link to this sectionMeituan YOLOv6#

Link to this sectionPanoramica#

Meituan YOLOv6, rilasciato nel 2022, offre un ottimo equilibrio tra velocità e precisione, rendendolo una scelta popolare per le applicazioni in tempo reale. Questo modello introduce diversi miglioramenti notevoli nell'architettura e nello schema di addestramento, tra cui l'implementazione di un modulo Bi-directional Concatenation (BiC), una strategia di anchor-aided training (AAT) e un design migliorato di backbone e neck per un'elevata precisione sul COCO dataset.

Modello di rilevamento oggetti in tempo reale YOLOv6 di Meituan Diagramma dell'architettura del modello YOLOv6 Panoramica di YOLOv6. Diagramma dell'architettura del modello che mostra i componenti di rete ridisegnati e le strategie di addestramento che hanno portato a significativi miglioramenti delle prestazioni. (a) Il neck 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).

Link to this sectionCaratteristiche 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 Addestramento Assistita da Ancora (AAT): Questo modello propone l'AAT per godere dei vantaggi di entrambi i paradigmi anchor-based e anchor-free 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à.

Link to this sectionMetriche 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.

Link to this sectionEsempi di Utilizzo#

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

Esempio

I file *.yaml di YOLOv6 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")

Link to this sectionCompiti e modalità supportati#

La serie YOLOv6 offre una gamma di modelli, ciascuno ottimizzato per Object Detection ad alte prestazioni. Questi modelli soddisfano diverse esigenze computazionali e requisiti di accuratezza, rendendoli versatili per un'ampia gamma di applicazioni.

ModelloNomi fileTaskInferenzaValidazioneAddestramentoEsportazione
YOLOv6-Nyolov6n.yamlObject Detection
YOLOv6-Syolov6s.yamlObject Detection
YOLOv6-Myolov6m.yamlObject Detection
YOLOv6-Lyolov6l.yamlObject Detection
YOLOv6-Xyolov6x.yamlObject Detection

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

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

Link to this sectionFAQ#

Link to this sectionCos'è Meituan YOLOv6 e cosa lo rende unico?#

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.

Link to this sectionIn che modo il Modulo di Concatenazione Bi-direzionale (BiC) in YOLOv6 migliora le prestazioni?#

Il modulo di Concatenazione Bi-direzionale (BiC) in YOLOv6 migliora i segnali di localizzazione nel neck del rilevatore, offrendo miglioramenti delle prestazioni con un impatto sulla velocità trascurabile. Questo modulo combina efficacemente diverse feature maps, aumentando la capacità del modello di rilevare oggetti con precisione. Per maggiori dettagli sulle funzionalità di YOLOv6, consulta la sezione Key Features.

Link to this sectionCome posso addestrare un modello YOLOv6 utilizzando Ultralytics?#

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.

Link to this sectionQuali sono le diverse versioni di YOLOv6 e le loro metriche di prestazione?#

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 ulteriori informazioni sulle metriche di prestazione, consulta la sezione Performance Metrics.

Link to this sectionIn che modo la strategia di Addestramento Assistita da Ancora (AAT) avvantaggia YOLOv6?#

L'Addestramento Assistito da Ancora (AAT) in YOLOv6 combina elementi di approcci anchor-based e anchor-free, migliorando le capacità di rilevamento del modello senza compromettere l'efficienza dell'inferenza. Questa strategia sfrutta le ancore durante l'addestramento per migliorare le predizioni del bounding box, rendendo YOLOv6 efficace in svariate attività di rilevamento oggetti.

Link to this sectionQuali modalità operative sono supportate dai modelli YOLOv6 in Ultralytics?#

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. Consulta la sezione Supported Tasks and Modes per una panoramica dettagliata di ogni modalità.

Commenti