Modello Fish-Eye Camera

Generalizzando il concetto di camera pin-hole è possibile introdurre diverse classi di modelli di camera. È importante ricordare che le camere reali non sono mai ideali: nessun sistema ottico reale aderisce perfettamente a un singolo modello di proiezione. Per questo motivo esistono vari modelli di base che approssimano l'equazione della lente, ai quali devono comunque essere aggiunti opportuni termini di distorsione.

Le ottiche fish-eye rappresentano un caso particolare in cui la distorsione a barilotto è dominante; ciò consente, a parità di lunghezza focale, di ottenere angoli di vista estremamente ampi, fino a $180^\circ$ o anche 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} (9.79)

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} (9.80)

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$.

Assorbendo la focale in $r$ (che diventa quindi un raggio espresso direttamente in pixel), le equazioni precedenti permettono di proiettare un raggio ottico sul piano immagine tramite:

\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} (9.81)

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.

È utile ricordare che anche nelle camere fish-eye tutti i raggi ottici convergono in un unico centro di proiezione (esiste quindi ancora un pin-hole). Tuttavia, tutte le equazioni che in un modello pin-hole sono esprimibili in forma lineare tramite coordinate omogenee non risultano più lineari nei modelli fish-eye. Ne consegue che, anche lavorando con coordinate omogenee, è necessario ricorrere a formulazioni non lineari, come verrà discusso nel capitolo successivo.

Paolo medici
2026-10-06