Vai al contenuto

Roboflow

Roboflow ha tutto ciò che ti serve per costruire e distribuire modelli di computer vision. Collegati a Roboflow in qualsiasi fase della tua pipeline con le API e gli SDK, oppure utilizza l'interfaccia end-to-end per automatizzare l'intero processo, dall'immagine all'inferenza. Che tu abbia bisogno di etichettare i dati, di addestrare i modelli o di distribuirli, Roboflow ti offre gli elementi per creare soluzioni di computer vision personalizzate per il tuo progetto.

Licenze

Ultralytics offre due opzioni di licenza:

Per maggiori dettagli consulta Ultralytics Licensing.

In questa guida ti illustreremo come trovare, etichettare e organizzare i dati da utilizzare per l'addestramento di un modello personalizzato di Ultralytics YOLOv8 . Usa l'indice qui sotto per passare direttamente a una sezione specifica:

  • Raccogli i dati per l'addestramento di un modello personalizzato YOLOv8
  • Carica, converti ed etichetta i dati per il formato YOLOv8
  • Pre-elaborazione e aumento dei dati per la robustezza del modello
  • Gestione dei set di dati per YOLOv8
  • Esporta i dati in oltre 40 formati per la formazione dei modelli
  • Carica i pesi del modello personalizzato di YOLOv8 per testarlo e distribuirlo
  • Raccogli i dati per addestrare un modello personalizzato YOLOv8

Roboflow offre due servizi che possono aiutarti a raccogliere i dati per i modelli di YOLOv8 : Universe e Collect.

Universe è un archivio online con oltre 250.000 set di dati sulla visione per un totale di oltre 100 milioni di immagini.

Roboflow Universo

Con un account gratuito su Roboflow , puoi esportare qualsiasi set di dati disponibile su Universe. Per esportare un set di dati, clicca sul pulsante "Scarica questo set di dati" su qualsiasi set di dati.

Roboflow Esportazione del set di dati dell'universo

Per YOLOv8, seleziona "YOLOv8" come formato di esportazione:

Roboflow Esportazione del set di dati dell'universo

Universe dispone anche di una pagina che aggrega tutti i modelli pubblici di YOLOv8 caricati su Roboflow. Puoi utilizzare questa pagina per esplorare i modelli pre-addestrati da utilizzare per i test o per l 'etichettatura automatica dei dati o per creare prototipi con l'inferenza diRoboflow .

Se vuoi raccogliere le immagini da solo, prova Collect, un progetto open source che ti permette di raccogliere automaticamente le immagini utilizzando una webcam sul bordo. Con Collect puoi utilizzare messaggi di testo o di immagine per indicare quali dati devono essere raccolti, consentendoti di acquisire solo i dati utili per costruire il tuo modello di visione.

Carica, converti ed etichetta i dati per il formato YOLOv8

Roboflow Annotate è uno strumento di annotazione online da utilizzare per etichettare le immagini per il rilevamento, la classificazione e la segmentazione degli oggetti.

Per etichettare i dati per un modello di rilevamento di oggetti, di segmentazione di istanze o di classificazione di YOLOv8 , crea innanzitutto un progetto in Roboflow.

Crea un progetto Roboflow

Successivamente, carica le immagini e le annotazioni preesistenti da altri strumenti(utilizzando uno degli oltre 40 formati di importazione supportati) in Roboflow.

Carica le immagini su Roboflow

Seleziona il gruppo di immagini che hai caricato nella pagina di annotazione a cui vieni portato dopo aver caricato le immagini. Quindi, clicca su "Inizia ad annotare" per etichettare le immagini.

Per etichettare con i riquadri di delimitazione, premi il tasto B sulla tastiera o clicca sull'icona del riquadro nella barra laterale. Clicca su un punto in cui vuoi far partire il riquadro di delimitazione, quindi trascina per creare il riquadro:

Annotare un'immagine in Roboflow

Una volta creata un'annotazione, apparirà un pop-up che ti chiederà di selezionare una classe per la tua annotazione.

Per etichettare con i poligoni, premi il tasto P sulla tastiera o l'icona del poligono nella barra laterale. Con lo strumento di annotazione poligonale attivato, clicca su singoli punti dell'immagine per disegnare un poligono.

Roboflow offre un assistente di etichettatura basato su SAM con il quale è possibile etichettare le immagini in modo più rapido che mai. SAM (Segment Anything Model) è un modello di visione artificiale all'avanguardia in grado di etichettare con precisione le immagini. Con SAM puoi accelerare notevolmente il processo di etichettatura delle immagini. Annotare le immagini con i poligoni diventa semplice come pochi clic, invece del noioso processo di cliccare con precisione sui punti intorno a un oggetto.

Per utilizzare l'assistente alle etichette, clicca sull'icona del cursore nella barra laterale, SAM verrà caricato per essere utilizzato nel tuo progetto.

