基于区域灰度的双目视觉映射适应性匹配
2020-03-15黄政
黄政
(四川大学计算机学院,成都 610065)
0 引言
在当今很多应用场景中,平面像素信息特征往往难以满足系统功能实现的需要。更多的研究人员把信息描述记录向三维拓宽,在三维重建中,有许多方法基于视觉理论,结合图像处理技术,用各类数字传感器获取物体的三维信息[1]。现如今有不少三维重建技术,结合各类理论方法,计算实现立体视觉模型的建立。
立体视觉作为空间物体三维重建的一种方法,三维重建包括主动视觉和被动视觉[1]。传感器相关技术实现的主动视觉除外,被动视觉中从相机数目上分为,单目视觉、双目视觉和多目视觉法;根据匹配方法原理上,又分为基于区域的匹配、基于特征描述的匹配和基于规则代价估计的匹配方法等。SLAM技术也是立体视觉在一定条件情形下的发展较广阔的应用场景。
单目视觉中,单视点的单幅图像重建法,由于如今神经网络技术的发展,通过二维特征信息(包括纹理、明暗度等信息)和周围像素点信息之间的关联性,也能在大部分的情境下能做出预测推断[2]。单目视觉中的多幅图可以通过对相机自标定,来满足大规模的场景需求,但仍对源图像信息的要求较大,同时匹配重建开销较大[3]。
双目视觉法则是通过对极几何把问题转化为三角测算问题上来,之后的三目视觉法,多目视觉法则是对于双目视觉匹配中的差异性问题放大来看和极线矫正中边缘畸变较大等问题做进一步改进修正。
在各类被动视觉体系中,基本包括基于特征点和特征区域的匹配,然后通过一定的规约完善策略来实现全局的最优匹配结果。对于特征点匹配来说,匹配效率较高,同时对于部分没有细致纹理特征分布的区域来说需要通过拟合来实现深度预测,而对于区域来匹配的方法来说,则计算量往往较为庞大,在视差范围内的区域均可作为候选区域。
对于各类匹配策略来看,如基于区域相似度匹配的方法,基于特征描述的匹配方法等,存在局部区域描述为非映射适应性的差异。本文的重心在于双目视觉法系统中的匹配方法,给出有效的方法算法,来逐步减小各对应区域描述信息之间的差异,提高匹配率,同时,提升深度点云的细密度。
1 算法
1.1 相机的标定和校准
在双目视觉体系中,较为重要的一个理论就是把对极几何应用到场景中去。因而,在双目视觉场景中把极线约束规约到左右视图中的过程也是十分必要的。首先需要对左右视点相机做标定和校准。
首先,呈像平面到相机坐标系的关联,可从图1中表述。
图1 呈像平面到相机坐标系
而相机内部的参数,往往由生产相机厂商在一定容差下产生的微小误差,以及结合相机的焦距来实现计算估计的εx,εy。式(1)为呈像平面坐标到相机坐标的关系:
同时,单独每个相机坐标系关联世界坐标的关系又可以通过旋转矩阵R和平移矩阵T来实现。R为3×3的旋转矩阵,T为3维向量的平移矩阵。则相机坐标(xc,yc,zc)与世界坐标系(Xw,Yw,Zw)的关系即可由式(2)得出:
由于相机透镜的结构特征,或多或少的会在呈像过程中引入成像畸变,仍然需要对相机的畸变影响做一定的校正。又由于透镜中心是中心对称的,所以在这里考虑一级和二级的径向畸变k1(x2+y2)+k2(x2+y2)2,结合(1)式,可得到式(3)。通过对多组棋盘图源数据的角点提取迭代计算误差后,最小二乘法计算径向畸变系数,能对相机进行畸变的矫正,以减少实验过程中的偏差[4]。最后将从成像像素坐标到世界坐标的映射关系参数进行优化,最小化参数值[4]。通过该流程对双目视觉系统中的两个视点相机进行标定和校准,若两相机相对位置有所固定,稍有不同的就是在标定过程中可以通过同一空间位置不同视点的角点提取来计算两相机的相对Rltor,Tltor向量。这也是在极线矫正中可以用到的。
1.2 极线矫正
在经过相机的初步标定和校准过后,需要把双目视觉的左右源图矫正成同一方向的视图,从而使用对极几何中的理论,提供更多的信息以便匹配过程的使用。如图2,在极线约束条件下,Pl,Pr,Er,El共面,Pl与Pr分别为世界坐标下P点在左右相机的成像点。即只需在另一面视图找到源点对应的极线,在其上搜索匹配点。
图2 双目视觉系统
常见的双目视觉中相机光轴往往存在一定角度,通常将相机视图中的极线校正为平行以便处理,即对左右视图均做一定的单应变换。这里采用Bouguet算法[5]作为极线矫正算法。这是一种使得投影次数最少,重叠面积比最大(或信息可用率最大)的求解方式。过程1,1,1中的左右相机标定中,双目相机的相对位置Rltor,Tltor参数即可在此处使用。校正后的图像具备以下两个特征:
(1)对应的点的垂直坐标一致,这里即可保证在搜索区域或特征描述子的中心位置的点所在对应极线上的中心位置一致;
(2)由于左右相机的焦距有所差异,所以左右校正后图像存在一定尺度差异。
对于1特征中的信息,即校正后图像保证的信息是纵坐标一致,而坐标的差异用以计算深度信息,这即是本文引言中提及的类如特征区域方法和特征描述子方法中存在的由于物体表面深度信息差异带来的非映射适应性解决方案,不少学者对其进行了一定程度的仿射变换修正,但和实物区域的曲面分布仍存在一定误差[6-8]。对于2特征中的问题,不少论文结合尺度金字塔的建立对左右相机视图做了一定尺度适应性处理[9]或在匹配过程中使用ASIFT诸类方法来实现。
1.3 基于特征区域的匹配
基于特征区域的匹配也可以叫做基于灰度信息的匹配,是较为常用的匹配方法,原理基本是通过对图像特征进行分析,计算获取一定参数,然后对两图区域块进行相似度的计算匹配,优化以达到最优。该方法由粗匹配到细匹配的过程到对区域进行块分割,再到应对旋转不变性,仿射不变性的区域灰度信息匹配。如图3所示,当把左图作为初始图时,左图中一点P(xl,yl)在右图作为待匹配图中在视差d(一定视差范围内)找到对应匹配点(xr,yr),在极线校正后的图中,可以确定左图中区域框上下边对应点仍然在右图区域框上下边对应极线上(不考虑极线矫正误差)。初步的匹配过程中可以假设区域里的像素信息映射到左右视图是对应的,利用m*n的区域和b的步长来计算。
图3 基于区域灰度的左右极线矫正后图的匹配
本文使用的是零均值归一化互相关ZNCC算法,因为其对光照条件具有一定的鲁棒性。式(4)位ZNCC算法相关度计算公式。当ZNCC取值范围为[-1,1],极值点表示匹配度越佳。通过改进的二次曲面拟合亚像素匹配[10],可以计算左图(xl,yl)中心位置映射相关的右图区域中心位置(xr,yr)。
其中L,R分别为左右图对应位置上的像素信息。
亚像素的匹配拟合计算得到的结果,如图4所示。
图4 亚像素匹配的区域视差信息(每个区域内对应的位置d+△d)
在第一次匹配完成后,记录每个左图初始图计算获得的ZNCC相关度极值和浮点精度视差d(xl,yl),并以此建立初步的深度信息图(三维深度点云图),当匹配完成后,可以根据左右视图横坐标的差异利用三角几何计算深度距离Zc,在点云图的基础上进行过滤,平滑曲面,得到局部连续的三维曲面,同时可以确定左视图中连续的图割区域。同时得到进一步视差映射关系[xr,yr]=[F(xl,yl)l,G(xl,yl)l],其中关系F,G因深度图像存在前后景差异使得映射不连续。因而考虑一定邻域连续区域分段进行映射适应性曲面拟合计算Jacobi函数(即以映射前左图的区域矩形为标准,需要矩形内的点映射到连续曲面上)。其中Jacobi函数为式(5)。
之后改进ZNCC相关度计算公式为式(6)重新计算相似度,重复上述过程,在亚像素的精度上继续计算区域块d视差精度上的细密视差差异,直到到达迭代次数。
2 对比与分析
在双目视觉的极线矫正系统中,由于部分图像的纹理信息较为疏散,导致物体表面对应位置的匹配综合各类误差效果,不能得到很好的效果。对于基于区域灰度的匹配策略和特征的匹配策略,往往选定的区域框选和特征描述子,在左右视图中的映射关系由物体曲面特征关系,并不呈现放射变换,或在基于特征的匹配过程中,连续曲面的分布表达没有有效地运用起来。通过加入映射适应性参数的调配,能够有效地把每次的匹配结果表述给下一次迭代过程,让物体纹理之间的深度预测分布更拟合物体曲面的纹理关系。
3 结语
本文给出了基于区域匹配策略的双目视觉中应对映射适应性分布曲面拟合方法,该算法对于实际预测物体的分布更真实的调用了真实物体纹理区域的信息,具有一定的理论意义和实际意义。