基于多尺度迭代的立体匹配算法的制作方法

文档序号:13283909阅读:627来源:国知局
基于多尺度迭代的立体匹配算法的制作方法

本发明涉及计算机立体视觉领域中的立体匹配,可用于图像的三维重建,在医学图像、媒体设备等中提供指导。



背景技术:

人眼的立体感知能力虽然很强,能够很轻松的正确判断出两个物体的深度顺序,但是却无法得到其精确的距离信息。然而,使用立体匹配技术,通过精确的标定,使用合适的计算方法,在匹配正确的情况下可以得到非常精确的深度和位置等数值信息,这使得机器人的精密控制、三维模型重建等工作可以更好的完成。

立体匹配技术通过对参考图像与目标图像进行匹配处理,最终得到参考图像以及目标图像视差图,视差图中每个像素点的亮度值表示该像素点在参考图像与目标图像中的坐标之差。立体匹配算法主要分为全局算法、半全局算法以及局部算法。全局算法以及半全局算法需要对构建的能量函数进行复杂的约束,采用最优化的方式获得最终的匹配结果,算法复杂度较高。局部算法无需构建能量函数的约束项,因此计算复杂度较低,易于实时性的应用。传统的局部算法通常是基于单一尺度的匹配方式,此类算法未考虑到参考图像与目标图像在尺度空间的差异,仅在一个尺度上进行匹配,难以获得较好的匹配结果。

随着立体匹配算法于工业、生活领域内的广泛应用,高精度的匹配方式成为了当下立体视觉技术的研究的热点。近年来,立体视觉理论的不断发展为获得高精度的立体匹配提供了理论基础。



技术实现要素:

本发明针对上述问题提出一种基于多尺度迭代的立体匹配算法,首先参考图像及目标图像进行多尺度的分解,然后从尺度最大层开始对相应的参考图像及目标图像进行迭代匹配,最终获得高精度的立体匹配结果,本发明的技术方案如下:

一种基于多尺度迭代的立体匹配算法,包括下列步骤:

(1)将参考图像ir_0记为第0尺度层下的参考图像,目标图像it_0记为第0尺度层下的目标图像,然后分别对ir_0及it_0进行基于高斯滤波式的多尺度分解,得到nmax+1个不同尺度层下的参考图像ir_n以及nmax+1个不同尺度层下的目标图像it_n,其中n为尺度层编号且n∈{0,1,2,…,nmax};

(2)将当前尺度层编号n初始化为nmax,即令n=nmax;

(3)对当前尺度层参考图像ir_n以及目标图像it_n使用截断梯度匹配代价计算方式计算得到参考图像ir_n的匹配代价gr_n,然后对gr_n进行基于窗口聚合立体匹配,得到当前尺度层的参考视差图dr_n,并对dr_n进行上采样生成上采样后的参考视差图

(4)对第n-1尺度层的参考图像ir_n-1以及目标图像it_n-1使用截断梯度匹配代价计算方式计算得到参考图像ir_n-1的匹配代价gr_n-1,然后对gr_n-1进行基于窗口聚合立体匹配,得到第n-1尺度层的参考视差图dr_n-1;

(5)设第n-1尺度层的参考视差图标志位为mr_n-1,比较以及dr_n-1对应点的值,当二者的值相等时,则相应的参考视差图标志位取值为1,当二者的值不相等时,则相应的参考视差图标志位取值为0;

(6)在第n-1尺度层,根据公式cr_n-1=[gr_n-1+|dn-1-dr_n-1|]·mr_n-1计算参考图像ir_n-1的更新匹配代价cr_n-1,其中dn-1为第n-1尺度层参考图像的视差搜索值,根据全域图像权重聚合原理计算第n-1尺度层的参考图像的聚合权重wr_n-1,将cr_n-1与wr_n-1相乘后进行聚合匹配,得到最终迭代后的第n-1尺度层参考视差图

(7)判断n-1的值,若n-1=0则匹配结束,若n-1≠0则对进行上采样,并将上采样后的结果记做同时将尺度层编号n减1;