Annotazione di un'immagine in Roboflow con l'assistenza alle etichette di SAM

Passa il mouse su qualsiasi oggetto dell'immagine e SAM ti suggerirà un'annotazione. Puoi passare il mouse per trovare il punto giusto da annotare e poi cliccare per creare l'annotazione. Per modificare l'annotazione in modo più o meno specifico, puoi cliccare all'interno o all'esterno dell'annotazione che SAM ha creato sul documento.

Puoi anche aggiungere tag alle immagini dal pannello Tag nella barra laterale. Puoi applicare i tag a dati provenienti da una particolare area, ripresi da una specifica fotocamera e altro ancora. Puoi poi usare questi tag per cercare tra i dati le immagini che corrispondono a un tag e generare versioni di un set di dati con immagini che contengono un particolare tag o un insieme di tag.

Aggiungere tag a un'immagine in Roboflow

I modelli ospitati su Roboflow possono essere utilizzati con Label Assist, uno strumento di annotazione automatica che utilizza il tuo modello YOLOv8 per consigliare le annotazioni. Per utilizzare Label Assist, per prima cosa carica un modello YOLOv8 su Roboflow (vedi le istruzioni più avanti nella guida). Poi, clicca sull'icona della bacchetta magica nella barra laterale sinistra e seleziona il tuo modello per utilizzarlo in Label Assist.

Scegli un modello, poi clicca su "Continua" per attivare l'assistenza alle etichette:

Abilitazione dell'assistenza alle etichette

Quando apri nuove immagini da annotare, Label Assist attiva e consiglia le annotazioni.

ALabel Assist che raccomanda un'annotazione

Gestione dei set di dati per YOLOv8

Roboflow fornisce una suite di strumenti per la comprensione dei dataset di computer vision.

In primo luogo, puoi utilizzare la ricerca per dataset per trovare immagini che rispondono a una descrizione semantica (ad esempio, trovare tutte le immagini che contengono persone) o che rispondono a un'etichetta specifica (ad esempio, l'immagine è associata a un tag specifico). Per utilizzare la ricerca per dataset, clicca su "Dataset" nella barra laterale. Quindi, inserisci una query di ricerca utilizzando la barra di ricerca e i filtri associati nella parte superiore della pagina.

Ad esempio, la seguente query di testo trova le immagini che contengono persone in un set di dati:

Ricerca di un'immagine

Puoi restringere la ricerca alle immagini con un particolare tag utilizzando il selettore "Tag":

Filtra le immagini per tag

Prima di iniziare l'addestramento di un modello con il tuo set di dati, ti consigliamo di utilizzare Roboflow Health Check, uno strumento web che fornisce una panoramica sul tuo set di dati e su come puoi migliorarlo prima di addestrare un modello di visione.

Per utilizzare l'Health Check, clicca sul link "Health Check" nella barra laterale. Apparirà un elenco di statistiche che mostrano la dimensione media delle immagini nel tuo set di dati, l'equilibrio delle classi, una mappa di calore della posizione delle annotazioni nelle immagini e altro ancora.

Roboflow Analisi dello stato di salute

Health Check può consigliare delle modifiche per migliorare le prestazioni del dataset. Ad esempio, la funzione di bilanciamento delle classi può mostrare che c'è uno squilibrio nelle etichette che, se risolto, può aumentare le prestazioni del modello.

Esportazione dei dati in oltre 40 formati per la formazione dei modelli

Per esportare i tuoi dati, hai bisogno di una versione del dataset. Una versione è uno stato del tuo set di dati congelato nel tempo. Per creare una versione, clicca prima su "Versioni" nella barra laterale. Poi, clicca sul pulsante "Crea nuova versione". In questa pagina potrai scegliere gli incrementi e le fasi di pre-elaborazione da applicare al tuo set di dati:

Creare una versione del dataset su Roboflow

Per ogni incremento selezionato, apparirà un pop-up che ti permetterà di sintonizzare l'incremento in base alle tue esigenze. Ecco un esempio di messa a punto di un aumento di luminosità entro i parametri specificati:

Applicazione di ampliamenti a un set di dati

Quando la versione del tuo set di dati è stata generata, puoi esportare i tuoi dati in diversi formati. Clicca sul pulsante "Esporta dataset" nella pagina della versione del tuo dataset per esportare i tuoi dati:

Esportare un set di dati

Ora sei pronto ad addestrare YOLOv8 su un set di dati personalizzato. Segui questa guida scritta e il video di YouTube per le istruzioni passo-passo oppure consulta la documentazione di Ultralytics .

Carica i pesi del modello personalizzato YOLOv8 per il test e la distribuzione

Roboflow offre un'API infinitamente scalabile per i modelli distribuiti e SDK da utilizzare con NVIDIA Jetsons, Luxonis OAKs, Raspberry Pis, dispositivi basati su GPU e altro ancora.

