YOLOv3, YOLOv3-Ultralytics, e YOLOv3u
Panoramica
Questo documento presenta una panoramica di tre modelli di rilevamento degli oggetti strettamente correlati, ovvero YOLOv3, YOLOv3-Ultralytics e YOLOv3u.
-
YOLOv3: questa è la terza versione dell'algoritmo di rilevamento degli oggetti You Only Look Once (YOLO). Originariamente sviluppato da Joseph Redmon, YOLOv3 ha migliorato i suoi predecessori introducendo caratteristiche come le previsioni multiscala e tre diverse dimensioni di kernel di rilevamento.
-
YOLOv3-Ultralytics: Questa è l'implementazione di Ultralytics' del modello YOLOv3. Riproduce l'architettura originale di YOLOv3 e offre funzionalità aggiuntive, come il supporto per un maggior numero di modelli pre-addestrati e opzioni di personalizzazione più semplici.
-
YOLOv3u: Si tratta di una versione aggiornata di YOLOv3-Ultralytics che incorpora la testa di divisione anchor-free e objectness-free utilizzata nei modelli YOLOv8 . YOLOv3u mantiene la stessa architettura a spina dorsale e collo di YOLOv3, ma con la testa di rilevamento aggiornata di YOLOv8.
Caratteristiche principali
-
YOLOv3: introdotto l'uso di tre diverse scale per il rilevamento, sfruttando tre diverse dimensioni dei kernel di rilevamento: 13x13, 26x26 e 52x52. Questo ha migliorato significativamente l'accuratezza del rilevamento di oggetti di dimensioni diverse. Inoltre, YOLOv3 ha aggiunto funzioni come le previsioni multi-label per ogni bounding box e una migliore rete di estrazione delle caratteristiche.
-
YOLOv3-Ultralytics: Ultralytics L'implementazione di YOLOv3 offre le stesse prestazioni del modello originale, ma con il supporto di un maggior numero di modelli pre-addestrati, metodi di addestramento aggiuntivi e opzioni di personalizzazione più semplici. Questo lo rende più versatile e facile da usare per le applicazioni pratiche.
-
YOLOv3u: Questo modello aggiornato incorpora la testa divisa senza ancore e senza oggetti di YOLOv8. Eliminando la necessità di scatole di ancoraggio e punteggi di oggetti predefiniti, questo design della testa di rilevamento può migliorare la capacità del modello di rilevare oggetti di dimensioni e forme diverse. Questo rende YOLOv3u più robusto e preciso per le attività di rilevamento degli oggetti.
Attività e modalità supportate
La serie YOLOv3, che comprende YOLOv3, YOLOv3-Ultralytics e YOLOv3u, è stata progettata appositamente per il rilevamento di oggetti. Questi modelli sono rinomati per la loro efficacia in vari scenari reali, bilanciando precisione e velocità . Ogni variante offre caratteristiche e ottimizzazioni uniche, che le rendono adatte a una vasta gamma di applicazioni.
Tutti e tre i modelli supportano una serie completa di modalità , garantendo la versatilità nelle varie fasi di implementazione e sviluppo del modello. Queste modalità comprendono l'inferenza, la convalida, l'addestramento e l'esportazione, fornendo agli utenti un kit completo di strumenti per il rilevamento efficace degli oggetti.
Tipo di modello | Attività supportate | Inferenza | Convalida | Formazione | Esportazione |
---|---|---|---|---|---|
YOLOv3 | Rilevamento degli oggetti | ✅ | ✅ | ✅ | ✅ |
YOLOv3-Ultralytics | Rilevamento degli oggetti | ✅ | ✅ | ✅ | ✅ |
YOLOv3u | Rilevamento degli oggetti | ✅ | ✅ | ✅ | ✅ |
Questa tabella fornisce una visione d'insieme delle capacità di ciascuna variante di YOLOv3, evidenziandone la versatilità e l'idoneità a diversi compiti e modalità operative nei flussi di lavoro di rilevamento degli oggetti.
Esempi di utilizzo
Questo esempio fornisce semplici esempi di addestramento e inferenza di YOLOv3. Per una documentazione completa su queste e altre modalità , consulta le pagine dei documenti Predict, Train, Val ed Export.
Esempio
PyTorch preaddestrato *.pt
modelli e configurazione *.yaml
possono essere passati ai file YOLO()
per creare un'istanza del modello in python:
from ultralytics import YOLO
# Load a COCO-pretrained YOLOv3n model
model = YOLO('yolov3n.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 YOLOv3n model on the 'bus.jpg' image
results = model('path/to/bus.jpg')
CLI sono disponibili comandi per eseguire direttamente i modelli:
Citazioni e ringraziamenti
Se utilizzi YOLOv3 nella tua ricerca, ti preghiamo di citare i documenti originali di YOLO e il repository Ultralytics YOLOv3:
Grazie a Joseph Redmon e Ali Farhadi per aver sviluppato l'originale YOLOv3.