立体匹配算法之线性扫描思想

       立体匹配算法主要可以分为局部算法、全局算法以及半全局算法。 对于局部以及半局部立体匹配,算法步骤一般可分为四个步骤:匹配代价计算、匹配代价聚合、视差值估计以及视差值优化。而两者之间的不同之处在于局部算法在计算视差值的时候,只考虑了当前点的最优,而半局部算法在计算视差值的时候则同时考虑了局部以及全局的最优。全局立体匹配算法不采用以上四个步骤,其主要是采用了全局的优化理论方法估计视差,建立全局能量函数,通过最小化全局能量函数得到最优视差值。

      SGM算法源于《Stereo Processing bySemi-Global Matching and Mutual Information》一文,其半局部和线性扫描思想对于后面的研究起了很大的推动作用,其思路是通过选取每个像素点的disparity,组成一个disparity map,设置一个和disparity map相关的全局能量函数,使这个能量函数最小化,以达到求解每个像素最优disparity的目的。能量函数形式如下:

                               

D指disparity map。E(D)是该disparity map对应的能量函数。
p, q代表图像中的某个像素。

Np 指像素p的相邻像素点(一般认为8连通)。
C(p, Dp)指当前像素点disparity为Dp时,该像素点的cost。
P1 是一个惩罚系数,它适用于像素p相邻像素中dsparity值与p的dsparity值相差1的那些像素。
P2 是一个惩罚系数,它适用于像素p相邻像素中dsparity值与p的dsparity值相差大于1的那些像素。
I[.]函数返回1如果函数中的参数为真,否则返回0。
       这里解释一下上述公式,由于局部算法的视差结果一般都是采用WTA算法选择匹配代价最小的点,所以其并没有考虑当前像素点周围点的匹配代价对于其结果的影响,所以难免会出现深度不连续,低纹理区域无法求出正确视差等问题。而SGM算法中每一个点的视差结果是由其本身以及其邻域点的匹配代价共同决定的。利用上述函数在一个二维图像中寻找最优解是一个NP-complete问题,耗时过于巨大,因此该问题被近似分解为多个一维问题,即线性问题。而且每个一维问题都可以用动态规划来解决。因为1个像素有8个相邻像素,因此一般分解为8个一维问题,有如下公式:

其中r指某个指向当前像素p的方向,在此可以理解为像素p左边的相邻像素。Lr(p, d) 表示沿着当前方向(即从左向右),当目前像素p的disparity取值为d时,其最小cost值。这个最小值是从4种可能的候选值中选取的最小值:1、前一个像素(左相邻像素)disparity取值为d时,其最小的cost值。2、前一个像素(左相邻像素)disparity取值为d-1时,其最小的cost值+惩罚系数P1。3、前一个像素(左相邻像素)disparity取值为d+1时,其最小的cost值+惩罚系数P1。4、前一个像素(左相邻像素)disparity取值为其他时,其最小的cost值+惩罚系数P2。
      下图所示的是当前点从方向0进行动态规划的过程,则每个像素的disparity只和其左边的像素相关。其中C(x, y, 4)为左图中点(x, y)与右图中点(x-4, y)的匹配代价,L(x, y,4)为最终的能量函数。另外,当前像素p的cost值还需要减去前一个像素取不同disparity值时最小的cost。这是因为Lr(p, d)是会随着当前像素的右移不停增长的,为了防止数值溢出,所以要让它维持在一个较小的数值。

 


     上式是从一个方向(从左至右)计算出的像素在取值为某一disparity值时的最小cost值。但是一个像素有8个邻域,所以一共要从8个方向计算(左右,右左,上下,下上,左上右下,右下左上,右上左下,左下右上)这个cost值。方向6的视差图结果如下所示。

 

       最后把八个方向上的cost值累加,选取累加cost值最小的disparity值作为该像素的最终disparity值。对于每个像素进行该操作后,就形成了整个图像的disparitymap。

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值