在多视几何中,我们要面对以下这些问题:
(1)2D单应 给定中点集
和同在
中的对应的点集
,计算把每个点
映射到对应点
的射影变换。实际中, 和
是在两幅图像中的点。
(2)3D到2D的摄像机投影 给定3D空间的点集以及在一幅图像上对应的点集
,求把
映射到
的3D到2D的射影映射。这种3D到2D的投影是有射影摄像机来实现的映射。
(3)基本矩阵的计算 给定一幅图像上的点集和另一幅图像上的点集
,计算与这些对应一致的基本矩阵F。
(4)三焦点张量计算 给定跨三幅图像的点对应的集合,计算三焦点张量。
以上的问题之间的解决具有相关,解决一个问题,可以推测其他问题的解决。
1、直接线性变换算法(DLT)
给定2D到2D的四组点对应确定H,由方程
给出。
需要注意的是,这里涉及到齐次向量的方程,因此和
不一定是相等,因为可能存在一个非零因子,但是因为方向相同,则其叉乘为零,所以可以得到下面等式:
矩阵H的第j行记为,那么
记,则叉乘的结果如下:
因为在j=1,2,3时,都成立,因此对上式整理可得:
(3-1)
上面公式形如,其中
为3x9的矩阵(
是1x3的),h是有矩阵H的元素组成的9维向量。
(3-2)
可以得到以下三点内容:
(1)矩阵的元素是已知点的坐标的二次多项式;
(2)在式(3-1)中,第三行可以有第一行和第二行组合得到(乘第一行加
乘第二行),因此仅有两个是线性独立的。因此每组点对应两个方程。
(3-3)
(3)该方程组对点的任何齐次坐标
成立。我们可以取
,此时
是图像中实际测量的坐标。
基本DLT算法如下:
目标
给定组2D到2D点对应,确定2D单应矩阵H使得x_{i}^{'}=Hx_{i}。
算法
(1)根据每组对应由式(3-1)计算矩阵;
(2)把n个2x9的矩阵组合成一个2nx9的矩阵A;
(3)求A的SVG,对应于最小特征值的单位特征向量便是解h;
(4)矩阵H由h按式(3-2)确定。