APP下载

防抖动和渗色的视频人脸非边缘分割算法*

2019-05-07刘腾龙

传感器与微系统 2019年5期
关键词:轮廓人脸边缘

魏 玮, 刘腾龙

(河北工业大学 计算机科学与软件学院,天津 300401)

0 引 言

人脸分割一直是计算机视觉领域的研究热点,现有的人脸分割技术主要是将人脸完整地从图像中分割出来,即沿着人脸纹理梯度变化大的边缘进行分割。例如:龚勋等人[1]建立混合能量活动轮廓模型来分割人脸完整区域;毋立芳[2]等人根据人脸轮廓的平滑性,利用曲线拟合补充不确定边缘点来进行人脸完整区域的分割等。

然而,在基于2D的视频人脸替换的过程中,需要用泊松融合[3]将源人脸替换到目标人脸上,由于每个人的脸型不同,使得泊松融合的掩膜边界并不能同时经过源人脸边缘和目标人脸边缘,这种基于人脸边缘轮廓的分割算法最终会导致融合边缘出现渗色现象。为了达到视频人脸替换效果自然,不发生渗色的现象,需要在人脸非边缘处进行分割,即在人脸内部纹理平滑区域进行分割。高岩等人[4]提出了一种约束条件下的五官替换算法,其通过在源五官和目标五官间进行插值,用户根据经验调节插值权重,以此控制泊松融合后人脸替换效果的好坏,但是该算法的处理对象只是单张图片。Dale K等人[5]指出,视频人脸替换后,替换效果会出现抖动、渗色的问题。在无需3D人脸建模的视频人脸替换领域,为了防止替换后出现抖动的现象,需要考虑人脸非边缘分割的时间连续性问题,即对连续帧人脸非边缘分割轮廓建立相关性约束。目前,针对基于2D的视频人脸替换过程中出现抖动和渗色问题的研究还很鲜见,本文以此为切入点,并结合前人在视频域上进行完整人脸分割和在单张图片上进行人脸替换的研究成果,针对基于2D的视频人脸替换的特定需求,提出一种防抖动和渗色的视频人脸非边缘分割算法。该算法旨在防止视频人脸替换后出现抖动和渗色等问题,使得视频人脸替换效果自然逼真。

1 算法框架

图1为防抖动与渗色的视频人脸非边缘分割的算法框图。

图1 算法框图

2 基于ASM算法的人脸特征点定位

人脸特征点定位是视频人脸非边缘分割的基础,人脸特征点的准确定位确保了视频人脸非边缘分割的准确性。主动形状模型(active shape model,ASM)[6]是表达人脸形状和用于人脸特征点定位的经典方法,具有较高的鲁棒性,其是一种基于点分布模型(point distribution model,PDM)的算法。本文采用了包含眉毛、眼睛、鼻子、嘴巴在内的68个人脸特征点,图2显示了人脸特征点的位置。

图2 ASM特征点定位

3 基于奇异值分解的普氏对齐方法

在视频人脸替换过程中,由于源视频与目标视频的人脸大小和角度不一,且人脸形状是随着时间的变化而变化的,其所对应的人脸特征点位置坐标也随之改变,如,口型的改变会导致嘴巴上的ASM特征点位置坐标也相应地改变。

为了将源视频人脸向目标视频人脸对齐,提出一种基于奇异值分解的普氏对齐算法[7]来计算源视频人脸和目标视频人脸的对齐参数。首先,分别得到矩阵A=[a1,a2,…a68]T,B=[b1,b2…b68]T,其中A,B分别代表源人脸和目标人脸的68个特征点所组成的矩阵。对矩阵ATB进行奇异值分解(single value decomposition,SVD)[8],即

ATB=U∑VT

(1)

得到源人脸向目标人脸对齐的旋转矩阵R和缩放因子S,即

(2)

式中 tr(∑A),tr(∑B)分别为源人脸和目标人脸特征点的协方差矩阵的迹。

根据对齐参数,将源人脸向目标人脸进行对齐,即

(3)

式中μ1,μ2分别为源人脸和目标人脸68个特征点的坐标均值。

4 非最优的人脸非边缘分割轮廓

4.1 人脸非边缘分割的关键特征点搜索

视频人脸替换需要将源人脸五官替换到目标人脸五官的对应区域,因此需要让源人脸和目标人脸的大小和角度保持一致。但由于源人脸和目标人脸的差异性,使得源人脸和目标人脸的特征点并不能达到100 %对齐。为了防止人脸替换时融合边缘出现渗色现象,本文设计了一种同时适应于源人脸五官和目标人脸五官的非边缘分割方法,使得源人脸和目标人脸五官同时包括在该非边缘分割轮廓之内。

(4)

(5)

对人脸外轮廓点,用于人脸非边缘分割的特征点为

(6)

对鼻子、下嘴唇、眉毛点,用于人脸非边缘分割的特征点为

(7)

依次得到最终的36个关键特征点。

