Scopri YOLO-World, un innovativo modello di rilevamento degli oggetti in grado di identificarli attraverso messaggi di testo. Scopri come funziona YOLO-World e le sue applicazioni e mettiti alla prova con un rapido esempio di codice.
I progetti di computer vision spesso richiedono molto tempo per l'annotazione dei dati e l'addestramento dei modelli di rilevamento degli oggetti. Ma questo potrebbe presto diventare un ricordo del passato. L'AI Lab di Tencent ha rilasciato YOLO-World, un modello di rilevamento degli oggetti in tempo reale e a vocabolario aperto, il 31 gennaio 2024. YOLO-World è un modello a zero scatti, il che significa che puoi eseguire inferenze di rilevamento di oggetti sulle immagini senza doverlo addestrare.
I modelli a scatto zero hanno il potenziale per cambiare il modo in cui affrontiamo le applicazioni di computer vision. In questo blog esploreremo il funzionamento di YOLO-World e i suoi potenziali utilizzi e condivideremo un esempio pratico di codice per iniziare.
Puoi passare al modello YOLO-World un'immagine e un testo che descriva gli oggetti che stai cercando. Ad esempio, se sei interessato a trovare "una persona che indossa una camicia rossa" all'interno di una foto, YOLO-World recepisce questo input e si mette al lavoro.
L'architettura unica del modello combina tre elementi principali:
Il rilevatore YOLO scansiona l'immagine in ingresso per identificare potenziali oggetti. Il codificatore di testo trasforma la descrizione in un formato comprensibile al modello. Questi due flussi di informazioni vengono poi uniti attraverso il RepVL-PAN utilizzando una fusione multi-level cross-modality. Questo permette a YOLO-World di individuare e localizzare con precisione gli oggetti descritti nella tua richiesta all'interno dell'immagine.
Uno dei maggiori vantaggi dell'utilizzo di YOLO-World è che non è necessario addestrare il modello per una classe specifica. Il modello ha già imparato da coppie di immagini e testi, quindi sa come trovare gli oggetti in base alle descrizioni. Puoi evitare ore di raccolta dati, annotazioni, addestramento su GPU costose e così via.
Ecco altri vantaggi dell'utilizzo di YOLO-World:
YOLO-I modelli del mondo possono essere utilizzati per un'ampia varietà di applicazioni. Esploriamone alcune.
I prodotti fabbricati in una catena di montaggio vengono controllati visivamente per individuare eventuali difetti prima di essere imballati. Il rilevamento dei difetti viene spesso effettuato a mano, il che richiede tempo e può portare a degli errori. Questi errori possono causare problemi come costi elevati e la necessità di riparazioni o richiami. Per risolvere questo problema, sono state create speciali telecamere di visione artificiale e sistemi di intelligenza artificiale per eseguire questi controlli.
YOLO-I modelli del mondo sono un grande passo avanti in questo campo. Sono in grado di individuare i difetti dei prodotti anche quando non sono stati addestrati per quel problema specifico, grazie alle loro abilità a colpo zero. Ad esempio, una fabbrica che produce bottiglie d'acqua può facilmente identificare tra una bottiglia sigillata correttamente con un tappo e una bottiglia in cui il tappo è stato omesso o è difettoso utilizzando YOLO-World.
YOLO-I modelli del mondo permettono ai robot di interagire con ambienti non familiari. Senza essere addestrati su oggetti specifici che possono trovarsi in una stanza, possono comunque identificare gli oggetti presenti. Supponiamo quindi che un robot entri in una stanza in cui non è mai stato prima. Con un modello YOLO-World, è in grado di riconoscere e identificare oggetti come sedie, tavoli o lampade, anche se non è stato addestrato in modo specifico su questi oggetti.
Oltre a rilevare gli oggetti, YOLO-World può anche determinarne le condizioni, grazie alla funzione "prompt-then-detect". Ad esempio, nella robotica agricola , può essere utilizzato per identificare i frutti maturi rispetto a quelli non maturi, programmando il robot per rilevarli.
L'industria automobilistica coinvolge molte parti in movimento e YOLO-World può essere utilizzato per diverse applicazioni automobilistiche. Ad esempio, per quanto riguarda la manutenzione delle auto, la capacità di YOLO-World di riconoscere un'ampia varietà di oggetti senza dover ricorrere all'etichettatura manuale o a un addestramento preliminare è estremamente utile. YOLO-World può essere utilizzato per identificare le parti dell'auto che devono essere sostituite. Potrebbe anche automatizzare attività come i controlli di qualità, individuando difetti o pezzi mancanti nelle auto nuove.
Un'altra applicazione è il rilevamento di oggetti a scatto zero nelle auto a guida autonoma. YOLO-Le capacità di rilevamento a scatto zero di -World possono migliorare la capacità di un veicolo autonomo di rilevare e classificare in tempo reale gli oggetti sulla strada, come pedoni, segnali stradali e altri veicoli. In questo modo, può aiutare a rilevare gli ostacoli e a prevenire gli incidenti per un viaggio più sicuro.
L'identificazione degli oggetti sugli scaffali dei negozi al dettaglio è una parte importante della tracciabilità dell'inventario, della gestione delle scorte e dell'automazione dei processi. Ultralytics YOLO-La capacità di -World di riconoscere un'ampia varietà di oggetti senza dover ricorrere all'etichettatura manuale o a un addestramento preliminare è estremamente utile per la gestione dell'inventario.
Per esempio, nella gestione dell'inventario, YOLO-World può individuare e classificare rapidamente gli articoli su uno scaffale, come le diverse marche di bevande energetiche. I negozi al dettaglio possono tenere un inventario accurato, gestire i livelli delle scorte in modo efficiente e ottimizzare le operazioni della catena di approvvigionamento.
Tutte le applicazioni sono uniche e dimostrano quanto YOLO-World possa essere utilizzato in modo esteso. Ora passiamo all'uso pratico di YOLO-World e diamo un'occhiata a un esempio di codifica.
Come abbiamo già detto, YOLO-World può essere utilizzato per individuare le diverse parti di un'auto da sottoporre a manutenzione. Un'applicazione di computer vision che rilevi le riparazioni necessarie comporterebbe lo scatto di una foto dell'auto, l'identificazione delle parti dell'auto, l'esame di ogni parte dell'auto per verificare la presenza di danni e la raccomandazione di riparazioni. Ogni parte di questo sistema utilizzerebbe diverse tecniche e approcci di intelligenza artificiale. Ai fini di questa guida al codice, concentriamoci sulla parte in cui vengono individuate le parti dell'auto.
Con YOLO-World puoi identificare le diverse parti di un'auto in un'immagine in meno di 5 minuti. Puoi estendere questo codice per provare diverse applicazioni utilizzando anche YOLO-World! Per iniziare, dobbiamo installare con pip il pacchettoUltralytics come mostrato di seguito.
Per ulteriori istruzioni e buone pratiche relative al processo di installazione, consulta la nostra Guida all'installazione diUltralytics . Durante l'installazione dei pacchetti necessari per YOLOv8, se dovessi incontrare qualche difficoltà, consulta la nostra guida sui problemi comuni per trovare soluzioni e suggerimenti.
Una volta installato il pacchetto necessario, possiamo scaricare da Internet un'immagine su cui eseguire le nostre inferenze. Utilizzeremo l'immagine qui sotto.
Quindi, importeremo il pacchetto necessario, inizializzeremo il nostro modello e imposteremo le classi che cerchiamo nell'immagine di input. In questo caso, siamo interessati alle seguenti classi: auto, ruota, portiera, specchietto e targa.
Utilizzeremo quindi il metodo predict, fornendo il percorso dell'immagine insieme ai parametri per il numero massimo di rilevamenti e le soglie per l'intersezione sull'unione (IoU) e la confidenza (conf) per eseguire un'inferenza sull'immagine. Infine, gli oggetti rilevati vengono salvati in un file chiamato "result.jpg".
La seguente immagine di output verrà salvata nei tuoi file.
Se preferisci vedere cosa è in grado di fare YOLO-World senza dover ricorrere al codice, puoi andare alla pagina demo di YOLO-World, caricare un'immagine di input e inserire le classi personalizzate.
Leggi la nostra pagina di documentazione su YOLO -World per sapere come salvare il modello con le classi personalizzate in modo da poterlo utilizzare direttamente in seguito senza dover inserire ripetutamente le classi personalizzate.
Se guardi di nuovo l'immagine di output, noterai che la classe personalizzata "porta dell'auto" non è stata rilevata. Nonostante i suoi grandi risultati, YOLO-World ha alcune limitazioni. Per combattere queste limitazioni e utilizzare il modello YOLO-World in modo efficace, è importante utilizzare i tipi di prompt testuali corretti.
Ecco alcune informazioni al riguardo:
Nel complesso, i modelli di YOLO-World possono essere trasformati in un potente strumento grazie alle loro avanzate capacità di rilevamento degli oggetti. Offrono grande efficienza, accuratezza e aiutano ad automatizzare diverse attività in varie applicazioni, come nell'esempio dell'identificazione di parti di automobili di cui abbiamo parlato.
Esplora il nostro repository GitHub per saperne di più sui nostri contributi alla computer vision e all'IA. Se sei curioso di sapere come l'IA sta rimodellando settori come quello della tecnologia sanitaria , dai un'occhiata alle nostre pagine dedicate alle soluzioni. Le possibilità offerte da innovazioni come YOLO-World sembrano essere infinite!
Inizia il tuo viaggio nel futuro dell'apprendimento automatico