一种基于Kinect深度图的人像自动抠像算法
2016-02-07李华张超权巍韩成翟宏宇刘婷婷
李华,张超,权巍,韩成,翟宏宇,刘婷婷
(长春理工大学计算机科学技术学院,长春 130022)
一种基于Kinect深度图的人像自动抠像算法
李华,张超,权巍,韩成,翟宏宇,刘婷婷
(长春理工大学计算机科学技术学院,长春 130022)
针对传统抠像算法需要人工交互,无法实现自动抠像,且边缘区域前、背景颜色相近时抠像效果不佳等问题,研究一种基于Kinect深度图的人像自动抠像算法。利用Kinect人物识别的优势,研究根据采集的彩色图像对于人形区域深度图像进行预处理,生成三元图;对人形区域中孔缝进行处理;采用改进的鲁棒抠像算法实现无需人工输入的自动抠像。实验结果表明,抠像算法可实现自然背景中人像的自动抠像,对于前景和背景边缘颜色相近的原始图像,可得到良好的抠像效果。
人像抠像;自然抠像;深度图;Kinect;三元图
数字抠像技术是计算机视觉、数字图像处理领域的一个重要的研究内容,是影视和广告制作中的关键技术。数字抠像是一个欠约束问题,要想从自然图像中抠取出感兴趣的前景区域,则必须首先获取用户输入信息。即通过三分图或涂鸦等方式,获取到感兴趣的前景区域、背景区域的提示信息,进而基于抠像算法实现感兴趣区域的抠取。这种基于用户交互的自然图像抠像方式,限制了它在视频自动抠像中的应用。
通常在拍摄的图像或视频中,往往感兴趣区域和背景区域处于不同的空间位置,因此,根据它们不同的深度信息,可分割出前景和背景区域。TOF深度相机、Kinect体感设备等深度传感器迅速发展,并且广泛使用,因此,一些学者们开始研究基于深度信息的自动抠像算法。
文献[1]基于颜色、深度和运动信息构建一个带权图,并使用归一化切割方法实现抠像,但是无法有效地将前景背景染色区域正确地抠出。文献[2-4]利用TOF深度相机获取的深度信息,实现区域分割,并对另一相机所拍摄的图像进行抠像。其中,文献[2]和文献[3]无法获取精确的边界,抠像结果不理想。文献[4]对区域分割结果进行优化,利用Soft Scissors算法实现抠像,得到了较好的抠像效果。但是,这类基于TOF深度相机和彩色相机的抠像方法并不是完全自动的抠像,在对TOF深度相机所拍摄的深度图像进行区域划分时,仍需要人为指定一个平面(即深度阈值)来区分前景和背景;并且对于深度和彩色相机这两个传感器需要首先进行校准和统一。文献[5]和文献[6]研究了基于Kinect深度信息采用共享样本点方法实现自动抠像,不需要人工交互,实现了自动的感兴趣区域检测。但是在边缘区域前景与背景颜色相近或染色的情况下,很难得到较好的抠像效果。
本文利用Kinect人物识别的优势,研究基于深度图的人像自动抠像算法。用Kinect同时采集人形区域深度图像和彩色图像;利用彩色图像作为相关图像,采用联合双边滤波对人形区域深度图像进行预处理,使得深度图边缘信息更为准确;生成三元图;对人形区域的孔缝进行处理;由于前景颜色和背景颜色区别较小但边界部分十分清晰时的鲁棒算法表现良好,采用改进的鲁棒抠像算法进行抠像实现自动的人物抠像,实验表明得到良好的抠像效果。
1 基于Kinect自动生成三元图方法
1.1 深度传感器的选取
与传统的TOF深度相机等相比,虽然Kinect采集的深度图像常常含有较多的噪声,但是作为一款体感捕捉设备,Kinect有着较强的人物识别能力。当基于Kinect深度图进行抠像时,若目标是非人物的其它物体时,仍需要人工或者在后期对图像的前景和背景进行区分;而若目标为人物时,Kinect可以将识别出来的人形区域深度数据直接输出,不需要人为区分前景和背景,并且对于在同一深度区域的脚和地面的区分也较为准确。TOF深度相机虽然分辨率很高,但是却不能自动地识别出人物,只能单纯的给出各个像素的深度信息。因此,若基于TOF深度图进行抠像,仍需要根据特定的源图像深度值人为的确定一个平面将前景和背景分开;当前景和背景的深度值相近时这种人工方式往往无法准确地将两者区分;还有一个问题是彩色图像和深度图像来自不同的相机视角,抠像时还需进行视角转换。另外,TOF相机的价格高昂。综上,本文选择Kinect作为深度传感器捕获深度图。
1.2 Kinect深度图像的预处理
Kinect中可以获取到三种图像,包括:彩色图像、包含场景中全部像素点深度信息的深度图像以及人形区域的深度图像,如图1所示。Kinect拍摄的深度图像边缘比较粗糙,预处理阶段的目的是有效分割出人体的边缘区域,因此必须保留边缘信息。双边滤波器是一种加权的非线性高斯滤波,有两个核函数,同时关注了像素在空间和幅度两个域上的相似性,具有平滑保边的优点。联合双边滤波器是一种双边滤波器改进算法,使用另外一张与目标图像相关性很高的图像作为参考,从而可以更加精准的得到需要的图像,减少图像边缘模糊的同时也可以得到相关图像的特性。
图1 Kinect获得的图像
本文采用联合双边滤波器[7]的思想,使用Kinect同时采集彩色图像和深度图像,利用彩色图像作为相关图像,对深度图像进行滤波处理。根据其完整的边缘信息,对深度图像进行校正补全。
图像滤波公式如下:
其中,I(x,y)是处理后的具有清晰边缘的人形区域深度图像,Io(i,j)是需要滤波处理的Kinect采集的人形区域深度图像,Ω是像素的邻域,w(i,j)是滤波器在点(i,j)处的权,wp是一个标准量,其可由下述公式得到:
对于高斯滤波来说,权值w(i,j)和像素的空间距离线性相关,距离越近相关性越大,权值也越大。定义一个权值wk(i,j),计算公式如下:
除了距离的影响因素外,像素值的变化对于边缘的滤波至关重要,因此,定义一个权值wg(i,j)衡量像素值变化。Kinect同时采集的彩色图像记为Ic(i,j),则wg(i,j)的计算公式如下:
因此,图像滤波公式中的权值w(i,j)可由下面公式得到:
对于图1(c)人形区域深度图像按上述方法滤波处理后的人形区域图像如图2所示:
图2 滤波后的人形区域深度图像
1.3 三元图的生成
本文基于滤波处理后的三元图生成主要基于文献[4]的思想,具体方法为:将滤波后的具有光滑边缘的人形区域深度图像I(x,y)进行二值化,得到人形区域二值化图像Ib(x,y);分别对其进行膨胀和腐蚀操作,得到图像,则人形边缘区域图像IMar(x,y)可由下式得到:
根据IMar(x,y)中未知的像素边缘区域信息,标示人形区域深度图像I(x,y),即可得到三元图ITr(x,y),如下图所示,其中的人物边缘的灰色宽带区域为抠像的未知像素点,其余区域为已知像素点。
由于Kinect对人物图像边缘部分的识别不准确和图像滤波的局限性,当人物身体存在缝隙时,并不能被检测出来,因此,出现肉眼可观察到的已知背景像素点被作为前景像素点的情况,导致抠像效果不佳。本文将彩色图像作为引导图像,对前景轮廓外的背景信息采样,并在前景中搜索,对于检测出的孔洞和缝隙作为已知背景区域点处理,有效的解决了这一问题。
图3 生成的三元图
2 基于改进的鲁棒抠像算法
数字抠像问题就是将前景图像中感兴趣的目标对象,提取出来与其它背景图像合成[8],合成公式如下所示:
其中,对于合成图像中的某个像素点,F、B、C分别为前景图像、背景图像、合成图像的颜色值,α称为不透明度,α的范围[0,1][9]。
鲁棒抠像算法则是基于采样传播相结合的抠像算法[10],该算法通过在抽样阶段选择具有高信任度的样本来估算出一个初始的α值,然后通过随机漫步最优化来完成抠像,实现了准确性和鲁棒性的良好均衡。本文基于文献[11]中的鲁棒抠像思想,基于三元图ITr(x,y)计算α值完成抠像,步骤如下:
(1)根据三元图的已知前景和背景区域减少未知像素个数,降低α估计的计算量;
(2)计算前景-背景的可靠度,选择可信赖的样本,进行α初始值和信心值估计;
(3)建立基于图拉普拉斯的二次优化目标函数确定α最终值。
3 实验结果与分析
由于基于Kinect的抠像并不存在标准测试集,为了验证算法的可行性和效果,本文采用基于Kinect2.0同时采集的深度、彩色图像算法进行实验。如图4所示,图(a)为Kinect采集的原始彩色图像,图像中待抠取的人像边缘颜色与背景色极为相近,对于这种图像,传统抠像方法需要复杂的人工交互,且很难得到好的效果。应用本文算法,基于Kinect同时采集的深度图像,无需任何人工输入可实现自动抠像;人形边缘区域图像IMar(x,y)如图(b)所示,基于鲁棒抠像算法生成的透明度α图(c)所示,抠像结果如图(d)所示,对于同为黑色的衣服和背景区域仍得到良好的边缘。
图4 滤波前后的人形区域深度图像
图5 基于彩色图像的孔缝处理前后的抠像结果比较
图5展示了原始图像中包含孔缝时,经过孔缝处理前后的抠像结果对比。图中红色矩形区域中,人手和身体间存在孔缝,未经孔缝处理的透明度α图和抠像结果,分别如图(a)、图(b)所示;经过孔缝处理后的透明度α图和抠像结果,分别如图(c)、图(d)所示,验证了本文孔缝处理的有效性。
4 结论
数字抠像技术是图像处理的重要研究领域,在影视制作等领域应用广泛。本文针对数字抠像中人像抠像的问题,研究一种基于深度图的人像自动抠像算法。实现了完全不需人工交互的自动抠像。对于前、背景边缘区域颜色相近的情况,实验表明:依然能得到良好的效果。在未来的研究中,将继续研究生成三元图算法,降低计算量、缩短算法的计算时间,进一步完善抠像算法,提高抠像精度。
[1]Cigla C,Alatan A A.Segmentation in multi-view video via color,depth and motion matting[C].Proceedings of the 15th IEEE International Conference on Image Processing,Québec,Canada:IEEE,2008.
[2]Zhu J,Liao M,Yang R,et al.Joint depth and alpha matteoptimizationviafusionofstereoand time-of-flight sensor[C].Proceedings of IEEE Conference on Computer Vision&Pattern Recognition,Miami,USA:IEEE,2009.
[3]Kim S Y,Cho JH A Koschan,Abidi M A.Spatial and temporal enhancement of depth images captured by a time-of-flight depth sensor[C].Proceedings of 20th IEEE International Conference on Pattern Recognition,Istanbul,Turkey:IEEE,2010.
[4]Cinque L,Dondi P,Lombardi L.Automatic selectionofregionsofinterestinavideobya depth-color image matting[C].Proceedings of InternationalWorkshoponVideoandImageGround Truth in Computer Vision Applications,St.Petersburg,USA:ACM,2013.
[5]夏倩,许勇,夏玉勤.基于Kinect的自动视频抠像算法[J].计算机工程与设计,2015,36(5):1299-1303.
[6]张约伦.基于Kinect的抠像算法研究[D],西安:电子科技大学,2012.
[7]李知菲,陈源.基于联合双边滤波器的Kinect深度图像滤波算法[J].计算机应用,2014,34(8):2231-2234+ 2242.
[8]权巍,葛薇,张玉强,等.一种基于采样的蓝屏抠像方法[J].长春理工大学学报:自然科学版,2015,38(3):97-101.
[9]Wang J,Cohen M F.Image and video matting:a survey[J].FoundationsandTrendsinComputer Graphics and Vision,2007,3(2):97-175.
[10]Optimized Color Sampling for Robust Matting[C]. Proceedings of IEEE Conference on Computer VisionandPatternRecognition,Minneapolis,USA:IEEE,2007.
[11]Cho J H,Ziegler R,Gross M,et al.Improving alpha matte with depth information[J].Ieice Electronics Express,1996,6223(1):1602-1607.
An Automatic Matting Algorithms of Human Figure Based on Kinect Depth Image
LI Hua,ZHANG Chao,QUAN Wei,HAN Cheng,ZHAI Hongyu,LIU Tingting
(School of Computer Science and Technology,Changchun University of Science and Technology,Changchun 130022)
Traditional matting algorithms requires manual interaction in order to separate the foreground and the background.And when color of pixels in the edge from both foreground and background are similar,poor matting effects are obtained.According to these problems,an automatic matting algorithm of human figure based on Kinect depth image is proposed in this paper.Kinect has an advantage of recognizing human figure.Taking both the color image and the human figure depth image as inputs which are shot by Kinect at the same time,the depth image is preprocessed by joint bilateral filter.Tri-map is produced automatically,and tiny holes and gaps are considered.An improved robust matting algorithm without manual input is conducted.The experimental results show that human figure can be matted automatically,and a good effect can be obtained even if pixels at the edge have same colors.
human figure matting;natural image matting;depth image;Kinect;tri-map
TP391.41
A
1672-9870(2016)06-0081-04
2016-09-05
国家科技支撑计划重大项目课题(2012BAF12B22);吉林省重点科技攻关项目(20140204050GX);吉林省自然科学基金项目(20150101015JC)
李华(1977-),女,博士研究生,副教授,E-mail:lihua@cust.edu.cn