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.
能量函数定义为:
R(L)表示区域项,表示像素p分配标签的惩罚。就是t-link的权重
B(L)表示边界项,就是n-link的权重。
最小割最大流
目前的主要算法:
1) Goldberg-Tarjan
2) Ford-Fulkerson
3) 上诉两种方法的改进算法
Alpha-expansion
graph cut 将图片分为前景背景两个标签,而Alpha-expansion将图片分为多个标签。
该算法基于分块光滑的前提:1,这些量在块的内部变化平滑。2在块与快之间(物体边界)变化很大。
对于每一个像素点,用一个标签(label),将每个像素映射到标签集的某个标签上。
目的:寻找标签函数f使得能量函数最小。
能量函数表达和graphcut 相似,其中
(与graphcut的边界项对应)+ (与graphcut的区域项对应)
这里表示f分块的不光滑程度,表示f与观测到的数据的不一致性
中,V需要满足在标签空间L上为度量的。度量的三个条件:
(1)
(2)((1)(2)得到半度量)
(3)
(这里有个疑问:local expansion中的V并不是度量的,明显不满足第三个条件)
expansion
总体思路是每一次 expansion调整一(两)个标签来使得能量函数下降,遍历所有标签(组合)直至能量函数在所有的一次 expansion 调整标签中不能下降,算法停止,达到最优。
- expansion
给定一个标签 ,从一个分割 P到另一个分割P′的 变动在满足以下 条件时称之为一次标签调整操作:对任意标签都有 。也就是说在一次 调整操作中,除了标签以外的集合都是原来的子集,简而言之就是被标记为标签的像素集合扩大了,这也是该算法名称的由来。 下面是该算法的流程。
目标:找到一个具体的标记方式 ,使得总能量 E在此时 f上的 标签的 expansion 调整操作中最小。
在V满足在标签空间L上为度量的假设下,文章中通过添加辅助节点,并且精心设计每条边的权重。
汇源节点分别代表标签 α 和其他标签 .
- 图在整幅图像的所有像素点上构造
- 在相邻且具有不同标签顶点()间添加额外的辅助节点 ,也就是在分割边界上需要辅助节点,
- 相应的对于辅助节点我们需要添加额外的三条辅助边,分别与两个边界点和 α¯
相连,并且在构造权重时使得他们之间满足三角不等式。
所有边的集合及权重如下图:
Lemmma 3: 的一个割与一次 f上标签 α的 expansion 移动一一对应。
特别的,对于最小割我们有以下割边情形:
- 图中中间情形:当之前相邻边界像素保留原标签,那么由于中间的辅助节点三条边满足三角不等式,就必须切t边()。
- 图中右边情形:当之前相邻边界像素其中一个变成a标签,另一个保留原标签,那么还是由于三角不等式,必定包含在割集中。
三角不等式在这里的意义就是尽量只切辅助节点的某一条边。
与上一部分类似,通过之前定义的割边权值计算最小割代价可以证明 .那么有:
Corollary 2: 从当前 f和标签 α出发的最佳 α expansion,其中 C是图 上的最小割。
local expansion
在对有所了解之后,接下来开始介绍,的变形local expansion以及它在双目视觉领域的应用。
前提
假设真实的视差图是分段线性的,也就是满足分块光滑。在3D世界中存在一个平面.所以:
因此p为平面,为平面的视差,为平面的标签。
最小化能量函数
前一项为数据项,后一项为平滑项
对于数据项,其中,表示以p为中心的正方形窗口。
,其中分别表示I_p在局部回归窗口的权重。
表示在视差平面的条件下,窗口中的像素s与它在右图的匹配点s‘的不相似度。容易知道:
表示图像I的灰度梯度,其中a表示颜色和梯度项的权重的平衡。则为了增强公式的鲁棒性。