Graph cut入门学习
2015-07-05 08:36
267 查看
Graph cut是一种energy minimization的方法,用来解first-order markov Random Field比用Belief Propagation感觉更好,比用dynamic programming(只用1D求解), gradient decedent, simulated annealing, etc
要好得更多;特别是使用a-b-swap, 和 a-expansion的时候。刚开始看graph cut的时候不着门道,走了很多弯路,现在总结起来可以这样学习:
1。学习algorithm课本里的关于graph那一节,或者google maxflow/mincut相关的内容,有介绍mincut的两种解法;
2。然后就开始看用graphcut解决computer vision里的问题,首先要看的是《Interactive Graph Cuts for Optimal Boundary & Region Segmentation of Objects in N-D Images》iccv 01。这篇paper讲怎么用graphcut来做image segmentation;
3。看Fast
Approximate Energy Minimization via Graph Cuts(Boykov, Veksler and Zabih, PAMI '01),这篇paper系统介绍了如何构造graph和energy term来解stereo disparity, motion等问题,也比较直观的介绍了a-expansion。后面的关于graphcut的TPAMI的文章都没有介绍如何构造graph来解问题,这篇比较关键;
看了以上几个文章后,基本就可以看懂关于graphcut的论文了,就可以深入下去了。
http://www.cs.cornell.edu/~rdz/graphcuts.html
关于Graph cuts的简介及相关资源
【简介】
Graph Cuts 不等于 graph cut(如 min cut、normalized cut、RatioCut), 是最近在计算机视觉中研究和应用比较多的energy minimization(能量函数最小化)优化算法,典型的用于stereo matching, image restortion, texture synthesis等应用。
这个优化算法用来解 markov Random Field. 有实验<Comparison
of Graph Cuts with Belief Propagation for Stereo, using Identical MRF Parameters> 显示,Graph Cuts比用Belief Propagation更好,比用dynamic
programming(只用1D求解), gradient decedent, simulated annealing, etc 要好得更多;特别是使用a-b-swap, 和 a-expansion的时候。
【原理】
<Fast Approximate Energy Minimization via Graph Cuts> (Boykov,
Veksler and Zabih, PAMI '01),这篇paper是graph cuts的开山之作,系统介绍了如何构造graph和energy term来解stereo disparity, motion等问题,也比较直观的介绍了a-expansion。<GRAPH
BASED ALGORITHMS FOR SCENE RECONSTRUCTION FROM TWO OR MORE VIEWS> (Kolmogorov's PhD thesis 04), 这篇论文是Kolmogorov的博士论文,实现了Graph CUT用于立体视觉的匹配,它改善了传统GRAPH
CUT计算耗时的缺点,他还因此称为微软一员,专门从事GRAPH CUT在图像处理上的应用。<What energy functions can be minimized via graph cuts> (Kolmogorov PAMI
'04). 本文首先介绍了需要通过graph cut最小化的能量函数的特性。虽然是二进制变量但是很容易推广到其他方面。详细描述了通过graphcut最小化的能量函数。并提供了最小化能量函数的通用构建。最后给出了最小化二进制能量函数的必要条件。<Interactive
Graph Cuts for Optimal Boundary & Region Segmentation of Objects in N-D Images> (Boykov iccv01) 这篇paper讲怎么用graphcut来做image
segmentation。
【应用】
Graph cuts最主要的应用是图像分割。
在Boykov 和 Kolmogorov 俩人的主页上就有大量的code。包括maxflow/min-cut、stereo algorithms等算法:
http://vision.csd.uwo.ca/code/
http://www.cs.ucl.ac.uk/staff/V.Kolmogorov/software.html
以及olga. Veksler的
http://www.csd.uwo.ca/faculty/olga/code.html
【toolkit】
Lazy SnappingGrabCut
Trackback: http://blog.csdn.net/hebby06/archive/2010/03/03/5341228.aspx
[论文笔记] CUDA Cuts: Fast Graph Cuts on the GPU http://lincccc.blogbus.com/logs/107588061.html
相关文章推荐
- 天声人語 20150705
- Codeforces Round #308 (Div. 2) D. Vanya and Triangles
- 装饰者模式
- 2015070502 - IT书籍购买
- 整数性质
- Java知多少(下)
- 安装windows7导致Ubuntu启动项消失的问题的解决
- 2015070501 - 中国出版的IT书籍
- [Linux同步]读写信号量
- 黑马程序员——指针的应用
- 成为高阶谷歌用户必备的25项技巧
- GBrowse配置相关资料
- 揭秘程序员大脑编程的七大“误区
- 程序员节,你造吗?
- 程序员的工资有多高?你是否该跳槽了!
- 进制转换 2031
- 配置ip yum 单用户 救援 运行级别
- 近一个月的面试总结
- 每天学一点4
- 万万没想到,你身边的科技产品还能这样用