图3 用于人脸非边缘分割的特征点

4.2 非最优的人脸非边缘分割

对36个关键特征点进行线性插值[9],得到非最优的人脸非边缘分割轮廓,如图4所示。

图4 线性插值示意

在图4中,黑点为人脸非边缘分割的关键点。如,在左外眼角点27与脸轮廓点0连线上线性插值(经验系数1/3)得到分割点70,左鼻梁点38与脸轮廓点1连线上线性插值(经验系数1/3)得到分割点71,下嘴唇点57与人脸外轮廓点7连线上线性插值(经验系数1/2)可得到分割点77,……依次连接这些插值点,就得到非最优的人脸非边缘分割轮廓(红色线条所示)。图5给出了非最优的人脸非边缘分割效果。

图5 非最优的人脸非边缘分割效果

5 最优的人脸非边缘分割轮廓

5.1 搜索区域的确定

由于连续帧人脸的运动可以看作小范围运动,因此,最优的人脸非边缘分割轮廓搜索区域的确定,防止了连续帧的人脸非边缘分割轮廓出现大范围的偏移。本文设计用连续三帧非最优的人脸非边缘分割轮廓来确定中间帧的最优人脸非边缘分割轮廓的搜索区域。具体步骤为:

1)得到连续三帧非最优的人脸非边缘分割轮廓的并集区域,如图6(a)所示;2)得到连续三帧非最优的人脸非边缘分割轮廓的交集区域,如图6(b)所示;3)让并集区域减去交集区域,得到最终的差集区域。即最优的人脸非边缘分割轮廓的搜索区域,如图6(c)所示。

图6 最优的人脸非边缘分割的搜索区域

5.2 总能量值

考虑到视频人脸替换需要采用泊松融合算法将源人脸替换到目标人脸上,并且为了让视频人脸替换后效果自然,视频人脸替换效果不出现渗色和抖动的现象,就要求泊松融合在融合边缘的纹理平滑以及连续帧的人脸非边缘分割轮廓具有时间连续性。因此,最优的人脸非边缘分割轮廓不仅要考虑该帧人脸非边缘分割处的纹理平滑性,还要兼顾前后帧人脸非边缘分割轮廓的时间连续性。

为得到最优的人脸非边缘分割轮廓,本文设计了兼顾两者的能量函数[10]来对其进行量化处理。设 为人脸非边缘分割轮廓上的像素集合,能量函数为

E(I)=Esmo(I)+aEsuc(I)

(8)

式中E(I)为总能量值,Esmo(I)为帧内能量项,Esuc(I)为帧间能量项,a为帧间能量项和帧内能量项之间的平衡因子,决定各量对总能量值的影响大小。寻找最优的人脸非边缘分割轮廓就是优化能量函数,使其值达到最小。

5.2.1 帧内能量项

帧内能量项所刻画的就是让人脸非边缘分割轮廓在人脸纹理平滑处进行分割,保证泊松融合后融合边缘不出现渗色现象。本文采用信息熵来表示人脸纹理的平滑程度。在信息论中,信息熵表示随机变量的不确定性程度,随机变量的不确定性越大,其所对应的信息熵也就越大。

在最优人脸非边缘分割轮廓的搜索区域内,本文采集人脸非边缘分割轮廓上所包含的每一个像素的4邻域像素点(去除重复的像素点),然后建立该像素集合所对应的像素直方图。

设Ii是像素直方图中灰度值为i,i∈{0,1,…,255}的像素,其概率分布为

P(I=Ii)=Pi

(9)

式中pi=∑Ii/∑I,∑Ii为像素直方图中像素值为Ii的像素个数,∑I为像素直方图中像素个数的总和。

该像素集合的信息熵为

(10)

当像素直方图的信息熵越小,所对应的帧内能量值就越小,纹理就越平滑。

5.2.2 帧间能量值

帧间能量项所刻画的是让人脸非边缘分割轮廓在前后帧上具有时间连续性,防止前后帧融合边缘的灰度变化导致出现抖动的现象。假设求第t帧的人脸非边缘分割轮廓,则帧间能量项为

Esuc(I)=‖IS(t)-IS(t+1)‖+‖IT(t)-IT(t+1)‖+ ‖IS(t)-IS(t-1)‖+‖IT(t)-IT(t-1)‖

(11)

式中IS和IT分别表示源视频人脸和目标视频人脸的非边缘分割轮廓。一般来说,如果第t帧人脸非边缘分割轮廓与前后帧人脸非边缘分割轮廓越相似,其帧间能量值就越小。

5.3 能量最小化

由于全局能量最小化[12]是一个NP难问题,本文采用动态规划(dynamic programming)[13]方法让能量趋于最小化,即让人脸非边缘分割轮廓趋于最优。首先将初始的人脸非边缘分割轮廓分成6段,分别计算每一段轮廓的帧内能量值和帧间能量值,然后在最优人脸非边缘分割轮廓的搜索区域内,对每一段轮廓分别进行膨胀和腐蚀[14]操作,再计算每一段膨胀轮廓和腐蚀轮廓的帧内能量值和帧间能量值,保留总能量值最小所对应的轮廓,即为最优的人脸非边缘分割轮廓。