Puoi distribuire i modelli di YOLOv8 caricando i pesi di YOLOv8 su Roboflow. Puoi farlo con poche righe di codice Python . Crea un nuovo file Python e aggiungi il seguente codice:

import roboflow  # install with 'pip install roboflow'

roboflow.login()

rf = roboflow.Roboflow()

project = rf.workspace(WORKSPACE_ID).project("football-players-detection-3zvbc")
dataset = project.version(VERSION).download("yolov8")

project.version(dataset.version).deploy(model_type="yolov8", model_path=f"{HOME}/runs/detect/train/")

In questo codice, sostituisci l'ID del progetto e l'ID della versione con i valori del tuo account e del tuo progetto. Scopri come recuperare la tua chiave API Roboflow .

Quando esegui il codice qui sopra, ti verrà chiesto di autenticarti. Quindi, il tuo modello verrà caricato e verrà creata un'API per il tuo progetto. Questo processo può richiedere fino a 30 minuti per essere completato.

Per testare il tuo modello e trovare le istruzioni di distribuzione per gli SDK supportati, vai alla scheda "Deploy" nella barra laterale Roboflow . Nella parte superiore di questa pagina, apparirà un widget con il quale potrai testare il tuo modello. Puoi utilizzare la tua webcam per effettuare i test dal vivo o caricare immagini o video.

Eseguire l'inferenza su un'immagine di esempio

Puoi anche utilizzare il tuo modello caricato come assistente di etichettatura. Questa funzione utilizza il tuo modello addestrato per suggerire annotazioni sulle immagini caricate su Roboflow.

Come valutare i modelli di YOLOv8

Roboflow fornisce una serie di funzioni da utilizzare per la valutazione dei modelli.

Una volta caricato un modello su Roboflow, puoi accedere al nostro strumento di valutazione del modello, che fornisce una matrice di confusione che mostra le prestazioni del tuo modello e un grafico interattivo di analisi vettoriale. Queste funzioni possono aiutarti a trovare opportunità per migliorare il tuo modello.

Per accedere alla matrice di confusione, vai alla pagina del tuo modello sulla dashboard di Roboflow , quindi clicca su "Visualizza valutazione dettagliata":

Avvia la valutazione del modello Roboflow

Apparirà un pop-up che mostra una matrice di confusione:

Una matrice di confusione

Passa il mouse su una casella della matrice di confusione per vedere il valore associato alla casella. Clicca su una casella per vedere le immagini della rispettiva categoria. Clicca su un'immagine per visualizzare le previsioni del modello e i dati di verità associati a quell'immagine.

Per maggiori informazioni, clicca su Analisi vettoriale. Verrà mostrato un grafico a dispersione delle immagini del tuo set di dati, calcolato utilizzando CLIP. Più le immagini sono vicine nel grafico, più sono simili dal punto di vista semantico. Ogni immagine è rappresentata da un punto di colore compreso tra il bianco e il rosso. Più il punto è rosso, peggiore è la performance del modello.

Un grafico di analisi vettoriale

Puoi utilizzare l'Analisi Vettoriale per:

  • Trova i cluster di immagini;
  • Identificare i cluster in cui il modello non funziona bene e..;
  • Visualizzare i punti in comune tra le immagini su cui il modello non funziona bene.

Risorse didattiche

Vuoi saperne di più sull'uso di Roboflow per creare modelli di YOLOv8 ? Le seguenti risorse possono essere utili per il tuo lavoro.

  • Addestrare YOLOv8 su un dataset personalizzato: Segui il nostro quaderno interattivo che ti mostra come addestrare un modello YOLOv8 su un set di dati personalizzato.
  • Autodistill: utilizza modelli di visione di grandi dimensioni per etichettare i dati per modelli specifici. Con Autodistill puoi etichettare le immagini da utilizzare per addestrare i modelli di classificazione, rilevamento e segmentazione di YOLOv8 .
  • Supervisione: Un pacchetto di Python con utili utilità per lavorare con i modelli di computer vision. Puoi usare la supervisione per filtrare i rilevamenti, calcolare le matrici di confusione e molto altro ancora, il tutto in poche righe di codice Python .
  • Roboflow Blog: Il blog di Roboflow contiene oltre 500 articoli sulla computer vision, che trattano argomenti come l'addestramento di un modello YOLOv8 e le migliori pratiche di annotazione.
  • Roboflow Canale YouTube: Sfoglia decine di guide approfondite sulla computer vision sul nostro canale YouTube, che trattano argomenti come l'addestramento di modelli YOLOv8 e l'etichettatura automatica delle immagini.

Vetrina del progetto

Di seguito sono riportati alcuni dei numerosi feedback che abbiamo ricevuto sull'utilizzo di YOLOv8 e Roboflow per creare modelli di visione artificiale.

Immagine in vetrina Immagine in vetrina Immagine in vetrina



Creato 2023-11-12, Aggiornato 2024-01-21
Autori: glenn-jocher (8), capjamesg (1)

Commenti