Vai al contenuto

Integrazione di Roboflow

Roboflow fornisce una suite di strumenti progettati per costruire e distribuire modelli di computer vision. È possibile integrare Roboflow in varie fasi della pipeline di sviluppo utilizzando le sue 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 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 adattarsi a diversi casi d'uso:

  • LicenzaAGPL-3.0 : Questa licenza open-source approvata dall'OSI è ideale per studenti e appassionati, in quanto promuove la collaborazione aperta e la condivisione delle conoscenze. Per maggiori dettagli, consultare il file LICENZA.
  • Licenza Enterprise: Progettata per uso commerciale, questa licenza consente di integrare perfettamente il software e i modelli di intelligenza artificiale Ultralytics in prodotti e servizi commerciali. Se il vostro scenario prevede applicazioni commerciali, contattate Ultralytics Licensing.

Per maggiori dettagli, consultare la pagina delle licenze diUltralytics .

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

Raccogliere i dati per l'addestramento di un modello personalizzato YOLO11

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

Roboflow Universo

Roboflow Universe è un archivio online che contiene un gran numero di set di dati sulla visione.

Roboflow Universo

Con un account Roboflow , è possibile esportare i set di dati disponibili su Universe. Per esportare un set di dati, utilizzare il pulsante "Scarica questo set di dati" nella relativa pagina del set di dati.

Roboflow Esportazione del set di dati Universe

Per la compatibilità con Ultralytics YOLO11selezionareYOLO11" come formato di esportazione:

Selezione del formato di esportazione del set di dati Roboflow Universe

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

Roboflow Raccogliere

Se si preferisce raccogliere le immagini da soli, Roboflow Collect è un progetto open-source che consente la raccolta automatica di immagini tramite una webcam su dispositivi edge. È possibile utilizzare messaggi di testo o di immagine per specificare i dati da raccogliere, aiutando a catturare solo le immagini necessarie per il modello di visione.

Caricare, convertire ed etichettare i dati per il formato YOLO11

Roboflow Annotate è uno strumento online per l'etichettatura delle immagini per varie attività di visione artificiale, tra cui il rilevamento, la classificazione e la segmentazione degli oggetti.

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

Creare un progetto Roboflow

Quindi, caricare in Roboflow le immagini e le annotazioni esistenti da altri strumenti.

Caricare le immagini su Roboflow

Dopo il caricamento, si accede alla pagina Annotate. Selezionare il gruppo di immagini caricate e fare clic su "Avvia annotazione" per iniziare l'etichettatura.

Strumenti di annotazione

  • Annotazione del rettangolo di selezione: Stampa B oppure fare clic sull'icona della scatola. Fare clic e trascinare per creare il riquadro di delimitazione. Un pop-up chiederà di selezionare una classe per l'annotazione.

Annotazione di un'immagine in Roboflow con i riquadri di delimitazione

  • Annotazione poligonale: Utilizzato per segmentazione dell'istanza. Premere P oppure fare clic sull'icona del poligono. Fare clic sui punti intorno all'oggetto per disegnare il poligono.

Assistente etichetteSAM integrazioneSAM )

Roboflow integra un assistente alle etichette basato sul Segment Anything Model (SAM) per accelerare potenzialmente l'annotazione.

Per utilizzare l'assistente alle etichette, fare clic sull'icona del cursore nella barra laterale. SAM verrà abilitato per il progetto.

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

Passando il mouse su un oggetto, SAM può suggerire un'annotazione. Fare clic per accettare l'annotazione. È possibile affinare la specificità dell'annotazione facendo clic all'interno o all'esterno dell'area suggerita.

Etichettatura

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

Aggiunta di tag a un'immagine in Roboflow

Label Assist (basato sul modello)