(8)重复步骤(4)-(7)直至n-1=0。

总之,本发明针对传统的基于单一尺度局部立体匹配算法存在的不足,提出一种基于多尺度迭代的立体匹配算法,依据多尺度图像的特性进行迭代匹配。本发明能够获得更为精准的立体匹配效果,有着广泛的应用前景。

附图说明

图1本发明的基于多尺度迭代的立体匹配算法流程图。

图2为传统的基于单一尺度局部立体匹配算法与本发明对标准测试图像“adirondack”进行匹配得到的对比视差图,(a)为adirondack左图,(b)为传统的单一尺度局部立体匹配算法得到的左视差图,(c)为本发明得到的为左视差图。

图3为传统的基于单一尺度局部立体匹配算法与本发明对标准测试图像“recycle”进行匹配得到的对比视差图,(a)为recycle左图,(b)为传统的单一尺度局部立体匹配算法得到的左视差图,(c)为本发明得到的为左视差图。

具体实施方式

本发明基于多尺度迭代的立体匹配算法,主要由四部分组成:参考图像与目标图像的多尺度分解、当前尺度层的立体匹配及上采样、下一尺度层的立体匹配、相邻尺度层匹配结果对比及匹配代价更新聚合。具体步骤和原理如下:

101:参考图像ir_0以及目标图像it_0的多尺度分解;

采用使用传统的基于高斯滤波式的多尺度分解对参考图像ir_0以及目标图像it_0进行多尺度分解,得到一系列不同尺度层下的参考图像ir_n以及目标图像it_n(n=0,1,2,…,nmax,n为尺度层编号,nmax为最大尺度层编号)。

其中i、j分别为中心像素点(i,j)的横、纵坐标;(u,v)为以(i,j)为中心像素点,尺寸为(2r1+1)×(2r2+1)的窗口内任意像素点,u、v分别为横、纵坐标;γ(u,v)为高斯核内像素点(u,v)的权重。

102:初始化当前尺度层编号n;

从nmax尺度层开始进行迭代匹配,将n初始化为nmax,即令n=nmax。

103:对当前尺度层(第n尺度层)参考图像ir_n以及目标图像it_n进行基于传统的窗口聚合立体匹配;

采用立体匹配技术中任意常用的截断梯度匹配代价,得到当前尺度层的参考视差图dr_n,并对dr_n进行上采样生成上采样后的参考视差图

en(i,j,dn)=min(|▽ir_n(i,j)-▽it_n(i,j-dn)|,2)

其中▽ir_n、▽it_n分别为当前尺度层(第n尺度层)参考图像的梯度、目标图像的梯度;en(i,j,dn)为当前尺度层(第n尺度层)参考图像的初始匹配代价,dn为当前尺度层(第n尺度层)参考图像的视差搜索值,dnmin、dnmax分别为相应视差搜索的最小、最大值;ω(x,y)为以(x,y)为中心像素点,尺寸为11×11的聚合窗口;fup代表上采样操作。

104:对下一尺度层(第n-1尺度层)的参考图像ir_n-1以及目标图像it_n-1进行基于传统的窗口聚合立体匹配;

采用立体匹配技术中任意常用的截断梯度匹配代价,得到第n-1尺度层的参考视差图dr_n-1:

en-1(i,j,dn-1)=min(|▽ir_n-1(i,j)-▽it_n-1(i,j-dn-1)|,2)

其中▽ir_n、▽it_n分别为第n-1尺度层参考图像的梯度、目标图像的梯度;en-1(i,j,dn-1)为第n-1尺度层参考图像的初始匹配代价,dn-1为第n-1尺度层参考图像的视差搜索值,dn-1min、dn-1max分别为相应视差搜索的最小、最大值;

105:计算第n-1尺度层的参考视差图标志位mr_n-1;

比较及dr_n-1的值,得到第n-1尺度层的参考视差图标志位mr_n-1:

