摘要:针对当前 Census 变换立体匹配算法深度不连续区域匹配精度低的缺陷,提出了一种新颖的自适应权重的Census 变换立体匹配算法。在 Census 变换阶段计算变换窗口中心点上下左右四个像素的均值,得到中心点与该均值的差的绝对值,通过判断该绝对值的大小来确定中心点灰度值;为了有区别地对待窗口内各像素点,引入自适应权重,通过线性分段型函数计算自适应权值。在代价聚合阶段同样引入自适应权重并采用变化的聚合窗口,通过聚
合窗口中心点和其左右两点的梯度值来确定聚合窗口的大小。实验结果表明,算法的匹配效果优于目前的Census变换立体匹配算法,在深度不连续区域匹配效果显著改善,而且没有明显降低实时性和增加硬件实现的难度。
立体匹配算法的相似度测量往往依赖于图像像素的灰度值。Zabin 等提出的 Census变换立体匹配算法由于包含了窗口内像素点的信息,增加了一定的鲁棒性,但降低了深度不连续区域像素点的匹配效果。Yoon 等提出的自适应权重立体匹配算法,图像边缘像素点的匹配效果显著改善,但该算法复杂度大,不利于硬件实现。为了改善上述局限性,本文在 Census算法上引入自适应权重;在代价聚合阶段同样引入自适应权重并采用变化的聚合窗口,通过聚合窗口中心点和其左右两点的梯度值来确定聚合窗口的大小,增强深度不连续区域匹配效果。为了不显著增加算法复杂度和硬件实现的难度,提出了线性分段计算自适应权重的方法。实验结果表明,本文算法得到的视差图比传统 Census算法得到的视差图效果好,深度不连续区域匹配效果明显提高。
传统 Census 算法的局限性:
1)传统的 Census变换过度依赖变换窗口中心点,一旦中心点受到外界因素的干扰,Census变换码会发生显著的变化,导致误匹配,降低匹配精度。
2)传统 Census变换使得窗口中心点包含了窗口内其他点的强度变化信息,当窗口中心点处在深度连续区域,由连续性假设可知,窗口内其他点与中心点处于相似深度,色度差异小,即窗口内所有点为“有用点”;当窗口中心点处在深度不连续区域时,窗口内的某些点与中心点处在不同的深度,色度差异大,即这些点为“无用点”。当某中心点变换窗口包含越多“有用点”时,该点的匹配精度越高;反之,该点容易发生误匹配。并且“无用点”和“有用点”对 Census 变化码的贡献相同。表明传统 Census 算法在深度不连续区域误匹
配率较高。
3)在代价聚合阶段,传统Census算法在深度不连续区域与连续区域采用同样大小的聚合窗口。在深度连续区域由于深度相同或者相似的点较多,聚合窗口应选择较大,可以包含更多“有用点”的匹配代价,提高匹配精度。但是在深度不连续区域如果采用同样大小的窗口,该聚合窗口中会包含较多“无用点”的匹配代价,且这些“无用点”与“有用点”的匹配代价在总聚合代价中所占得权重是相同的,降低了该区域的匹配精度。
改进的 Census 变换:
在不显著增加运算复杂度的基础上,本文结合中心点最接近的上下左右四点的强度变化信息,利用十字均值确定中心像素点的灰度值。定义如下:
式中 Ta为设定的阈值。当阈值 Ta选择较小值时,若中心点像素实际没发生突变却误判为突变,由于阈值较小,均值与中心像素点的差别不明显,对 Census 变化码的影响小;当阈值选择较大值时,若中心点像素实际发生突变却误判为没有突变,该情形对 Census变化码的影响大,会影响匹配精度,所以应选择较小的阈值。通过对多幅图像的相邻点的分析及在不同阈值下的 Census变化的仿真得出阈值 Ta的合适区间为[15,25],本文算法选择阈值为 18。
本文在 Census 变换过程中引入自适应权重,并对传统自适应权重的计算做出改进。由于进行 Census变化时采用相对较小的窗口,窗口内的点与中心点的距离都较为接近,所以接近性原则对各权值分配的影响较小,为了降低算法的复杂度,仅仅通过颜色相似性来确定聚类强度,初始权值定义如下:
初始权值定义中的聚类强度函数为指数型,增加了算法的复杂度和硬件实现的难度。在尽量不影响权值分配的前提下降低计算权重的复杂度,本文提出了线性分段函数计算自适应权重。
本文根据最小均方根误差准则采用线性分段函数逼近原指数函数。先用原指数函数首尾相连而成的一段直线来逼近原指数函数,计算出 1 段线性分段函数与原函数的均方根误差,找出原指数函数与该直线误差最大的点作为再次分段的间断点。利用该间断点将原指数函数分成 2 段线性分段函数,计算其均方根误差,且分别找到 2 段线性分段函数各自段中与原函数误差最大的两个间断点,从而得到 4段线性分段函数,以此类推,可以不断进行线性分段以逼近原指数函数直到均方根误差趋于稳定。
本文通过 7 段线性函数逼近原指数函数,对 Census变换窗口内的点进行权值分配,实现了与中心点颜色相近的点分配较大的权值,在 Census 变化码中占较大比重;反之,与中心点颜色差异较大的点分配较小权值,在Census 变化码中占较小比重。
分别将左右图像进行 Census变换后,需要计算匹配代价并且将其聚合,得到初始视差图。本文采用差绝对值和(SAD)作为相似性测度计算匹配代价,定义如下:
在代价聚合阶段,为了使聚合窗口内包含较少的“无用点”,提出了基于临近点梯度判断法来确定聚合窗口的大小。为了降低算法的复杂度,本文临近点梯度定义如下: