单应性

维基百科,自由的百科全书
跳转至: 导航搜索

单应性是几何中的一个概念。单应性是一个从实射影平面到射影平面的可逆变换,直线在该变换下仍映射为直线。具有相同意义的词还包括直射变换射影变换射影性等,[1] 不过“直射变换”也在更广义的范围内使用。

形式化地说,射影变换是一种在射影几何中使用的变换:它是一对透视投影的组合。它描述了当观察者视角改变时,被观察物体的感知位置会发生何种变化。射影变换并不保持大小和角度,但会保持重合关系和交比——两个在射影几何中很重要的性质。射影变换形成了一个[1]

对于更广义的射影空间——具有不同维度或不同的——来说,“单应性”代表射影线性变换(由其相关的向量空间的线性变换导出的可逆变换),而“直射变换”(意为“把直线映射为直线”)更为广义,它既包含了单应性,也包含了自同构直射变换(由域自同构导出的直射变换),或者是这两者的组合。

计算机视觉中的应用[编辑]

计算机视觉领域中,空间中同一平面的任意两幅图像通过单应性关联在一起(假定是针孔相机)。比如,一个物体可以通过旋转相机镜头获取两张不同的照片(这两张照片的内容不一定要完全对应,部分对应即可),我们可以把单应性设为一个二维矩阵M,那么照片1乘以M就是照片2. 这有着很多实际应用,比如图像校正图像对齐或两幅图像之间的相机运动计算(旋转和平移)等。一旦旋转和平移从所估计的单应性矩阵中提取出来,那么该信息将可被用来导航或是把3D物体模型插入到图像或视频中,使其可根据正确的透视来渲染,并且成为原始场景的一部分(请见增强现实)。

如果两幅图像之间的相机运动只有旋转而没有平移,那么这两幅图像通过单应性关联在一起(假定是针孔相机)。

3D的平面到平面公式[编辑]

我们有两个相机a和b,这两个相机都向某平面中的点P_i看去。

P_i的投影从b中的{}^bp_i转换到a中的点{}^ap_i


{}^ap_i = K_a \cdot H_{ba} \cdot K_b^{-1} \cdot {}^bp_i

其中H_{ba}

H_{ba} = R - \frac{t n^T}{d}

R旋转矩阵,通过该矩阵b关于a旋转;t是从a到b的平移向量;nd分别是平面的法向量和到平面的距离。

KaKb是相机的内参数矩阵。

Homography-transl-bold.svg

此图显示相机b在距离d处看向平面。

提示:从上图中可知,n^T P_i是向量P_in^T的投影,且等于d。因此\frac{t n^T}{d} P_i = t。而且我们有H_{ba} P_i = R P_i - t

数学定义[编辑]

齐次坐标以矩阵乘的方式来表示射影变换,因为使用笛卡儿坐标的话,矩阵乘无法执行透视射影所必需的除法运算。换句话说,透视射影在笛卡儿坐标下不是线性变换

给定:

p_a = \begin{bmatrix} x_a\\y_a\\1\end{bmatrix}, p^\prime_b = \begin{bmatrix} w^{\prime}x_b\\w^{\prime}y_{b}\\w^{\prime}\end{bmatrix}, \mathbf{H}_{ab} = \begin{bmatrix} h_{11}&h_{12}&h_{13}\\h_{21}&h_{22}&h_{23}\\h_{31}&h_{32}&h_{33} \end{bmatrix}

则:

p^\prime_b = \mathbf{H}_{ab}p_a \,

其中:

\mathbf{H}_{ba} = \mathbf{H}_{ab}^{-1}.

也即:

p_b = p^\prime_b/w^\prime = \begin{bmatrix} x_b\\y_b\\ 1\end{bmatrix}

仿射单应性[编辑]

当要计算单应性的图像区域比较小,或者图像要求焦距较长时,仿射单应性是更合适的模型。仿射单应性是广义单应性中的一种,它的最后一行固定为

h_{31}=h_{32}=0, \; h_{33}=1.

参见[编辑]

参考文献[编辑]

  1. ^ 1.0 1.1 Richard Hartley and Andrew Zisserman. Multiple View Geometry in computer vision. Cambridge University Press. 2003: 32–33. ISBN 0-521-54051-8. 

外部链接[编辑]