立体匹配的后续处理:左右检测+遮挡填充+中值滤波_立体匹配后处理-程序员宅基地

技术标签: C++  模式识别  

立体匹配的后续处理:左右检测+遮挡填充+中值滤波

  (2011-09-06 15:25:20)

[前言]

  相信很多刚接触立体匹配(stereo matching)的同学都有这样的困惑:为什么完全按照论文里的步骤和参数得到的结果却比论文里呈现的要差不少?

  如果程序真得没问题,多半是由于你比论文里少做了一个后续处理步骤(post-processing)。而且,作者通常不在论文里对这种后续处理加以详细说明。

  这里介绍一下最常用的后续处理措施:左右一致性检测(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检测出遮挡点,对其进行视差估计,再对整幅图做中值滤波,得到的结果就好多了。try

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lphbtm/article/details/17953347

智能推荐

Ceph运维手册!免费下载_ceph 维护命令 pdf下载-程序员宅基地

文章浏览阅读198次。Ceph是当前非常流行的开源分布式存储系统,具有高扩展性、高性能、高可靠性等优点,作为主流的分布式存储技术之一,ceph越来越成为运维工程师技能树的必备要件。今天分享的ceph运维手册可谓含金量十足,汇总了Ceph在使用中常见的运维和操作问题,主要用于指导运维人员的相关工作。存储方面的新手,在对Ceph有了基础了解之后,也可以通过本手册进一步深入Ceph 的使用和运维。【领取方式戳这里】由于内容过多,在此只以截图展示部分内容,详细完整版的文档免费领取方式请见文末。目录详情:资料整理自网络_ceph 维护命令 pdf下载

GitHub 标星 11000+,阿里开源微服务如何连续 10 年扛住双十一大促_github 标星 11000 ,阿里开源的微服务组件如何连续 10 年扛住双十一大促?-程序员宅基地

文章浏览阅读1.7k次。云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!作者 | 宿何,阿里云高级开发工程师责编 | 唐小引封图 | CSDN 下载自东方 IC出品 | CSDN(ID:CSDNnews)疫情期间,“卡”成了很多人线上体验的关键词。线上预约购买口罩时,突然不能付款了;在线选课,被提示请求过多,系统无法响应;在线办公/教学时,图像或声音..._github 标星 11000 ,阿里开源的微服务组件如何连续 10 年扛住双十一大促?

深源恒际上线二代个人信用报告OCR识别服务-程序员宅基地

文章浏览阅读1.1k次。1月中旬,央行征信中心启动了二代征信系统切换上线工作,开始面向社会公众和金融机构开放二代格式信用报告查询服务。随后,深源恒际及时跟进信用报告OCR识别产品的升级工作。目前产品迭代已完成,深源恒际将于本周内上线二代个人信用报告OCR识别服务。信用报告OCR识别产品主要面向信贷服务机构,提供基于个人信用报告的信息自动化识别与提取服务。基于OCR识别技术结合专项训练方法构建的信用报告识别专用模型,自...

(程序员必备技能)Markdown语法_markdown语法 程序员-程序员宅基地

文章浏览阅读3k次。斜体和粗体输入:*斜体*或_斜体_**粗体*****加粗斜体***~~删除线~~显示效果:斜体或_斜体_粗体加粗斜体删除线分级标题输入: 这是一个一级标题 ============================ 这是一个二级标题 -------------------------------------------------- #..._markdown语法 程序员

SVG 中的基础图形(rect , line ,circle 等)以及在 D3.js 中的应用_cor-rect直线对应-程序员宅基地

文章浏览阅读4.1k次。SVG 中的基础图形(rect , line ,circle 等)以及在 D3.js 中的应用文章目录SVG 中的基础图形(rect , line ,circle 等)以及在 D3.js 中的应用矩形 - rect直线 - line圆形 - circle椭圆 - ellipse在 D3.js 中,根据要展示的数据,我们挑选合适的 svg 中的基础图形,然后进行一系列的设置等,使其达到我们的要求..._cor-rect直线对应

栈的运用(中缀表达式转换为后缀表达式,并对后缀表达式求值。)_利用栈,把中缀表达式转化未后缀表达式,对后缀表达式求值-程序员宅基地

文章浏览阅读3k次,点赞3次,收藏7次。中缀表达式转换成后缀表达式的基本思想: 顺序扫描中缀表达式: 若读入的是一个运算分量,则输出; 若读入的是一个左括号,则入栈,栈中左括号的优先级被视为比任何操作符都低。 若读入的是一个操作符(如 + 或 -),其级别比栈顶元素级别高,则入栈,否则,栈顶元素出栈,输出。 若读入的是右括号,栈中元素出栈,输出,直到碰到左括号,左括号出栈,但不输_利用栈,把中缀表达式转化未后缀表达式,对后缀表达式求值

随便推点

如何生成ROM的coe文件_rom存coe-程序员宅基地

文章浏览阅读2.8k次,点赞4次,收藏15次。在生成ROM时需要提供coe文件,如下图所示。这个coe文件本质上就是Memory的初始化文件,Xilinx对其有具体的格式要求。coe文件格式coe文件格式要求如下图所示,其中前两行是固定的。其中第一行定义了Radix,可以是2、10或16,意味着第2行定义的数据向量内容可以是二进制、十进制或十六进制。这里需要说明的是定义的数据向量各个数据之间可以是空格,也可以是逗号(但此时最后一个数据要以分号结尾)或者回车换行符。生成coe文件Matlab作为主流的算法开..._rom存coe

oca认证_OCA第2部分中的Java难题-程序员宅基地

文章浏览阅读145次。oca认证 欢迎使用OCA的Java Puzzlers的第二部分。 在这一部分中,我们将看到一个有趣的案例,涉及Java 7附带的数字文字中的下划线分隔符。 在下面的类中,您可以在十进制文字中看到分隔符下划线。 还请注意,该类现在可以正常编译。 八进制是八进制表示形式,二进制是二进制,我敢肯定你不会猜十六进制。 public class Puzzler { public stati..._java认证oca

华为鸿蒙家电物联网,华为“鸿蒙”来了:本身是为了做物联网,将比安卓速度快60%...-程序员宅基地

文章浏览阅读70次。8月9日,华为2019年开发者大会将于开幕。今年的华为开发者大会,共分为主题演讲、技术论坛和Codelabs。其中8月9日为主题演讲、10日和11日则是开发者活动。目前官方也正式放出了本次开发者大会的邀请函,据悉这次华为会将重点集中在5G落地、物联网、AI等领域,预计有200+专题分享、1500位合作伙伴、5000名全球开发者。“最快今年秋天,最晚明年春天,华为自研操作系统即将面世”,一个月前,面..._华为电视物联网

华为 1+X 网络系统运维与建设中级实操模拟题_华为1+x网络系统建设与运维中级模拟题在哪做-程序员宅基地

文章浏览阅读6.1k次,点赞16次,收藏85次。华为 1+X 网络系统运维与建设中级实操模拟题实验报告_华为1+x网络系统建设与运维中级模拟题在哪做

阿里云云盾 · 云防火墙获WitAwards2017年度创新产品大奖,领奖词太燃!_阿里云 云防火墙 正式上线 2017-程序员宅基地

文章浏览阅读521次。点击有惊喜12月14日,在Freebuf 互联网安全创新大会上,阿里云云盾· 云防火墙捧得WitAwards2017互联网安全评选“年度创新产品”大奖。这已是阿里云安全团队及云盾产品,连续三年获得WitAwards奖项。阿里云云盾· 云防火墙是国内首款基于可视化的微隔离产品。评选委员会认为:阿里云云盾 · 云防火墙可以让企业在零配置的情况下,自动实现业务_阿里云 云防火墙 正式上线 2017

linux主机下扩展xp虚拟机的磁盘空间_如何给linux中的winxp增加存储空间-程序员宅基地

文章浏览阅读647次。1.使用VBoxManage modifyhd命令设置vdi文件的大小,例如,设置vdi文件大小为32G VBoxManage modifyhd /home/yunxian_19/VirtualBox\ VMs/winXP/winXP.vdi --resize 32768命令行输出 0%...10%...20%...30%...40%...50%...60%...70%...80%..._如何给linux中的winxp增加存储空间

推荐文章

热门文章

相关标签