立体匹配---左右一致性检测/遮挡区填充
2017-07-19 14:10
405 查看
左右一致性检测(Left-Right Consistency(LRC) check):
左右检测对实验效果的提升是很显著的,无论是视差图的视觉效果还是数据精度。很多时候LRC都是论文的遮羞布,在论文主体部分优势不明显的情况下,通过LRC依然能得到过得去的结果,从而掩盖了核心算法的孱弱。是的,一些不错的会议文章也是这么干的。这就是论文写作的小trick吧,也是一种潜规则了。
[Occlusion]遮挡,顾名思义是只出现在一幅图像,而在另一幅图中看不到的那些点。在立体匹配算法中如果不针对遮挡区域做一些特殊处理是不可能通过单幅图提供的有限信息得到遮挡点的正确视差的。遮挡点通常是一块连续的区域,记作occluded
region/area。
[LRC check] LRC check的作用是实现遮挡检测(Occlusion
Detection),得到左图对应的遮挡图像。 具体做法:根据左右两幅输入图像,分别得到左右两幅视差图。对于左图中的一个点p,求得的视差值是d1,那么p在右图里的对应点应该是(p-d1),(p-d1)的视差值记作d2。若|d1-d2|>threshold,p标记为遮挡点(occluded
point)。
如下依次是,左图的视差图,右图的视差图,teddy左图,左图对应的二值遮挡图。
[Occlusion Filling]得到了二值的遮挡图像,之后是为所有黑色的遮挡点赋予合理的视差值。对于左图而言,遮挡点一般存在于背景区域和前景区域接触的地方。遮挡的产生正是因为前景比背景的偏移量更大,从而将背景遮盖。
具体赋值方法是:对于一个遮挡点p,分别水平往左和往右找到第一个非遮挡点,记作pl、pr。点p的视差值赋成pl和pr的视差值中较小的那一个。d(p)=
min (d(pl),d(pr))(Occluded pixels have the depth of the background)。
下面依次是左图的视差图,进行occlusion filling后的视差图。
[Median Filtering]这种简单的Occlusion Filling方法在遮挡区域赋值方面效果显著,但是对初始视差的合理性和精度依赖较高。而且会出现类似于动态规划算法的水平条纹,所以其后常常跟着一个中值滤波步骤以消除条纹。
下图是中值滤波的结果。
这样,通过LRC check检测出遮挡点,对其进行视差估计,再对整幅图做中值滤波,得到的结果就好多了。
左右检测对实验效果的提升是很显著的,无论是视差图的视觉效果还是数据精度。很多时候LRC都是论文的遮羞布,在论文主体部分优势不明显的情况下,通过LRC依然能得到过得去的结果,从而掩盖了核心算法的孱弱。是的,一些不错的会议文章也是这么干的。这就是论文写作的小trick吧,也是一种潜规则了。
[Occlusion]遮挡,顾名思义是只出现在一幅图像,而在另一幅图中看不到的那些点。在立体匹配算法中如果不针对遮挡区域做一些特殊处理是不可能通过单幅图提供的有限信息得到遮挡点的正确视差的。遮挡点通常是一块连续的区域,记作occluded
region/area。
[LRC check] LRC check的作用是实现遮挡检测(Occlusion
Detection),得到左图对应的遮挡图像。 具体做法:根据左右两幅输入图像,分别得到左右两幅视差图。对于左图中的一个点p,求得的视差值是d1,那么p在右图里的对应点应该是(p-d1),(p-d1)的视差值记作d2。若|d1-d2|>threshold,p标记为遮挡点(occluded
point)。
如下依次是,左图的视差图,右图的视差图,teddy左图,左图对应的二值遮挡图。
[Occlusion Filling]得到了二值的遮挡图像,之后是为所有黑色的遮挡点赋予合理的视差值。对于左图而言,遮挡点一般存在于背景区域和前景区域接触的地方。遮挡的产生正是因为前景比背景的偏移量更大,从而将背景遮盖。
具体赋值方法是:对于一个遮挡点p,分别水平往左和往右找到第一个非遮挡点,记作pl、pr。点p的视差值赋成pl和pr的视差值中较小的那一个。d(p)=
min (d(pl),d(pr))(Occluded pixels have the depth of the background)。
下面依次是左图的视差图,进行occlusion filling后的视差图。
[Median Filtering]这种简单的Occlusion Filling方法在遮挡区域赋值方面效果显著,但是对初始视差的合理性和精度依赖较高。而且会出现类似于动态规划算法的水平条纹,所以其后常常跟着一个中值滤波步骤以消除条纹。
下图是中值滤波的结果。
这样,通过LRC check检测出遮挡点,对其进行视差估计,再对整幅图做中值滤波,得到的结果就好多了。
相关文章推荐
- 立体匹配的后续处理:左右检测+遮挡填充+中值滤波
- 立体匹配中常用的后处理-左右一致性处理
- 利用之前的链式栈实现左右符号匹配检测
- OpenCV学习笔记(25)基于MFC和OpenCV的摄像机定标与立体匹配测试程序(20140505更新)
- 数据库备份还原时-Sql Server 检测到基于一致性的逻辑I/O错误解决方案
- SIFT 特征检测及匹配
- 双目立体视觉匹配算法-----SAD匹配算法、BM算法、SGBM算法、GC算法
- DOM一致性检测
- OpenCV3.2.0 双目标定+立体匹配(官方自带例子的使用方法)
- 设置listview的adapter时,item下面的下划线有高有低,部分左右有缩进,部分完全填充宽度
- java栈的应用:实现括号匹配检测
- Windows下检测文件名大小写是否匹配
- SQL Server 检测到基于一致性的逻辑 I/O 错误
- JS正则表达式匹配检测各种数值类型(数字验证)
- 立体匹配
- 运动目标检测--基于直方图匹配的鬼影消除
- OpenCV学习之旅9——特征检测与匹配(1)
- DIV_CSS布局问题:3个水平对齐布局的DIV,左右固定宽,中间宽度自动填充
- OpenCV学习 物体检测 人脸识别 填充颜色
- 双目立体匹配 Census