采用精确抠图的单幅自然图像背景虚化合成方法
2023-05-12李晓颖李思琪洪雪梅张海
李晓颖, 李思琪, 洪雪梅, 张海
(1. 华侨大学 信息科学与工程学院, 福建 厦门 361021;2. 福州大学 厦门工艺美术学院, 福建 厦门 361021)
对焦技术是一种重要的摄影方法[1-2].对焦的结果是前景对象被突出显示,背景对象被虚化,这通常是由专业摄影师使用数码单反相机实现的.单反相机配备了大光圈,方便对焦照片,然而,大光圈价格昂贵,使用不方便,且一般需要由专业摄影师来操作.由于尺寸和技术的限制,获取具有背景虚化的图像具有一定的挑战性.
手机相机是一种小光圈镜头,在日常生活中应用广泛.为了增强相机的功能,许多手机厂商设计了一些有关背景虚化的合成技术.这些技术主要依靠手机背后的多个双摄像头同时拍摄多张照片,利用立体匹配算法估计深度信息来帮助背景虚化的合成[3].在技术上,双摄像头比单摄像头更容易合成背景虚化.但双摄像头增加了制造成本和功耗,且大多数智能手机只有一个前置摄像头.因此,有必要提出单摄像头合成背景虚化算法.肖进胜等[4]利用多聚焦完成单幅图像的深度信息提取;苏超然等[5]提出针对肖像的背景虚化处理,重点处理以人像为前景的图像,但是缺乏对自然图像背景虚化的考虑;Dutta[6]利用联合强度估计和动态滤波合成的特定任务效能,实现空间感知模糊处理;刘成民等[7]提出基于深度学习的感知图,实现图像虚化处理.图像背景虚化处理受到广泛关注,但是其存在计算复杂、边缘虚化敏感、背景虚化不明显、对硬件要求高等问题,且当图像中有多个物体位于同一景深区域时,突显不出某个单独的物体.
Rother等[8]首次提出GrabCut算法,用于分割单幅图像中的前景对象和背景对象.然而,GrabCut算法只根据像素点的颜色差异建立模型,当前景对象和背景对象的颜色差异较大时,GrabCut算法能取得满意的结果[9];但是当图像的特征模糊或纹理复杂时,采用GrabCut算法可能会导致图像分割结果不理想.考虑到图像抠图的精度要求,采用GrabCut算法完成初始分割后,再进行精确抠图.精确的抠图效果为背景虚化的合成奠定了良好的基础.
在离焦渲染中,清晰的深度边缘非常重要[10].基于局部二值模式算子(LBP)[11-12]的颜色恒常性(CCLBP)算法[13-14]是在原有颜色恒常性算法的基础上加入了LBP算法,目的在于更好地实现图像纹理的提取,以获得良好的局部深度边缘,进一步实现图像抠图的完整性,实现对初始抠图的精确分割效果.双边滤波[15]用于虚化背景对象,它同时考虑了图像的平滑处理和颜色边缘信息,从而生成与大光圈相机拍摄的图像相似效果的合成图像.将经过精确抠图处理的前景对象与模糊化的背景对象相结合,可以合成背景虚化的图像.
综上所述,本文选择GrabCut算法完成单幅自然图像的初始抠图,并采用CCLBP算法对初始抠图进行精确分割,提出一种有效的自然图像合成背景虚化方案.
1 单幅图像的背景虚化合成算法
提出一种基于精确抠图的单幅自然图像背景虚化合成方法,其流程图,如图1所示.输入的原图像首先经过GrabCut算法完成初始图像抠图,得到初步的前景区域和背景区域;然后,利用CCLBP算法完成精确抠图,得到更为准确的前景和背景;接着,利用双边滤波对分割出来的背景区域进行滤波处理,实现背景部分的保边虚化效果;最后,将清晰的前景与虚化后的背景合成一张图像并输出.
图1 文中方法的流程图
1.1 GrabCut算法
一幅图像可以分为前景像素(Tf),中间像素(Tα)和背景像素(Tb)3部分,其公式表示为
I=Fα+B(1-α).
(1)
式(1)中:I为一幅图像;F为前景像素(Tf);B为背景像素(Tb);α为中间像素(Tα)中的未知部分.
图像区域分布示意图,如图2所示.
图2 图像区域分布示意图
用户通过矩形方框交互式标记出图像中可能的前景像素.图像上的某一点像素用p表示,当p在方框内时,它属于可能的前景对象,标记为Rp(1);当p在方框外时,它属于背景区域,标记为Rp(0).GrabCut算法建立了前景像素和背景像素的高斯混合模型(GMM),利用该模型将未被定义的像素标记为可能的前景区域或背景区域.
图像中的每一个像素点都被认为是通过虚拟的边界与周围像素建立连接的.基于该像素点与周围像素点颜色的相似度,每一条边都有属于前景区域或背景区域的概率.
GrabCut算法将像素映射到S-T网络中进行分段,S为源点和前景像素,T为交会点和背景像素.当像素点之间的连接边属于不同终端时,则该边界会被切断.GrabCut算法计算模型,如图3所示.GrabCut算法利用像素之间的相关性来确定边界,绿色虚线为分隔线,分离出图像的前景区域和背景区域.
图3 GrabCut算法计算模型
1.2 CCLBP算法
基于局部二值模式算子的颜色恒常性算法是在原有颜色恒常性算法的基础上加入LBP,能够有效地提取图像纹理,提供更清晰的边缘信息,从而更好地完成精准图像分割.
在计算机视觉和计算机图形学中,广泛用于描述普通图像形成的模型[16-19]为
I(x)=J(x)t(x)+A(1-t(x)).
(2)
式(2)中:I(x)为原图像;J(x)为经过处理的图像;A为光估计信息[20];t(x)为介质透过率[21].
Lambert模型是图像成像模型中大多数辐射测量方法的基础,也是图像照明转换的计算模型[22].Lambert模型假设各个方向的反射光强度相同,不受入射角或观测辐射变化的影响[23-25].在此假设下,原彩色图像I(x)=(R,G,B)T,用公式表示为
(3)
式(3)中:λ为光谱的波长;ω为可见光的范围;e(λ)为光源的光谱分布;S(λ)为光在物体表面的物理反射率;c(λ)为相机的光敏函数,其表达式为
c(λ)=(R(λ),G(λ),B(λ))T.
(4)
Codevilla等[20]利用最大遮蔽物像素差值tv(x)和最大局部对比度像素差值tc(x)这2个参数来计算t(x),其表达式为
t(x)=max(tv(x),tc(x)).
(5)
tc(x)用公式表示为
tc(x)=max(max(A)-min(I(x))).
(6)
通过比较图像中像素值的差值,并把最大的差值赋予tc(x),作为图像深度信息获取的参数之一.
最大遮蔽物像素差值tv(x)的计算式为
(7)
为了提高图像分割的精确度,在获得t(x)后,利用LBP对其进行局部纹理特征提取.此时,t(x)从一张只有不同灰色深度的图像深度信息图变成了具有图像局部轮廓的纹理信息图,目的在于突出图像轮廓.因此,LBP是以提取颜色恒常算法中的t(x)深度信息图的纹理特征的方式,加入到颜色恒常算法中,这一处理可为进一步的图像精确分割提供更好的分割依据.
Ojala等[11-12]首次提出LBP,用于提取图像局部纹理特征[26],其窗口大小为3×3,以中间像素的灰度值作为阈值,与相邻8个像素的灰度值进行比较.当邻域像素值大于或等于中心像素值时,像素位置值标记为1;否则,标记为0.经过比较,生成一个8位的二进制数,生成的二进制模式转换为十进制值,可用于标记区域的纹理信息.用LBP提取颜色恒常算法中的图像深度信息图的轮廓纹理.
在图像背景虚化部分,不仅要考虑图像背景模糊的自然效果,还要考虑对图像边缘的保护.因此,选择双边滤波器[14]完成图像背景虚化处理.双边滤波是一种保边去噪的滤波器,可以起到模糊背景且保留图像的边缘和纹理的作用.
2 实验结果与分析
2.1 图像分割结果与背景虚化合成结果
不同算法的抠图结果对比,如图4所示.由图4(b),(f)可知:一些不属于前景的像素被误认为是前景而被保留,如头发、衣领和背景其他色块(红色方框标注),说明GrabCut算法的抠图结果不够准确.
为了提高图像的抠图精度,在GrabCut算法抠图结果的基础上,提出CCLBP算法,该算法计算过程中获得的清晰的纹理,如图4(c),(g)所示.文中算法精确抠图的结果,如图4(d),(h)所示.由图4可知:相比于GrabCut算法,文中算法的抠图效果更为准确.
输入图像和输出图像的对比,如图5所示.图5中:输入图像为处理前的原图像;输出图像为经过文中算法处理后合成的背景虚化效果.由图5可知:输出图像的背景部分的树叶都有着明显且自然的虚化效果,而前景的人像依然保持清晰的状态.实验结果表明,文中算法能够实现较好的背景虚化效果.
(a) 输入图像1 (b) 输出图像1
2.2 抠图结果比较
以人工抠图作为抠图效果的理想参考标准,比较GrabCut算法与文中算法的抠图效果,结果如图6所示.图6(d)的背景的部分像素点被误认为前景人像;图6(e)的背景的部分像素点被误认为前景的羊;图6(f)的背景的少数像素点被误认为前景的鸭子.这表明经过GrabCut算法完成的抠图效果存在一定的误差.相比较而言,文中算法的抠图结果误差较小,且前景保留完整,边界清晰,抠图效果更准确(图6(g)~(i)).
(a) 人工1 (b) 人工2 (c) 人工3
为了更具体地展示图像的抠图效果,将GrabCut算法和文中算法的抠图准确率与人工抠图的准确率进行比较,结果如表1所示.表1中:η为抠图准确率.由表1可知:相对于人工抠图,Grabcut算法和文中算法的平均抠图准确率分别为93.66%和96.96%,文中算法的平均实验精度更高.
表1 不同算法的抠图准确率对比
为了说明文中算法可适用于多场景情况的单幅自然图像,对4组自然图像进行虚化处理,得到的背景虚化效果,如图7所示.图7中:图7(a),(e)以红花作为前景,其余部分作为背景进行虚化;图7(b),(f)以牛群作为前景,身后的草坪作为背景进行虚化;图7(c),(g)以羊作为前景,花草作为背景;图7(d),(h)以鸭子作为前景,草地作为背景,进行虚化处理.由图7可知:经过虚化处理的图像前景保持不变,背景产生了虚化效果,对比效果明显且虚化效果自然.
(a) 虚化处理前1 (b) 虚化处理前2 (c) 虚化处理前3 (d) 虚化处理前4
将文中算法与其他相关文献算法进行性能对比,结果如表2所示.由表2可知:文献[4]算法是针对双目图像提出的图像背景虚化方法,生成的图像主体边缘轮廓不清晰;文献[5]算法处理的图像类型是肖像,处理对象单一;文献[6]算法可以实现单幅自然图像的背景虚化,但是无法根据用户需求进行交互式选择主体部分;文献[7]算法可实现单幅自然图像的背景虚化效果,且可完成用户的交互式选择,但是输出图像中主体部分的边缘轮廓不清晰,前景和背景交界处模糊.对比不同算法的性能可知,文中算法产生的背景虚化结果优于其他4种算法.
表2 文中算法与其他相关文献算法的性能比较
3 结束语
针对单摄像头下的自然图像背景虚化问题,提出一种基于精确抠图的单幅自然图像背景虚化合成方法.该算法合成的图像背景虚化效果明显且自然.在图像抠图方面,文中算法得到的结果较为准确,且边缘保留完整.