• Non ci sono risultati.

Errore L'origine riferimento non è stata trovata.

CALIBRAZIONE DEL SISTEMA STEREOSCOPICO

La fase di calibrazione è di fondamentale importanza: dall’accuratezza con la quale viene svolta dipende la precisione delle misure ricavate. Tramite la calibrazione si ricavano i parametri intrinseci ed estrinseci del sistema [6]. I parametri intrinseci riguardano le caratteristiche ottiche e geometriche interne delle fotocamere. I parametri estrinseci descrivono la geometria complessiva del sistema stereoscopico, in particolare posizione e orientazione delle fotocamere espresse in un sistema di riferimento world. I parametri intrinseci sono:

• distanza focale 𝑓;

• (𝑢0, 𝑣0) coordinate del punto principale 𝐶, espresse nel sistema di riferimento

solidale alle immagini;

• origine del sistema di riferimento solidale alle foto, generalmente posizionato nell’angolo in alto a sinistra dell’immagine;

• 𝛾 = 𝑥 ∙ 𝑐𝑜𝑡𝑔(𝜃), con 𝜃 angolo compreso tra 𝑥 e 𝑦. Se i pixel sono rettangolari, 𝜃 = 90° e 𝛾 = 0.

53 𝐴 = [ 𝑥 𝛾 𝑢0 0 𝑦 𝑣0 0 0 1 ] I parametri estrinseci: • matrice di rotazione 𝑅 • vettore di traslazione 𝑡

• posizione relativa tra le due fotocamere.

I parametri estrinseci consentono di passare dal sistema di riferimento world al sistema di riferimento solidale a una delle due fotocamere. Dalla calibrazione si ricava per ogni fotocamera una matrice 3x4, detta matrice di proiezione 𝑃

𝑃𝑖 = 𝐴𝑖[𝑅 𝑡], con i = L, R

La matrice è tale che:

𝑠𝑚̃𝑖 = 𝑃𝑖𝑀̃

con 𝑠 scale factor, 𝑚̃ e 𝑀̃ le coordinate omogenee di 𝑚 e 𝑀 rispettivamente.

Per la calibrazione delle camere, viene usato un set di punti di cui è perfettamente nota la posizione. Generalmente viene usato un pattern a scacchiera di cui sono note le dimensioni.

54

Per calibrare il sistema stereoscopico, è utile il Toolbox Stereo Camera Calibrator di Matlab che, oltre a fornire parametri intrinseci ed estrinseci, calcola la distorsione delle lenti. Il Toolbox implementa la tecnica di calibrazione proposta in [5]. Per la calibrazione è necessario scattare tra le 10 e le 20 coppie di foto al pattern, facendo i n modo che questo sia completamente visibile in tutte le immagini. Affinché i risultati ottenuti siano accettabili, è necessario variare l’inclinazione del pattern tra una coppia di foto e la successiva e concentrare la calibrazione nella distanza di interesse dalle fotocamere. RETTIFICAZIONE DELLE IMMAGINI

Consideriamo un sistema stereo

Figura 35 Sistema stereoscopico

Il punto 𝑃 è proiettato su entrambi i piani immagine nei punti 𝑝 e 𝑝′, che costituiscono

una coppia coniugata. Dato il punto 𝑝 nell’immagine sinistra, il suo coniugato nell’immagine destra giace su una linea chiamata linea epipolare. Tutte le linee epipolari di un piano immagine passano in un punto chiamato epipolo (𝑒 e 𝑒′), proiezione del

centro ottico dell’altra fotocamera. Se il centro ottico 𝑂′ appartiene al piano focale della camera destra, 𝑒′ è all’infinito e tutte le linee epipolari del piano immagine destro sono

tra loro parallele. Se questa condizione si verifica anche per la camera destra, allora le linee epipolari di entrambe le foto sono tra loro parallele e i coniugati giacciono sulla stessa linea epipolare. L’obiettivo della rettificazione è far sì che entrambi gli epipoli giacciano all’infinito.

55

La rettificazione è un processo di elaborazione delle immagini che consente di eliminare la distorsione delle lenti e determina una trasformazione dei due piani immagine. In seguito alla rettificazione, le linee epipolari saranno tra loro collineari e parallele a uno degli assi del sistema di riferimento solidale alla foto (in genere quello orizzontale). CORRISPONDENZA STEREO

Il problema della corrispondenza stereo è il seguente: dato un punto 𝑃 della scena, proiettato nel punto 𝑝𝑙 nell’immagine sinistra, qual è il suo coniugato 𝑝𝑟 nell’immagine

scattata con la fotocamera destra? Risolvere il problema della corrispondenza stereo è di fondamentale importanza nel caso in cui si vogliano ricavare delle informazioni di posizione dalle immagini. Ipotizziamo che le due immagini siano rettificate, in questo modo 𝑝𝑙 e 𝑝𝑟 hanno la stessa coordinata lungo l’asse y del sistema di riferimento solidale

all’immagine e la ricerca dei coniugati è effettuata solo lungo la direzione x.

Si definisce disparità la distanza in pixel dei coniugati lungo l’asse x o y, dipendentemente dalla configurazione scelta per le fotocamere. Ipotizziamo che le fotocamere siano poste alla stessa altezza da terra allora, per il punto 𝑃 la disparità è data dalla formula

𝑑 = 𝑝𝑙𝑥− 𝑝𝑟𝑥 ≥ 0. Si indichi con

• 𝐷 la profondità del punto considerato; • 𝑏 la baseline;

• 𝑓 la distanza focale della fotocamera.

È possibile calcolare la disparità come

𝑑 = 𝑏𝑓

𝐷

La disparità dipende dalla distanza del punto considerato dalla camera e dalla baseline. A causa della dipendenza della disparità dalla profondità, è possibile effettuare delle misure più precise per punti vicini alla camera. La baseline invece va scelta in modo opportuno in base al range di distanze che si prevede di misurare: ampie baseline sono consigliate per misurare punti a distanza elevata dalla fotocamera.

56

L’obiettivo degli algoritmi di stereo-corrispondenza è calcolare una funzione 𝑑(𝑥, 𝑦), detta mappa di disparità. La mappa di disparità può essere visualizzata come un’immagine in scala di grigi, in cui gli oggetti più vicini alla fotocamera sono più chiari rispetto a quelli più lontani.

Gli algoritmi che risolvono il problema della corrispondenza stereo tramite il calcolo della disparità seguono i seguenti passaggi [7]:

• calcolo di una funzione costo 𝑐(𝑑);

• aggregazione della funzione costo: si effettua la somma o la media della funzione 𝑐(𝑑) all’interno di una regione di supporto, in genere una finestra rettangolare. Questo passaggio è presente solo negli algoritmi locali;

• ottimizzazione della funzione per il calcolo della disparità; • refinement della disparità trovata.

Gli algoritmi si differenziano in locali e globali. Gli algoritmi locali si concentrano principalmente nel calcolo di 𝑐(𝑑) e nell’operazione di aggregazione di 𝑐(𝑑). Uno dei difetti degli algoritmi locali sta nel fatto che l’unicità del match è garantita solo nell’immagine di riferimento, non è detto che a un punto della seconda immagine corrisponda un singolo punto nell’immagine di riferimento.

Gli algoritmi globali si concentrano principalmente nel calcolo della disparità, l’obiettivo è calcolare la funzione di disparità 𝑑 che rende minima l’energia globale 𝐸(𝑑).

Consideriamo gli algoritmi locali [8]. Definiti:

• 𝐼𝑙 e 𝐼𝑟 intensità dei pixel nell’immagine sinistra e destra rispettivamente

• (2𝑊 + 1) × (2𝑊 + 1) la dimensione della finestra 𝑓

• 𝑅(𝑝𝑙) la regione di ricerca nell’immagine destra, associata al pixel 𝑝𝑙 dell’immagine

sinistra

Per ogni pixel 𝑝𝑙 = (𝑖, 𝑗):

• per ogni punto con disparità 𝑑 = (𝑑1, 𝑑2) ∈ 𝑅(𝑝𝑙), viene calcolata la funzione costo

𝑐(𝑑). Ipotizzando che la coppia di immagini sia rettificata, la disparità può essere valutata solo lungo l’asse 𝑥. La funzione può avere diverse espressioni

57

𝑐(𝑥, 𝑦, 𝑑) = ∑|𝐼𝑙(𝑥, 𝑦) − 𝐼𝑟(𝑥 + 𝑑, 𝑦)| 𝑥∈𝑓

𝑐(𝑥, 𝑦, 𝑑) = ∑(𝐼𝑙(𝑥, 𝑦) − 𝐼𝑟(𝑥 + 𝑑, 𝑦))2 𝑥∈𝑓

