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 cut的时候也是走了不少弯路