YOLO Vision 2026:

YOLOv3 e YOLOv3u#

Panoramica#

Questo documento presenta una panoramica di tre modelli di rilevamento di oggetti strettamente correlati, vale a dire 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 le predizioni multi-etichetta per ogni riquadro delimitatore 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. Il u nel nome indica che queste utilizzano la testa senza anchor di YOLOv8, a differenza della loro architettura originale basata su anchor. Questi modelli sono rinomati per la loro efficacia in vari scenari del mondo reale, bilanciando precisione e velocità. Ciascuna 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à nelle varie fasi dello sviluppo e rilascio del modello. Queste modalità includono Inference, Validation, Training e Export, fornendo agli utenti un toolkit completo per un efficace rilevamento degli oggetti.

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

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 Predict, Train, Val e Export.

Esempio

I modelli preaddestrati in PyTorch *.pt così come i file di configurazione *.yaml possono essere passati alla classe YOLO() per creare un'istanza del 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#

  • 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 YOLOv3 di Ultralytics che aggiunge il supporto per un maggior numero di modelli preaddestrati e facilita una personalizzazione più semplice 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 oggetti di varie dimensioni. Per maggiori dettagli sulle varianti, fai riferimento alla serie YOLOv3.

  • 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 sulla modalità Train.

  • 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 varie dimensioni e forme in modo più preciso. Ciò rende YOLOv3u una scelta migliore per attività di rilevamento di oggetti complesse e diversificate. Per ulteriori informazioni, fai riferimento alla sezione Caratteristiche principali.

  • 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")

    Consulta la documentazione sulla modalità Inference per ulteriori dettagli sull'esecuzione dei modelli YOLO.

  • YOLOv3, YOLOv3-Tiny e YOLOv3-SPP supportano principalmente attività di rilevamento di oggetti. Questi modelli possono essere utilizzati per varie fasi dello sviluppo e del rilascio del modello, come Inference, Validation, Training ed Export. Per un set completo di attività supportate e dettagli più approfonditi, visita la nostra documentazione sulle attività di Object Detection.

  • 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 maggiori dettagli sulle citazioni, fai riferimento alla sezione Citazioni e riconoscimenti.

Commenti