YOLO Vision 2026:

YOLOv3 e YOLOv3u#

Panoramica#

Questo documento presenta una panoramica di tre modelli di rilevamento di oggetti strettamente correlati, ovvero YOLOv3, YOLOv3-Ultralytics e YOLOv3u.

  1. YOLOv3: Questa è la terza versione dell'algoritmo di rilevamento di oggetti You Only Look Once (YOLO). Originariamente sviluppato da Joseph Redmon, YOLOv3 ha migliorato i suoi predecessori introducendo funzionalità come previsioni a multiscala e tre diverse dimensioni di kernel di rilevamento.

  2. YOLOv3u: Questa è una versione aggiornata di YOLOv3-Ultralytics che incorpora la testa divisa senza anchor e senza objectness utilizzata nei modelli YOLOv8. YOLOv3u mantiene la stessa architettura di backbone e neck di YOLOv3 ma con la testa di rilevamento aggiornata di YOLOv8.

Banner del modello di rilevamento oggetti YOLOv3

Caratteristiche principali#

  • YOLOv3: Ha introdotto l'uso di tre diverse scale per il rilevamento, sfruttando tre diverse dimensioni di kernel di rilevamento: 13x13, 26x26 e 52x52. Ciò ha migliorato significativamente la precisione di rilevamento per oggetti di diverse dimensioni. Inoltre, YOLOv3 ha aggiunto funzionalità come previsioni multi-etichetta per ogni casella di delimitazione e una rete estrattore di caratteristiche migliore.

  • YOLOv3u: Questo modello aggiornato incorpora la testa divisa senza anchor e senza objectness di YOLOv8. Eliminando la necessità di anchor box predefinite e punteggi di objectness, questo design della testa di rilevamento può migliorare la capacità del modello di rilevare oggetti di diverse dimensioni e forme. Ciò rende YOLOv3u più robusto e accurato per le attività di rilevamento di oggetti.

Compiti e modalità supportati#

YOLOv3 è progettato specificamente per attività di rilevamento di oggetti. Ultralytics supporta tre varianti di YOLOv3: yolov3u, yolov3-tinyu e yolov3-sppu. La u nel nome indica che queste utilizzano la testa senza anchor di YOLOv8, a differenza della loro architettura originale che è basata su anchor. Questi modelli sono rinomati per la loro efficacia in vari scenari del mondo reale, bilanciando precisione e velocità. Ogni variante offre funzionalità e ottimizzazioni uniche, rendendole adatte a una gamma di applicazioni.

Tutti e tre i modelli supportano un set completo di modalità, garantendo versatilità in varie fasi del distacco del modello e dello sviluppo. Queste modalità includono Inferenza, Validazione, Addestramento ed Esportazione, offrendo agli utenti un toolkit completo per un efficace rilevamento di oggetti.

Tipo di modelloPesi pre-addestratiAttività supportateAddestramentoValidazioneInferenzaEsportazione
YOLOv3(u)yolov3u.ptObject Detection
YOLOv3-Tiny(u)yolov3-tinyu.ptObject Detection
YOLOv3u-SPP(u)yolov3-sppu.ptObject Detection

Questa tabella offre una panoramica immediata delle capacità di ciascuna variante di YOLOv3, evidenziandone la versatilità e l'idoneità per vari compiti e modalità operative nei flussi di lavoro di rilevamento di oggetti.

Esempi di Utilizzo#

Questo esempio fornisce semplici esempi di addestramento e inferenza per YOLOv3. Per la documentazione completa su queste e altre modalità, consulta le pagine di documentazione di Predizione, Addestramento, Val ed Esportazione.

Esempio

I modelli PyTorch preaddestrati *.pt così come i file di configurazione *.yaml possono essere passati alla classe YOLO() per creare un'istanza di modello in Python:

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv3u model
model = YOLO("yolov3u.pt")

# 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 YOLOv3u model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

Citazioni e riconoscimenti#

Se usi YOLOv3 nella tua ricerca, cita i documenti originali di YOLO e il repository Ultralytics YOLOv3:

