HOW TO: aerofotogrammetria con drone e Agisoft Photoscan. Elaborazione

Nora Terme a Mare: aerofotogrammetria da drone

Eccoci giunti al secondo appuntamento con il nostro tutorial tecnico sull'aerofotogrammetria da drone. In questi primi appuntamenti stiamo trattando il software Agisoft Photoscan.

Nella precedente puntata abbiamo visto come pianificare la missione, acquisire le informazioni metriche, scattare le immagini, elaborarle in post-produzione e abbiamo infine visto come importarle nel software. Proseguiamo ora il nostro percorso dando avvio alla pipeline di elaborazione vera e propria.

HOW TO: aerofotogrammetria con drone e Agisoft Photoscan. Introduzione (parte 1)

HOW TO: aerofotogrammetria con drone e Agisoft Photoscan. Il modello 3D (parte 3)

Aerofotogrammetria step 6: allineamento di immagini

Il primo step di elaborazione è l'allineamento di immagini, ovvero quell'image matching che abbiamo descritto nel precedente appuntamento. Il programma individua una serie di feature per ogni immagine, risolvendo le equazioni di collinearità: questa operazione consente di orientare le camere nello spazio individuando i punti omologhi tra le immagini. Tali punti verranno inoltre sfruttati per accoppiare le immagini tra loro. Il risultato sarà una nuvola di punti sparsa nella quale ogni punto corrisponde alle coordinate 3D dei punti di legame individuati.

Per prima cosa importiamo le fotografie (stiamo utilizzando la versione demo che non consente il salvataggio del progetto) nel nostro progetto: questo creerà automaticamente un chunk o parte di progetto. Poiché le nostre fotografie sono state scattate da un drone, ad ogni immagine vengono associati dei dati EXIF che contengono informazioni di latitudine e longitudine. Queste informazioni vengono riconosciute dal software che infatti nello spazio modello visualizzerà una serie di punti: ad ogni punto è naturalmente associata un'immagine.

Affinché queste informazioni, oltre che presenti, siano anche visibili, dovrete verificare che sia attiva l'icona camera (indicata dalla freccia rossa), che nella versione italiana corrisponde al comando Mostra Immagini:

Aerofotogrammetria da drone e Agisoft Photoscan: importazione immagini

Quelli che vedete nello spazio modello sono soltanto le posizioni stimate delle camere: Photoscan ancora non sa come sono orientate queste camere, compito che appartiene al comando Menù --> Processi --> Allinea foto.

Attivando questo comando, si aprirà un pannello con le impostazioni di elaborazione: questa fase è la base di ogni progetto, bisognerà indicare i corretti parametri senza appesantire troppo il calcolo. Vediamo le voci nel dettaglio:

  • Precisione: determina il numero di feature che verranno individuate in ogni immagine. Tanto maggiore sarà questo numero, tanto più densa sarà la nuvola di punti da cui estrarre il modello 3D. Generalmente un primo match di controllo si fa molto velocemente con l'impostazione Bassa (Low): verranno individuati qualche migliaio di punti. Con l'impostazione Media (Medium) vengono individuati tra i 15.000 e i 20.000 punti. Con l'impostazione Alta (High) possono essere individuati anche 70.000 punti e oltre (fino a 120.000 per un sensore full frame come quello di una Canon 5D Mark II). Con l'impostazione Massima (Maximum) non c'è limite alle feature individuate dal programma, che virtualmente assegna un punto ad ogni pixel, e viene limitato soltanto nelle impostazioni avanzate alla voce Limite punti chiave: 150.000 per questo valore e 25.000 per il Limite punti di vincolo sono sufficienti. Si consideri che maggiori sono i punti da allineare, più tempo ci vorrà, anche se l'effetto è quello di aumentare la qualità del modello. Ma attenzione, non sempre un numero straordinario di punti restituisce un modello effettivamente migliore: a fronte di decine di ore di calcolo in più, si potrebbero guadagnare appena pochi punti percentuali di precisione.
  • Preselezione foto georeferenziate: questa impostazione dice al software di ricordarsi che naturalmente è più probabile trovare il matching tra due camere vicine (in base a latitudine e longitudine) che non tra due camere lontane. Quindi i punti omologhi verranno cercati solo tra immagini vicine, velocizzando moltissimo l'operazione di image matching. Questa opzione non va attivata nel caso di operazioni di fotogrammetria terrestre con camere senza GPS.

