具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面对本发明实施方式作进一步地详细描述。
为了解决传统局部立体匹配方法在匹配过程中所出现的误匹配率较高的问题,本发明实施例提供了一种基于双权重聚合的立体匹配方法,参见图1,详见下文描述:
101:对左右两幅图像进行矫正预处理;
102:预处理后,选取左图作为参考图,右图为目标图(参考图与目标图的概念是相对的,选择一方为参考图,另一方即为目标图),做匹配之时以参考图为基准,在目标图上进行对应点的匹配搜索;
103:对参考图、目标图分别提取各自RGB三个通道的亮度信息并运用截断绝对亮度差值方法获得每个参考像素点的亮度匹配代价,同时对参考图,目标图分别提取各自RGB三个通道的水平、竖直方向梯度信息并运用截断绝对梯度差值方法获得每个参考像素点的梯度匹配代价;
其中,n代表图像R、G、B三个通道;记(x,y)为参考图上的任意一像素点P,(x+d,y)为与点P待匹配的目标图上的像素点P';即x、y分别为P点的列坐标(第x列)、行坐标(第y行);d为视差搜索值,即P'与P的列坐标差值;IRn(x,y)为P点的RGB通道的像素值,ITn(x+d,y)为P'点的RGB通道的像素值;表示取x方向的梯度值,表示取y方向的梯度值;分别代表参考图上P点RGB通道的水平、竖直方向梯度;分别代表目标图上P'点RGB通道的水平、竖直方向梯度;TD、TG是截断阈值。TD=25,TG=20。eD(x,y,d)代表参考像素点P在视差搜索值为d时的亮度匹配代价,eG(x,y,d)代表参考像素点P在视差搜索值为d时的梯度匹配代价。
104:类比双边滤波特性,采用指数函数结合对数函数的方法对每个参考像素点的亮度匹配代价和梯度匹配代价设置相应的亮度聚合权重和梯度聚合权重,然后分别进行权重匹配代价聚合获得每个参考像素点的总亮度匹配代价和总梯度匹配代价,将总亮度匹配代价和总梯度匹配代价赋以相应的权重组成视差空间;
为了提高匹配精度,采用一定的权重匹配代价方法进行聚合。
其中,为参考像素点P在视差搜索值为d时的总聚合匹配代价又称视差空间,为点P在视差搜索值为d时的总亮度匹配代价,简称为TAD聚合匹配代价;为点P在视差搜索值为d时的总梯度匹配代价,简称为TAG聚合匹配代价;λ为总亮度匹配代价在总匹配代价中占的权重,(1-λ)为总梯度匹配代价在总匹配代价中占的权重,本发明中λ取为0.6;s、t分别为参考图像的宽度、高度;α、β为权重平滑因子,α=3.5,β=2.5。Wix、Wjy分别代表点P的TAD聚合的横向、纵向权重,Tix、Tjy分别为点P的TAG合的横向、纵向权重,b为对数权重函数的底数,b=10。
记点(i,j)为(参考图上)点Pnb,即i、j分别为Pnb点的列坐标(第i列)、行坐标(第j行)。Pnb(遍历整个参考图上的像素点包括P点)为P的任意一个邻近点;eD(i,j,d)代表参考像素点Pnb在视差搜索值为d时的亮度匹配代价,eG(i,j,d)代表点Pnb在视差搜索值为d时的梯度匹配代价;k为坐标变量,k的变化范围已在Wix、Wjy、Tix、Tjy各自表达式中给出;IRn(x,k)为参考图像素点(x,k)的RGB通道的像素值,ITn(x,k-1)为目标图像素点(x,k-1)的RGB通道的像素值,IRn(k,y)为参考图像素点(k,y)的RGB通道的像素值,ITn(k-1,y)为目标图像素点(k-1,y)的RGB通道的像素值,代表参考图像素点(k,y)的RGB通道的水平方向梯度,代表目标图像素点(k-1,y)的RGB通道的水平方向梯度,代表参考图像素点(x,k)的RGB通道的水平方向梯度,代表目标图像素点(x,k-1)的RGB通道的水平方向梯度。
聚合权重的设置类比双边滤波的原则,即与参考像素亮度越相近的像素,TAD聚合代价权重Wix、Wjy设置的越大;与参考像素梯度值越相近的像素,TAG聚合代价权重Tix、Tjy设置的越大,因此采用指数函数结合对数函数的方法设计聚合权重。
将两种不同聚合匹配代价的权值分开来考虑,即TAD匹配代价的聚合权重依赖于亮度信息的差异,TAG匹配代价的聚合权重依赖于梯度信息的差异,这样的聚合权重设置更能反映不同权值对不同匹配代价的影响,且权重的设置使用RGB三个通道的信息,较使用单一通道信息更为可靠。
105:对视差空间求取最小值得到参考图的初始视差图;
视差值的计算采用WTA(Winner Takes All)策略,即为
其中,D为参考图的初始视差图,D(x,y)为参考像素点(x,y)即P点的初始视差值,S(d)={dmin,1,2...,dmax}为视差搜索范围,dmin、dmax分别代表最小、最大的视差搜索值。
106:选取右图为参考图,左图为目标图,重复步骤103-105;最终得到以左图为参考图的左图初始视差图记作Drl,得到以右图为参考图的右图初始视差图记作Dlr。
107:对左右初始视差图进行一致性校验,剔除视差异常值点,得到一幅较为精确的左图视差图;
即在得到初始视差图后,利用左右一致性检测方法检测视差异常值点,不满足下式的P点(x,y)即为视差异常值点。
|Drl(x,y)-Dlr(x-Drl(x,y),y)|<1
式中Drl是以左图为参考图得到的左图初始视差图,Dlr是以右图为参考图得到的右图初始视差图。根据视差值的定义可知左图上的点(x,y)对应右图上的匹配点为(x-Drl(x,y),y),故通过对左右视差图进行一致性校验,可以将初始匹配中的错误视差值剔除。
108:对视差空间采用双曲线联合抛物线方法平滑获得精度更高的亚像素级别的视差图;在初始视差图中,每个像素点对应的视差值均为离散的整数,将这些离散值直接用于三维重建会导致重建场景表面出现断层,因此,必须对每个像素点视差空间进行平滑,以得到连续变化的视差值。
将记为Cd、记为Cd-1、记为Cd+1。传统视差优化方法假设在(d,Cd)附近的视差过渡呈现抛物线特性,因此利用抛物线函数进行视差平滑。而事实上,在(d,Cd)附近视差过渡特性并不只呈现某个单一曲线规律,为此,本发明提出了一种新的平滑函数,在采用抛物线平滑视差空间的同时,采用下式所示的双曲线函数对视差空间进行平滑。
k1,k2,k3∈R,R为实数且k1>0,k2>0
f(z)为双曲线的函数表达式即z为自变量,f(z)为因变量,用以平滑视差空间。
将点(d-1,Cd-1)、(d,Cd)、(d+1,Cd+1)带入上式中,可得到方程组:
根据双曲线函数的性质可知:f(d)在处取得极小值。由上式可解得:
d1 *为采用双曲线平滑视差空间得到的优化视差值
同时采用抛物线对视差空间进行平滑
g(z)=t1z2+t2z+t3,t1,t2,t3∈R,R为实数且t1>0,t2<0
g(z)为抛物线函数表达式即z为自变量,g(z)为因变量,用以平滑视差空间。
将点(d-1,Cd-1)、(d,Cd)、(d+1,Cd+1)带入上式中,可得到方程组:
根据抛物线函数的性质可知:g(d)在处取得极小值。由上式可解得:
d2 *为采用抛物线平滑视差空间得到的优化视差值,最终优化后的视差值为d*。
d*=0.5*(d1 *+d2 *)
下面以具体的试验来验证本方法的可行性,详见下文描述:
试验结果均为本方法在CPU为Intel i3-3110M,2.4GHz,内存为4G的笔记本电脑上运行所得,操作系统为Windows7,仿真软件为32位Matlab R2013a。试验采用的图对‘Cones’为标准测试图来源于http://vision.middlebury.edu/stereo/data/,试验采用的图对‘animal’为(实际操作)采用双PTZ相机(一种可以进行左右旋转以及上下旋转的相机)拍摄得到的。图对‘Cones’、‘animal’主要试验参数设定为{λ,TD,TG,α,β}={0.6,25,50,3.5,2.5}。从图2可以看出,对于标准测试图‘Cones’,本方法在视差不连续处(如圆锥体边界附近)误匹配点明显少于传统局部立体匹配方法,且在低纹理处获得较好的匹配效果,整体视差图效果较好。从图3可以看出,对于实际拍得的图‘animal’,本方法在背景地图处、前景动物与背景地图边界交接位置处误匹配点明显少于传统局部立体匹配方法,整体视差图效果较好。
本领域技术人员可以理解附图只是一个优选实施例的示意图,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。