• Non ci sono risultati.

La prospettiva introduce una distorsione nelle foto: linee che nella realtà sono parallele, nelle foto sono incidenti. Questo complica il calcolo delle coordinate dei punti visibili nelle foto rispetto alla fotocamera, introducendo una non linearità nella misura delle distanze. Infatti, se la relazione tra coordinate immagine e coordinate nel sistema di riferimento world fosse lineare, sarebbe possibile ricavare la distanza in metri applicando la formula

𝑑𝑚𝑒𝑡𝑟𝑖: 𝑑𝑝𝑖𝑥𝑒𝑙 = 𝑑𝑝𝑚𝑒𝑡𝑟𝑖:𝑑𝑝𝑝𝑖𝑥𝑒𝑙 Dove

• 𝑑𝑚𝑒𝑡𝑟𝑖 è l‘incognita e rappresenta la distanza in metri di un punto 𝑝𝑥

appartenente al piano rispetto alla fotocamera • 𝑑𝑝𝑖𝑥𝑒𝑙 è la posizione di 𝑝𝑥 (lungo l’asse 𝑥 o 𝑦) in pixel

• 𝑝 è un punto del piano di cui è nota la posizione, sia in metri che in pixel.

Per risolvere il problema della triangolazione utilizzando una sola immagine, è necessario ricavare una relazione tra le due coordinate che tenga conto della

32

non linearità introdotta dalla prospettiva. Per ricavare le coordinate lungo l’asse x e lungo l’asse y sono stati seguiti due approcci differenti: per la coordinata x è stato sfruttato il punto di fuoco dell’immagine, per la coordinata y sono stati presi in considerazione dei punti a distanza nota dalla fotocamera.

La procedura per ricavare le coordinate si divide in due fasi principali: • Calibrazione

• Calcolo delle coordinate

Durante la fase di calibrazione vengono calcolati tutti i parametri necessari per il calcolo effettivo delle coordinate.

CALIBRAZIONE

Nel metodo utilizzato la calibrazione viene effettuata una tantum per ricavare i parametri caratteristici del sistema:

• Punto di fuoco: punto in cui si intersecano linee tra loro parallele e appartenenti allo stesso piano;

• Relazione tra distanza in pixel e distanza in metri a una profondità fissa dalla fotocamera;

• Funzione 𝑓 non lineare, utilizzata per il calcolo della coordinata z.

I parametri ricavati durante la calibrazione dipendono dall’inclinazione e dall’altezza della fotocamera, quindi la procedura di calibrazione verrà effettuata ad altezza e inclinazione fissate. Indichiamo con 𝑑0 la profondità rispetto alla fotocamera dei primi punti visibili nella foto e appartenenti al piano. Altezza e inclinazione della fotocamera hanno effetto sulle dimensioni del piano visto nelle foto:

• un incremento dell’altezza provoca un aumento di 𝑑0 e sono visibili punti più lontani

dalla camera

• un aumento dell’inclinazione della fotocamera (ossia se la fotocamera è inclinata verso il terreno) provoca una diminuzione di 𝑑0 e sono visibili i punti più vicini alla

33

Altezza e inclinazione dipendono esclusivamente dalle esigenze dell’utente: se si è interessati a ottenere misure su punti più vicini alla fotocamera, è necessario inclinare la camera verso il piano o diminuire l’altezza. Per la fotocamera in uso la configurazione scelta è

ℎ = 1𝑚

𝛽 = 0°

Dopo aver posizionato la fotocamera nella configurazione scelta, si definisce il punto

zero nell’immagine: scelto in un punto frontale rispetto alla fotocamera e a distanza 𝑑0.

Il punto zero ha coordinate [0, ℎ, 𝑑0], espresse rispetto al sistema di riferimento solidale

alla fotocamera (vedi Figura 21 e Figura 22).

34

Figura 22 Posizione del punto zero nel piano XZ

35

Per il calcolo della coordinata x è necessario ricavare il punto di fuoco dell’immagine e un coefficiente 𝑐, che esprime una relazione tra distanza in pixel e distanza in metri. Il punto di fuoco dell’immagine è il punto nell’immagine in cui si intersecano rette tra loro parallele e appartenenti allo stesso piano. Il punto di fuoco viene ricavato manualmente tramite la selezione nell’immagine di punti con le caratteristiche date. Successivamente vengono calcolate le rette passanti per tali punti e si ricava il punto in cui queste si intersecano, ossia il punto di fuoco, con coordinate immagine [𝑝𝑓𝑥, 𝑝𝑓𝑦]. Nella Figura 24

sono messi in evidenza i punti appartenenti allo stesso piano e usati per ricavare il punto di fuoco dell’immagine e il punto di fuoco.

Figura 24 Punto di fuoco dell'immagine

Il coefficiente 𝑐 esprime una relazione tra la distanza in pixel e la distanza in metri lungo l’asse x a una distanza fissa dalla fotocamera. Per ricavarlo si considerano due punti sul piano a profondità 𝑑0 rispetto alla fotocamera e si misura la distanza in metri 𝑑𝑚𝑒𝑡𝑟𝑖

36

Nella foto si considerano gli stessi punti e si misura la distanza in pixel 𝑑𝑝𝑖𝑥𝑒𝑙 lungo l’asse

x. Il coefficiente 𝑐 è dato dalla formula

𝑐 =𝑑𝑚𝑒𝑡𝑟𝑖 𝑑𝑝𝑖𝑥𝑒𝑙

Nella Figura 25 sono messi in evidenza i punti selezionati per ricavare il coefficiente 𝑐.

Figura 25 Punti di riferimento per il calcolo di c

Per quanto riguarda la misura della coordinata z, è necessario ricavare la funzione non lineare 𝑓 e i coefficienti 𝑎 e 𝑏 della retta passante per 𝑧𝑒𝑟𝑜 e 𝑝𝑓. Se l’immagine è centrata, il punto 𝑝𝑓 sarà in una zona centrale dell’immagine e 𝑧𝑒𝑟𝑜𝑦 ≅ 𝑝𝑓𝑦. Nella foto,

la retta ricavata sarà circa parallela all’asse y e verrà utilizzata per avere informazioni sulla profondità dei punti rispetto alla fotocamera, calcolata con la relazione

37

Dove 𝑝𝑦 rappresenta la coordinata y nell’immagine di un qualsiasi punto appartenente

al piano. La profondità dei punti può essere ricavata sfruttando il fatto che punti che distano una profondità 𝑑 dalla camera hanno la stessa coordinata immagine 𝑦.

Per il calcolo di 𝑓(𝑦) è quindi possibile considerare dei punti in una posizione nota rispetto alla camera e ricavare 𝑓(𝑦) =(𝑎∙𝑝𝑑𝑧

𝑦+𝑏) per ogni punto considerato. La funzione

può essere approssimata con una esponenziale, come riportato nella Figura 27.

Nei punti più vicini alla fotocamera l’esponenziale non approssima bene i dati. Per risolvere il problema, è stato effettuato un campionamento più ravvicinato e i punti sono stati approssimati con una spline.

38

Figura 27 Andamento approssimato con esponenziale e con spline della funzione f

Documenti correlati