在得到最优的人脸非边缘分割轮廓后,以该分割轮廓作为下一帧人脸非边缘分割的初始分割轮廓,在下一帧最优人脸非边缘分割轮廓的搜索范围内,建立相应的能量函数,通过动态规划算法依次得到后续帧最优的人脸非边缘分割轮廓。

6 实验结果与分析

系统环境采用的是Intel Core i3处理器,运行内存是8 GB,64位操作系统,开发环境是Visual Studio 2010。为了验证本文算法的适用性,测试实验分别搜索了5个电影目标视频片段及其分别对应的用大华HF5221E摄像头拍摄、自然光照采集下的模仿电影人物口型的源视频片段。

将本文算法与未考虑防抖动和渗色的视频人脸非边缘分割方法作对比,并采用李克特测试法来对其效果进行比较,16名被测试者被要求观看未考虑防抖动和渗色的人脸替换视频和基于本文算法的人脸替换视频,并在观看结束后对视频的效果进行打分,分数的设定按照李克特分值分为5个级别:非常同意抖动和渗色;同意抖动和渗色;不一定抖动和渗色;不同意抖动和渗色;非常不同意抖动和渗色。实验效果对比如下:

实验1渗色现象(电视剧《来自星星的你》中警察询问男主角视频片段)渗色现象对比实验所得李克特分为:未考虑防抖动和渗色的视频人脸替换分值为4.22,本文算法分值为1.51。

数据可以看出,其结果和图7所示结果相同:由于未考虑抖动和渗色的视频人脸替换算法仅仅根据经验权值进行插值,以此来自动得到每一帧的人脸非边缘分割轮廓,有时经验权值并不适用于每一帧人脸,最终导致融合边缘出现渗色的现象,如图7(b)所示,背景颜色漫延到人物右腮处;而本文算法充分考虑了源人脸和目标人脸的差异性导致的源人脸特征点和目标人脸特征点不是100 %对齐的问题,以及融合边缘的纹理平滑性,使得渗色现象得到有效减轻,如图7(c)所示,融合边缘未发生渗色现象。

图7 渗色现象对比效果

实验2正脸且角度无偏转(电视剧《来自星星的你》中的警察抓捕视频片段)。实验结果如图8所示。

图8 未考虑防抖动和渗色与基于本文算法的视频人脸替换(实验二)

实验3侧脸且角度无偏转(电影《泰坦尼克号》中的女主角视频片段)。实验结果如图9所示。

图9 未考虑防抖动和渗色与基于本文算法的视频人脸替换(实验三)

抖动现象对比实验所得李克特分值为:实验2中,未考虑防抖动和渗色的视频人脸替换打分4.13,本文算法为1.91;实验3中两者打分分别为4.25和2.03。

由李克特测试分值可以看出:其结果和实验2、实验3的结果相同。由于未考虑防抖动和渗色的人脸替换算法只是简单地对单帧人脸进行非边缘分割,相邻帧的人脸非边缘分割轮廓没有相关性。如,第29帧(图8(c))替换人脸的融合边缘出现渗色现象,第30帧(图8(d))替换人脸未出现渗色现象;第23帧(图9(c))替换人脸的左眼角融合边缘出现轻微渗色现象,第24帧(图9(d))替换人脸的左眼角融合边缘渗色现象加重,根据人眼的视觉暂留特性[15],视频连续播放时,融合边缘处会出现抖动现象。而本文算法综合考虑了帧间人脸非边缘分割的时间连续性和帧内人脸的纹理平滑性,使得本文算法连续帧人脸右腮处、连续帧人脸左眼角的分割轮廓未出现大范围的偏移,最终有效改善了视频人脸替换的效果。

7 结束语

设计了一种防抖动和渗色的视频人脸非边缘分割方法。通过对人脸进行ASM特征点准确定位,使得后续人脸非边缘分割更加准确;有效改善了视频人脸替换效果。由于本文只是对于视频人脸在大小和角度不变的情况下,对视频人脸替换出现的抖动和渗色现象进行了研究,对于复杂情况下的视频人脸,例如镜头或者人物的远近变化造成的人脸大小变化,以及由于镜头和人物的角度偏转造成人脸角度变化等,则需要结合人脸的变化轨迹,建立相应的能量函数来作进一步的研究。

猜你喜欢

轮廓人脸边缘
有特点的人脸
一起学画人脸
OPENCV轮廓识别研究与实践
基于实时轮廓误差估算的数控系统轮廓控制
三国漫——人脸解锁
高速公路主动发光轮廓标应用方案设计探讨
一张图看懂边缘计算
长得象人脸的十种动物
创造早秋新轮廓
在边缘寻找自我