目录
0 写在前面
如图所示是生活中常见的透视现象,其物理本质是光的直线传播。透视也可描述为“近大远小”,如图(a)所示,其对应透视空间;若物体大小不随观察点的远近改变,如图(b)所示,则其对应欧式空间。由于人眼与相机在捕获图像时均存在透视现象,因此计算机几何基于透视空间进行研究。
1 透视空间
为直观起见,先描述二维透视空间,其原理可直接推广至三维空间。如下左图是一个二维欧式平面 R 2 \mathbb{R}^2 R
2
,现在引入二维透视坐标 P 2 \mathbb{P}^2 P
2
,透视坐标将欧式空间的维度扩展到三维,第三维度 w ~ \tilde{w}
w
~
表示物体与观察点的距离,约定以 w = 1 w=1 w=1为参考平面。
根据光沿直线传播的原理,从透视坐标系原点引出一条视线 l ~ \boldsymbol{\tilde{l}}
l
~
穿过欧式平面的点 A A A。不妨上下平移欧式平面,调整点 A A A与观察点的距离。欧式空间中的不同点 A A A、 A ′ A' A
′
在透视空间中是相同的,因为 l ~ \boldsymbol{\tilde{l}}
l
~
是同一个点在不同观察距离下的表现集合,透视空间中用直线(视线) l ~ \boldsymbol{\tilde{l}}
l
~
表示欧式空间的点。
现在保持欧式空间中的点相同,再次调整观察距离,如下图所示。观察距离越远视线越发散、信息越局部;观察距离越近视线越收敛,信息越全局——此现象可以用投影仪工作场景来说明。
定义透视空间的视线
l ~ = ( x , y , w ) \boldsymbol{\tilde{l}}=\left( x,y,w \right)
l
~
=(x,y,w)
当 w ≠ 0 w\ne 0 w
=0时, l ~ \boldsymbol{\tilde{l}}
l
~
对应欧式空间中的点 L ( x w , y w ) L\left( \frac{x}{w},\frac{y}{w} \right) L(
w
x
,
w
y
), l ~ \boldsymbol{\tilde{l}}
l
~
也称为点 L L L的齐次坐标(Homogeneous Coordinates),当 w = 0 w=0 w=0时, l ~ \boldsymbol{\tilde{l}}
l
~
对应欧式空间中的向量 L ⃗ = ( x , y ) \vec{L}=\left( x,y \right)
L
=(x,y), w = 0 w=0 w=0也体现了其在齐次变换中的平移不变性
透视空间中点与向量的运算
{ V ± V = V P ± V = P P − P = V P + P = M i d P ( P : P o i n t V : V e c t o r M i d : 中点 )
⎧⎩⎨⎪⎪⎪⎪V±V=VP±V=PP−P=VP+P=MidP
{V±V=VP±V=PP−P=VP+P=MidP
\left( P:Point\,\, V:Vector\,\, Mid:\text{中点} \right)
⎩
⎪
⎪
⎪
⎨
⎪
⎪
⎪
⎧
V±V=V
P±V=P
P−P=V
P+P=MidP
(P:PointV:VectorMid:中点)
齐次坐标具有如下性质:
同质性。齐次坐标的几何本质,透视空间中齐次坐标是同一点在不同观察距离下的表现形式
线性。齐次坐标下,可将对应维度欧式空间的变换线性化。例如二维欧式平面中点的平移属于非线性变换,但二维透视空间中可通过线性旋转完成欧式空间中非线性的平移,如下图。
与用透视空间的直线表示欧式空间的点类似,透视空间中用视平面表示欧式空间的直线——由于法向量唯一确定平面,因此也用该平面的法向量 l ~ \boldsymbol{\tilde{l}}
l
~
表示欧式空间的直线。
由解析几何易得,透视空间中的直线和点满足下面关系:
{ l ~ 1 × l ~ 2 = x ~ x ~ 1 × x ~ 2 = l ~
{l~1×l~2=x~x~1×x~2=l~
{l~1×l~2=x~x~1×x~2=l~
{
l
~
1
×
l
~
2
=
x
~
x
~
1
×
x
~
2
=
l
~
若透视空间中的视线在视平面上(对应欧式空间中点在直线上),则易知
l ~ T x ~ = x ~ T l ~ = 0 \boldsymbol{\tilde{l}}^T\boldsymbol{\tilde{x}}=\boldsymbol{\tilde{x}}^T\boldsymbol{\tilde{l}}=0
l
~
T
x
~
=
x
~
T
l
~
=0
2 透视变换
透视空间变换总体形式如图所示,具体而言列于表中。透视变换表征了平面间(平面上点)的映射关系。
可见透视空间所有变换都是投影变换的特例,因此研究投影变换具有重要意义,其广泛用于图像校正、视角变换、图像拼接、增强现实等方面,如下图所示。
🚀 计算机视觉基础教程说明
🔥 更多精彩专栏: