仝 苗, 何 坤, 朱志娟
(四川大学计算机学院, 成都610065)
前景提取是指从一幅图像中将任意感兴趣的对象提取出来,它在机器视觉[1-2]的领域占据着十分重要的位置,在生物学[3-5]、遥感[6-7]、气象[8]等领域有着广泛的应用,目前主要根据图像的颜色[9],边缘和区域[10-12]等特征来提取前景,这些方法对于卡通图像的前景提取效果比较理想,但由于自然场景图像的复杂性,图像内容的理解随个人的认知而不同,图像中的前景也因人而异,前景提取效果并不理想,仍需要进一步研究.
现有的前景提取方法常常结合用户交互和图像特征来提取感兴趣的前景.魔术棒[13]和智能剪[14]是出现较早的前景提取的方法.魔术棒是根据像素的相似性计算一组在一定容差范围内偏离用户标记的种子点的像素,它只对颜色分布紧凑,前背景有显著差异的卡通图像有较好的提取结果,对于自然场景图像难以取得期望的效果.而智能剪允许用户通过鼠标移动跟踪目标的边界,从而找到最小路径,帮助用户快速获取前景轮廓,但是自然场景图像中的弱边缘会导致计算得到的前景轮廓出现偏差,前景提取效果较差.这两种方法都不能很好地利用图像中的边缘、区域等特征从自然场景图像中提取前景.
结合图像中的边缘和区域特征,Boykov和Jolly提出了Graph cuts算法[15],该算法的能量函数最优解可以通过最小割/最大流算法得到.该算法根据用户标记的种子点像素建立的描述前背景灰度特征的局部直方图进行前景提取,效果较好.但是存在的一个问题是局部直方图不能表示未标记的像素点的灰度特征,导致该算法对用户标记很敏感,如果选取像素点较少,前景提取的边界容易出现错误.另一个问题是,它对于图像中的非均匀区域敏感,当一幅图像的颜色分布较广时,前景提取效果差.
自然场景图像复杂,具有非均匀区域和弱边缘,导致以上方法对于自然场景图像的前景提取效果较差;另外,以上的方法都是根据图像的单一尺度的特征提取前景,忽略了不合适尺度的特征对前景提取产生的消极影响,因为前景提取的性能不仅仅依赖于前景提取的算法本身,而且也会根据图像不同尺度的特征变化而变化,恰当尺度的特征有助于提高前景提取的效果.为了提高前景提取的效果,降低前景提取对图像非均匀区域的敏感度,同时保护边缘,本文结合全变分(Total Variation,简称TV)[16-17]和Graph cuts算法,提出了基于多尺度平滑的前景提取模型,根据恰当的尺度特征来提取前景.实验表明,相对于传统的Graph cuts算法,本文算法在继承了TV保边平滑模型的保边性的同时,降低了非均匀区域对前景提取的影响,前景提取效果更好.
(1)
其中,u表示平滑图像;ω表示前背景灰度特征的局部直方图;α为图像多尺度平滑和前景提取之间的平衡参数;第一项D(u0,u)为图像多尺度平滑部分,目的是得到一系列不同尺度的平滑图像;第二项S(u,ω,x)为基于Graph cuts的前景提取部分,本文模型有利于从一系列平滑图像中选取恰当尺度特征提取前景.
前景提取的效果与图像的边缘和区域特征有关,而图像的边缘和区域特征根据平滑图像的尺度变化而变化.对于前背景有显著差异、边界明显且颜色分布紧凑的图像,我们可以很容易的提取出前景.但是在实际应用中,自然场景图像十分复杂性,包含非均匀区域和弱边缘,非均匀区域破坏了图像的区域特征一致性,产生伪边缘,从而影响图像前景提取的效果.为了降低图像非均匀区域对前景提取的影响的同时保护图像的边缘信息,我们通过TV保边平滑模型对一幅图像进行多次平滑,得到一系列不同尺度的平滑图像,它被表示为以下的最小化问题.
(2)
(3)
该平滑函数仅沿切线方向扩散,在法线方向扩散速度为0,较好的保护了图像的边缘.
(4)
使用固定点迭代算法和有限差分方法对式(4)进行离散计算.其中,q属于像素q0的相邻像素集Γ0,平滑图像un(q0)可以通过以下的方式迭代得到如下式所示.
(5)
其中,
ϖn(q)=|un-1(q)|-1
(6)
通过定点迭代计算的方式可以得到一系列不同尺度的平滑图像un,n=0,1,2,….由(5)式可知,平滑图像un由两部分组成:1) 平滑图像un依赖于u0,有利于保护图像的原始边缘;2) 平滑图像un取决于un-1,un的颜色分布比un-1的更加紧凑,有利于对图像进行前景提取.
给定一个平滑图像u,ω为描述平滑图像u的前背景灰度特征的局部直方图,通过比较图像像素集合N中的像素i的灰度值ui和局部直方图ω,可以得到像素i属于前背景的概率.图像像素i与前背景的相关性方程Ri(·)表示如下.
Ri(ui,ω,xi)=-lnPr(ui|ω)
(7)
其中,
ω={ωF,ωB}
(8)
其中,ωF表示前景的局部直方图;ωB表示背景的局部直方图.在给定前背景的局部直方图的情况下,图像的全部像素属于前背景的目标函数R(u,ω,x)为
R(u,ω,x)=∑i∈NRi(ui,ω,xi)
(9)
前景提取的边界项B(u,x)被定义为
(10)
其中,Γ为相邻像素集,表示像素i和j为相邻像素;σ为标准差,可以调整周围像素对中心像素的影响程度;dist(·)表示相邻像素之间的欧氏距离;[·]为指标函数,当xi和xj标记相同时忽略像素i和j之间的边缘.两邻域像素差别越大,边界项B(u,x)的值越小.
结合图像的边缘和区域特征,前景提取可以表示为以下的最小化问题.
S(u,ω,x)=R(u,ω,x)+B(u,x)
(11)
该前景提取模型由多尺度平滑和前景提取两部分组成,在式(1)中,当α等于0时,它是结合原始图像的边缘和区域特征进行前景提取的模型,与传统的Graph cuts算法相同;当α趋于无穷大时,它是多尺度平滑模型,将一幅图像进行多次平滑,得到一系列不同尺度的平滑图像.为了平衡图像多尺度平滑和前景提取的权重,更好地进行前景提取,我们设定α=1.在对式(1)进行数值计算的过程中,本文模型可以表示如下.
(12)
通过交替进行图像多尺度平滑和前景提取的操作,可以得到式(12)精确的全局极小值,如图1所示.对于图像多尺度平滑部分,我们通过式(5)可以得到一系列不同尺度的平滑图像un,随着平滑次数的增多,图像的细节逐渐减少,非均匀区域的非均匀性逐渐降低,同时保护了边缘,如图1(a)所示,有利于提高前景提取的效果.对于前景提取部分,它在平滑图像un上进行前景提取,它取决于ωn,而ωn随x而变化.所以,对于给定un,式(12)的最小化过程交替进行以下两个步骤:1) 给定ωn,通过最小割/最大流算法得到x; 2) 给定x,使用期望最大化算法得到ωn.
图像的前景提取效果随平滑图像的变化而变化,为了衡量不同尺度下的平滑图像的前景提取效果,本文根据相邻尺度的平滑图像中提取的前景定义了显著性水平Sl,其中,TF为图像前景提取结果,Sl表示如下.
(13)
随着图像平滑次数的增多,图像会越来越模糊,当图像平滑次数趋于无穷大时,图像的边缘和区域特征差异性会消失,导致图像前景提取失败,为了避免这种情况的发生,根据显著性水平随迭代次数变化的特性,即随着迭代次数增加,显著性水平逐渐提高,达到峰值之后,随着迭代次数的增加,显著性水平开始逐渐降低,如图1(e)所示,为了取得最优的前景提取结果,设计了以下的图像平滑迭代终止条件.
(14)
当相邻尺度平滑图像中提取的前景满足以上条件时,则停止图像平滑迭代,基于多尺度平滑的前景提取结果如图1(b)和1(c)所示.
图1 基于多尺度平滑的前景提取的过程
Fig.1 The process of foreground extraction based on multiscale smoothing
基于多尺度平滑的前景提取模型首先对图像进行人工标记种子点;然后对图像进行保边平滑,并基于平滑图像进行前景提取;最后为了避免图像过平滑导致前景提取性能差,采用显著性水平作为判断平滑迭代停止的约束条件.本文算法流程如图2所示.
图2 本文算法流程Fig.2 Algorithm flow
为了衡量算法的前景提取性能,本文采用F-测度(F-measure)作为评价指标,它为准确率P(Precision)和召回率R(Recall)的加权平均值,其中,FS表示提取出的前景;FG表示真实前景.F-测度表示如下.
(15)
其中,
(16)
本文模型的前景提取效果依赖于平滑图像的边缘和区域特征,而平滑图像的边缘和区域特征取决于拟合参数λ.当λ等于0时,实现各向同性扩散,但是边缘模糊会导致前景提取效果差;当λ趋于无穷大时,平滑图像和原始图像几乎相同.不同的拟合参数λ的前景提取评测分数如表1所示,部分结果如图3所示.当λ=0.25时,该算法平滑性能较强,保边性能较差,前景提取效果差,结果如图3(b)所示;当λ=5时,该算法保边性能较强,图像的边缘越来越清楚,但是弱边缘会对前景提取产生越来越大的影响,前景提取的性能有所下降,结果如图3(e)所示.本文选取拟合参数λ为0.75.
表1 不同参数λ的前景提取评测分数
图3 不同参数λ的前景提取结果
图4 不同算法的前景提取结果
为了测试本文算法的有效性,并与传统的Graph cuts算法进行比较,本文对4幅480×320的自然场景图像进行前景提取,结果如图4所示.
从上往下依次是原始图像,Graph cuts算法提取的前景,本文算法提取的前景,真实前景.图4(a)是前背景边界较明显并且存在显著灰度差异的图像,传统的Graph cuts算法和本文算法前景提取效果相当.图4(b)是比较复杂、非均匀性区域较多的图像,由于背景中存在与前景灰度相似的区域,从而导致前景提取难度大,但是相较于传统的Graph cuts算法,本文算法的前景提取效果有显著提升.图4(c)属于非均匀性区域较少的图像,且前后背景的边界较为明显,但是图像中波纹的凹槽处灰度值与前景较为相似,Graph cuts算法将其误分为前景,本文算法大大改善了这一情况,前景提取效果较好.图4(d)也是非均匀性区域较少的图像,但是在背景边角处存在与前景相似灰度的区域,相较于传统的Graph cuts算法,本文算法在背景边角处处理效果有一定提升,但是出现了过分割现象.
表2不同算法的前景提取评测分数
Tab.2Theevaluationscoresofforegroundextractionwithdifferentalgorithms
图像算法指标召回率R准确率PF-测度时间/s图4(a)Graph cuts0.9950.9960.9950.108本文算法0.9960.9950.9953.058图4(b)Graph cuts0.5220.9530.6740.119本文算法0.7020.8840.7831.318图4(c)Graph cuts0.9010.9900.9440.111本文算法0.9770.9880.9831.515图4(d)Graph cuts0.8660.9870.9230.103本文算法0.9520.9280.9401.209
前景提取评测分数如表2所示,相较于传统的Graph cuts算法,本文算法F-测度较高,在一定程度上降低了非均匀区域对前景提取的影响,对自然场景图像的前景提取效果有所提升.但是,由于本文算法交替进行多次多尺度平滑和前景提取,其运行时间较长.
本文提出了基于多尺度平滑的前景提取算法,它对于自然场景图像前景提取的性能优于传统的Graph cuts算法.一方面,本文算法采用TV保边平滑模型对图像进行保边平滑处理,得到一系列不同尺度的平滑图像,在降低了图像区域非均匀性的同时保护了图像的边缘,另一方面,结合平滑图像的结果进行前景提取,找到最优尺度的平滑图像,防止图像过平滑,有助于提高前景提取性能,但是运行时间稍长.所以本文下一步的工作是进一步提高前景提取效果的同时降低运行时间.