[转载]Graph cut入门学习

最近看图割的论文,看见一个很好的入门介绍:

原文地址Graph cut入门学习

Graph cut
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的论文了,就可以深入下去了。
点这里

关于Graph cuts的简介及相关资源:
转自:关于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 Snapping
GrabCut
Trackback: http://blog.csdn.net/hebby06/archive/2010/03/03/5341228.aspx

你可能感兴趣的:(图像分割)