I modelli ospitati su Roboflow possono essere utilizzati con Label Assist, uno strumento di annotazione automatica che sfrutta la vostra formazione. YOLO11 per suggerire annotazioni. Per prima cosa, caricare i pesi del modello YOLO11 su Roboflow (vedere le istruzioni di seguito). Quindi, attivare Label Assist facendo clic sull'icona della bacchetta magica nella barra laterale sinistra e selezionando il modello.

Scegliere il modello e fare clic su "Continua" per attivare il Label Assist:

Abilitazione del Label Assist in Roboflow

Quando si aprono nuove immagini da annotare, Label Assist può suggerire automaticamente le annotazioni in base alle previsioni del modello.

Label Assist che raccomanda un'annotazione basata su un modello addestrato

Gestione dei set di dati per YOLO11

Roboflow offre diversi strumenti per la comprensione e la gestione dei dataset di computer vision.

Utilizzare la ricerca per dataset per trovare le immagini in base a descrizioni testuali semantiche (ad esempio, "trova tutte le immagini contenenti persone") o a etichette/tag specifici. Per accedere a questa funzione, fare clic su "Dataset" nella barra laterale e utilizzare la barra di ricerca e i filtri.

Ad esempio, la ricerca di immagini contenenti persone:

Ricerca di un'immagine in un set di dati Roboflow

È possibile affinare le ricerche utilizzando i tag tramite il selettore "Tag":

Filtrare le immagini per tag in Roboflow

Controllo della salute

Prima della formazione, utilizzare Roboflow Health Check per ottenere informazioni sul set di dati e identificare potenziali miglioramenti. Vi si accede tramite il link della barra laterale "Health Check". Fornisce statistiche sulle dimensioni delle immagini, sul bilanciamento delle classi, sulle heatmap delle annotazioni e altro ancora.

Cruscotto di analisi Roboflow Health Check

L'Health Check può suggerire modifiche per migliorare le prestazioni, ad esempio per risolvere gli squilibri tra le classi identificati nella funzione Class Balance. La comprensione dello stato di salute del dataset è fondamentale per una formazione efficace del modello.

Pre-elaborazione e aumento dei dati per la robustezza del modello

Per esportare i dati, è necessario creare una versione del dataset, ovvero un'istantanea del dataset in un momento specifico. Fare clic su "Versioni" nella barra laterale, quindi su "Crea nuova versione". Qui è possibile applicare fasi di pre-elaborazione e ampliamenti dei dati per migliorare potenzialmente la robustezza del modello.

Creazione di una versione del set di dati su Roboflow con opzioni di preelaborazione e incremento

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

Esportazione dei dati in oltre 40 formati per l'addestramento dei modelli

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

Esportazione di un set di dati da Roboflow

Selezionare il formatoYOLO11" per la compatibilità con le pipeline di formazione Ultralytics . Ora si è pronti ad addestrare il proprio sistema di addestramento personalizzato YOLO11 personalizzato. Per istruzioni dettagliate sull'avvio dell'addestramento con il set di dati esportato, consultare la documentazione della modalità Train diUltralytics .

Caricare i pesi del modello personalizzato YOLO11 per il test e la distribuzione

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

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

Creare un nuovo file Python e aggiungere 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, sostituire your-workspace-id, your-project-id, il VERSION e il numero MODEL_PATH con i valori specifici dell'account Roboflow , del progetto e della directory locale dei risultati della formazione. Assicurarsi che il MODEL_PATH punta correttamente alla cartella che contiene i file addestrati best.pt file di pesi.

Quando si esegue il codice qui sopra, verrà chiesto di autenticarsi (di solito tramite una chiave API). Quindi, il modello verrà caricato e verrà creato un endpoint API per il progetto. Questo processo può richiedere fino a 30 minuti per essere completato.

Per testare il modello e trovare le istruzioni di distribuzione per gli SDK supportati, andare alla scheda "Deploy" nella barra laterale di Roboflow . Nella parte superiore di questa pagina, apparirà un widget che consente di testare il modello utilizzando la webcam o caricando immagini o video.

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

