四、双目匹配

四、双目匹配

当相机内、外参数及畸变参数确定后,就可以对两个相机采集的图像进行畸变校正和立体校正,从而去除光学畸变带来的影响,并将同一组图像变为标准形式,使左、右两图片只在x方向有差异,然后就可以生成视差图。

在生成视差图前,还需知道三维空间的点在左、右图像上的对应关系,这就需要用到立体匹配技术。

1.基本约束条件

立体匹配技术是生成视差图的一个重要环节,科研人员已经提出了很多实用的算法,这些算法应用了很多基本约束条件,其目的是有效降低立体匹配的难度,提高立体匹配的速度和精度。常用的约束条件如下:

(1)极线约束。极线约束是最常用的约束条件,描述的是当同一个物点投影到两个相机的成像平面上时,像点、成像平面、光心在投影模型下形成的约束。极线约束如 图6-37所示,O1O2为基线,基线与两个像平面的交点分别为e1和e2,平面O1O2P为极平面,极平面与左像平面和右像平面的交线P1e1、P2e2称为极线。如果已知三维空间的物点P(位置未知)在左像平面上的像点P1(已知),那么点P在右像平面上的像点必然在极平面与右像平面的交线P2e2上,这就是极线约束。使用极线约束就可以让图像的搜索范围由二维下降至一维,大大降低了搜索的复杂度,并提高了匹配的精度。

(2)相似性约束。相似性约束是指在进行立体匹配时,点、线、块等元素一定具有的相同或相似的属性。

图6-37 极线约束

(3)唯一性约束。对于待匹配图像,在原图像中至多对应一个点,即一幅图像上的每个点只能与另一幅图像上的唯一一个点一一对应,这样,图像上的点至多有一个视差值。

(4)左右一致性约束。若左图像上的一点P,其在右图像上的对应点为点Q,则右图像上的点Q在左图像上的对应点应该是点P。如果这两点不一一对应,则匹配就不会满足唯一性条件,说明匹配失败。

在进行立体匹配时,运用基本约束条件对匹配结果进行检验,可以有效排除很多误匹配的点,缩小搜索范围,降低立体匹配计算的复杂度,提高立体匹配的速度和精度,从而获得最好的匹配效果。

2.双目匹配方法

双目匹配主要可分为局部和非局部的算法,一般有匹配误差计算、误差集成、视差图计算/优化、视差图矫正等步骤。

(1)局部算法,一般使用固定大小或者非固定大小窗口,计算与参考像点同在一行的最优匹配位置。图6-38所示为最简单的局部算法,求目标图片中同一行最佳对应点位置,左右视图x坐标位置差异为视差图。为了应对无人机飞行时噪声和光照的影响,可以使用固定窗口进行匹配。另外,采用最大视差可以限制最大搜索范围,也可以使用积分图和Box Filter进行加速计算。局部算法易于并行化,计算速度快,但是对于纹理较少的区域效果不佳,一般对图像分割,可将图像分为纹理丰富和纹理稀疏的区域,调整匹配窗口大小,纹理。稀疏使用小窗口,来提高匹配效果。

图6-38 局部匹配算法

(2)非局部算法是将计算视差的任务看作最小化一个确定的基于全部双目匹配对的损失函数,求该损失函数的最小值即可得到最佳的视差关系,着重解决图像中不确定区域的匹配问题,主要有动态规划、信任传播、图割算法,目前效果最好的是图割算法。

得到匹配点之后,一般通过左、右视线一致性的方式,检测和确定具有高置信度的匹配点。这样可以找出因为遮挡、噪声、误匹配而得到的点。