Grab Cut学习笔记1(new min-cut /max-flow algorithm)

参(chao)考(xi)的资料还是很多的,好好学习,天天向上嘛~

1.swsamleo大神:http://blog.csdn.net/swsamleo/article/details/7915316

2.wstcegg大神:http://blog.csdn.net/wstcegg/article/details/39495535

3.zouxy09大神图像分割系列:http://blog.csdn.net/zouxy09/article/details/8532106

4.GraphCuts on the GPU:http://blog.sina.com.cn/s/blog_60a0e97e0101bc75.html

5.GraphCut,Max-flow/min-cut等的代码:

http://vision.csd.uwo.ca/code/

http://pub.ist.ac.at/~vnk/software.html

论文:

1.An Experimental Comparison of Min-Cut/Max-Flow Algorithms for Energy Minimization in Vision -- Yuri Y.Boykov

作者写了一个new min-cut /max-flow algorithm的实现:http://vision.csd.uwo.ca/code/maxflow-v3.01.zip

2.Interactive Graph Cuts for Optimal Boundary & Region Segmentation of Objects in N-D Images -- Yuri Y. Boykov

3. grab cut-Interactive Foreground Extraction using Iterated Graph Cuts

下面是maxflow的讲解,这个maxflow算法的作者称做new min-cut /max-flow algorithm,他与标准maxflow算法不太一样,是通过建立树的形式去寻找s->t路径的,算法复杂度陡升啊...但是据说对于图像而言,这个方案反而比标准算法更优...

Example of the search trees S (red nodes) and T (blue nodes) at the end of the growth stage when a path (yellow line) from the source s to the sink t is found. 

Active and passive nodes are labeled by letters A and P, correspondingly. Free nodes appear in black.


 


S树和T树最前沿的点称为active node,这些点的任务是去发展新的node。而被active node包围起来的那些点,则称之为passive node。而没有被发掘出来的点则称之为free node

An augmenting path is found as soon as an active node in one of the trees detects a neighboring node that belongs to the other tree.

 

The algorithm iteratively repeats the following three stages:

1“growth” stage: search trees S and T grow until they touch giving an s ->t path, grow S & T search trees, find an edge connecting them

首先算法分别从sourcesink出发,建立两棵广度优先搜索树。In tree S, all edges from each parent node to its children are nonsaturated, while, in tree T , 

edges from children to their parents are nonsaturated,直到找到一条s->t的路径。

2 “augmentation” stage: the found path is augmented, search tree(s) break into forest(s)

The augmentation stage augments the path found at the growth stage. Since we push through the largest flow possible, 

some edge(s) in the path become saturated.

增长第一阶段找到的s->t的路径,因为我们会在这条路径中找最大的流,所以S树和T树上的一些节点会变成暂时的孤儿节点,

我们将这些节点加入孤立节点集合。 这一步会把S树和T树打乱,分成好多棵树。that is, the edges linking them to their parents are no longer valid (they are saturated). In fact, the augmentation phase may 

split the search trees S and T into forests. The source s and the sink t are still roots of two of the trees, 

while orphans form roots of all other trees.

orphan集合中在增广时建立,每次更新一个边后,如果发现改变后的边的残留流量=0,则把边指向的那个点加入orphan set

3 “adoption” stage: trees S and T are restored.

The goal of the adoption stage is to restore the single-tree structure of sets S and T with roots in the source and the sink

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值