ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

立体匹配算法的学习

2021-07-27 12:34:51  阅读:256  来源: 互联网

标签:filter 立体匹配 像素 学习 算法 区域 代价 cost


立体匹配算法的学习

难点

颜色/亮度在不同区域和光照/阴影条件下可能有差异或噪声。同时可能有区域发光为立体匹配增加难度
其他难点:倾斜面,透视变形,弱纹理区域,重复纹理,透明物体,遮挡和深度不连续的区域。

分类

  1. 局部方法(non-local):局部滤波(Box filter,Bilateral Filter,Guided
    filter),minimum spanning tree(MST),Full image filter

  2. 半全局算法:semi
    global matching

  3. 全局算法: graph cut,Belief propagation

直接块匹配:以像素点为中心,做一个遍历滑窗,寻找最优解。(问题:存在冗余计算)

立体匹配流程

匹配代价计算 → \to → 代价聚合 → \to → 视差计算 → \to → 视差优化/后处理

代价函数计算左右图两个像素之间的匹配代价cost,cost越大,代表两个像素对应点的可能性越低。

代价函数的常用算法有:

  • AD代价 absolute difference 灰度值直接相减取绝对值。
  • BT代价 在AD代价的基础上考虑了采样误差
  • AD+Gradient
  • Cencus(与8邻域进行简单比较,进行异或运算,计算汉明距离)
  • NCC(对线性变化具有不变性),计算两个矩阵形成的向量归一化后的点积(夹角余弦值)
  • AD+Cencus(同时考虑光线的变化和噪声)
  • CNN对两个图像块进行卷积处理,归一化后点积输出similarity score

Mc-CNN流程

在这里插入图片描述

代价空间 cost volumn
设视差范围为d,则对于每个d=0,1,……,建立一个m*n的平面,平面上每个值对面左图每个点在这个d下的cost
代价空间和Sliding windows的关系:(51:50)

Box filtering 对每块的C直接进行均值滤波
Box filtering的assumption:当前块没点的disparity相等
Box filtering的缺点:对边界的响应很差,窗口很大的话效果很差,不具有保边性,窗口很小的话受噪声影响很大。

双边滤波Bilateral filter:综合引入颜色+空间距离,自适应权重
颜色差异大的权重小,颜色差异小的权重大,具有保边性。
窗口可以开大,匹配稳定.
在这里插入图片描述

Cross-based local stereo matching 自适应形状
对于给定的点,当临近的点与中心点像素差小于阈值时,区域延伸,得到十字臂

用积分图方式加速计算
在这里插入图片描述

Semi-Global Matching
能量函数E(D) 加入了平滑项
对邻域像素点差异较小值引入惩罚项p1,对邻域像素点差异较大值引入惩罚项p2
现用上述方法计算代价空间
再进行代价聚合过程:
计算各个方向上的路径代价Lr(p,d)
对各个方向加和进行代价聚合。
WinnerTakeAll获得所有代价:在代价空间中每个点选取该通道下最低代价聚合的Disparity值作为输出的Disparity

Disparity propagation(Patch Match)
对于很多场景,很多区域都可以近似用一个平面来建模
为了找到每个区域的平面参数,对每个像素赋予随机的平面参数(随机初始化),希望每个区域至少有一个像素的初始平面接近真实平面。然后通过传播算法把正确的平面参数传递给这个区域的其它像素。

视察优化/后处理
左右一致性检测(LRC)
(x1,y)向右匹配,得到(x2,y),再向左匹配得到(x21,y),如果|x21-x1|>T,则未通过一致性检测

The minimum/the second minimum cost

Speckle filter
为了移出噪声点,对视察图做一个联通区域提取(如果某相邻两个像素的视察值之差小于某个预先设定的阈值,则可以认为这两个像素属于同一个区域)

亚像素差值
对差值结果进行多项式差值
还有处理方法如中值滤波等。

DataSets

Midlebury Stereo 3.0
Kitti 2012/2015
ETH3D
Robust Vision challenge

标签:filter,立体匹配,像素,学习,算法,区域,代价,cost
来源: https://blog.csdn.net/Imperfactions/article/details/119092057

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有