La dimensione della finestra influisce sulla precisione della mappa di disparità calcolata, in generale si ottengono misure più precise se la finestra è piccola.

• la disparità di 𝑝𝑙 è il vettore 𝑑̅ = (𝑑̅1, 𝑑̅2) che minimizza 𝑐(𝑑) nella regione 𝑅(𝑝𝑟)

𝑑̅ = 𝑎𝑟𝑔 min

𝑑∈𝑅(𝑝𝑟)

[𝑐(𝑥, 𝑦, 𝑑)]

Gli algoritmi globali forniscono risultati migliori rispetto a quelli locali nel caso in cui siano presenti delle regioni che rendono difficoltoso risolvere il problema della corrispondenza stereo (es. occlusioni). Negli algoritmi globali si fa l’ipotesi di

smoothness, che equivale a dire che gli unici punti della mappa di disparità in cui sono

presenti delle discontinuità sono i bordi degli oggetti presenti sulla scena. Molti degli algoritmi globali, sono basati sulla minimizzazione dell’energia globale [6]

𝐸(𝑑) = 𝐸𝑑𝑎𝑡𝑎(𝑑) + 𝜆𝐸𝑠𝑚𝑜𝑜𝑡ℎ(𝑑) in cui

• 𝐸𝑑𝑎𝑡𝑎(𝑑) è una misura della congruenza della funzione 𝑑 con la coppia di immagini

• 𝐸𝑠𝑚𝑜𝑜𝑡ℎ(𝑑) codifica l’ipotesi di smoothness.

Gli algoritmi globali si suddividono in due categorie: una è basata sulla programmazione dinamica, mentre l’altra comprende gli algoritmi cooperativi. Gli algoritmi basati sulla programmazione dinamica minimizzano il costo per ogni coppia di corrispondenti lungo la linea in cui viene effettuata la ricerca (detta scanline). L’ipotesi fatta è che l’ordine relativo dei pixel lungo la scanline resti invariato nelle due immagini . Le occlusioni parziali vengono elaborate assegnando a un gruppo di pixel in un’immagine un singolo pixel nell’altra immagine. Gli algoritmi cooperativi effettuano delle operazioni locali, usando funzioni non lineari. Per alcuni di questi algoritmi è possibile una funzione globale che è stata minimizzata. A differenza degli algoritmi locali, quelli globali hanno un costo computazionale maggiore.

58

Se la stereoscopia è utilizzata per scopi quali la navigazione dei robot o l’inseguimento di persone, allora non è necessario effettuare ulteriori calcoli. Se invece l’obiettivo è ricavare una ricostruzione 3D di un certo oggetto, allora sarà necessario effettuare ulteriori operazioni per passare da una disparità quantizzata a una disparità dell’ordine dei sub-pixel.

59

BIBLIOGRAFIA

[1] Sandipann P Narote, Pradnya N Bhujbal, Abbhilasha S Narote, and Dhiraj M Dhane, “A review of recent advances in lane detection and departure warning system”. Pattern Recognition, vol. 73, pp. 216–234, 2018.

[2] Gupta, S., and Mazumdar, “S. Sobel edge detection algorithm”. International Journal of Computer Science and Management Research 2 (2013), 1578—1583.

[3] https://it.wikipedia.org/wiki/Algoritmo_di_Canny

[4] A. B. Hillel, R. Lerner, D. Levi, G. Raz, "Recent progress in road and lane detection: A survey". Mach. Vis. Appl., vol. 25, no. 3, pp. 727-745, 2014.

[5] Zhang, Z., “A flexible new technique for camera calibration”. IEEE TPAMI, 22(11):1330–1334, 2000.

[6] Hartley, R. and Zisserman, A., “Multiple view geometry in computer vision”. Cambridge University Press: Cambridge, UK, 2000.

[7] Scharstein, D., & Szeliski, R., “A taxonomy and evaluation of dense two-frame stereo correspondence algorithms”. International Journal of Computer Vision, 47(1–3), 7–42, 2002.

[8] S. Mattoccia “Stereo Vision: Algorithms and Applications”. www.vision.deis.unibo.it/smatt 2013. [9] Droeschel, David and Sven Behnke, “Efficient Continuous-time SLAM for 3D Lidar-based Online Mapping.” 2018.

Documenti correlati