Vai al contenuto

Integrazione Roboflow

Roboflow fornisce una suite di strumenti progettati per la creazione e la distribuzione di modelli di computer vision. Puoi integrare Roboflow in varie fasi della tua pipeline di sviluppo utilizzando le loro API e SDK, oppure utilizzare la sua interfaccia end-to-end per gestire il processo dalla raccolta delle immagini all'inferenza. Roboflow offre funzionalità per l'etichettatura dei dati, l'addestramento dei modelli e la distribuzione dei modelli, fornendo componenti per lo sviluppo di soluzioni di computer vision personalizzate insieme agli strumenti Ultralytics.

Licenze

Ultralytics offre due opzioni di licenza per soddisfare diversi casi d'uso:

  • Licenza AGPL-3.0: Questa licenza open source approvata da OSI è ideale per studenti e appassionati, promuovendo la collaborazione aperta e la condivisione della conoscenza. Consultare il file LICENSE per maggiori dettagli.
  • Licenza Enterprise: Progettata per uso commerciale, questa licenza consente la perfetta integrazione del software Ultralytics e dei modelli di intelligenza artificiale in prodotti e servizi commerciali. Se il tuo scenario prevede applicazioni commerciali, ti preghiamo di contattarci tramite Licenze Ultralytics.

Per maggiori dettagli, consultare la pagina delle licenze Ultralytics.

Questa guida dimostra come trovare, etichettare e organizzare i dati per l'addestramento di un modello Ultralytics YOLO11 personalizzato utilizzando Roboflow.

Raccogli dati per l'addestramento di un modello YOLO11 personalizzato.

Roboflow offre due servizi principali per assistere nella raccolta di dati per i modelli YOLO di Ultralytics: Universe e Collect. Per informazioni più generali sulle strategie di raccolta dati, consulta la nostra Guida alla raccolta e all'annotazione dei dati.

Roboflow Universe

Roboflow Universe è un repository online che presenta un gran numero di dataset di visione.

Roboflow Universe

Con un account Roboflow, puoi esportare i dataset disponibili su Universe. Per esportare un dataset, usa il pulsante "Download this Dataset" sulla pagina del dataset rilevante.

Esportazione del dataset Roboflow Universe

Per garantire la compatibilità con Ultralytics YOLO11, seleziona "YOLO11" come formato di esportazione:

Selezione del formato di esportazione del dataset Roboflow Universe

Universe offre anche una pagina che aggrega i modelli YOLO pubblici ottimizzati caricati su Roboflow. Questo può essere utile per esplorare modelli pre-addestrati per test o etichettatura automatica dei dati.

Roboflow Collect

Se preferisci raccogliere tu stesso le immagini, Roboflow Collect è un progetto open source che consente la raccolta automatica di immagini tramite una webcam su dispositivi edge. Puoi utilizzare prompt di testo o immagini per specificare i dati da raccogliere, aiutando a catturare solo le immagini necessarie per il tuo modello di visione.

Carica, converti ed etichetta i dati per il formato YOLO11

Roboflow Annotate è uno strumento online per l'etichettatura di immagini per varie attività di computer vision, tra cui object detection, classificazione e segmentazione.