Il modello caricato può anche essere utilizzato come assistente di etichettatura, suggerendo annotazioni su nuove immagini in base alla sua formazione.

Come valutare i modelli di YOLO11

Roboflow offre funzioni per la valutazione delle prestazioni del modello. La comprensione delle metriche delle prestazioni è fondamentale per l'iterazione del modello.

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

Avvio della valutazione del modello Roboflow

Questo strumento visualizza una matrice di confusione che illustra le prestazioni del modello e un grafico interattivo di analisi vettoriale che utilizza le incorporazioni CLIP. Queste caratteristiche aiutano a identificare le aree di miglioramento del modello.

La matrice di confusione si apre:

Una matrice di confusione visualizzata in Roboflow

Passare il mouse sulle celle per vedere i valori e fare clic sulle celle per visualizzare le immagini corrispondenti con le previsioni del modello e i dati di verità a terra.

Fare clic su "Analisi vettoriale" per visualizzare un grafico a dispersione della somiglianza delle immagini in base alle incorporazioni CLIP. Le immagini più vicine sono semanticamente simili. I punti rappresentano le immagini, colorate da bianco (buone prestazioni) a rosso (scarse prestazioni).

Una trama di analisi vettoriale in Roboflow utilizzando le incorporazioni CLIP

L'analisi vettoriale aiuta:

  • Identificare i cluster di immagini.
  • Individuare i cluster in cui il modello non funziona bene.
  • Comprendere i punti in comune tra le immagini che causano scarse prestazioni.

Risorse didattiche

Esplorate queste risorse per saperne di più sull'uso di Roboflow con Ultralytics YOLO11:

Vetrina del progetto

Feedback degli utenti che combinano Ultralytics YOLO11 e Roboflow:

Immagine della vetrina 1 Immagine della vetrina 2 Immagine della vetrina 3

FAQ

Domande frequenti

Come si etichettano i dati per i modelli di YOLO11 utilizzando Roboflow?

Utilizzare Roboflow Annotate. Creare un progetto, caricare le immagini e utilizzare gli strumenti di annotazione (B per caselle di delimitazione, P per i poligoni) o l'assistente alle etichette SAM per un'etichettatura più rapida. I passaggi dettagliati sono disponibili nella sezione Sezione Caricamento, conversione ed etichettatura dei dati.

Quali servizi offre Roboflow per la raccolta dei dati di formazione YOLO11 ?

Roboflow offre Universe (accesso a numerosi set di dati) e Collect (raccolta automatica di immagini tramite webcam). Questi possono aiutare ad acquisire i dati di addestramento necessari per il modello YOLO11 , integrando le strategie descritte nella nostra Guida alla raccolta dei dati.

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

Utilizzate le funzioni di ricerca, tagging e Health Check dei dataset di Roboflow. La ricerca trova le immagini in base al testo o ai tag, mentre l'Health Check analizza la qualità del dataset (bilanciamento delle classi, dimensioni delle immagini, ecc.) per guidare i miglioramenti prima della formazione. Per maggiori dettagli, consultare la sezione Gestione dei dataset.

Come posso esportare il mio dataset YOLO11 da Roboflow?

Creare una versione del dataset in Roboflow, applicare le preelaborazioni e gli incrementi desiderati, quindi fare clic su "Esporta dataset" e selezionare il formato YOLO11 . La procedura è descritta nella sezione Esportazione dei dati. In questo modo si preparano i dati per l'uso con lepipeline di addestramento Ultralytics .

Come posso integrare e distribuire i modelli di YOLO11 con Roboflow?

Caricare i pesi YOLO11 addestrati su Roboflow utilizzando lo script Python fornito. Questo crea un endpoint API distribuibile. Per lo script e le istruzioni, consultare la sezione Caricamento dei pesi personalizzati. Per ulteriori opzioni di distribuzione, consultare la nostra documentazione.

📅C reato 1 anno fa ✏️ Aggiornato 4 giorni fa

Commenti