106:依据权重聚合方法计算(第n-1尺度层)迭代后的第n-1尺度层参考视差图

cr_n-1(i,j,dn-1)=[min(|▽ir_n-1(i,j)-▽it_n-1(i,j-dn-1)|,2)+|dn-1-dr_n-1(i,j)|]·mr_n-1(i,j)

其中cr_n-1为利用截断梯度匹配代价以及dr_n-1、mr_n-1组成新的(第n-1尺度层)参考图像匹配代价;wr_n-1为第n-1尺度层的参考图像的聚合权重,k1、k2为第n-1尺度层参考图像横、纵坐标变量,e为自然底数;μ为缩放因子,值为8。

107:循环迭代匹配;

判断n-1的值:

若n-1=0则匹配结束;

若n-1≠0则对进行上采样,并将上采样后的结果记做同时将尺度层编号n减1,接着重复步骤(4)-(9)直至n-1=0。

(1)

(2)令n=n-1

当循环迭代匹配结束时,得到的即为最终的多尺度迭代匹配结果。

下面以具体的试验来验证本方法的可行性,详见下文描述:

试验结果均为本方法在cpu为inteli7-3610qm,2.3ghz,内存为16g的笔记本电脑上运行所得,操作系统为windows7,仿真软件为64位matlabr2012b。试验采用的图对‘adirondack’、‘recycle’为标准测试图来源于http://vision.middlebury.edu/stereo/eval3/。

从图2、图3可以看出,传统的基于单一尺度局部立体匹配算法在图2(b)adirondack视差图的背景区域以及图3(b)recycle视差图的前景区域均存在较多的误匹配点,而本发明采用基于多尺度迭代匹配的方式较好地消除了上述区域的误匹配点,获得的视差图匹配效果较好。

本领域技术人员可以理解附图只是一个优选实施例的示意图,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

本发明的具体流程如下:

(1)将参考图像ir_0记为第0尺度层下的参考图像,目标图像it_0记为第0尺度层下的目标图像,然后分别对ir_0及it_0进行基于高斯滤波式的多尺度分解,得到nmax+1个不同尺度层下的参考图像ir_n以及nmax+1个不同尺度层下的目标图像it_n,其中n为尺度层编号且n∈{0,1,2,…,nmax};

(2)将当前尺度层编号n初始化为nmax,即令n=nmax;

(3)对当前尺度层参考图像ir_n以及目标图像it_n使用截断梯度匹配代价计算方式计算得到参考图像ir_n的匹配代价gr_n,然后对gr_n进行基于传统的窗口聚合立体匹配,得到当前尺度层的参考视差图dr_n,并对dr_n进行上采样生成上采样后的参考视差图

(4)对第n-1尺度层的参考图像ir_n-1以及目标图像it_n-1使用截断梯度匹配代价计算方式计算得到参考图像ir_n-1的匹配代价gr_n-1,然后对gr_n-1进行基于传统的窗口聚合立体匹配,得到第n-1尺度层的参考视差图dr_n-1;

(5)设第n-1尺度层的参考视差图标志位为mr_n-1,比较以及dr_n-1对应点的值,当二者的值相等时,则相应的参考视差图标志位取值为1,当二者的值不相等时,则相应的参考视差图标志位取值为0;

(6)在第n-1尺度层,根据公式cr_n-1=[gr_n-1+|dn-1-dr_n-1|]·mr_n-1计算参考图像ir_n-1的更新匹配代价cr_n-1,其中dn-1为第n-1尺度层参考图像的视差搜索值,根据全域图像权重聚合原理计算第n-1尺度层的参考图像的聚合权重wr_n-1,将cr_n-1与wr_n-1相乘后进行聚合匹配,得到最终迭代后的第n-1尺度层参考视差图

(7)判断n-1的值,若n-1=0则匹配结束,若n-1≠0则对进行上采样,并将上采样后的结果记做同时将尺度层编号n减1;

(8)重复步骤(4)-(7)直至n-1=0。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1