In questo articolo si parla di fotogrammetria con Photoscan e della calibrazione delle immagini prima del loro allineamento.
La terza parte di questa serie a cura dell’Ing. Paolo Rossi, sulla fotogrammetria moderna e sul software Agisoft Photoscan, affronta l’ultimo passaggio preliminare prima dell’allineamento delle immagini: la loro calibrazione.
Trovi il primo articolo a questo link.
Ed il secondo a questo.
LA CALIBRAZIONE DELLE IMMAGINI
Prima di procedere con l’allineamento delle immagini è necessario impostare la calibrazione.
Si tratta di un processo trasversale che inizia con il settaggio di alcuni parametri e termina, dopo l’ottimizzazione degli allineamenti, con l’analisi dei risultati ottenuti.
Dopo una breve introduzione sulla calibrazione delle immagini, passiamo nel dettaglio a PhotoScan per vedere come interagire con il software.
PERCHÈ CALIBRARE
La calibrazione è una fase molto importante quando le fotografie sono usate con per ricostruzioni 3D con finalità metrica: permette infatti di calcolare i parametri di calibrazione interna della fotocamera e le distorsioni che le lenti provocano sull’immagine.
La fotogrammetria classica (i voli aerofotogrammetrici con gli aeroplani) utilizza fotocamere metriche e sensori GNSS ed IMU.
Le camere metriche hanno certificati di calibrazione che attestano distorsioni e parametri interni.
Sono molto costose, per cui vanno evitati vibrazioni e urti!
Con lo sviluppo di applicazioni terrestri, da UAV e con la fotogrammetria basata su algoritmi Structure from Motion, la direzione operativa è orientata verso attrezzature più economiche: reflex, compatte, mirrorless, action cameras.
Tuttavia l’esigenza di definire i parametri interni della fotocamera e le distorsioni delle immagini è rimasta e si può risolvere attraverso la procedura di calibrazione.
TIPI DI CALIBRAZIONE
E’ possibile seguire diversi approcci alla calibrazione delle immagini:
Pre-calibrazione: si fa con oggetti di dimensioni note o check boards bi-tridimensionali.
Ciò permette di calcolare parametri e distorsioni.
La calibrazione si fa di solito in ufficio, prima del lavoro sul campo e quindi in condizioni ambientali diverse.
Calibrazione in loco: si effettua contestualmente al lavoro da svolgere.
Si allestisce un’area test, nelle immediate vicinanze dell’area del rilievo dove, grazie ad oggetti di dimensioni note o punti di vincolo, si stimano le caratteristiche della fotocamera.
Self-calibrazione: o auto calibrazione.
In questo caso il dataset acquisito per l’esecuzione del lavoro si usa anche per la calibrazione della fotocamera.
In applicazioni con UAV o, più in generale, che impiegano fotocamere compatte e amatoriali, mi sentirei di consigliare quest’ultimo approccio perché è più veloce, automatico ed efficace.
La self calibrazione permette infatti di ridurre i tempi sul campo: non è necessario allestire e rilevare un sito test.
Tuttavia sono necessarie misure a terra, i cosiddetti punti di vincolo, per dare contenuto metrico al prodotto e correggere le distorsioni.
La self calibrazione garantisce anche conformità tra risultati calcolati e le reali condizioni operative: le variazioni di temperatura, di pressione, le vibrazioni e il trasporto dell’attrezzatura possono infatti cambiare la configurazione interna della camera (rispetto al laboratorio o al sito test), specialmente per camere amatoriali.
LA CALIBRAZIONE DELLE IMMAGINI CON PHOTOSCAN
Photoscan supporta vari tipi di fotocamera, che calibra con opportune equazioni ed accorgimenti.
Accedi alla finestra di calibrazione delle immagini andando nella voce di menù: Tools e da qui in Camera Calibration.
Frame cameras: sono le più diffuse e vanno dalle reflex alle compatte.
Questa tipologia è settata automaticamente nel software.
Negli altri casi bisogna ricordarsi di intervenire manualmente!
Fish eye: sono le fotocamere a focale corta, con obiettivo di tipo wide (la GoPro e altre action cameras ne sono un esempio).
È necessario settare questa tipologia affinché Photoscan adotti un modello di calibrazione idoneo alle caratteristiche di questa camera.
Sferiche-Cilindriche: non mi è ancora capitato di lavorare con queste tipologie ma identificano la proiezione utilizzata (equirettangolare o cilindrica) nella restituzione di immagini panoramiche.
Farò riferimento a frame e fisheye cameras, le tipologie che conosco meglio e quelle con cui hai più probabilità di lavorare se usi UAV o camere amatoriali terrestri.
L’EXIF FILE
Le informazioni sulla fotocamera sono automaticamente estratte dal software al momento dell’upload delle immagini.
L’EXIF file dell’immagine contiene informazioni sul modello di fotocamera, dimensioni del sensore [mm] e lunghezza focale [mm].
Questi dati saranno usati per calcolare la lunghezza focale in pixel, variabile usata nei modelli di calibrazione.
Se manca l’EXIF file, o se le informazioni al suo interno non sono sufficienti, è consigliato inserire manualmente nel software i valori di focale e dimensioni del sensore.
Le trovi nel datasheet (specifiche tecniche) della fotocamera.
LA FINESTRA DI CALIBRAZIONE
Questa è la finestra della funzione camera calibration:
- L’area 1 indica il tipo di fotocamera e le informazioni lette nell’EXIF file.
- Nell’area 2 sono elencati i gruppi di fotocamere.
Se in un lavoro sono state usate più fotocamere, o la stessa con impostazioni diverse, è opportuno separarle in gruppi in modo che i modelli di calibrazione agiscano in modo differente.
Si tratta di un raggruppamento che riguarda la sola fase di calibrazione e calcolo di distorsione e parametri interni ed è diverso da quanto visto nell’import delle immagini e nella loro organizazione in cartella all’interno dello spazio di lavoro. - Nell’area 3 sono elencate le immagini di ogni gruppo.
- L’area 4 è organizzata in forma di tabella: i valori contenuti differiscono in base al gruppo di calibrazione selezionato.
Sono organizzati in tre schede: Initail, Adjusted, GPSINS offset.
La scheda Initial contiene i valori di calibrazione iniziali.
Possono essere letti automaticamente nell’EXIF file (troveremo la focal length) oppure derivati da un processo di precalibrazione e quindi inseriti dall’utente.
Si posono fissare i parametri di calibrazione di questa scheda affinché non cambino durante l’allineamento delle immagini e le successive ottimizzazioni.
Ciò è necessario quando si ritiene di avere eseguito una precalibrazione corretta ed idonea al lavoro che si sta eseguendo.
Se non viene spuntata la voce fix calibration, il software provvede al ricalcolo e all’aggiornamento dei parametri interni seguendo un approccio di self calibrazione.
Nella scheda Adjusted ci sono i parametri calcolati dopo la fase di allineamento e che saranno riaggiornati ad ogni successiva ottimizzazione dell’allineamento (approccio di self calibrazione).
Se si hanno a disposizione informazioni sulla posizione e asseto della fotocamera queste si possono inserire nella scheda GPSINS Offset.
Anche qui ci sono valori iniziali (caratterizzati da una loro accuratezza) che possono essere ricalcolati in fase di allineamento oppure mantenuti fissi.
PARAMETRI E MODELLI DI CALIBRAZIONE CON PHOTOSCAN
Ecco la lista dei parametri di calibrazione delle immagini usati dal software:
- f – lunghezza focale [pix]
- cx, cy – coordinate del punto principale [pix]
- skew – coefficiente di skew tra asse x e y [adim]
- k1, k2, k3, k4 – coefficienti di distorsione radiale [adim]
- p1, p2, p3, p4 – coefficienti di distorsione tangenziale [adim]
Il modello di calibrazione implementato in Photoscan è simile a quello di Brown: parametrico, a proiezione centrale e distorsioni non lineari.
Le equazioni differiscono se la fotocamera è di tipo frame o fisheye (all’appendice C del manuale potete trovare ulteriori informazioni).
GLI OUTPUT DELLA CALIBRAZIONE
Si possono esportare i parametri di calibrazione per salvarli, fare confronti o usarli in altri lavori (camera calibration-importexport).
Si possono anche visualizzare grafici e tabelle relative ai parametri calcolati (Camera calibration – tasto destro sul gruppo di camere – distortion plot).
Sono generati il grafico delle distorsioni calcolate sulle immagini; i residui, vettori rappresentanti gli errori di riproiezione dei pixels; la correlation table, riassume i valori calcolati con relativo errore e la correlazione tra i parametri.
Sono output che servono a valutare la bontà della calibrazione e farci decidere se essere soddisfatti o meno.
Cercando in rete ho trovato alcuni commenti che vi riporto:
residui bassi = buona calibrazione
parametri tra loro correlati generano instabilità nella calibrazione
Queste analisi sono chiaramente legate al lavoro specifico ed al prodotto desiderato.
Io, in quanto non-fotogrammeta, di solito valuto i residui sui punti di vincolo (ne parleremo dopo l’allineamento!), ma credo che tutti gli aspetti meritino di essere presi in considerazione.
Spero che anche questo articolo di Paolo Rossi sulla calibrazione delle immagini per la fotogrammetria con Photoscan possa esserti utile.
Per dubbi o domande lo spazio per i commenti qui sotto è a tua disposizione!
A presto!
Paolo Corradeghini
Qui ci sono gli articoli di questa serie pubblicati sino ad ora:
Parte 1 – Fotogrammetria con Photoscan
Parte 2 – Operazioni preliminari sulle immagini
Parte 3 – La calibrazione delle immagini
Parte 4 – L’allineamento delle immagini
Paolo Rossi, ingegnere e PhD in Ingegneria Industriale e del Territorio presso l’Ateneo di Modena e Reggio Emilia, attualmente lavora presso il Laboratorio di Geomatica del Dipartimento di Ingegneria “Enzo Ferrari”, dove si occupa di ricostruzione 3D da immagini.
Laboratorio di Geomatica
Dipartimento di ingegneria Enzo Ferrari, Università degli studi di Modena e Reggio Emilia
Via Pietro Vivarelli 10, Modena
Tel: 059 2056297
Cell: 3457054511
Email: paolo.rossi at unimore.it
Profilo Linkedin
Lasciami un commento!
Leave A Reply