怀着很纠结的心情来总结这篇论文,这主要是因为作者提虽然供了源代码,但是我并没有仔细去深究他的code,只是把他的算法加进了自己的项目。希望以后有时间能把MST这一结构自己编程实现!!

论文题目是基于非局部代价聚类(non-local cost aggregation)的立体匹配,从题目上看这篇论文不是局部算法,但是也不是传统意义上的全局算法。这要从基于窗结构局部立体匹配算法说起,如下图:

我们求左右两幅图像在视差d下一点的cost时,我们实际是求得以该点为中心半径为r的Windows内所有点的cost的平均值。我们把这一过程叫做代价聚类(Cost aggregation),很显然,对与Windows以外的点无法影响该点的Cost,这在纹理特征较低的区域非常容易产生误匹配。本论文的工作就着眼于这个代价聚类上,目标是图像内所有点都对该点传递一个support,距离该点较远的,颜色差别很大的点传递较小的Support。目标有了,应该如何去做呢?本文提出了MST结构。根据MST结构我们知道,当把图像看做是一个四联通区域的图时,图像两点所形成边的权值我们定义为这两点灰度值的差值,这种定义下生成的MST结构正好符合我们的期望。这一做法相当于在局部算法上加了全局性质,所以称之为非局部算法。

更为难得的是这一算法根据作者推倒的公式只需要对MST遍历两次即可得到所有点的代价聚类,算法复杂度显然降低了。

论文主要分为四步,这里主要说一下代价聚类的过程:

我们生成一颗MST后:

根据公式:

分别从叶子节点到顶点以及顶点到叶子节点遍历两次便可得到所有节点的代价聚类值。

其中S(p,q)定义为两点的相似度,D(p,q)定义为两点的距离(MST两点直接的最小路径),为聚类值。分别定义如下:

最后根据聚类结果可以得到未进一步优化的视差图。

最后基于该篇论文的改价算法“Segment-Tree based Cost Aggregation for Stereo Matching”同样得到了较好的效果。先把参考图像进行基于图的分割,然后把分割后形成的子树汇聚利用贪心算法汇聚成一颗树,根据原理,这也是一颗MST。但是在具体实现是遇到了一些问题:

    1,图像分割时我们用到了压缩路径并查集,但这样子树的每一个node都指向了同一个顶点。
    2,子树合并的时候也同样遇到问题,论文中好像是直接把子树的顶点合并。
这俩问题不解决就无法进行下一步的工作,再继续研究吧!!
 
最后附上论文代码链接:http://www.cs.cityu.edu.hk/~qiyang/  他的主页里面大部分论文都提供了代码。

