Modello Fish-Eye Camera

Volendo generalizzare il concetto di camera pin-hole si possono introdurre piu classi di modelli camera. Ricordo che le camere reali non sono mai camere ideali che si adattano perfettamente ad un determinato modelli di ottica. Esistono pertanto vari modelli base che cercano più o meno di approssimare l'equazione della lente a cui sopra vanno comunque aggiunti vari termini distorsivi.

In particolare le ottiche fish-eye sono lenti dove la distorsione barilotto è dominante e questo permette di ottenere, a parità di lunghezza focale, angoli di vista molto elevati, fino a 180 gradi o superiori.

Sia pertanto $\vartheta$ l'angolo incidente del raggio ottico del punto camera $(x,y,z)$ rispetto all'asse ottico $(0,0,1)$. Questo angolo vale $\vartheta = \arctan r_i$ che si ottiene da

\begin{displaymath}
r_i = \sqrt{x_1^2 + y_1^2} = \frac{\sqrt{x^2 + y^2}}{z}
\end{displaymath} (8.73)

dove infatti $x_1 = x / z$ e $y_1 = y / z$. Attenzione che vale l'uguaglianza
\begin{displaymath}
\vartheta = \arctan \frac{\sqrt{x^2 + y^2}}{z} = \arccos \frac{z}{\sqrt{x^2 + y^2 + z^2}}
\end{displaymath} (8.74)

L'idea è quella di considerare tutti i modelli camera come manipolazione dell'angolo incidente $\vartheta$ in un angolo $\vartheta'$ o spesso viene definita una trasformazione $r(\vartheta) = f \vartheta'$ che trasforma l'angolo del raggio incidente in un raggio in pixel.

Le varie lenti fish-eye seguono equazioni leggermente differenti tra loro, tra le quali è possibile segnalare tra i modelli ideali (pertanto senza distorsione)

Il modello pin-hole si può vedere come caso particolare in quanto il rapporto tra l'angolo incidente di luce $\vartheta$ e la coordinate del pixel segue la regola $r = f \tan \vartheta$.

Avendo assorbito in $r$ anche la focale (perciò è un raggio in pixel), le equazioni sopra permettono di trasformare l'angolo di luce incidente sull'ottica in un raggio proiettato sul sensore:

\begin{displaymath}
u = \frac{x}{\sqrt{x^2+y^2}} r + u_0 \qquad v = \frac{y}{\sqrt{x^2+y^2}} r + v_0
\end{displaymath} (8.75)

siccome l'angolo di fase rimane costante tra raggio incidente e raggio proiettato in assenza di distorsione tangenziale.

La classe di modelli ideali sopra non tiene conto di eventuali non linearità dell'ottica. Il modello di Kannala-Brandt (KHB09) generalizza queste equazioni, parametrizzando una generica lente fish-eye nel termine $r(\vartheta)$ usando la classica espansione in serie di Taylor che permette di inglobare sia i diversi modelli di lente presentati che eventuali distorsioni introdotte dell'ottica.

Ricordo che anche nelle camere fish-eye i raggi ottici passano tutti per lo stesso punto (pertanto i raggi passano tutti sempre per un pin-hole) ma tutte le equazioni che si possono scrivere (e se ne vedranno diverse nel prossimo capitolo) in forma lineare sfruttando le coordinate omogenee con un modello fish-eye di quelli qua elencati, non si possono più usare e bisogna passare ad equazioni non lineari anche in coordinate omogenee.

Paolo medici
2025-10-02