图像形成(5)球面透视投影和近似相机模型
球面透视投影
我们在博文图像形成(3)理想相机模型中描述的透视针孔相机模型考虑平面成像表面。 另一种常用的成像表面是球体,如图1所示。

球面透视投影模型:三维点 p p p的像是穿过光学中心 o o o的光线与光学中心周围的半径为 r r r的球体的交点处的点 x x x。 通常 r r r被选为 1 1 1。
这种选择的部分原因是生物系统中经常遇到的视网膜形状。 对于球面投影,我们简单地选择成像表面为单位球面 S 2 = { p ∈ R 3 ∣ ∣ ∣ X ( p ) ∣ ∣ = 1 } \mathbb{S}^2=\{p\in \mathbb{R}^3| ||X(p)||=1\} S2={p∈R3∣∣∣X(p)∣∣=1}。 然后,球面投影被定义为由 R 3 \mathbb{R}^3 R3到 S 2 \mathbb{S}^2 S2的映射 π s \pi_s πs:
π s : R 3 → S 2 ; X ↦ x = X ∣ ∣ X ∣ ∣ \pi_s:\mathbb{R}^3 \rightarrow \mathbb{S}^2;X \mapsto x=\frac{X}{||X||} πs:R3→S2;X↦x=∣∣X∣∣X
与平面透视投影的情况一样,点的像素坐标与其3D度量对应点之间的关系可表示为
λ x ′ = K Π 0 X = K Π 0 g X 0 \lambda x^\prime = K\Pi_0X=K\Pi_0gX_0 λx′=KΠ0X=KΠ0gX0
其中,在球面投影的情况下,尺度由 λ = X 2 + Y 2 + Z 2 \lambda=\sqrt{X^2+Y^2+Z^2} λ=X2+Y2+Z2给出,而在平面投影的情况下, λ = Z \lambda=Z λ=Z。 因此,在数学上,球形投影和平面投影可以用同一组方程来描述。 唯一的区别是未知(深度)尺度 λ \lambda λ采用不同的值。
为方便起见,我们经常为两个(齐次)向量 x x x和 y y y写 x ∼ y x\sim y x∼y,二者相差一个等价标量因子。 所以我们看到我们有任何透视投影
x ′ ∼ Π X 0 = K Π 0 g X 0 x^\prime \sim \Pi X_0=K\Pi_0gX_0 x′∼ΠX0=KΠ0gX0
并且所选择的成像表面的形状无关紧要。 成像表面可以是任何(规则)表面,只要任一光线 o p ⃗ \vec{op} op中最多在一个点处与表面相交。 例如,可以使用整类椭圆体表面,这导致在许多全向相机中流行的所谓的折反射模型(catadioptric model)。 原则上,由此获得的所有图像包含完全相同的信息。
近似相机模型
透视投影模型最常用的近似是所谓的正交投影。

正交相机模型。图像来源于网络。
正交模型中的光线沿平行于光轴的线行进。 在这种情况下,图像点和3D点之间的关系特别简单: x = X , y = Y x=X,y=Y x=X,y=Y。 所以“正交相机的几何模型“可表示为:
[ x y ] = [ 1 0 0 0 1 0 ] [ X Y Z ] \begin{bmatrix}x\\y\end{bmatrix}=\begin{bmatrix}1&0&0\\0&1&0\end{bmatrix}\begin{bmatrix}X\\Y\\Z\end{bmatrix} [xy]=[100100]⎣⎡XYZ⎦⎤
或者只是以矩阵形式
x = Π 1 X {\rm x}=\Pi_1 \rm X x=Π1X
其中 Π 1 = [ I 2 × 2 , 0 ] ∈ R 2 × 3 \Pi_1=[I_{2\times 2},0]\in \mathbb{R}^{2\times 3} Π1=[I2×2,0]∈R2×3
当观察点之间的深度变化远小于点与图像平面的距离时,正投影是透视投影的良好近似。 在所观察的点位于与图像平面平行的平面上的情况下,点的图像基本上是原始的缩放版本。 这种缩放可以明确地结合到正交投影模型中,从而导致所谓的弱透视模型。 在这种情况下,图像点和三维点之间的关系是:
x = f X Z ˉ , y = f Y Z ˉ x=f\frac{X}{\bar Z},y=f\frac{Y}{\bar Z} x=fZˉX,y=fZˉY
其中 Z ˉ \bar Z Zˉ是相机观察点的平均距离。 该模型适用于所有点位于前额平行平面中然后缩放因子对应于平面距原点的距离的情况。 也就是缩放因子 s = f Z ˉ s=\frac{f}{\bar Z} s=Zˉf。我们可以将弱透视相机模型(比例正交)表达为:
[ x y ] = s [ 1 0 0 0 1 0 ] [ X Y Z ] \begin{bmatrix}x\\y\end{bmatrix}=s\begin{bmatrix}1&0&0\\0&1&0\end{bmatrix}\begin{bmatrix}X\\Y\\Z\end{bmatrix} [xy]=s[100100]⎣⎡XYZ⎦⎤
或者只是以矩阵形式
x = s Π 1 X {\rm x}=s\Pi_1{\rm X} x=sΠ1X
这些近似投影模型通常会导致简化和高效的算法,用于估计相机的未知结构和位移,尤其适用于满足模型假设的应用。