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: Introduced the use of three different scales for detection, leveraging three different sizes of detection kernels: 13x13, 26x26, and 52x52. This significantly improved detection accuracy for objects of different sizes. Additionally, YOLOv3 added features such as multi-label predictions for each bounding box and a better feature extractor network.
-
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.
All three models support a comprehensive set of modes, ensuring versatility in various stages of model deployment and development. These modes include Inference, Validation, Training, and Export, providing users with a complete toolkit for effective object detection.
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 pretrained *.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.
DOMANDE FREQUENTI
Quali sono le differenze tra YOLOv3, YOLOv3-Ultralytics e YOLOv3u?
YOLOv3 is the third iteration of the YOLO (You Only Look Once) object detection algorithm developed by Joseph Redmon, known for its balance of accuracy and speed, utilizing three different scales (13x13, 26x26, and 52x52) for detections. YOLOv3-Ultralytics is Ultralytics' adaptation of YOLOv3 that adds support for more pre-trained models and facilitates easier model customization. YOLOv3u is an upgraded variant of YOLOv3-Ultralytics, integrating the anchor-free, objectness-free split head from YOLOv8, improving detection robustness and accuracy for various object sizes. For more details on the variants, refer to the YOLOv3 series.
Come posso addestrare un modello YOLOv3 utilizzando Ultralytics?
L'addestramento di un modello YOLOv3 con Ultralytics è semplice. Puoi addestrare il modello utilizzando Python o CLI:
Esempio
Per opzioni di formazione e linee guida più complete, visita la nostra documentazione sulla modalità di formazione.
Cosa rende YOLOv3u più preciso per le attività di rilevamento degli oggetti?
YOLOv3u migliora YOLOv3 e YOLOv3-Ultralytics incorporando la testa divisa senza ancoraggi e senza oggetti utilizzata nei modelli YOLOv8 . Questo aggiornamento elimina la necessità di scatole di ancoraggio predefinite e punteggi di oggettività, migliorando la capacità di rilevare con maggiore precisione oggetti di dimensioni e forme diverse. Questo rende YOLOv3u una scelta migliore per le attività di rilevamento di oggetti complessi e diversi. Per maggiori informazioni, consulta la sezione Perché YOLOv3u.
Come posso utilizzare i modelli YOLOv3 per l'inferenza?
Puoi eseguire l'inferenza utilizzando i modelli YOLOv3 sia con gli script di Python che con i comandi di CLI :
Esempio
Per maggiori dettagli sull'esecuzione dei modelli di YOLO , consulta la documentazione sulla modalità di inferenza.
Quali attività sono supportate da YOLOv3 e dalle sue varianti?
YOLOv3, YOLOv3-Ultralytics e YOLOv3u supportano principalmente le attività di rilevamento degli oggetti. Questi modelli possono essere utilizzati per varie fasi della distribuzione e dello sviluppo dei modelli, come l'inferenza, la convalida, la formazione e l'esportazione. Per un elenco completo delle attività supportate e per maggiori dettagli, visita la nostra documentazione sulle attività di rilevamento degli oggetti.
Dove posso trovare le risorse per citare YOLOv3 nella mia ricerca?
Se utilizzi YOLOv3 nella tua ricerca, ti preghiamo di citare i documenti originali di YOLO e il repository Ultralytics YOLOv3. Esempio di citazione BibTeX:
Per maggiori dettagli sulle citazioni, consulta la sezione Citazioni e ringraziamenti.