Link to this sectionYOLOv3 e YOLOv3u#
Link to this sectionPanoramica#
Questo documento presenta una panoramica di tre modelli di rilevamento oggetti strettamente correlati, ovvero YOLOv3, YOLOv3-Ultralytics e YOLOv3u.
-
YOLOv3: Questa è la terza versione dell'algoritmo di rilevamento oggetti You Only Look Once (YOLO). Sviluppato originariamente da Joseph Redmon, YOLOv3 ha migliorato i suoi predecessori introducendo funzionalità come previsioni multiscala e tre diverse dimensioni di kernel di rilevamento.
-
YOLOv3u: Questa è una versione aggiornata di YOLOv3-Ultralytics che incorpora la split head anchor-free e objectness-free utilizzata nei modelli YOLOv8. YOLOv3u mantiene la stessa architettura di backbone e neck di YOLOv3, ma con la detection head aggiornata da YOLOv8.

Link to this sectionCaratteristiche 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 dimensioni diverse. Inoltre, YOLOv3 ha aggiunto funzionalità come previsioni multi-label per ogni bounding box e una migliore rete di estrazione delle caratteristiche.
-
YOLOv3u: Questo modello aggiornato incorpora la split head anchor-free e objectness-free di YOLOv8. Eliminando la necessità di anchor box predefinite e punteggi di objectness, il design di questa detection head può migliorare la capacità del modello di rilevare oggetti di varie dimensioni e forme. Ciò rende YOLOv3u più robusto e preciso per le attività di rilevamento oggetti.
Link to this sectionAttività e modalità supportate#
YOLOv3 è progettato specificamente per attività di object detection. Ultralytics supporta tre varianti di YOLOv3: yolov3u, yolov3-tinyu e yolov3-sppu. La u nel nome indica che queste utilizzano la head anchor-free 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 vasta gamma di applicazioni.
Tutti e tre i modelli supportano una serie completa di modalità, garantendo versatilità in varie fasi dello sviluppo e del dispiegamento del modello. Queste modalità includono Inferenza, Validazione, Addestramento ed Esportazione, fornendo agli utenti un toolkit completo per un efficace rilevamento oggetti.
| Tipo di modello | Pesi preaddestrati | Attività supportate | Inferenza (Inference) | Validazione | Addestramento | Export |
|---|---|---|---|---|---|---|
| YOLOv3(u) | yolov3u.pt | Rilevamento oggetti | ✅ | ✅ | ✅ | ✅ |
| YOLOv3-Tiny(u) | yolov3-tinyu.pt | Rilevamento oggetti | ✅ | ✅ | ✅ | ✅ |
| YOLOv3u-SPP(u) | yolov3-sppu.pt | Rilevamento oggetti | ✅ | ✅ | ✅ | ✅ |
Questa tabella fornisce una panoramica immediata delle capacità di ogni variante di YOLOv3, evidenziando la loro versatilità e idoneità per varie attività e modalità operative nei flussi di lavoro di rilevamento oggetti.
Link to this sectionEsempi di utilizzo#
Questo esempio fornisce esempi semplici di addestramento e inferenza con YOLOv3. Per la documentazione completa su queste e altre modalità, consulta le pagine di documentazione di Predict, Train, Val ed Export.
PyTorch pretrained *.pt models as well as configuration *.yaml files can be passed to the YOLO() class to create a model instance 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")Link to this sectionCitazioni e ringraziamenti#
Se utilizzi YOLOv3 nella tua ricerca, cita i documenti originali YOLO e il repository YOLOv3 di Ultralytics:
@article{redmon2018yolov3,
title={YOLOv3: An Incremental Improvement},
author={Redmon, Joseph and Farhadi, Ali},
journal={arXiv preprint arXiv:1804.02767},
year={2018}
}Grazie a Joseph Redmon e Ali Farhadi per aver sviluppato l'originale YOLOv3.
Link to this sectionFAQ#
Link to this sectionQuali sono le differenze tra YOLOv3, YOLOv3-Ultralytics e YOLOv3u?#
YOLOv3 è la terza iterazione dell'algoritmo di object detection YOLO (You Only Look Once) sviluppato da Joseph Redmon, noto per il suo equilibrio tra accuratezza e velocità, utilizzando 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 personalizzazione più semplice del modello. YOLOv3u è una variante aggiornata di YOLOv3-Ultralytics, che integra la split head anchor-free e objectness-free da YOLOv8, migliorando la robustezza e la precisione del rilevamento per varie dimensioni di oggetti. Per maggiori dettagli sulle varianti, consulta la serie YOLOv3.
Link to this sectionCome posso addestrare un modello YOLOv3 utilizzando Ultralytics?#
Addestrare un modello YOLOv3 con Ultralytics è semplice. Puoi addestrare il modello utilizzando Python o CLI:
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 sulla modalità Train.
Link to this sectionCosa rende YOLOv3u più preciso per le attività di rilevamento oggetti?#
YOLOv3u migliora YOLOv3 e YOLOv3-Ultralytics incorporando la split head anchor-free e objectness-free 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 varie dimensioni e forme in modo più preciso. Questo rende YOLOv3u una scelta migliore per attività di rilevamento oggetti complesse e diversificate. Per ulteriori informazioni, consulta la sezione Caratteristiche principali.
Link to this sectionCome posso utilizzare i modelli YOLOv3 per l'inferenza?#
Puoi eseguire l'inferenza utilizzando i modelli YOLOv3 tramite script Python o comandi CLI:
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")Consulta la documentazione sulla modalità Inference per maggiori dettagli sull'esecuzione dei modelli YOLO.
Link to this sectionQuali attività sono supportate da YOLOv3 e dalle sue varianti?#
YOLOv3, YOLOv3-Tiny e YOLOv3-SPP supportano principalmente attività di rilevamento oggetti. Questi modelli possono essere utilizzati per varie fasi di dispiegamento e sviluppo del modello, come Inferenza, Validazione, Addestramento ed Esportazione. Per una serie completa di attività supportate e dettagli più approfonditi, visita la nostra documentazione sulle attività di Object Detection.
Link to this sectionDove posso trovare risorse per citare YOLOv3 nella mia ricerca?#
Se utilizzi YOLOv3 nella tua ricerca, cita i documenti originali YOLO e il repository YOLOv3 di Ultralytics. Esempio di citazione BibTeX:
@article{redmon2018yolov3,
title={YOLOv3: An Incremental Improvement},
author={Redmon, Joseph and Farhadi, Ali},
journal={arXiv preprint arXiv:1804.02767},
year={2018}
}Per ulteriori dettagli sulla citazione, consulta la sezione Citazioni e Riconoscimenti.