local expansion解读
1.graph cut(分成前景和背景)
2.Alpha-expansion(分成多个平滑平面)
3.local-expansion
grab cut
主要目的:通过在前景和背景各画几画作为输入,将建立各个像素点与前景背景相似度的赋权图,通过求解最小切割区分为前景和后景。
图的定义
顶点集V,边集E,图G可以定义为有序对G=(V,E)
graph cut分为两种顶点和边:
1,普通顶点对应图像中的每个像素。每两个领域顶点的链接就是一条边。(n-link)
2,两个终端顶点(S和T),每个普通顶点和这两个终端顶点之间有连接组成第二种边(t-links)
能量函数
寻找到一个割,使得前景背景分开,它的边的所有权值之和最小,那么这个就称为最小割,也就是图割的结果。所以图像分割可以看成像素标记问题,假设前景为0,背景为1.
能量函数定义为: E(L)=αR(L)+B(L) E ( L ) = α R ( L ) + B ( L )
R(L)表示区域项, R(L)=∑p∈PRp(Ip),Rp(Ip) R ( L ) = ∑ p ∈ P R p ( I p ) , R p ( I p ) 表示像素p分配标签 Ip I p 的惩罚。就是t-link的权重
B(L)表示边界项, B(L)=∑p,q∈NB<p,q>δ(lp,lq) B ( L ) = ∑ p , q ∈ N B < p , q > δ ( l p , l q ) 就是n-link的权重。
最小割最大流
目前的主要算法:
1) Goldberg-Tarjan
2) Ford-Fulkerson
3) 上诉两种方法的改进算法
Alpha-expansion
graph cut 将图片分为前景背景两个标签,而Alpha-expansion将图片分为多个标签。
该算法基于分块光滑的前提:1,这些量在块的内部变化平滑。2在块与快之间(物体边界)变化很大。
对于每一个像素点 p∈P p ∈ P ,用一个标签(label) fp∈L f p ∈ L ,将每个像素 p p 映射到标签集
的某个标签上。
目的:寻找标签函数f使得能量函数最小。
能量函数表达和graphcut 相似,其中
E(f)=Esmooth(f) E ( f ) = E s m o o t h ( f ) (与graphcut的边界项对应)+ Edata(f) E d a t a ( f ) (与graphcut的区域项对应)
这里 Esmooth E s m o o t h 表示f分块的不光滑程度, Edata E d a t a 表示f与观测到的数据的不一致性
Esmooth=∑{
p,q}∈NVp,q(fp,fq),Edata(f)=∑p∈PDp