Panoramica dei set di dati per il rilevamento degli oggetti
L'addestramento di un modello di rilevamento degli oggetti robusto e accurato richiede un set di dati completo. Questa guida introduce i vari formati di set di dati compatibili con il modello Ultralytics YOLO e fornisce informazioni sulla loro struttura, sull'uso e su come convertire i diversi formati.
Formati di set di dati supportati
Ultralytics YOLO formato
Il formato Ultralytics YOLO è un formato di configurazione del set di dati che permette di definire la directory principale del set di dati, i percorsi relativi alle directory delle immagini di addestramento/validazione/test o *.txt
contenenti i percorsi delle immagini e un dizionario di nomi di classi. Ecco un esempio:
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../datasets/coco8 # dataset root dir
train: images/train # train images (relative to 'path') 4 images
val: images/val # val images (relative to 'path') 4 images
test: # test images (optional)
# Classes (80 COCO classes)
names:
0: person
1: bicycle
2: car
# ...
77: teddy bear
78: hair drier
79: toothbrush
Le etichette per questo formato devono essere esportate nel formato YOLO con una *.txt
file per immagine. Se non ci sono oggetti in un'immagine, non ci sono file di *.txt
è necessario. Il *.txt
Il file deve essere formattato con una riga per ogni oggetto in class x_center y_center width height
formato. Le coordinate della casella devono essere in xywh normalizzato (da 0 a 1). Se le caselle sono in pixel, è necessario dividere x_center
e width
per larghezza dell'immagine e y_center
e height
per altezza dell'immagine. I numeri delle classi devono essere indicizzati a zero (iniziano con 0).
Il file di etichetta corrispondente all'immagine precedente contiene 2 persone (classe 0
) e un pareggio (classe 27
):
Quando si utilizza il formato Ultralytics YOLO , organizzare le immagini di addestramento e di convalida e le etichette come mostrato nell'esempio del set di dati COCO8.
Utilizzo
Ecco come utilizzare questi formati per addestrare il modello:
Esempio
Set di dati supportati
Ecco un elenco dei set di dati supportati e una breve descrizione per ciascuno di essi:
- Argoverse: Un set di dati che contiene dati di tracciamento 3D e di previsione del movimento da ambienti urbani, con annotazioni ricche.
- COCO: Common Objects in Context (COCO) è un set di dati su larga scala per il rilevamento, la segmentazione e la didascalia di oggetti con 80 categorie di oggetti.
- LVIS: un set di dati su larga scala per il rilevamento, la segmentazione e la didascalia di oggetti con 1203 categorie di oggetti.
- COCO8: un sottoinsieme più piccolo delle prime 4 immagini di COCO train e COCO val, adatto a test rapidi.
- COCO128: un sottoinsieme più piccolo delle prime 128 immagini di COCO train e COCO val, adatto per i test.
- Grano globale 2020: Un set di dati contenente immagini di teste di grano per la Global Wheat Challenge 2020.
- Oggetti365: Un set di dati di alta qualità e su larga scala per il rilevamento di oggetti, con 365 categorie di oggetti e oltre 600.000 immagini annotate.
- OpenImagesV7: un set di dati completo di Google con 1,7 milioni di immagini di addestramento e 42.000 immagini di convalida.
- SKU-110K: Un set di dati per il rilevamento di oggetti densi in ambienti di vendita al dettaglio con oltre 11.000 immagini e 1,7 milioni di caselle di delimitazione.
- VisDrone: Un set di dati contenente dati sul rilevamento di oggetti e sul tracciamento di più oggetti da immagini catturate da droni con oltre 10.000 immagini e sequenze video.
- VOC: il dataset Pascal Visual Object Classes (VOC) per il rilevamento e la segmentazione degli oggetti con 20 classi di oggetti e oltre 11.000 immagini.
- xView: Un set di dati per il rilevamento di oggetti in immagini dall'alto con 60 categorie di oggetti e oltre 1 milione di oggetti annotati.
- Roboflow 100: un benchmark per il rilevamento di oggetti diversi con 100 set di dati che coprono sette domini di immagini per una valutazione completa dei modelli.
- Tumore al cervello: Un set di dati per il rilevamento dei tumori cerebrali comprende immagini di risonanza magnetica o TAC con dettagli sulla presenza, la posizione e le caratteristiche del tumore.
- African-wildlife: Un set di dati con immagini di animali selvatici africani, tra cui bufali, elefanti, rinoceronti e zebre.
- Firma: Un set di dati che contiene immagini di vari documenti con firme annotate, a supporto della verifica dei documenti e della ricerca sulle frodi.
Aggiungere il proprio set di dati
Se si dispone di un proprio set di dati e si desidera utilizzarlo per l'addestramento dei modelli di rilevamento con il formato Ultralytics YOLO , assicurarsi che segua il formato specificato sopra in "FormatoUltralytics YOLO ". Convertire le annotazioni nel formato richiesto e specificare i percorsi, il numero di classi e i nomi delle classi nel file di configurazione YAML.
Trasferire o convertire i formati delle etichette
Formato del set di dati COCO in formato YOLO
È possibile convertire facilmente le etichette dal popolare formato di set di dati COCO al formato YOLO utilizzando il seguente frammento di codice:
Esempio
Questo strumento di conversione può essere utilizzato per convertire il set di dati COCO o qualsiasi set di dati in formato COCO nel formato Ultralytics YOLO .
Ricordarsi di verificare se il set di dati che si desidera utilizzare è compatibile con il modello e segue le convenzioni di formato necessarie. I set di dati correttamente formattati sono fondamentali per addestrare modelli di rilevamento di oggetti di successo.
FAQ
Qual è il formato del dataset Ultralytics YOLO e come strutturarlo?
Il formato Ultralytics YOLO è una configurazione strutturata per definire i set di dati nei progetti di formazione. Comporta l'impostazione dei percorsi delle immagini di addestramento, validazione e test e delle etichette corrispondenti. Ad esempio:
path: ../datasets/coco8 # dataset root directory
train: images/train # training images (relative to 'path')
val: images/val # validation images (relative to 'path')
test: # optional test images
names:
0: person
1: bicycle
2: car
# ...
Le etichette vengono salvate in *.txt
con un file per immagine, formattato come class x_center y_center width height
con coordinate normalizzate. Per una guida dettagliata, consultare la sezione Esempio di set di dati COCO8.
Come si fa a convertire un dataset COCO nel formato YOLO ?
È possibile convertire un set di dati COCO nel formato YOLO utilizzando gli strumenti di conversione Ultralytics . Ecco un metodo rapido:
from ultralytics.data.converter import convert_coco
convert_coco(labels_dir="path/to/coco/annotations/")
Questo codice converte le annotazioni COCO in formato YOLO , consentendo una perfetta integrazione con i modelli Ultralytics YOLO . Per ulteriori dettagli, visitate la sezione Porta o Converti i formati delle etichette.
Quali set di dati sono supportati da Ultralytics YOLO per il rilevamento degli oggetti?
Ultralytics YOLO supporta un'ampia gamma di set di dati, tra cui:
La pagina di ciascun set di dati fornisce informazioni dettagliate sulla struttura e sull'utilizzo, studiate su misura per un addestramento efficiente di YOLO11 . Esplorate l'elenco completo nella sezione Set di dati supportati.
Come posso iniziare ad addestrare un modello YOLO11 utilizzando il mio set di dati?
Per iniziare l'addestramento di un modello YOLO11 , assicurarsi che il dataset sia formattato correttamente e che i percorsi siano definiti in un file YAML. Utilizzare il seguente script per iniziare l'addestramento:
Esempio
Per ulteriori dettagli sull'utilizzo delle diverse modalità, compresi i comandi di CLI , consultare la sezione Uso.
Dove posso trovare esempi pratici di utilizzo di Ultralytics YOLO per il rilevamento degli oggetti?
Ultralytics fornisce numerosi esempi e guide pratiche per l'utilizzo di YOLO11 in diverse applicazioni. Per una panoramica completa, visitate il blogUltralytics dove potete trovare casi di studio, esercitazioni dettagliate e storie della comunità che mostrano il rilevamento di oggetti, la segmentazione e altro ancora con YOLO11. Per esempi specifici, consultare la sezione Uso della documentazione.