Controllo verde
Link copiato negli appunti

Costruisci applicazioni per droni basate sull'intelligenza artificiale con Ultralytics YOLO11

Scopri come realizzare applicazioni per droni basate sull'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 nel settore delle 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 che viene utilizzato per analizzare i dati visivi, per navigare e manovrare intorno agli ostacoli. Modelli di visione artificiale 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 ha fatto sì che il mercato dei droni AI raggiunga i 206,9 miliardi di dollari entro il 2031. 

In questo articolo daremo un'occhiata più da vicino a come i modelli di computer vision come Ultralytics YOLO11 possono essere utilizzati in applicazioni basate sui 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 abitazioni

Un aspetto 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. A questo scopo 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.

Creare una ripresa artificiale con un drone utilizzando 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, puoi scegliere una località per il tuo video artificiale con il drone. Utilizzando la barra di ricerca nell'angolo in alto a sinistra della pagina, puoi cercare le località. Per questo tutorial sceglieremo il Canada. Inoltre, dal momento che stiamo per addestrare un modello per rilevare le case, il video del nostro drone dovrebbe avere una vista aerea delle case.

Figura 3. Selezione di una posizione con 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 di partenza per la ripresa del drone, imposta il primo fotogramma utilizzando i diamanti blu, come mostrato di seguito. 

Figura 4. Impostazione del primo fotogramma 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 le riprese del drone. Per fare ciò, fai 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, usa i diamanti blu per impostare l'ultimo punto.

Figura 5. Impostazione dell'ultimo fotogramma spostando la barra.

Infine, puoi salvare il progetto e renderizzarlo cliccando sul pulsante rosso "Render" nell'angolo in alto a destra della pagina. In questo modo otterrai l'output video finale della ripresa del drone, creando un filmato artificiale con il drone.

Figura 6. Rendering del video 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. Puoi installarlo direttamente dal terminale utilizzando il programma di installazione dei pacchetti pip eseguendo il seguente comando: "pip install labelImg".

Dopo l'installazione, puoi eseguire lo strumento utilizzando il comando "labelImg" sul tuo terminale o sul prompt dei comandi. Verrà visualizzata 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. 

Puoi utilizzare il seguente comando da terminale per separare ogni fotogramma del video del drone:

ffmpeg -i input_video.mp4 -vf fps=1 frame_%04d.jpg

Una volta separati i fotogrammi del filmato del drone, possiamo iniziare a etichettare gli oggetti (case) presenti. Navigando nella cartella delle immagini attraverso lo strumento LabelImg, possiamo etichettare gli oggetti presenti in ogni immagine. Assicurati 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 la formazione del modello YOLO11

Prima di iniziare ad allenare YOLO11, organizziamo le immagini e le etichette. Inizia creando due cartelle: una denominata "train" e l'altra "valid". Dividi le immagini tra queste cartelle. All'interno di ognuna di esse, crea delle sottocartelle separate per le immagini e i file delle etichette corrispondenti (in formato testo), come mostrato di seguito.

Figura 9. Un esempio di creazione di cartelle di immagini ed etichette.

Quindi, possiamo iniziare ad addestrare il modello YOLO11 come segue:

  • Passo 1: installa il pacchettoUltralytics Python . Puoi farlo eseguendo il comando "pip install ultralytics" nel tuo terminale. Se dovessi riscontrare problemi di installazione, consulta la nostra guida alla risoluzione dei problemi per trovare suggerimenti e trucchi che ti aiuteranno a risolverli.
  • Fase 2: dopo aver installato con successo il pacchetto, crea un file con il nome "data.yaml". Si tratta di un file di configurazione fondamentale per la formazione del modello. Nel file data.yaml, includi 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", puoi iniziare ad addestrare il tuo modello utilizzando il seguente codice Python . Questo codice carica il modello YOLO11 pre-addestrato e lo addestra in base alle tue configurazioni.
from ultralytics import YOLO

# Load a YOLO11 model
model = YOLO("yolo11n.pt")  # choose your model, e.g., YOLO11 nano

# Train the model with your data and settings
model.train(data="data.yaml", epochs=100, imgsz=640)
  • Fase 4: una volta completato l'addestramento, dovresti vedere un risultato simile a quello mostrato qui sotto. Questo significa che hai addestrato con successo il tuo modello YOLO11 per applicazioni basate su droni.
Figura 11. L'output mostrato dopo l'addestramento del modello.

Esecuzione di previsioni con Ultralytics YOLO11 sui 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 ciò che ha 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, puoi utilizzare il modello YOLO11 addestrato su un video di input utilizzando il seguente codice Python . In questo esempio, utilizzeremo lo stesso video di un drone artificiale che è stato usato per l'addestramento, ma puoi usare qualsiasi altro file video se preferisci.

# Import library
from ultralytics import YOLO

# Load the YOLO model
model = YOLO("best.pt")  # Choose your custom-trained model

# Predict the results from the model
results = model.predict(source="path/to/original/video.mp4", show=True, save=True)

Dopo aver eseguito 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 dei confini nazionali e dei 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 computer vision 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 aiutare nella pianificazione urbana e nei 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 di pacchi all'aiuto nelle emergenze e nell'agricoltura. In questa guida abbiamo spiegato come creare un video artificiale con un drone, etichettare gli oggetti, 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 avranno probabilmente un ruolo ancora più importante nel velocizzare le consegne, nel migliorare la sicurezza e nell'aiutare la risposta ai disastri.

Unisciti alla nostra comunità ed esplora il nostro repository GitHub per saperne di più sulla Vision AI e scopri le nostre opzioni di licenza per dare il via ai tuoi progetti di computer vision. Sei interessato a innovazioni come l'IA nella produzione o la computer vision nell' industria automobilistica? Visita le nostre pagine dedicate alle soluzioni per saperne di più. 

Logo di LinkedInLogo di TwitterLogo di FacebookSimbolo di copia-link

Leggi tutto in questa categoria

Costruiamo insieme il futuro
di AI!

Inizia il tuo viaggio nel futuro dell'apprendimento automatico