Facendo clic su "Accetta tutti i cookie", l'utente accetta la memorizzazione dei cookie sul proprio dispositivo per migliorare la navigazione del sito, analizzarne l'utilizzo e contribuire alle nostre iniziative di marketing. Per saperne di più
Impostazioni dei cookie
Facendo clic su "Accetta tutti i cookie", l'utente accetta la memorizzazione dei cookie sul proprio dispositivo per migliorare la navigazione del sito, analizzarne l'utilizzo e contribuire alle nostre iniziative di marketing. Per saperne di più
Scoprite come realizzare applicazioni per droni dotate di intelligenza artificiale con Ultralytics YOLO11, che consente il rilevamento di oggetti in tempo reale e attività di computer vision basate su droni.
Gli acquisti in negozio e quelli online possono sembrare simili, ma si basano su una logistica diversa. I negozi hanno bisogno di rifornire gli scaffali, mentre gli ordini online dipendono dalle consegne a domicilio. Grazie ai progressi tecnologici, entrambe le esperienze di acquisto vengono rimodellate in parallelo.
Ad esempio, un cambiamento importante sta avvenendo nelle consegne. I droni dotati di intelligenza artificiale stanno cambiando il modo in cui i prodotti arrivano nelle nostre case. Si prevede che questi droni intelligenti gestiranno circa 808 milioni di consegne nel prossimo decennio, trasformando i cieli nella nuova via di consegna per il commercio quotidiano.
I droni per le consegne utilizzano l'intelligenza artificiale (AI) e la computer vision, un sottocampo dell'AI utilizzato per analizzare i dati visivi, per navigare e manovrare intorno agli ostacoli. Modelli di computer vision come Ultralytics YOLO11 possono aiutare i droni a rilevare e seguire gli oggetti in tempo reale, consentendo loro di comprendere meglio e interagire con l'ambiente circostante.
Figura 1. Un drone per le consegne che porta un pacco a destinazione.
Aziende come Meituan e DJI stanno già integrando la computer vision nei loro droni. In effetti, la rapida adozione dei droni in vari settori industriali ha fatto sì che il mercato dei droni con intelligenza artificiale raggiunga i 206,9 miliardi di dollari entro il 2031.
In questo articolo analizzeremo più da vicino come i modelli di visione computerizzata come Ultralytics YOLO11 possano essere utilizzati in applicazioni basate su droni, come le consegne via drone. Verrà illustrato un esempio che mostra come queste tecnologie possano essere sviluppate e testate prima di essere utilizzate in scenari reali.
Utilizzo di Ultralytics YOLO11 sui droni per rilevare le case
Una parte fondamentale dei droni per le consegne è la loro capacità di rilevare le case durante la navigazione. Per ricreare questa capacità e comprenderne il funzionamento, addestreremo un modello di computer vision in grado di identificare le case nei filmati catturati da un drone aereo. Per questo addestreremo YOLO11 in modo personalizzato, il che comporta la messa a punto di un modello YOLO11 pre-addestrato per riconoscere e rilevare le case utilizzando esempi etichettati.
Per farlo, avremo bisogno di dati video di alta qualità provenienti da un drone. È interessante notare che, anche senza avere accesso a un vero drone, possiamo comunque generare riprese aeree realistiche. Vediamo come.
Creazione di una ripresa artificiale da drone con Google Earth Studio
Google Earth Studio è uno strumento di animazione basato sul web che può essere utilizzato dagli utenti per creare contenuti fissi e animati utilizzando le immagini satellitari e 3D di Google Earth. Possiamo usarlo per creare riprese aeree realistiche.
Il primo passo è aprire Google Earth Studio e creare un progetto, come mostrato di seguito.
Per accedere è necessario un account Google.
Figura 2. Creazione di un progetto su Google Earth Studio.
Una volta effettuato l'accesso, è possibile scegliere una località per il proprio video artificiale con drone. Utilizzando la barra di ricerca nell'angolo in alto a sinistra della pagina, è possibile cercare le località. Per questa esercitazione, sceglieremo il Canada. Inoltre, poiché vogliamo addestrare un modello per rilevare le case, il video del drone deve avere una vista aerea delle case.
Figura 3. Selezione di una posizione con Google Earth Studio.
Successivamente, è possibile impostare il primo e l'ultimo fotogramma per catturare il movimento della ripresa artificiale del drone. Una volta scelta la posizione di partenza per la ripresa del drone, impostare il primo fotogramma utilizzando i diamanti blu, come mostrato di seguito.
Figura 4. Impostazione del primo fotogramma utilizzando i diamanti blu.
Quindi, possiamo scegliere l'ultimo fotogramma per determinare la destinazione del drone. Questo ci aiuterà a creare un effetto di movimento per le riprese del drone. A tale scopo, far scorrere la barra (evidenziata in basso) verso destra fino a un momento specifico per creare l'effetto di movimento per la ripresa del drone. Ancora una volta, utilizzare i diamanti blu per impostare l'ultimo punto.
Figura 5. Impostazione dell'ultimo fotogramma spostando la barra.
Infine, è possibile salvare il progetto e renderizzarlo facendo clic sul pulsante rosso "Render" nell'angolo in alto a destra della pagina. In questo modo si otterrà l'output video finale della ripresa del drone, creando con successo un filmato artificiale del drone.
Figura 6. Rendering del video di uscita finale.
Come etichettare i dati del drone?
Ora che abbiamo creato un filmato artificiale con il drone, il passo successivo è quello di etichettare o annotare le case presenti. Dovremo anche separare i singoli fotogrammi del video.
Per iniziare, installeremo LabelImg. LabelImg è uno strumento open source per l'etichettatura delle immagini. È possibile installarlo direttamente dal terminale utilizzando il programma di installazione dei pacchetti pip, eseguendo il seguente comando: "pip install labelImg".
Dopo l'installazione, è possibile eseguire lo strumento utilizzando il comando "labelImg" sul terminale o sul prompt dei comandi. Si aprirà la pagina mostrata di seguito.
Figura 7. L'interfaccia dello strumento LabelImg.
Nel frattempo, possiamo utilizzare un convertitore video-immagine online o uno strumento chiamato FFmpeg per dividere il video in fotogrammi. FFmpeg è una raccolta di librerie e strumenti per elaborare contenuti multimediali come audio, video, sottotitoli e relativi metadati.
È possibile utilizzare il seguente comando da terminale per separare ogni fotogramma del video del drone:
Una volta separati i fotogrammi del filmato del drone, possiamo iniziare a etichettare gli oggetti (case) in essi contenuti. Navigando nella cartella delle immagini attraverso lo strumento LabelImg, possiamo etichettare gli oggetti in ogni immagine. Assicurarsi di salvare e verificare ogni immagine etichettata. Dopo aver annotato le immagini, possiamo passare all'addestramento di YOLO11 utilizzando questi dati.
Figura 8. Un esempio di salvataggio di immagini annotate.
Flusso di lavoro per l'addestramento del modello YOLO11
Prima di iniziare l'addestramento di YOLO11, organizziamo le immagini e le etichette. Iniziate creando due cartelle: una denominata "train" e l'altra "valid". Dividere le immagini tra queste cartelle. All'interno di ciascuna di esse, creare sottocartelle separate per le immagini e i corrispondenti file di etichetta (formato testo), come mostrato di seguito.
Figura 9. Un esempio di creazione di cartelle di immagini e di etichette.
Quindi, possiamo iniziare ad addestrare il modello YOLO11 come segue:
Passo 1: installare il pacchetto Ultralytics Python. Per farlo, eseguite il comando "pip install ultralytics" nel vostro terminale. Se si riscontrano problemi di installazione, consultare la nostra guida alla risoluzione dei problemi per trovare suggerimenti e trucchi per risolverli.
Fase 2: Dopo aver installato con successo il pacchetto, creare un file con il nome 'data.yaml'. Si tratta di un file di configurazione fondamentale per l'addestramento del modello. Nel file data.yaml, includere le seguenti informazioni: il percorso del dataset di addestramento, il percorso del dataset di validazione, il numero di classi (nc) e un elenco di nomi di classi (nomi), come mostrato di seguito.
Figura 10. Un esempio di file data.yaml.
Fase 3: Una volta configurato il file 'data.yaml', è possibile iniziare ad addestrare il modello utilizzando il seguente codice Python. Questo codice carica il modello YOLO11 pre-addestrato e lo addestra secondo le proprie configurazioni.
from ultralytics import YOLO
# Load a YOLO11 modelmodel = YOLO("yolo11n.pt") # choose your model, e.g., YOLO11 nano# Train the model with your data and settingsmodel.train(data="data.yaml", epochs=100, imgsz=640)
Fase 4: una volta completato l'addestramento, si dovrebbe vedere un risultato simile a quello mostrato di seguito. Ciò significa che il modello YOLO11 è stato addestrato con successo per applicazioni basate su droni.
Figura 11. L'output mostrato dopo l'addestramento del modello.
Esecuzione di previsioni con Ultralytics YOLO11 su droni
Il modello YOLO11 addestrato può ora essere utilizzato per fare previsioni attraverso un processo chiamato inferenza. L'inferenza consiste nell'utilizzare un modello per analizzare nuovi dati non visti sulla base di quanto appreso durante l'addestramento. In questo caso, il modello può essere utilizzato per trovare ed etichettare oggetti specifici, come le case, nelle immagini o nei video, disegnando dei riquadri di delimitazione intorno ad essi.
Per eseguire una previsione, è possibile utilizzare il modello YOLO11 addestrato su un video di input utilizzando il seguente codice Python. In questo esempio, utilizzeremo lo stesso video di drone artificiale che è stato usato per l'addestramento, ma è possibile utilizzare qualsiasi altro file video, se si preferisce.
# Import libraryfrom ultralytics import YOLO
# Load the YOLO modelmodel = YOLO("best.pt") # Choose your custom-trained model# Predict the results from the modelresults = model.predict(source="path/to/original/video.mp4", show=True, save=True)
Dopo l'esecuzione di questo codice, verrà salvato il file video di output con le previsioni e i riquadri di delimitazione.
Figura 12. Un fotogramma del file video in uscita.
Integrazione di Ultralytics YOLO11 sui droni per varie applicazioni
Il rilevamento delle case per la consegna dei pacchi con i droni è solo un esempio di come la computer vision e YOLO11 possono essere applicati. Ecco altri usi reali della computer vision, di YOLO11 e dei droni aerei:
Sorveglianza e sicurezza:I droni AI possono essere utilizzati per monitorare grandi aree in tempo reale. Possono rilevare intrusioni, tracciare attività sospette e migliorare la sicurezza ai confini nazionali e in occasione di grandi eventi pubblici.
Risposta ai disastri e ricerca e soccorso: Dotati di telecamere termiche e di rilevamento di oggetti, i droni possono aiutare a localizzare i sopravvissuti nelle zone disastrate. Possono anche valutare i danni e consegnare forniture di emergenza.
Agricoltura e agricoltura di precisione: I droni integrati con la visione computerizzata possono essere utilizzati per analizzare lo stato di salute delle colture e rilevare le malattie, aiutando gli agricoltori ad aumentare la resa e a ridurre i costi.
Mappatura e analisi geospaziale: Raccogliendo mappe 3D ad alta risoluzione, i droni AI possono contribuire alla pianificazione urbana e ai rilievi del territorio. Forniscono valutazioni del terreno più rapide e accurate rispetto ai metodi tradizionali.
Punti di forza
I droni AI alimentati dalla computer vision stanno cambiando molti settori, dalla consegna dei pacchi all'aiuto nelle emergenze e nell'agricoltura. In questa guida, abbiamo spiegato come creare un video artificiale di un drone, etichettare gli oggetti in esso contenuti, addestrare YOLO11 e utilizzarlo per rilevare le case.
L'applicazione del rilevamento degli oggetti alle riprese dei droni li rende più intelligenti, consentendo loro di riconoscere e seguire automaticamente gli oggetti in tempo reale. Con il miglioramento della tecnologia, i droni guidati dall'intelligenza artificiale svolgeranno probabilmente un ruolo ancora più importante nel velocizzare le consegne, migliorare la sicurezza e contribuire alla risposta ai disastri.