APP下载

梯度稀疏性先验图像matting算法

2018-11-15李晋江苑根基

小型微型计算机系统 2018年11期
关键词:图层前景像素

李晋江,苑根基,范 辉

1(山东工商学院 计算机科学与技术学院,山东 烟台 264000 2(山东工商学院 山东省高等学校协同创新中心未来智能计算,山东 烟台 264000)

1 引 言

图像matting是将前景对象从给定图像中准确提取的过程.精确提取前景对象,并与新的背景合成,这在图像和视频编辑领域是一项非常重要的技术.在图像分割中,将图像简单处理为二值图像,每个像素要么完全属于前景,要么完全属于背景.这导致毛发或半透明的物体不能被完美的提取出来.图像matting与图像分割不同,matting将有可能属于前景也有可能属于背景的像素划分为混合像素,混合像素是前景像素和背景像素的线性组合.Porte和Duff在1984年提出其合成公式为:

I=αF+(1-α)B

(1)

其中,α表示不透明度,可在[0,1]内取任意值.F,B分别为前景和背景像素值.若α=1,则该像素完全属于前景;若α=0,则该像素完全属于背景;否则,该像素为混合像素.为了将精确的提取前景对象,需要精确估计混合像素的alpha值.考虑到本文所分析的图像大部分为RGB图像,可以得到3个方程和7个未知量.因此,matting问题是一个严重欠约束的问题,需要用户提供大量的先验信息求解alpha.先验信息主要以trimap[1]和subscribes[2]的形式提供.

当前景和背景区域的颜色相接近或重叠时,或者图像具有复杂的纹理特征,matting算法估计的alpha值不够精确.想要获得更精确的matting结果,本文对输入图像的图层进行处理,使想要提取的前景图像与背景图像之间具有更加清晰的界限,同时抑制背景复杂的纹理.

将输入图像分成两个图层的组合:

C=L+R

(2)

其中C表示输入图像,L和R为组合图层.L即为所希望的图层,R中包含想要去除的干扰.想要得到一个前景/背景边界清晰,结构简单的图层L和一个更为模糊的图像层R.希望在去出纹理干扰的基础上,同时将前景进行平滑处理.利用景深核h对图层R进行模糊处理,可以得到:C=L+R*h,图层R与景深核h一起被卷积为高斯模糊.

图像分层[3]问题试图从单个输入C求出两个输出(L和R),这是一个病态的问题.这同样需要先验知识的指导.在图像去噪领域,利用梯度稀疏性的先验对于此类病态问题的求解可以取得理想的结果.本文将梯度稀疏的先验应用于对图像进行分层,但是两层图像的梯度不具有一致性.图层L是光滑的,因此,图层R的梯度要大于图层L的梯度.

本文主要利用梯度稀疏对输入图像进行处理,将图像分为两层处理,使得一层比另一层更为平滑.可以得到一幅具有更为简单的结构以及清晰的前景/背景边界的图像.实验证明,将输入图像分层处理之后,得到的更为光滑的图像更具有优势.本文的方法在处理前景颜色和背景颜色相接近的图像以及前景对象具有复杂的边界信息时,利用本文的方法可以得到质量更高的结果.

2 相关工作

在本节中,讨论了一些最先进的matting算法以及图像分层的方法.Matting算法主要分为两类:基于采样的算法和基于传播的算法.

2.1 基于采样的Matting方法

基于采样的方法[5-8]将相邻的前景和背景像素作为样本来估计未知像素的alpha值.Chuang等人提出贝叶斯matting算法[1],利用概率的方法解决matting问题.贝叶斯算法将图像的平滑性作为假设,并假设像素按高斯模型分布,以未知像素为中心,使用一个连续滑动窗口选择相邻的前景区域和背景区域,利用采集到的前景样本和背景样本构建颜色分布.通过一个良好的贝叶斯框架计算未知像素的alpha值,一般使用最大后验概率(Maximum a Posteriori,MAP)计算.

鲁棒的matting算法[5]从未知像素的近邻采样,但是对于背景复杂的样本,其采集的样本可能出现错误或者缺失.因此,在处理背景复杂的图像时,鲁棒的方法从全局采样,沿着前景和背景的边界,为每一对样本设置一个置信度,置信度根据样本颜色与未知像素颜色的亲和度以及前景和背景样本之间的距离计算.使用置信度高的样本估计未知像素的alpha值.

在基于采样的方法中,贝叶斯方法[1]是假设未知区域是前景对象边界周围的窄边,使用局部颜色模型.全局采样方法则使用图像中所有的可用像素作为样本,不仅需要考虑样本与未知像素的距离,还要考虑样本与未知像素的颜色亲和度,这样可以减少有效样本的损失.采用随机搜索算法采集样本,避免了对相似样本的重复采集,减少了样本搜索空间.但是全局采样的方法处理前景和背景颜色接近的图像时得不到理想的结果,采集到的样本质量较差,一个未知像素可能是错误的前景和背景的线性组合.

2.2 基于传播的Matting方法

基于传播的方法不需要明确的前景和背景颜色信息,而是利用图像的局部统计,定义相邻像素之间的各种亲和力[4]来模拟图像上的无光泽(matte)梯度,没有直接计算每个未知像素的alpha值.泊松matting假设前景和背景的强度变化平滑,利用用户提供的trimap信息,通过计算式(1)的偏导数来估计图像的无光泽梯度,最小化成本函数计算最终的alpha值,利用泊松方程重建matte.

随机游走matting算法[9]利用亲和力计算最终的alpha值.利用用户给定的trimap,对于未知区域的每个像素,通过加权边缘连接到相邻的像素.如果两个像素的亲和度很高,则两个像素之间会有较大的边权,表明两个像素强耦合,具有相似的alpha值.未知像素的最终alpha值通过该像素随机游走到前景像素而没有跨过前景边界的概率计算的.Geodesic matting利用用户提供的subscribes,计算subscribes到未知区域像素的geodesic距离,以此区分前景和背景.在Geodesic matting算法中,可以添加subscribes以改善局部区域的结果.但是该方法对于颜色复杂的图像不能给出准确的结果.

光谱matting算法[10]基于彩色线性模型的假设,利用光谱分割技术从拉普拉斯矩阵中寻找最小的特征向量,然后使用k均值聚类方法将这些特征值聚类.根据这些聚类簇构建前景对象的遮罩.光谱matting的主要问题是需要得到足够的消光组件,如果得到的影响最终结果的消光组件不足,则会产生错误的结果.封闭式matting算法[11]从前景和背景的局部平滑假设推导出一个目标函数.该方法没有使用任何全局参数,而使用局部估计的均值和方差计算alpha值.如果前景颜色和背景颜色在局部范围内没有发生改变,将会得到低质量的遮罩.KNN matting[12]改进了局部matting方法[13],在HSV色彩空间中得到更好的效果.非局部matting方法需要利用大内核估计alpha值,而KNN matting不依赖于大内核函数,并且在全局范围内采样,结果的准确性得到了改善.但是KNN matting依赖于特征向量构建拉普拉斯矩阵,错误的特征向量会产生错误的结果.

2.3 其他方法

利用深度学习的matting方法可以得到更精确的结果.Cho[14]等人将局部(封闭式CF matting)和非局部(KNN matting)matting算法的结果相结合,利用卷积神经网络获得高质量的遮罩.将局部matting和非局部matting的优点相结合,识别不同的局部图像结构,重建高质量的alpha遮罩.Xu[15]等人提出一种新的基于深度学习的算法,当图像具有相似的前景和背景或复杂的纹理时,也可以取得高质量的结果.将图像和相应的trimap作为输入,利用深度卷积网络学习并预测相应的alpha遮罩.再利用一个小的卷积网络对预测的alpha遮罩进行改进,使其具有更准确的边界.但是利用深度学习的方法需要足够的数据和先进的硬件支持,该方法的实际应用受到限制.深度学习的matting方法也是利用原始的输入图像训练模型.结构简单、层次清晰的输入图像可以取得高质量的遮罩.

Aksoy等人中[16]基于像素亲和力进行抠图,同时将其扩展到图像层颜色估计,并利用多个通道增加图层的颜色质量,取得了不错的效果.Isola等人利用互信息[17]提取语义有意义的轮廓并推导像素间的亲和度,此方法可以找到具有复杂纹理的图像的目标边界;Rhemann等人提出将alpha先验建模为具有相位空间变换的点扩散函数[18],同时给出了一个有效的解卷积的方法.在图像去噪领域[19,20],从原始图像中把噪声图像分离出来,从而得到清晰的图像.考虑基于边缘的图像分解方法,最早的算法是一个简单的启发式Retinex算法,此后的很多工作都遵循此算法[21].大多数反射消除算法需要多个图像的输入,对于单幅图像的处理比较困难.

图像分层主要包含固有图像的分解以及反射干扰的去除.对固有图像的分解,比较好的方式是利用概率模型,假设图像中存在一个稀疏的反射集合,称为全局稀疏性[22,23].但这与本文所使用的稀疏先验并不相同,并不适用于梯度直方图.全局稀疏性是直接应用于允许的反射率值.在去除反射干扰[24,25]时,只是用单幅图像取得的效果不理想.大部分情况下需要用户提供先验信息.受到图像分层的启发,本文将图像分层应用于matting领域,对算法提取到的图像做分层处理,以得到前景目标光滑的图像,同时将背景复杂的纹理信息简单化,使背景的结构尽可能的简单.使图像的前景颜色与背景颜色对比明显,对于细节的处理,可以达到更为理想的效果.将输入图像分为两层图像,使复杂的背景结构大大简化.在将图像分层处理时,并不需要多个输入图像,只是在单个图像上进行简单的处理,但是最终取得的结果具有足够的竞争力.

3 本文的方法

主要利用KNN Matting方法验证本文的方法.KNN Matting基于非局部的准则,不需要假设颜色线性模型,也不需要复杂的采样策略,只需要在稀疏的用户交互的基础上,利用K近邻算法来匹配非局部的近邻.KNN Matting首先需要提取特征向量,而特征向量主要由颜色空间和像素点的空间位置坐标组成,KNN Matting能轻易地扩展到处理SVBRFD或更高维度的颜色空间.

3.1 非局部原则

在这里简要介绍一下非局部准则.利用非局部原则的方法类似地使用颜色相似性和空间相近性来确定不同像素的alpha值应该如何相互关联.KNN matting[12]使用k个最近邻像素匹配非局部区域,利用预处理共轭梯度法计算闭合形式解.当图像边缘附近的前景和背景颜色相差较小或者图像结构复杂时,得到的结果质量会有所下降.所谓非局部原理,就是假设一个去噪像素i是由与它有类似特征的像素与一个内核函数κ(i,j)权重的加权和,在文献[13]中描述如下:

(3)

(4)

(5)

其中,X(i)是像素i的特征向量,dij是像素i与j的距离,‖·‖g是一个中心加权的高斯范数,h1和h2为依据经验设置的常数.与式(3)类比,alpha的期望值为:

(6)

其中,α为输入图像所有alpha值的向量.非局部原则同样适用于式(6),当给定的条件分布E[αi|X(i)=X(j)]=αj成立时,具有相同特征的像素使用同一个alpha值.非局部原理基本取代了应用于小窗口的局部线性模型,但当使用大内核函数[26]时,得不到想要的结果.由式(6)可得,Dα≈Aα,其中,A是一个N×N的关系矩阵,D=diag(Di)是一个N×N阶的对角矩阵,N为图像中像素点的总和.于是有(D-A)α≈0orαTLcα≈0,其中,Lc=(D-A)T(D-A),称为聚类拉普拉斯矩阵.这基本上解决了二次最小化问题minα∑Aij(αi-αj)2.

3.2 图像分层

在KNN matting提取的图像层上施加梯度稀疏先验.假设L比R平滑,那么大梯度属于R.将其建模为概率模型[3]:

(7)

(8)

其中,x是梯度值,z是归一化因子,σL和σR是两个窄的高斯下降非常快的值,在PR中添加最大算子,以防止尾部概率接近于零.想要得到更为平滑的图像L,即将联合概率P(L,R)最大化,通过最小化负对数概率实现.假设两个图像层和滤波器的输出都是独立的,使用两个方向不同的一阶导数滤波器和一个二阶拉普拉斯滤波器

(9)

同时增加稀疏惩罚函数ρ,可以得到:

(10)

(11)

(12)

使用一个二维傅立叶变换(2D FFT)Γ将Fj卷积对角化,找到最优的R:

R=Γ-1(A)

(13)

其中,*表示共轭,τ为增加算法稳定性的参数.再将R标准化,即最小化目标函数:

(14)

mi,ni为指示函数,当Ri+tubi时,ni等1,否则都等于0.这样,可以得到一个前景和背景分界清晰,结构简单的图层L和一个更为模糊的图层R,接下来的工作就在图层L上进行.

3.3 KNN Matting

得到的L前景和背景之间的区分更为明显,KNN方法从图层L提取特征向量:

X(i)=(cos(h),sin(h),s,v,x,y)

(15)

其中,h,s,v表示HSV空间的各个分量,x,y表示像素点i的横坐标和纵坐标.给出内核函数为:

(16)

其中,X(·)为特征向量,T为权值系数.则闭合形式解为:

(17)

其中,N为拉普拉斯矩阵,D为对角矩阵,γ为约束项系数.对优化函数进行最小化处理,可得:

(18)

其中,γ|v|是一个常量,H=2(N+γD)是一个半正定矩阵.对g(x)求导并令结果为0即为最优解:

H-1c=(N+γD)-1(γv)

(19)

本文算法描述如下.

输入:原始图像C及其Trimap,初始参数λ、权重β,学习速率η,最大迭代次数n.

输出:alpha图像

1.当i

3.利用式(13)计算图像层R

4.然后利用式(14)标准化图像层R

5.对β进行更新,β=η*β

6.得到优化后的图像层L,L=C-R,结束当前循环

7.当i

8.利用式(15)从图像层L中提取特征向量

10.进行最小化处理,即对式(18)最小化.然后对其求导,可得最优解为:

H-1c=(N+γD)-1(γv),结束循环

4 实 验

4.1 定性分析

选取两幅比较典型的图像进行细节比较.如图1所示.使用alpha matting网站提供的数据集验证本文方法的结果.使用CF matting方法、LB Matting方法[29]和KNN Matting方法与本文的方法相比较.为了展示matting结果的细节,选择了具有代表性的区域放大进行比较.将白色方框和黑色方框表示的区域放大进行比较,如图1第2、3列所示.

在白色方框表示的区域中(图1中第二列)背景信息较少,传统的matting方法不能获得足够的背景信息,将该区域全部处理为前景(如图1(c)(d)所示).而本文的方法可以获取更为全面的信息.可以将毛发细节更多的保存下来.与传统的KNN Matting相比较,本文的方法表现出更为优秀的结果.

在黑色方框表示的区域中(图1中第三列),将边缘毛发放大比较.本文的方法表现出更具竞争力的结果.CF和LB的matting方法将边缘处细小的毛发信息完全丢失,将其处理为背景.而KNN Matting方法对于边界的处理也较为粗糙,前景目标的边缘信息存在丢失现象.本文的方法对于细小毛发的处理更为细致.

对于图1中第4列表示对于多孔洞图像的处理.CF和LB的matting方法只能提取较大孔洞,对于细小的孔洞,因为缺乏背景的信息,则将其全部判定为前景.KNN matting与本文的方法差距不大,可以将孔洞较好的保存下来.本文的方法与其它matting算法相比较,不仅能将图像的细节信息完整的保留下来,而且与Ground Truth图像最为接近.

图1 细节比较

对于样本缺失的图像,本文的方法也能进行较好的处理.如图2所示,白色大圆标记的旗帜部分没有有效的样本,CF Matting方法和LB Matting方法不能得到高质量的结果.KNN matting方法取得的结果要好一些,但对于小圆标记的旗帜上的图案处理较差,且大圆标记部分出现明显的边缘.本文的方法得到的结果最接近基准图像.

图2 有效样本缺失比较

对于结构简单,背景信息并不复杂的图像,各类matting算法所取得的结果差距不大.如图3所示,本文的方法对不同图像的处理都可以取得不错的效果.图3中第2、3列表现出本文的方法对于处理边缘细小毛发的优势.本文的方法可以抑制背景复杂的纹理信息,可以获得更为清晰的前景和背景的界限.本文的方法得到的结果与Ground Truth图像最为接近.

图3 自然图像抠图比较[28]

选取了几种基于传播的抠图方法与本文的方法相比较.在取得更好的图像层的基础上,在对于孔洞的处理上,本文的方法与其它方法相比较差异不大.但本文的方法在处理细小的毛发方面有出色表现.如图1中第2、3列对目标毛发的处理,其毛发区域前景颜色和背景颜色相接近,本文的方法使前景和背景的颜色区分更为明显,可以取得更精确的结果.

4.2 定量比较

图像的组成比较复杂,单凭视觉去判断优劣不够精确.本文采用文献[30]提供的方法对matting结果进行评估.只展示了部分图像的比较结果(选取图1和图3的图像作为比较数据集).通过计算不同matting方法得到的结果的绝对误差和(Sum of Absolute Difference,SAD)以及平均平方误差(Mean Squared Error,MSE)对结果进行评估.图4表示比较数据集中的图像在不同算法下的MSE(图4(a))和SAD(图4(b))评价.纵坐标表示误差度,横坐标表示图像编号.在结构简单、背景信息并不复杂的图像中,本文的方法与KNN matting得到的结果比较接近,但是本文的方法更占优势.在处理图像的细小边缘时,本文的方法与Ground Truth图像最为接近.可以发现,本文的方法在比较数据集图像上取得的结果均优于其它matting算法.

图4 测试集比较

实验均在同一环境下进行,电脑配置如下:i5-3230 CPU,4GB内存,NVDIA GT630M显卡.

5 结 论

本文在经典的matting算法的基础上,利用梯度稀疏对提取的图像进行分层处理.在依赖于颜色相似性或者空间相接近的像素相似性度量中,alpha从已知区域向未知区域的传播更加可靠.在基于采样的matting算法中,利用局部窗口进行采样,可以获得更可靠的颜色样本数据.在对图层进行处理时,本文采用与图像去反射、去噪类似的方法,将图像的背景模糊处理,使前景目标凸显并将前景对象光滑处理.本文的方法在处理前景颜色和背景颜色相近的图像或者具有复杂结构的图像时表现出较大的优势.特别是对于细小毛发的处理,本文的方法可以得到更为优秀的结果.对于具有复杂纹理的图像,本文的方法也可以得到更具竞争力的结果.与传统的matting方法相比较,即使对于结构简单的图像,本文的方法取得的结果也优于其它方法.

猜你喜欢

图层前景像素
像素前线之“幻影”2000
我国旅游房地产开发前景的探讨
为《飞舞的空竹龙》加动感
四种作物 北方种植有前景
以假乱真窥探湿玻璃后的风景
“像素”仙人掌
离岸央票:需求与前景
与众不同“跳出”画面更个性
量子纠缠的来历及应用前景
高像素不是全部