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
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.
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 (AI) e la computer vision, un sottocampo dell'AI 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 detect e track oggetti in tempo reale, consentendo loro di comprendere e interagire meglio con l'ambiente circostante.
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 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 detect case
Una parte fondamentale dei droni per le consegne è la loro capacità di detect case durante la navigazione. Per ricreare questa capacità e capirne 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 detect 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 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 detect case, il video del drone deve 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 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 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.
Fig. 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.
Fig. 9. Un esempio di creazione di cartelle per immagini ed etichette.
Quindi, possiamo iniziare ad addestrare il modello YOLO11 come segue:
Passo 1: installare il pacchettoUltralytics 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 'datayaml'. Si tratta di un file di configurazione fondamentale per l'addestramento del modello. Nel file datayaml , 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 datayaml .
Fase 3: Una volta configurato il file 'datayaml', è 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.
Fig. 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 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 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 detect intrusioni, track 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 visione computerizzata possono essere utilizzati per analizzare lo stato di salute delle colture e detect 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 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 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 detect case.
L'applicazione del rilevamento degli oggetti alle riprese dei droni li rende più intelligenti, consentendo loro di riconoscere e track automaticamente track 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.