SGM—代价聚合学习笔记

SGM—代价聚合

  以下将基于个人理解,分别从SGM的核心公式,代价计算步骤,代价聚集。由于笔者学识所限,如有错漏或者理解错误的地方,敬请批评。


  由于噪声等因素,基于像素的代价计算通常是不明确的,并错误匹配比正确匹配的代价更低。因此,增加了一个附加的约束,通过惩罚相邻差的变化来支持平滑性。像素代价和平滑项约束可以用能量函数E(D)来表示,能量函数E(D)依赖于深度图像D:
在这里插入图片描述
  第一项是视差为D的所有像素匹配代价的总和,第二项为像素p所有邻近像素q视差改变小于等于1的约束惩罚项P1,第三项为像素p所有邻近像素q视差改变大于1的约束惩罚项P2。对视差变化小的使用较低的惩罚,调整对倾斜或弯曲表面的适应;对于视差变化大的惩罚来保留不连续的面,不连续性的面通常是可见的强度变化。通过采用P2来调整梯度强度,P2′ 为P2的初始值,一般设置为远大于P2>P1。

的数。
在这里插入图片描述
  立体匹配的问题现在可以归结为寻找能使能量最小化的视差图像D的问题了,但是,在二维的图像中对于存在不连续的能量全局最小化即是NP完全问题(即多项式复杂程度的非确定性问题)。相比之下,利用DP可以在多项式有效地时间内实现图像单行(即一维)的最小化。但是,在二维图像中,很难将单个图像行的一维优化相互关联。例如,在一个方向(即图像行)上非常强的约束与在另一个方向(即图像列)上没有或较弱得约束结合在一起。

  这就产生了将各个方向的匹配成本平均地聚集在一起的新思想。对于像素p和视差d,聚合代价S是通过对各方向一维最小代价路径的代价求和来计算的。
L‘r(p,d)表示沿着某一路径r遍历视差为d的所有像素p的代价,
在这里插入图片描述
  第一项为数据项,匹配代价值C,第二项是平滑项,路径上前一个像素p-r的最小代价包括对不连续性的适当惩罚。

  L’的值沿路径永久增加,可能会导致非常大的值。然而,可以通过减去减去前一个像素的最小路径代价来改变。
在这里插入图片描述
这个修改不会改变通过视差空间的实际路径,因为对于一个像素p的所有视差,减去的值都是常数,因此,最小值的位置不会改变;然而,上限为在这里插入图片描述
像素的总路径代价值S
在这里插入图片描述
  S的上限很容易确定为S≤16(Cmax +P2),此时是16条路径时。
在这里插入图片描述

  C(p,d)是大小为W×H×D(W为影像宽度,H为影像高度,D则为事先给定的视差范围)的三维矩阵来存储每个像素在视差范围内每个视差下的匹配代价值。矩阵C通常称为DSI(Disparity Space Image),这个长方块也是我们常说的视差空间。下图为DSI的示意图:
在这里插入图片描述
  S(p,d)是一个和C(p,d)大小一样的三维矩阵,用来储存每个像素的聚合代价值。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
SGM(Semi-Global Matching)算法是一种常用的立体匹配算法,它的代价聚合步骤是其中一个核心的步骤。以下是该步骤的详细介绍: 1. 代价计算:首先,需要对左右两张图像进行特征提取,比如使用SIFT算法提取图像的关键点和描述符,然后计算左右两张图像上对应的特征点之间的代价,通常使用灰度差、梯度差等方式计算代价。 2. 代价聚合代价聚合的目的是将左右两张图像上的代价相加,得到一个总代价SGM算法采用了一种称为动态规划的策略对代价进行聚合。具体来说,算法从左到右、从上到下遍历每一个像素,对于每个像素,从左上角到右下角的8个方向上的代价进行聚合,得到一个代价矩阵。然后,从这个代价矩阵中选择最小的一个代价作为当前像素的总代价。 3. 聚合路径计算:代价聚合之后,需要计算最优匹配路径。SGM算法采用了一种称为路径追踪(Path Tracing)的方式来计算聚合路径。具体来说,从右下角开始,向左上角遍历,每次选择代价最小的一个方向作为路径,直到到达左上角。 4. 视差计算:最后,根据聚合路径,可以计算出每个像素的视差值,即左右两张图像上对应像素的水平位移量。 总之,SGM算法的代价聚合步骤是一种动态规划思想的应用,通过将每个像素周围的代价相加,得到一个总代价,然后根据最小总代价计算最优匹配路径,最终计算出每个像素的视差值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值