Cliccando su “Accetta tutti i cookie”, l'utente accetta di memorizzare i cookie sul proprio dispositivo per migliorare la navigazione del sito, analizzare l'utilizzo del sito e assistere le nostre attività di marketing. Maggiori informazioni
Impostazioni dei cookie
Cliccando su “Accetta tutti i cookie”, l'utente accetta di memorizzare i cookie sul proprio dispositivo per migliorare la navigazione del sito, analizzare l'utilizzo del sito e assistere le nostre attività di marketing. Maggiori informazioni
Scopri come sviluppare applicazioni per droni basate sull'IA con Ultralytics YOLO11, abilitando il rilevamento di oggetti in tempo reale e attività di computer vision basate su droni.
Lo shopping in negozio e lo shopping online possono sembrare simili, ma si basano su logistiche diverse. 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 si stanno rimodellando parallelamente.
Ad esempio, un cambiamento significativo sta avvenendo nelle consegne. I droni alimentati dall'IA 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 nel nuovo percorso di consegna per il commercio quotidiano.
I droni per le consegne utilizzano l'intelligenza artificiale (IA) e la computer vision, un sottocampo dell'IA utilizzato per analizzare i dati visivi, per navigare ed evitare gli ostacoli. Modelli di computer vision come Ultralytics YOLO11 possono aiutare i droni a rilevare e tracciare oggetti in tempo reale, consentendo loro di comprendere e interagire meglio con il loro ambiente.
Fig. 1. Un drone per le consegne che trasporta un pacco a destinazione.
Aziende come Meituan e DJI stanno già integrando la computer vision nei loro droni. Infatti, la rapida adozione dei droni in vari settori ha fatto sì che il mercato dei droni AI raggiungerà i 206,9 miliardi di dollari entro il 2031.
In questo articolo, esamineremo più da vicino come i modelli di computer vision come Ultralytics YOLO11 possono essere utilizzati in applicazioni basate su droni come le consegne tramite droni. Analizzeremo un esempio che mostrerà come queste tecnologie possono essere sviluppate e testate prima di essere utilizzate in scenari reali.
Utilizzo di Ultralytics YOLO11 su droni per rilevare abitazioni
Una parte fondamentale dei droni per le consegne è la loro capacità di rilevare le case durante la navigazione. Per ricreare questa capacità e capire come funziona, addestreremo un modello di computer vision in grado di identificare le case nelle riprese acquisite da un drone aereo. Per questo, addestreremo in modo personalizzato YOLO11, il che implica la messa a punto di un modello YOLO11 pre-addestrato per riconoscere e rilevare le case utilizzando esempi etichettati.
Per fare ciò, avremo bisogno di dati video di alta qualità provenienti da un drone. È interessante notare che, anche senza accesso a un drone reale, possiamo comunque generare filmati aerei realistici. Vediamo come.
Creazione di una ripresa aerea artificiale utilizzando Google Earth Studio
Google Earth Studio è uno strumento di animazione basato sul web che può essere utilizzato dagli utenti per creare contenuti statici 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.
Avrai bisogno di un account Google per accedere.
Fig. 2. Creazione di un progetto su Google Earth Studio.
Dopo aver effettuato l'accesso, è possibile scegliere una posizione per il video del drone artificiale. Utilizzando la barra di ricerca nell'angolo in alto a sinistra della pagina, è possibile cercare le posizioni. Per questo tutorial, sceglieremo il Canada. Inoltre, poiché addestreremo un modello per rilevare le case, il nostro video del drone dovrebbe avere una vista aerea delle case.
Fig. 3. Scelta di una posizione tramite Google Earth Studio.
Successivamente, possiamo impostare il primo e l'ultimo fotogramma per catturare il movimento della ripresa artificiale del drone. Una volta scelta la posizione iniziale per la ripresa del drone, imposta il primo fotogramma usando i diamanti blu, come mostrato di seguito.
Fig. 4. Impostazione del primo frame utilizzando i diamanti blu.
Successivamente, possiamo scegliere l'ultimo fotogramma per determinare la destinazione del drone. Questo ci aiuterà a creare un effetto di movimento per il filmato del drone. Per fare ciò, fai scorrere la barra (evidenziata di seguito) verso destra fino a un momento specifico per creare l'effetto di movimento per la ripresa del drone. Ancora una volta, usa i diamanti blu per impostare l'ultimo punto.
Fig. 5. Impostazione dell'ultimo fotogramma spostando la barra.
Infine, puoi salvare questo progetto ed eseguirne il rendering facendo clic sul pulsante rosso "Render" nell'angolo in alto a destra della pagina. Questo ti darà l'output video finale della ripresa del drone, creando con successo filmati video artificiali di droni.
Fig. 6. Rendering del video di output finale.
Come etichettare i dati dei droni?
Ora che abbiamo creato filmati video artificiali di droni, il passo successivo è etichettare o annotare le case al loro interno. Dovremo anche separare i singoli fotogrammi del video.
Per iniziare, installeremo LabelImg. LabelImg è uno strumento open source per l'etichettatura delle immagini. Puoi installarlo direttamente dal terminale utilizzando il gestore di pacchetti pip eseguendo il seguente comando: “pip install labelImg”.
Dopo l'installazione, è possibile eseguire lo strumento utilizzando il comando “labelImg” sul terminale o prompt dei comandi. Questo aprirà la pagina mostrata di seguito.
Fig. 7. L'interfaccia dello strumento LabelImg.
Nel frattempo, possiamo utilizzare un convertitore online da video a immagini 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 metadati correlati.
Puoi utilizzare il seguente comando da terminale per separare ogni frame del video ripreso dal drone:
Una volta separati i frame del filmato del drone, possiamo iniziare a etichettare gli oggetti (case) in essi. Navigando nella cartella delle immagini tramite lo strumento LabelImg, possiamo etichettare gli oggetti in ogni immagine. Assicurati di salvare e verificare ogni immagine etichettata. Dopo aver annotato le immagini, possiamo ora passare all'addestramento di YOLO11 utilizzando questi dati.
Fig. 8. Un esempio di salvataggio di immagini annotate.
Workflow di addestramento del modello YOLO11
Prima di iniziare l'addestramento di YOLO11, organizzeremo le nostre immagini e le nostre etichette. Inizia creando due cartelle: una denominata "train" e l'altra "valid". Dividi le tue immagini tra queste cartelle. All'interno di ciascuna, crea sottocartelle separate per le immagini e i relativi file di etichetta (in formato testo), come mostrato di seguito.
Fig. 9. Un esempio di creazione di cartelle per immagini ed etichette.
Quindi, possiamo iniziare ad addestrare il modello YOLO11 come segue:
Passaggio 1: Installa il pacchetto Python Ultralytics. Puoi farlo eseguendo il comando “pip install ultralytics” nel tuo terminale. Se riscontri problemi di installazione, consulta la nostra guida alla risoluzione dei problemi per suggerimenti e trucchi che ti aiuteranno a risolverli.
Passaggio 2: Dopo aver installato correttamente il pacchetto, crea un file con il nome ‘data.yaml’. Questo è un file di configurazione fondamentale per l'addestramento del modello. Nel file data.yaml, includi le seguenti informazioni: il percorso del tuo set di dati di addestramento, il percorso del tuo set di dati di convalida, il numero di classi (nc) e un elenco di nomi di classe (names), come mostrato di seguito.
Fig. 10. Un esempio di file data.yaml.
Passaggio 3: Una volta configurato il file ‘data.yaml’, puoi iniziare ad addestrare il tuo modello utilizzando il seguente codice Python. Questo codice carica il modello YOLO11 pre-addestrato e lo addestra secondo le tue 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)
Passaggio 4: Una volta completato l'addestramento, dovresti vedere un output simile a quello mostrato di seguito. Ciò significa che hai addestrato con successo il tuo modello YOLO11 per applicazioni basate su drone.
Fig. 11. L'output mostrato dopo l'addestramento del modello.
Esecuzione di previsioni utilizzando Ultralytics YOLO11 sui droni
Il modello YOLO11 addestrato può ora essere utilizzato per fare previsioni attraverso un processo chiamato inferenza. L'inferenza implica l'utilizzo di un modello per analizzare nuovi dati, non ancora visti, in base a ciò che ha appreso durante l'addestramento. In questo caso, il modello può essere utilizzato per trovare ed etichettare oggetti specifici, come case, in immagini o video disegnando riquadri di delimitazione attorno 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 artificiale di un drone utilizzato 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 aver eseguito questo codice, il file video di output con le previsioni e i bounding box verrà salvato.
Fig. 12. Un frame dal file video di output.
Integrazione di Ultralytics YOLO11 sui droni per varie applicazioni
Il rilevamento di case per i pacchi di consegna tramite drone è solo un esempio di come la computer vision e YOLO11 possono essere applicati. Ecco alcuni altri usi reali della computer vision, YOLO11 e dei droni aerei:
Sorveglianza e sicurezza: I droni con AI possono essere utilizzati per monitorare vaste 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 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 computer vision possono essere utilizzati per analizzare la salute delle colture e rilevare le malattie, aiutando gli agricoltori ad aumentare i raccolti riducendo i costi.
Mappatura e analisi geospaziale: Raccogliendo mappe 3D ad alta risoluzione, i droni AI possono assistere nella pianificazione urbana e nei rilievi del territorio. Forniscono valutazioni del terreno più rapide e accurate rispetto ai metodi tradizionali.
Punti chiave
I droni con IA alimentati dalla computer vision stanno cambiando molti settori, dalla consegna di pacchi all'aiuto nelle emergenze e all'agricoltura. In questa guida, abbiamo illustrato la creazione di un video artificiale di un drone, l'etichettatura degli oggetti al suo interno, l'addestramento di YOLO11 e il suo utilizzo per rilevare le case.
L'applicazione del rilevamento oggetti ai filmati dei droni rende questi droni più intelligenti, consentendo loro di riconoscere e tracciare automaticamente gli oggetti in tempo reale. Con il miglioramento della tecnologia, i droni guidati dall'AI probabilmente svolgeranno un ruolo ancora più importante nel rendere le consegne più veloci, migliorare la sicurezza e aiutare nella risposta ai disastri.