Per far comprendere meglio questo processo, aggiungiamo che le immagini nelle quali ricercare i punti di vincolo vengono trattate in questo modo:

  • Highest: l'immagine è scalata con fattore di 4x in aumento (quindi è 4 volte più grande)
  • High: l'immagine è trattata alla sua scala originale
  • Medium: l'immagine è scalata con fattore di 4x in diminuzione (quindi è 4 volte più piccola)
  • Low: l'immagine è scalata con fattore di 16x in diminuzione (quindi è 16 volte più piccola)

Come vedete, a seconda del numero di pixel da analizzare aumentano le feature individuabili ma contestualmente i tempi di elaborazione. E naturalmente viceversa.

Al termine del processo, che con parametri medi dovrebbe durare pochi minuti su una workstation low-budget (nel tutorial corrente stiamo analizzando 190 immagini scattate da un DJI Spark), apparirà nel modello una nuvola di punti sparsi e adesso a ogni punto sarà associata un'immagine correttamente orientata.

Oneri computazionali

Aggiungiamo anche in questo caso due righe sul calcolo necessario a portare a termine questa operazione: come indica la stessa Agisoft, portare a termine il processo di image matching richiede un ammontare di memoria RAM dipendente dal numero di foto appartenenti al chunk. Si parla unicamente di numero di immagini, la loro dimensione come scritto prima incide soltanto sul tempo di calcolo.

Fotografie 100 200 500 1000 2000 5000 10000
RAM 500MB 1GB 2.5GB 5GB 10GB 25GB 50GB

Si può subito notare come ad un numero doppio di immagini da analizzare, corrisponda una quantità doppia di RAM da possedere nel sistema.

Ottimizzazione dell'allineamento

Prima di proseguire, lanciamo il comando Ottimizza immagini: facciamo clic con il tasto destro sul Chunk 1 --> Elabora --> Ottimizza immagini. Il perché è presto detto: Photoscan nella fase di allineamento ha ricostruito i 7 parametri affini di trasformazione lineare (3 parametri per la traslazione, 3 per la rotazione e 1 per il ridimensionamento). Non può tuttavia rimuovere la componente non lineare che spesso causa piccoli errori nel modello: queste deformazioni non lineari si possono correggere, se presenti, con questa ottimizzazione, che dura davvero pochi secondi.

Aerofotogrammetria da drone e Agisoft Photoscan: ottimizza immagini

Aerofotogrammetria da drone e Agisoft Photoscan: fase di ottimizzazione delle immagini

Clicca e acquista DJI Spark, il miglior drone "trecentino" in Italia, nell'unico store DJI ufficiale in Italia. Aiuterai questo blog

Aerofotogrammetria step 7: correzione metrica del progetto

Prima di arrivare alla generazione definitiva del modello, è conveniente introdurre una fase intermedia di avanzamento per poi tornare indietro e proseguire più speditamente.

Andiamo in Processi --> Generazione maglia 3D. Poiché il processo sarà basato su una nuvola di punti di tipo sparso ottenuta con parametri medi, la poligonalizzazione della medesima produrrà un modello in pochi secondi ma molto piatto. Questa fase a noi serve per individuare sul modello i marker: per fare questo, il colore dei poligoni non è sufficiente, pertanto attiviamo subito dopo il comando Processi --> Genera texture. Questi comandi li spiegheremo con più puntualità nei prossimi step.

Ecco che "magicamente" vediamo apparire nello spazio modello il nostro edificio, a bassa risoluzione, ma con particolari ben evidenti, ad esempio strade, finestre e altro ancora, che potremo aver misurato e preso come riferimento. Ora ruotando il modello portiamoci nei nostri punti-marker, ad esempio gli spigoli di una finestra: facciamo clic con il tasto destro e poi sul comando Aggiungi marcatore. Nello spazio modello ora appare un punto con una bandierina blu e relativa etichetta con nome.