Per etichettare i dati per un modello Ultralytics YOLO (che supporta il rilevamento, la segmentazione delle istanze, la classificazione, la stima della posa e l'OBB), inizia creando un progetto in Roboflow.

Crea un progetto Roboflow

Successivamente, carica le tue immagini e le eventuali annotazioni esistenti da altri strumenti in Roboflow.

Carica immagini su Roboflow

Dopo il caricamento, verrai indirizzato alla pagina Annotate. Seleziona il batch di immagini caricate e clicca su "Inizia ad annotare" per iniziare l'etichettatura.

Strumenti di annotazione

  • Annotazione Bounding Box: Premi B oppure clicca sull'icona della casella. Clicca e trascina per creare il riquadro di delimitazione. Un pop-up ti chiederà di selezionare una classe per l'annotazione.

Annotare un'immagine in Roboflow con bounding box

  • Annotazione Poligonale: Utilizzato per segmentazione delle istanze. Premi P oppure clicca sull'icona del poligono. Clicca sui punti attorno all'oggetto per disegnare il poligono.

Assistente all'etichettatura (Integrazione SAM)

Roboflow integra un assistente di etichettatura basato su Segment Anything Model (SAM) per velocizzare potenzialmente l'annotazione.

Per utilizzare l'assistente etichettatura, fai clic sull'icona del cursore nella barra laterale. SAM verrà abilitato per il tuo progetto.

Annotare un'immagine in Roboflow con l'assistenza di etichettatura basata su SAM

Passa con il mouse sopra un oggetto e SAM potrebbe suggerire un'annotazione. Clicca per accettare l'annotazione. Puoi affinare la specificità dell'annotazione cliccando all'interno o all'esterno dell'area suggerita.

Etichettatura

È possibile aggiungere tag alle immagini utilizzando il pannello Tags nella barra laterale. I tag possono rappresentare attributi come la posizione, la sorgente della fotocamera, ecc. Questi tag consentono di cercare immagini specifiche e generare versioni del set di dati contenenti immagini con tag particolari.

Aggiunta di tag a un'immagine in Roboflow

Assistenza all'etichettatura (basata su modello)

I modelli ospitati su Roboflow possono essere utilizzati con Label Assist, uno strumento di annotazione automatizzata che sfrutta il tuo modello YOLO11 addestrato per suggerire annotazioni. Innanzitutto, carica i pesi del tuo modello YOLO11 su Roboflow (vedi le istruzioni di seguito). Quindi, attiva Label Assist facendo clic sull'icona della bacchetta magica nella barra laterale sinistra e selezionando il tuo modello.

Scegli il tuo modello e clicca su "Continua" per abilitare Label Assist:

Abilitazione di Label Assist in Roboflow

Quando apri nuove immagini per l'annotazione, Label Assist può suggerire automaticamente annotazioni basate sulle previsioni del tuo modello.

Assistenza all'etichettatura che raccomanda un'annotazione basata su un modello addestrato

Gestione dei Dataset per YOLO11

Roboflow fornisce diversi strumenti per comprendere e gestire i tuoi dataset di computer vision.

Utilizza la ricerca nel dataset per trovare immagini basate su descrizioni di testo semantiche (ad esempio, "trova tutte le immagini contenenti persone") o etichette/tag specifici. Accedi a questa funzionalità cliccando su "Dataset" nella barra laterale e utilizzando la barra di ricerca e i filtri.

Ad esempio, per cercare immagini contenenti persone:

Ricerca di un'immagine in un dataset Roboflow

Puoi affinare le ricerche utilizzando i tag tramite il selettore "Tags":

Filtraggio delle immagini per tag in Roboflow

Controllo dello stato

Prima dell'addestramento, utilizza Roboflow Health Check per ottenere informazioni sul tuo set di dati e identificare potenziali miglioramenti. Accedervi tramite il link della barra laterale "Health Check". Fornisce statistiche sulle dimensioni delle immagini, sull'equilibrio delle classi, sulle mappe di calore delle annotazioni e altro ancora.

Dashboard di analisi Roboflow Health Check

Il controllo dello stato potrebbe suggerire modifiche per migliorare le prestazioni, come ad esempio la correzione degli squilibri di classe identificati nella funzionalità di bilanciamento delle classi. Comprendere lo stato del dataset è fondamentale per un efficace addestramento del modello.

Pre-elabora e aumenta i dati per la robustezza del modello

Per esportare i tuoi dati, devi creare una versione del dataset, che è un'istantanea del tuo dataset in un momento specifico. Clicca su "Versioni" nella barra laterale, poi su "Crea nuova versione". Qui, puoi applicare passaggi di preelaborazione e aumentazioni dei dati per migliorare potenzialmente la robustezza del modello.

Creazione di una versione del dataset su Roboflow con opzioni di preelaborazione e aumento

Per ogni aumento selezionato, un pop-up consente di mettere a punto i suoi parametri come la luminosità. Un aumento corretto può migliorare significativamente la generalizzazione del modello, un concetto chiave discusso nella nostra guida ai suggerimenti per l'addestramento del modello.

Esporta i dati in oltre 40 formati per l'addestramento del modello

Una volta generata la versione del dataset, è possibile esportarla in vari formati adatti al training del modello. Fare clic sul pulsante "Esporta dataset" nella pagina della versione.

Esportazione di un dataset da Roboflow

Seleziona il formato "YOLO11" per la compatibilità con le pipeline di addestramento Ultralytics. Ora sei pronto per addestrare il tuo modello YOLO11 personalizzato. Consulta la documentazione sulla modalità di addestramento di Ultralytics per istruzioni dettagliate sull'avvio dell'addestramento con il tuo dataset esportato.

Carica pesi del modello YOLO11 personalizzati per test e distribuzione

Roboflow offre un'API scalabile per modelli distribuiti e SDK compatibili con dispositivi come NVIDIA Jetson, Luxonis OAK, Raspberry Pi e sistemi basati su GPU. Esplora le varie opzioni di distribuzione dei modelli nelle nostre guide.

È possibile distribuire i modelli YOLO11 caricando i loro pesi su Roboflow utilizzando un semplice script Python.

Crea un nuovo file python e aggiungi il seguente codice:

import roboflow  # install with 'pip install roboflow'

# Log in to Roboflow (requires API key)
roboflow.login()

# Initialize Roboflow client
rf = roboflow.Roboflow()

# Define your workspace and project details
WORKSPACE_ID = "your-workspace-id"  # Replace with your actual Workspace ID
PROJECT_ID = "your-project-id"  # Replace with your actual Project ID
VERSION = 1  # Replace with your desired dataset version number
MODEL_PATH = "path/to/your/runs/detect/train/"  # Replace with the path to your YOLO11 training results directory

# Get project and version
project = rf.workspace(WORKSPACE_ID).project(PROJECT_ID)
dataset = project.version(VERSION)

# Upload model weights for deployment
# Ensure model_path points to the directory containing 'best.pt'
project.version(dataset.version).deploy(
    model_type="yolov8", model_path=MODEL_PATH
)  # Note: Use "yolov8" as model_type for YOLO11 compatibility in Roboflow deployment

print(f"Model from {MODEL_PATH} uploaded to Roboflow project {PROJECT_ID}, version {VERSION}.")
print("Deployment may take up to 30 minutes.")

In questo codice, sostituisci your-workspace-id, your-project-id, la funzione VERSION numero, e il MODEL_PATH con i valori specifici del tuo account Roboflow, del progetto e della directory locale dei risultati di training. Assicurati che il MODEL_PATH punta correttamente alla directory contenente il tuo modello addestrato best.pt file dei pesi.

Quando esegui il codice sopra, ti verrà chiesto di autenticarti (di solito tramite una chiave API). Quindi, il tuo modello verrà caricato e verrà creato un endpoint 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 implementazione per gli SDK supportati, vai alla scheda "Deploy" nella barra laterale di Roboflow. Nella parte superiore di questa pagina, apparirà un widget che ti permetterà di testare il tuo modello utilizzando la tua webcam o caricando immagini o video.

Esecuzione dell'inferenza su un'immagine di esempio utilizzando il widget di distribuzione di Roboflow

Il tuo modello caricato può anche essere utilizzato come assistente all'etichettatura, suggerendo annotazioni su nuove immagini in base al suo addestramento.

Come valutare i modelli YOLO11

Roboflow fornisce funzionalità per la valutazione delle prestazioni del modello. Comprendere le metriche di performance è fondamentale per l'iterazione del modello.

Dopo aver caricato un modello, accedi allo strumento di valutazione del modello tramite la pagina del modello sulla dashboard di Roboflow. Clicca su "Visualizza valutazione dettagliata".

Avvio di una valutazione del modello Roboflow

Questo strumento visualizza una matrice di confusione che illustra le prestazioni del modello e un grafico interattivo di analisi vettoriale utilizzando gli incorporamenti CLIP. Queste funzionalità aiutano a identificare le aree di miglioramento del modello.

La finestra pop-up della matrice di confusione:

Una matrice di confusione visualizzata in Roboflow

Passa con il mouse sopra le celle per visualizzare i valori e clicca sulle celle per visualizzare le immagini corrispondenti con le previsioni del modello e i dati di riferimento.

Fai clic su "Analisi vettoriale" per un grafico a dispersione che visualizza la somiglianza delle immagini in base agli embedding CLIP. Le immagini più vicine sono semanticamente simili. I punti rappresentano le immagini, colorate dal bianco (buone prestazioni) al rosso (scarse prestazioni).

Un grafico di analisi vettoriale in Roboflow che utilizza gli embedding CLIP

L'analisi vettoriale aiuta a:

  • Identifica i cluster di immagini.
  • Individua i cluster in cui il modello ha prestazioni insufficienti.
  • Comprendere le somiglianze tra le immagini che causano prestazioni scadenti.

Risorse per l'apprendimento

Esplora queste risorse per saperne di più sull'utilizzo di Roboflow con Ultralytics YOLO11:

Vetrina dei progetti

Feedback degli utenti che combinano Ultralytics YOLO11 e Roboflow:

Immagine dimostrativa 1 Immagine dimostrativa 2 Immagine dimostrativa 3

FAQ

Domande frequenti

Come posso etichettare i dati per i modelli YOLO11 utilizzando Roboflow?

Utilizza Roboflow Annotate. Crea un progetto, carica le immagini e utilizza gli strumenti di annotazione (B per bounding box, P per poligoni) o l'assistente di etichettatura basato su SAM per un'etichettatura più rapida. I passaggi dettagliati sono disponibili nella Sezione Carica, converti ed etichetta i dati.

Quali servizi offre Roboflow per la raccolta di dati di training YOLO11?

Roboflow fornisce Universe (accesso a numerosi dataset) e Collect (raccolta automatizzata di immagini tramite webcam). Questi possono aiutare ad acquisire i dati di addestramento necessari per il tuo modello YOLO11, integrando le strategie delineate nella nostra Guida alla raccolta dati.

Come posso gestire e analizzare il mio set di dati YOLO11 utilizzando Roboflow?

Utilizza le funzionalità di ricerca, tagging e Health Check del set di dati di Roboflow. La ricerca trova immagini per testo o tag, mentre Health Check analizza la qualità del set di dati (bilanciamento delle classi, dimensioni delle immagini, ecc.) per guidare i miglioramenti prima dell'addestramento. Consulta la sezione Gestione del set di dati per i dettagli.

Come posso esportare il mio set di dati YOLO11 da Roboflow?

Crea una versione del dataset in Roboflow, applica le operazioni di preelaborazione e gli aumenti desiderati, quindi fai clic su "Export Dataset" e seleziona il formato YOLO11. Il processo è descritto nella sezione Esportazione dati. Questo prepara i tuoi dati per l'uso con le pipeline di training di Ultralytics.

Come posso integrare e distribuire modelli YOLO11 con Roboflow?

Carica i tuoi pesi YOLO11 addestrati su Roboflow usando lo script Python fornito. Questo crea un endpoint API distribuibile. Fai riferimento alla sezione Carica pesi personalizzati per lo script e le istruzioni. Esplora ulteriori opzioni di distribuzione nella nostra documentazione.



📅 Creato 1 anno fa ✏️ Aggiornato 5 mesi fa

Commenti