基于MST的立体匹配及相关改进(A Non-Local Cost Aggregation Method for Stereo Matching)的更多相关文章

  1. 利用redis实现分布式锁知识点总结及相关改进

    利用redis实现分布式锁知识点总结及相关改进 先上原文,本文只为总结及对相关内容的质疑并提出若干意见,原文内容更详细https://www.cnblogs.com/linjiqin/p/800383 ...

  2. 一种基于RBAC模型的动态访问控制改进方法

    本发明涉及一种基于RBAC模型的动态访问控制改进方法,属于访问控制领域.对原有RBAC模型进行了权限的改进和约束条件的改进,具体为将权限分为静态权限和动态权限,其中静态权限是非工作流的权限,动态权限是 ...

  3. 转:基于IOS上MDM技术相关资料整理及汇总

    一.MDM相关知识: MDM (Mobile Device Management ),即移动设备管理.在21世纪的今天,数据是企业宝贵的资产,安全问题更是重中之重,在移动互联网时代,员工个人的设备接入 ...

  4. 基于IOS上MDM技术相关资料整理及汇总

    (转自:http://www.mbaike.net/special/1542.html) 一.MDM相关知识:MDM (Mobile Device Management ),即移动设备管理.在21世纪 ...

  5. PHP基于Thinkphp5的砍价活动相关设计

    近期我们公司项目里陆陆续续有很多为了招引新用户的活动推出,砍价的活动由我来负责,我们的项目是在微信浏览器里供用户浏览访问. 大概描述:进入砍价活动列表页选择有意向的商品,用户点击商品图片可以看到WEB ...

  6. 快速高分辨率图像的立体匹配方法Effective large scale stereo matching

    <Effective large scale stereo matching> In this paper we propose a novel approach to binocular ...

  7. 互评Alpha版本——基于NABCD评论作品,及改进建议

    组名:可以低头,但没必要 组长:付佳 组员:张俊余  李文涛  孙赛佳  田良  于洋  刘欣  段晓睿 一.杨老师粉丝群--<弹球学成语> 1.1 NABCD分析   N(Need,需求 ...

  8. 基于NABCD评论作品,及改进建议

    组名:杨老师粉丝群 组长:乔静玉 组员:吴奕瑶  刘佳瑞  公冶令鑫  杨磊  杨金铭  张宇  卢帝同 一.拉格朗日2018--<飞词> 1.1 NABCD分析   N(Need,需求) ...

  9. 【生成对抗网络学习 其一】经典GAN与其存在的问题和相关改进

    参考资料: 1.https://github.com/dragen1860/TensorFlow-2.x-Tutorials 2.<Generative Adversarial Net> ...

随机推荐

  1. IOS开发基础知识--碎片32

    1:动画属性UIViewAnimationOptions说明 a:常规动画属性设置(可以同时选择多个进行设置) UIViewAnimationOptionLayoutSubviews:动画过程中保证子 ...

  2. LruCache缓存

    LruCache通常用于实现内存缓存,采用的缓存算法是LRU(Least Recently Used)即近期最少使用算法,其核心思想是:当缓存满的时候,会优先淘汰那些近期最少使用的缓存对象. 1.Lr ...

  3. iOS 疑难杂症 — — 在 Storyboard 里 Add Size Class Customization 后再从代码里无法修改的问题

    前言 公司的产品同时适配 iPhone 和 iPad ,并坚持用 Storyboard 来做适配,今天又踩一个坑(以前遇到过)还以为是 XCode 的鬼毛病. 声明  欢迎转载,但请保留文章原始出处: ...

  4. VS单元测试

    弄了好久才明白 ,但是收获确实挺大的,话不多说,直接上图. 1 打开VS建立项目 2 建立一个类 3 点击创建单元测试 4 在运行模块里重新输入代码 5 在空白处 点击鼠标右键 选择运行测试 6 测试 ...

  5. MySQL错误日志总结

    MySQL错误日志是记录MySQL 运行过程中较为严重的警告和错误信息,以及MySQL每次启动和关闭的详细信息.错误日志的命名通常为hostname.err.其中,hostname表示服务器主机名. ...

  6. Linux忘记root密码怎么办?

    开篇前言:Linux系统的root账号是非常重要的一个账号,也是权限最大的一个账号,但是有时候忘了root密码怎么办?总不能重装系统吧,这个是下下策,其实Linux系统中,如果忘记了root账号密码, ...

  7. Linux SendMail服务启动慢总结

    在 CentOS release 6.6 上启动sendmail服务时发现服务启动过程非常慢,基本上要耗费3分多钟.有点纳闷:什么原因导致sendmail启动这么慢?搜索了这方面的一些资料,结合自己的 ...

  8. gcc编译过程简述

    在linux系统上,从源文件到目标文件的转化是由编译器完成的.以hello.c程序的编译为例,如下: dfcao@linux: gcc -o hello hello.c 在这里,gcc编译器读取源文件 ...

  9. 搭建自己的PHP框架心得(二)

    h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h ...

  10. PostgreSQL-constraint

    CREATE TABLE语法CREATE [[ GLOBAL | LOCAL ]{ TEMPORARY | TEMP }] TABLE table_name ({ column_name data_t ...