《Stereo Matching Using Tree Filtering》读后感~,stereomatching


前段时间研究了non-local算法在双目立体匹配上的应用,这几天又看到作者在PAMI上发表的这篇文章,于是仔细的拜读了一下,惊讶的发现原来NL算法竟然可以应用在多个方向,其实在《A Non-Local Cost Aggregation Method for Stereo Matching》一文中,已经有过关于refinement方面的论述,但是被自己给“忽略”掉了,原来自己的算法知识面还是很窄,汗颜!本文就说一下对于NL在”upsampling”和“refinement”方面的应用的理解。
(转载请注明:http://blog.csdn.net/wsj998689aa/article/details/45584725)

upsampling

upsampling的意思是上采样,是图像方面的概念,之所以要用NL作上采样,主要原因还是速度问题,往往stereo mathcing方向的算法的时间复杂度都比较高,于是为了提高速度,考虑在原图像的下采样图像计算视差图,然后在对低分辨率的视差图进行上采样成为高分辨率的视差图,这是一个折中的方法,效果肯定没有直接在高分辨率图像上生成视差图好,但是速度却能够提高几倍不止。
一般的上采样方法相信大家都比较熟悉,最基本的思想就是根据当前像素邻域内的像素值进行估计,比如说权值滤波,也有的文献是基于3Dtof相机获得低分辨率视差图和高分辨率的彩色图,然后在进行上采样操作。这篇文献就是基于权值滤波的思想,将NL应用在了视差图上采样方向,其流程图如下所示:
upsampling流程图

权值滤波公式如下所示:
权值滤波公式
由于本文是基于最小生成树的全局算法, 所以N所指的邻域其实是整幅图像的像素。如此一来,得到的权值更加准确,这也就是NL的优势所在。文献中给出了上采样64倍大小的图像,效果还不错,大家可以去看看。
这里写图片描述

refinement

视差图求精是重头戏,由于遮挡,光照等原因,求出来的视差图往往部分点视差不正确,需要对视差图重新求精,是stereo matching必不可少的一步,NL同样在这里有应用,它实现利用left-right-check对左右视差图进行处理,得到视差图的稳定点和不稳定点,同时直接在左视差图上定义新的代价值,再同样利用原图得到的MST,对所有像素点重新进行代价聚合,最后利用”胜者为王”算法估计新的视差。咋一听,感觉这没有什么,重点在新的代价值的定义上,公式如下所示:
这里写图片描述
我刚开始看到这个公式,感觉到特别的奇怪,D(p)已经是视差值,它又和视差d相减,这是啥意思?后来明白了作者的意图,这么做其实很直观,就是对旧视差值进行修正,如果旧视差值完全正确,那么计算的将会是d=D(p)。并且,如果p是不稳定点,那么直接赋值为0,注意这只是代价计算的那不,在后续代价聚合的时候,会重新根据上述公式估计不稳定点的视差。作者称为”利用MST,使得视差值从稳定点扩散至不稳定点”,这是一种很唯美的说法,其实说白了就是让稳定点更加精确,连带着不稳定点通过MST的计算,也更加精确罢了。
算法流程图如下所示:
这里写图片描述

总结

PAMI上的文章有个特点,它的内容往往是很全面的,并且是总结类的文章,就是说作者在之前已经发表过类似的文章,只不过当时只是在某一方面进行了应用,那么在PAMI中往往会添加其他的应用以及完善算法的理论基础,形成一个框架。本文正是如此,如果细看,其实很多内容都与《A Non-Local Cost Aggregation Method for Stereo Matching》一文重复,添加了诸如”texture handling”,”upsampling”,”refinement”方面的应用和解释,再配合以大量的实验,证明这个non-local的idea具有多方面的好处。
特别提的是,本文的序言部分很值得一读,对现有方法总结的很好,希望能够对大家有所帮助

相关内容