local expansion解读
1.graph cut(分成前景和背景)
2.Alpha-expansion(分成多个平滑平面)
3.local-expansion

grab cut

主要目的:通过在前景和背景各画几画作为输入,将建立各个像素点与前景背景相似度的赋权图,通过求解最小切割区分为前景和后景。

图的定义

local expansion
顶点集V,边集E,图G可以定义为有序对G=(V,E)
graph cut分为两种顶点和边:
1,普通顶点对应图像中的每个像素。每两个领域顶点的链接就是一条边。(n-link)
2,两个终端顶点(S和T),每个普通顶点和这两个终端顶点之间有连接组成第二种边(t-links)

能量函数

寻找到一个割,使得前景背景分开,它的边的所有权值之和最小,那么这个就称为最小割,也就是图割的结果。所以图像分割可以看成像素标记问题,假设前景为0,背景为1.
能量函数定义为:E(L)=αR(L)+B(L)
R(L)表示区域项,R(L)=pPRp(Ip),Rp(Ip)表示像素p分配标签Ip的惩罚。就是t-link的权重
B(L)表示边界项,B(L)=p,qNB<p,q>δ(lp,lq)就是n-link的权重。

最小割最大流

目前的主要算法:
1) Goldberg-Tarjan
2) Ford-Fulkerson
3) 上诉两种方法的改进算法

Alpha-expansion

graph cut 将图片分为前景背景两个标签,而Alpha-expansion将图片分为多个标签。
该算法基于分块光滑的前提:1,这些量在块的内部变化平滑。2在块与快之间(物体边界)变化很大。
对于每一个像素点pP,用一个标签(label)fpL,将每个像素p映射到标签集L的某个标签上。

目的:寻找标签函数f使得能量函数最小。

能量函数表达和graphcut 相似,其中
E(f)=Esmooth(f)(与graphcut的边界项对应)+ Edata(f)(与graphcut的区域项对应)
这里Esmooth表示f分块的不光滑程度,Edata表示f与观测到的数据的不一致性
Esmooth={p,q}NVp,q(fp,fq),Edata(f)=pPDp(fp)
αexpansion中,V需要满足在标签空间L上为度量的。度量的三个条件:
(1)α,βL,V(α,β)=V(β,alpha)0
(2)V(α,β)=0α=β((1)(2)得到半度量)
(3)α,β,γL,V(α,β)V(α,γ)+V(γ,β)
(这里有个疑问:local expansion中的V并不是度量的,明显不满足第三个条件)

expansion

总体思路是每一次 expansion调整一(两)个标签来使得能量函数下降,遍历所有标签(组合)直至能量函数在所有的一次 expansion 调整标签中不能下降,算法停止,达到最优。
- expansion
给定一个标签 α,从一个分割 P到另一个分割P′的 变动在满足以下 条件时称之为一次αexpansion标签调整操作:对任意标签lα都有 PlPl。也就是说在一次 αexpansion调整操作中,除了α标签以外的集合都是原来的子集,简而言之就是被标记为α标签的像素集合扩大了,这也是该算法名称的由来。 下面是该算法的流程。
local expansion

目标:找到一个具体的标记方式 f^,使得总能量 E在此时 f上的 α标签的 expansion 调整操作中最小。
在V满足在标签空间L上为度量的假设下,文章中通过添加辅助节点,并且精心设计每条边的权重。
local expansion
汇源节点分别代表标签 α 和其他标签 α¯.
- 图在整幅图像的所有像素点上构造
- 在相邻且具有不同标签顶点({p,q}Candfpfq)间添加额外的辅助节点 α{p,q},也就是在分割边界上需要辅助节点,
- 相应的对于辅助节点我们需要添加额外的三条辅助边,分别与两个边界点和 α¯
相连,并且在构造权重时使得他们之间满足三角不等式。
所有边的集合及权重如下图:
local expansion

Lemmma 3: Ga的一个割与一次 f上标签 α的 expansion 移动一一对应。
特别的,对于最小割我们有以下割边情形:

local expansion

  • 图中中间情形:当之前相邻边界像素保留原标签(fa=α¯),那么由于中间的辅助节点三条边满足三角不等式,就必须切t边(taa¯)。
  • 图中右边情形:当之前相邻边界像素其中一个变成a标签,另一个保留原标签,那么还是由于三角不等式,ep,a必定包含在割集中。
    三角不等式在这里的意义就是尽量只切辅助节点的某一条边。
    与上一部分类似,通过之前定义的割边权值计算最小割代价可以证明 |C|=E(fC).那么有:
    Corollary 2: 从当前 f和标签 α出发的最佳 α expansionf¯=fC,其中 C是图Ga 上的最小割。

local expansion

在对αexpansion有所了解之后,接下来开始介绍,αexpansion的变形local expansion以及它在双目视觉领域的应用。

前提

假设真实的视差图是分段线性的,也就是满足分块光滑。在3D世界中存在一个平面(x,y,z)R3.所以:
apx+bpy+cpz=hpapxz+bpyz+cp=hp1zapu+bpv+cp=hp1zd(u,v)=Bfz=Bfhp(apu+bpv+cp)
因此p为平面,dp为平面的视差,fp=f(p)=(ap,bp,cp)L为平面的标签。

最小化能量函数

E(f)=pΩϕp(fp)+λ(p,q)Nφpq(fp,fq)
前一项为数据项,后一项为平滑项
对于数据项,ϕp(fp)=sWpwpsρ(s|fp)其中Wp,表示以p为中心的正方形窗口。
wps=1|W|2k:(ps)Wk(1+(Ipμk)T(k+e)1(Isμk)),其中Ip=IL(p)255,μkk分别表示I_p在局部回归窗口Wk的权重。
ρ(s|fp)表示在视差平面fp的条件下,窗口Wk中的像素s与它在右图的匹配点s‘的不相似度。容易知道:
s=s(apsu+bpsv+cp,0)ρ(s|fp)=(1α)min(IL(s)iR(s)1,τcol)+αmin(|xIl(s)xIR(s)|,τgrad)
x表示图像I的灰度梯度,其中a表示颜色和梯度项的权重的平衡。τcol,τgrad则为了增强公式的鲁棒性。
local expansion
local expansion
local expansion
local expansion
local expansion
local expansion

相关文章: