概念
KNN matting提出了基于KNN的拉普拉斯矩阵计算方法,通过KNN构建邻接矩阵,进而得到度矩阵和拉普拉斯矩阵,带入 α 的求解方程中。
抠图
抠图技术,把图像中一部分从其他部分分开出来。将图像分为两层,分出来那层成为前景层,图像中的其他部分称为背景层。
图像中每一点都是由前景颜色和背景颜色组合而成,其中前景颜色所占的比重称为alpha因子。颜色组合方程:
I=αF+(1−α)B
I, F, B分别表示图像上一点的合成色、前景色、背景色, α 是该点的alpha值。
仅仅知道I的情况下,求解alpha,F,B,这是一个约束不足(under-constrained)问题。
文中通过假设在很小的窗口内F和B为恒定值,进而将该问题归结为求下面的约束问题(论文中提取的定理)
α=argminα′Lαs.t. α(i)=S(i)
其中
S
是手工标记的区域,
(L+λD)∑inαi=λm
K近邻抠图的主要贡献在于提出了基于KNN的拉普拉斯矩阵计算方法。
1. 特征向量计算
给定像素i的特征向量定义如下:
X(i)=(cos(h),sin(h),s,v,x,y)
其中h,s,v分别是HSV颜色空间的坐标值,(x,y)是像素i的空间坐标。
2. 内核函数计算
定义内核函数:
k(i,j)=1−∥X(i)−X(j)∥C
C是权值调节系数,保证 k(i,j)∈[0,1] , ||·||是1范数,即两向量差的绝对值之和。
求拉普拉斯矩阵:
L=D−A
其中相似矩阵 Aij=k(i,j) ,对角矩阵 Dii=∑jAij
K近邻抠图给出了一种适合任何颜色任何维度的特征空间算法。利用Nonlocal抠图的非局部原理,通过使用K个最近邻像素来匹配非局部区域,并且提供了一个简单快速的算法来产生更高质量抠图结果,进一步利用语出共轭梯度法求解封闭形式解。
非局部原理
非局部原理的工作假设是,一个去噪像素i是由与它类似特征的像素与一个内核函数k(i,j)权重的加权和:
E[X(i)]≈∑jX(j)k(i,j)1Dik(i,j)=exp(−1h2∥X(i)−X(j)∥2g−1h2d2ij)Di=∑jk(i,j)
其中
$X(i)$
是像素i的特征向量,
$d_{ij}$
是像素i到j的距离,||·||是一个高斯范数,,h1和h2是常量。类似的得到
$\alpha$
的预期值如下:
E[αi]≈∑jαjk(i,j)1DiorDiαi≈k(i,j)Tα
其中α是由所有输入图像的α值组成的向量。
根据非局部原理,当条件分布 E[αi|X(i)=X(j)]=αj 成立时,意味着有相同特征的像素将共享同样的α值。
因此,有 Dα≈Aα , L=D−A 称为集群拉普拉斯算子,基本上解决了二次最小化问题 minα∑Aij(αi−αj)2 .
步骤
- 特征向量计算
给定像素i的特征向量定义如下:
X(i)=(cos(h),sin(h),s,v,x,y)
其中h,s,v分别是HSV颜色空间的坐标值,(x,y)是像素i的空间坐标。 - 内核函数计算
定义内核函数:
k(i,j)=1−∥X(i)−X(j)∥C
C是权值调节系数,保证 k(i,j)∈[0,1] ,||·||是1范数,即两向量差的绝对值之和。
求拉普拉斯矩阵:
L=D−A
其中相似矩阵 Aij=k(i,j) ,对角矩阵 Dii=∑jAij - 闭合形式解
加入用户约束信息,封闭形式解的方程:
(L+λD)∑inαi=λm
其中 λ 是约束系数, m <script type="math/tex" id="MathJax-Element-26">m</script>是向量,用户对已知像素区域的标记