Panoramica dei set di dati per il rilevamento degli oggetti
L'addestramento di un modello di rilevamento degli oggetti robusto e preciso richiede un set di dati completo. Questa guida presenta i vari formati di set di dati compatibili con il modello Ultralytics YOLO e fornisce informazioni sulla loro struttura, sul loro utilizzo e su come convertire i diversi formati.
Formati di dati supportati
Ultralytics YOLO formato
Il formato Ultralytics YOLO è un formato di configurazione del dataset che ti permette di definire la directory principale del dataset, i percorsi relativi alle directory delle immagini di formazione/validazione/test oppure *.txt
file 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 in formato YOLO con un solo *.txt
file per immagine. Se non ci sono oggetti in un'immagine, non c'è alcun file *.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 tue caselle sono in pixel, devi 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 utilizzi il formato Ultralytics YOLO , organizza le immagini di formazione e di convalida e le etichette come mostrato nell'esempio del set di dati COCO8.
Utilizzo
Ecco come puoi utilizzare questi formati per addestrare il tuo modello:
Esempio
Set di dati supportati
Ecco un elenco dei set di dati supportati e una breve descrizione di ciascuno:
- Argoverse: Un set di dati che contiene dati di tracciamento 3D e di previsione del movimento da ambienti urbani, con numerose annotazioni.
- 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 degli 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: A smaller subset of the first 128 images from COCO train and COCO val, suitable for tests.
- Grano globale 2020: Un set di dati contenente immagini di teste di grano per la Global Wheat Challenge 2020.
- Objects365: Un dataset di alta qualità e su larga scala per il rilevamento di oggetti con 365 categorie di oggetti e oltre 600K 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 che contiene 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 11K 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 di rilevamento di oggetti diversi con 100 set di dati che abbracciano 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 delle ricerche sulla verifica dei documenti e sull'individuazione delle frodi.
Aggiungi il tuo set di dati
Se hai un tuo set di dati e vuoi utilizzarlo per addestrare i modelli di rilevamento con il formato Ultralytics YOLO , assicurati che segua il formato specificato sopra in "FormatoUltralytics YOLO ". Converti le tue annotazioni nel formato richiesto e specifica i percorsi, il numero di classi e i nomi delle classi nel file di configurazione YAML.
Porta o converti i formati delle etichette
Formato del set di dati COCO in formato YOLO
Puoi convertire facilmente le etichette dal popolare formato 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 altro set di dati in formato COCO nel formato Ultralytics YOLO .
Ricordati di controllare due volte che il set di dati che vuoi utilizzare sia compatibile con il tuo modello e che segua le convenzioni di formato necessarie. I dataset correttamente formattati sono fondamentali per addestrare modelli di rilevamento di oggetti di successo.
DOMANDE FREQUENTI
Qual è il formato del dataset di Ultralytics YOLO e come strutturarlo?
Il formato Ultralytics YOLO è una configurazione strutturata per definire i set di dati nei tuoi progetti di formazione. Si tratta di impostare i percorsi delle immagini di formazione, convalida e test e le 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
file con un file per immagine, formattato come class x_center y_center width height
con coordinate normalizzate. Per una guida dettagliata, consulta la sezione Esempio di set di dati COCO8.
Come posso convertire un set di dati COCO nel formato YOLO ?
Puoi convertire un set di dati COCO nel formato YOLO utilizzando gli strumenti di conversione di Ultralytics . Ecco un metodo rapido:
from ultralytics.data.converter import convert_coco
convert_coco(labels_dir="path/to/coco/annotations/")
Questo codice convertirà le tue annotazioni COCO nel formato YOLO , consentendo una perfetta integrazione con i modelli Ultralytics YOLO . Per ulteriori dettagli, visita la sezione Porta o Converti i formati delle etichette.
Quali sono i set di dati supportati da Ultralytics YOLO per il rilevamento degli oggetti?
Ultralytics YOLO supporta un'ampia gamma di set di dati, tra cui:
La pagina di ogni set di dati fornisce informazioni dettagliate sulla struttura e sull'utilizzo per una formazione efficiente su YOLOv8 . Esplora l'elenco completo nella sezione Set di dati supportati.
Come posso iniziare ad addestrare un modello YOLOv8 utilizzando il mio set di dati?
Per iniziare l'addestramento di un modello YOLOv8 , assicurati che il tuo dataset sia formattato correttamente e che i percorsi siano definiti in un file YAML. Usa il seguente script per iniziare l'addestramento:
Esempio
Consulta la sezione Utilizzo per maggiori dettagli sull'utilizzo delle diverse modalità, inclusi i comandi di CLI .
Dove posso trovare esempi pratici di utilizzo di Ultralytics YOLO per il rilevamento di oggetti?
Ultralytics fornisce numerosi esempi e guide pratiche per l'utilizzo di YOLOv8 in diverse applicazioni. Per una panoramica completa, visita il Blog di Ultralytics dove puoi trovare casi di studio, tutorial dettagliati e storie della comunità che mostrano il rilevamento di oggetti, la segmentazione e molto altro con YOLOv8. Per esempi specifici, consulta la sezione Uso della documentazione.