Citazione
@article{redmon2018yolov3,
  title={YOLOv3: An Incremental Improvement},
  author={Redmon, Joseph and Farhadi, Ali},
  journal={arXiv preprint arXiv:1804.02767},
  year={2018}
}

Un ringraziamento a Joseph Redmon e Ali Farhadi per aver sviluppato l'originale YOLOv3.

FAQ#

Quali sono le differenze tra YOLOv3, YOLOv3-Ultralytics e YOLOv3u?#

YOLOv3 è la terza iterazione dell'algoritmo di rilevamento di oggetti YOLO (You Only Look Once) sviluppato da Joseph Redmon, noto per il suo equilibrio tra precisione e velocità, che utilizza tre diverse scale (13x13, 26x26 e 52x52) per i rilevamenti. YOLOv3-Ultralytics è l'adattamento di Ultralytics di YOLOv3 che aggiunge il supporto per più modelli preaddestrati e facilita una maggiore personalizzazione del modello. YOLOv3u è una variante aggiornata di YOLOv3-Ultralytics, che integra la testa divisa senza anchor e senza objectness di YOLOv8, migliorando la robustezza e la precisione del rilevamento per varie dimensioni di oggetti. Per maggiori dettagli sulle varianti, fai riferimento alla serie YOLOv3.

Come posso addestrare un modello YOLOv3 usando Ultralytics?#

Addestrare un modello YOLOv3 con Ultralytics è semplice. Puoi addestrare il modello usando Python o la CLI:

Esempio
from ultralytics import YOLO

# Load a COCO-pretrained YOLOv3u model
model = YOLO("yolov3u.pt")

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

Per opzioni di addestramento e linee guida più complete, visita la nostra documentazione della modalità Addestramento.

Cosa rende YOLOv3u più accurato per le attività di rilevamento di oggetti?#

YOLOv3u migliora YOLOv3 e YOLOv3-Ultralytics incorporando la testa divisa senza anchor e senza objectness utilizzata nei modelli YOLOv8. Questo aggiornamento elimina la necessità di anchor box predefinite e punteggi di objectness, migliorando la sua capacità di rilevare oggetti di diverse dimensioni e forme in modo più preciso. Ciò rende YOLOv3u una scelta migliore per attività di rilevamento di oggetti complesse e diverse. Per ulteriori informazioni, fai riferimento alla sezione Funzionalità Chiave.

Come posso usare i modelli YOLOv3 per l'inferenza?#

Puoi eseguire l'inferenza usando i modelli YOLOv3 tramite script Python o comandi CLI:

Esempio
from ultralytics import YOLO

# Load a COCO-pretrained YOLOv3u model
model = YOLO("yolov3u.pt")

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

Fai riferimento alla documentazione della modalità Inferenza per maggiori dettagli sull'esecuzione dei modelli YOLO.

Quali attività sono supportate da YOLOv3 e dalle sue varianti?#

YOLOv3, YOLOv3-Tiny e YOLOv3-SPP supportano principalmente attività di rilevamento di oggetti. Questi modelli possono essere utilizzati per varie fasi di sviluppo e rilascio del modello, come Inferenza, Validazione, Addestramento ed Esportazione. Per un set completo di attività supportate e dettagli più approfonditi, visita la nostra documentazione sulle attività di Rilevamento Oggetti.

Dove posso trovare risorse per citare YOLOv3 nella mia ricerca?#

Se usi YOLOv3 nella tua ricerca, cita i documenti originali di YOLO e il repository Ultralytics YOLOv3. Esempio di citazione BibTeX:

Citazione
@article{redmon2018yolov3,
  title={YOLOv3: An Incremental Improvement},
  author={Redmon, Joseph and Farhadi, Ali},
  journal={arXiv preprint arXiv:1804.02767},
  year={2018}
}

Per ulteriori dettagli sulle citazioni, fai riferimento alla sezione Citazioni e Ringraziamenti.

Commenti