Attiviamo il pannello inferiore Foto e noteremo che anche accanto alle immagini sono apparse delle bandierine blu e/o bianche: le bandierine blu indicano i marker visibili in foto, quelle bianche i marker presenti in foto ma nascosti.

Aerofotogrammetria da drone e Agisoft Photoscan: aggiunta marker

Ora se facciamo doppio clic su una delle immagini contenenti i marcatori con bandierina blu, la attiveremo nel riquadro principale: zoomiamo sul marcatore e selezionandolo con il mouse spostiamolo nella posizione corretta. Ripetendo questa operazione per tutte le immagini contenenti le bandierine blu (operazione lunga ma necessaria per ottenere una metrica precisa e accurata), noteremo come le bandierine e i marcatori sono diventati verdi (vd fotomontaggio sottostante). Questa è la necessaria operazione manuale che differenzia davvero un progetto di aerofotogrammetria da un progetto di Computer Vision.

Aerofotogrammetria da drone e Agisoft Photoscan: posizionamento marker

Riallineamento delle immagini

In sostanza sono stati introdotti dei punti di vincolo a cui il software si dovrà attenere: questa operazione diventa utile anche quando per un qualsiasi motivo vi fossero delle immagini non allineate all'interno del chunk. Individuando almeno 4 punti sull'immagine non allineata e individuando i medesimi 4 marker in almeno 2 immagini del dataset allineato, sarà possibile procedere a un allineamento parziale delle immagini senza matching per le quali il software utilizzerà i 4 marker individuati come punti di vincolo certi.

Allineamento di chunk o parti

I marcatori sono importanti anche per l'allineamento di chuck: abbiamo detto più volte che un progetto può essere diviso in parti. Le ragioni principali per fare ciò risiedono nella potenza del computer, che potrebbe non essere in grado di sopportare un elevato numero di immagini, oppure nell'integrazione dati, laddove ad esempio uno stesso edificio viene ripreso sia dall'alto che da terra, magari con un sensore diverso, per coprire le zone d'ombra. Anche se gli algoritmi basati su immagini lavorano per riconoscimento di punti omologhi, è bene che fonti diverse vengano trattate in maniera diversa: questo perché ogni coppia sensore+obiettivo ha una distorsione propria e una dimensione d'immagine propria, processare insieme le immagini provenienti da fonti diverse, ancorché possibile, degrada la qualità metrica del progetto. Trattando le fonti come parti diverse, ovvero chunk diversi di un stesso progetto, è possibile allinearli attraverso i marker per fondere le nuvole di punti finali, ognuna con elevata precisione metrica.

Vedremo questo passaggio alla fine del tutorial.

Bene, anche oggi siamo giunti alla conclusione di questa puntata. Abbiamo visto come caricare le immagini, allinearle, ottimizzarle e inserire i marcatori che ci saranno utili per la correzione metrica del nostro progetto.

Nel prossimo appuntamento vedremo come scalare il modello, generare la nuvola di punti densa e partendo da questa generare i prodotti derivati, a cominciare dalla mesh 3D texturizzata.

Ricorda che lavoriamo al fianco dei professionisti per collaborare con loro nella perfetta riuscita dei loro progetti: se sei alle prime armi, vuoi migliorare la resa dei tuoi elaborati o semplicemente sfruttare la nostra conoscenza nel campo per i tuoi progetti, non esitare a contattarci con il form sottostante.

Contattaci

  1. Tua email (richiesto)
  2. Oggetto
  3. Tuo messaggio
  4. Autorizzo al trattamento dei dati contenuti nel presente modulo, inclusi quelli personali D.Lgs. 196/2003, per le finalità descritte, in accordo alla Privacy Policy che dichiaro di aver letto* (richiesto)

* Required

Nessuno dei dati inseriti nel form e inviati verrà conservato sul server o all'interno di questa piattaforma.

[wpgdprc "By using this form you agree with the handling of your data by this website."]

Posted by Archeo Staff

Siamo specializzati nel campo dell'archeologia, della fotografia digitale, della topografia, del laser scanner e operatori CRO autorizzati ENAC per lavorare con i droni.

1 comment

interessante e pratico

Lascia un commento

4 × 1 =

This site uses Akismet to reduce spam. Learn how your comment data is processed.