说说单应性矩阵(homography)在拼接全景图中的应用

单应性矩阵为一3x3矩阵,描述了射影几何中平面到平面的映射关系,其自由度为8,由九个元素组成,通常令最后一个元素为1或者使其F范数为1,该矩阵可将无穷远点投射于有限处,即空间中平行线在图像上相交于有限处。

若最后一行为 ,则不能将无穷远点投射于有限处,称为仿射变换(Affine),自由度为6,如下:

此外还有4自由度的相似变换和3自由度的等距变换.。


理论上要求用于拼接的图片拍摄时其相机光心需要重合。

全景图拼接示意图

通常用于拼接全景图的照片都是拍摄的大场景,可以近似认为其拍摄相机光心重合,若各照片拍摄时光心偏离越大拼接效果就会越差。

获取匹配点对过程略。

图像对之间的运动假设只存在三维旋转,则变换为:

其中为相机内参数矩阵,为旋转矩阵,为变换矩阵。若已知内参数矩阵,使用umeyama绝对定向方法只需要两个匹配点对即可估计出变换矩阵。下面的代码展示了由两组匹配点对在相机坐标系下的齐次坐标,计算三维旋转的过程。

该方法即是根据相机纯旋转情况下拍摄的图片来估计旋转的方法。如果既有旋转又有平移量,则应该使用本质矩阵(Essential matrix)来估计运动,但是如果空间中的点分布在一个平面上的话,需使用单应性矩阵来求取旋转和平移。


opencv中全景图的处理方法

opencv中的stitching module的H估计过程是,使用findHomography获取变换矩阵作为初值进行光束平差。其中findHomography使用RANSAC与四个匹配点对最小二乘搭配求解,获取初值后再进行全局重投影优化获取最终的变换矩阵系列。


 

Welcome to donate

Back to homepage