logo资料库

论文研究- 基于CANDIDE模型的人脸替换 .pdf

第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
资料共9页,剩余部分请下载后查看
5 10 15 20 25 30 35 中国科技论文在线 http://www.paper.edu.cn 基于 CANDIDE 模型的人脸替换 魏璐,张雷** (北京邮电大学网络技术研究院,北京 100876) 摘要:本文提出了一种基于 CANDIDE 模型的人脸替换算法,该算法使用 CLM 作为面部特 征点定位算法,将 2 维的面部特征点和 CANDIDE 中 3 维的顶点相对应,建立相应的源人脸 模型。本文根据面部特征点估计出头部姿态和表情相关参数,对源人脸进行方向和角度调整, 通过颜色转移算法,将源人脸的色彩转换为目标人脸的色彩,然后利用图像融合算法进行融 合。试验结果表明,本文的方法能够在图像和视频中进行有效的进行人脸替换。 关键词:图像处理;人脸替换;面部特征点检测;人脸建模;图像融合 中图分类号:TP317.4 Face Swapping Based on CANDIDE Model (Institute of Network Technology,Beijing University of Posts and Telecommunications,Beijing Wei Lu, Zhang Lei 100876) Abstract: In this paper, a face swapping algorithm based on CANDIDE model is proposed. The algorithm uses CLM as the facial landmarks detection to establish the corresponding source face model by correlatting the 2D facial landmark to 3D vertices in CANDIDE model. According to the facial landmarks, the head pose and expression parameters of are estimated, and these parameters are used to adjust the direction and angle of source face model. With the color transfer and image fuse algorithms, the source face will replace the target face with natural color, pose and expression. The experimental results show that the proposed method can effectively improve the results of face swapping in images and videos. Key words: Image processing; Face swapping; Facial landmark detection; Face model; Image fuse 0 引言 本文提出了一种基于 CANDIDE 模型的人脸替换算法,该算法使用 CLM 作为面部特征 点定位算法,将 2 维的面部特征点和 CANDIDE 中 3 维的顶点相对应,建立相应的源人脸模 型。本文根据面部特征点估计出头部姿态和表情相关参数,对源人脸进行方向和角度调整, 通过颜色转移算法,将源人脸的色彩转换为目标人脸的色彩,然后利用图像融合算法进行融 合。试验结果表明,本文的方法能够在图像和视频中进行有效的进行人脸替换。 人脸检测和识别一直是图像识别领域热门的研究方向,并广泛应用于安防,娱乐,影视 等方面。由人脸检测领域引申出的人脸替换技术在隐私保护、娱乐、虚拟现实、影视特效、 视频聊天等方面具有重要的理论意义和应用价值。 人脸替换技术研究的是如何使用计算机或手机快速的将一张图像或视频中的人脸(目标 人脸)替换成另一张图像或视频的人脸区域(源人脸)。替换的基本需求是使替换后的图像 或视频具有逼真自然的视觉效果,其次是表情转移,目标人脸的表情转移使得换脸效果更具 作者简介:魏璐(1991-),女,硕士研究生,主要研究方向:计算机视觉 通信联系人:张雷(1971-),男,副教授,主要研究方向:光网络,宽带网络,无线传感器网络. E-mail: zhangl@bupt.edu.cn - 1 -
中国科技论文在线 http://www.paper.edu.cn 有应用意义和使用空间。从 2004 起,人脸替换技术从基于图像库的人脸替换,至使用 3D 模型匹配替换,国内外一些高校和研究机构已经开展了人脸替换技术方面上的研究,并取得 了一定的成果,此外,也有不少研究团队在人脸替换的基础上加了表情转移。 Columbia University 的 Bitouk D[1]等人在 2008 年时实现了照片中的自动人脸置换系统。 此系统为使用了一个从网络中收集的人脸作为备选库,当输入一张图片时,系统从人脸库中 找到面部表情和姿势相似的几个图片,然后调整这些备选的姿势,光照和颜色匹配源人脸, 最后通过边界度量法则对这些融合后的人脸进行评分,得分最高的将作为最终结果替换到源 图片上。2011 年,Nuri Murat Arar[2]等人提出了一种基于 AAM 的人脸替换方法,使用了改 进的 Census 变换方法(Modified Census Transform,MCT)和 AAM 作为人脸检测和对面部 建模的方法。然后使用分段仿射变形方法(piecewise affine warping)对所要替换的人脸进行 面部配准,调整姿态和方向。2016 年,Thies J 等人[3]对于单目摄像头的数据,提出了一种 无密集标记的面部捕捉方法,实时的替换视频中的人脸。 本文在考虑了人脸替换效果和实时性的基础上,提出了基于 Candide-3[4]模型的人脸替 换技术。在获取人脸区域后,通过匹配面部特征点与 Candide-3 模型建立映射关系后,将源 人脸替换到目标人脸上。 1 人脸替换算法 1.1 面部特征点定位 面部特征点定位算法是人脸图像处理中的重要研究课题,它可以为后续人脸替换,表情 转移提供基础数据,也可以用到表情识别,虚拟现实等场景。由于面部特征点定位算法是基 于图像或视频的,所以依旧受到光照条件、遮挡、姿态等因素的影响。 常见的面部特征点定位方法有基于可变形模板(Deformable Template)的定位方法、点 分布模型(主动表现模型和主动形状模型)、图模型等。本文的人脸特征点提取算法是基于 CLM(Constrained Local Models)算法,即有约束的局部模型算法,该算法是 Cristinacce D[5] 等人提出的。CLM 算法融合了 ASM 和 AAM 两个算法的优点,既有 ASM 中的约束性,又 有 AAM 的灵活性。CLM 也学习拥有形状和纹理的面部模型(类似于 AAM),但是他的 纹理信息是体现在独立的 Patch 模型中,每个 Patch 被一些特征点包围。如图 1 所示,CLM 算法可以检测 68 个面部特征点。 基于 CLM 的人脸特征点定位可分两个阶段:模型构建阶段和点拟合阶段。模型构建又 分为形状模型构建和 Patch 模型构建,形状模型构建就是通过 ASM 算法获取的人脸形状建 模,描述了形状变化遵循的准则。而 Patch 模型就是每个特征点的邻域进行建模,即建立一 个特征点匹配准则,获得最佳匹配。 5 10 15 20 25 30 - 2 -
中国科技论文在线 http://www.paper.edu.cn 图 1 68 个面部特征点 Fig.1 68 facial landmarks 1.2 CANDIDE-3 模型 5 10 CANDIDE 头模型是一组参数化的面部模型,用于基于模型的人脸编码。因为此模型具 有较少的多边形,可以快速的对人脸进行重建。CANDIDE 模型自问世以来,经过两次改版, 最新一版为 2001 年的 Candide-3 模型。Candide-3 模型具有 113 个面部顶点和 184 个形变三 角形区域。 CANDIDE 模型含有动作单元(Action Units, AUs)用来处理面部的动作。这些动作单 元编码是相对于三个轴的旋转。动作单元控制脸部行为来获得不同的表情行为表达,这些面 部行为包括但不限于嘴巴张合、鼻子耸动、眉毛抬起放下、眼睛闭合等。 图 2 Candide-3 模型 Fig.2 Candide-3 model 15 1.2.1 颜色调整 由于光照和肤色的原因,源人脸区域的颜色通常和目标人脸区域的颜色不太一致,这就 带来了一个色彩调整和图像融合的问题。由于在颜色转移的问题上,研究人员普遍选择 Reinhard[6]的算法,因此本文也将采用此方法。此算法是基于 Lαβ色彩空间的算法,由于 Lαβ色彩空间是拥有亮度分量 L ,色彩分量α代表绿色到红色的光谱变化,色彩分量 β代 表蓝色到黄色的光谱变化。 20 - 3 -
5 10 15 20 25 30 中国科技论文在线 http://www.paper.edu.cn , ) 对于两个不同肤色的人脸,首先分别对源人脸图像和目标人脸图像进行颜色转换处理, 把 RGB 模式下的图像数据转换为 Lαβ模型中的表达形式。然后分离颜色通道,表达为 L αβ 类型的向量。然后计算得到每个通道的平均值 mean 和方差 σ。目标通道的值减 ( , 去均值作为目标通道值。目标图像的方差和源图像的方差相除,作为变化比例。将新的目标 通道值和比例相乘,再叠加上源人脸图像的颜色通道。最终结果,再转换为 RGB 图像通道 的人脸图像,上述过程可以按照以下所示理解并实现: () I k = σ k t σ k s − S mean S k ( ( k )) + mean T ( k ) k = l αβ ( , ) , 1.2.2 脸型调整 脸型调整用来调整源人脸与目标人脸之间的脸型区别,是基于面部特征点定位的结果来 进行形变处理仿射变换得到的结果。要实现对面部形变的替换,将使用仿射变换和经线三角 形以及混合型变算法得到替换区域。混合量将由参数α控制。使用以下步骤创建变形: y 1) 在变形图像中查找特征点的位置:在变形图像 M 中,我们可以找到所有特征点( , ) x m m 的位置。 2) 计算仿射变换:源图像中有一组特征点,目标图像中有相同数量的特征点,在变形图像 中有特征点的第三组。 我们也知道这些点定义的三角测量。选择源图像中的三角形和 变形图像中的相应三角形,并计算将源图像中的三角形的三个角映射到变形图像中相应 三角形的三个角的仿射变换。为每对三角形计算仿射变换。最后,重复目标图像的过程 和变形的图像。 3) 经线三角形:对于源图像中的每个三角形,使用上一步中计算的仿射变换将三角形内的 所有像素转换为变形图像。对源图像中的所有三角形重复此操作,以获得源图像的翘曲 版本。类似地,获取目标图像的翘曲版本。 4) Alpha 混合变形图像:在上一步中,获得了源图像和目标图像的翘曲版本。这两个图像 可以使用进行 alpha 混合,得到最终效果。 大多数基于 68 个特征点的面部特征非常齐全,对面部区域的扭转变形,可以获得不错 的效果。 1.3 头部姿态估计 头部姿态估计主要用于将源人脸和目标人脸的面部朝向和角度进行统一,可以使替换效 果更自然。对面部的姿态估计主要通过跟踪特征点区域,通过面部特征点的相对位置判断面 部的朝向和旋转角度。如图 3 所示,头部姿态估计可以通过俯仰角(pitch)、偏航角(yaw) 和滚转角(roll)来描述。 - 4 -
中国科技论文在线 http://www.paper.edu.cn (a) (b) (c) 5 10 15 20 (d) (e) (f) (g) 图 3 头部姿态估计实验图,(a)正脸,(b)(c)偏航角,(d)(e)俯仰角,(f)(g)滚转角 Fig.3 example of head pose, (a) normal face, (b)(c) yaw, (d)(e) pitch, (f)(g) roll 对于表情的估计和传递,本文主要使用的是根据 Candide-3 模型中的动作单元系数,表 情可以通过这些关键表情的组合,使源人脸和目标人脸的表情相匹配。面部对齐算法标记在 每个脸上标记了 68 个特征点。在面部特征中,眉毛和轮廓的特征点是最不明确的,因为在 这些区域很难具体的定义特征点。鼻子上的特征点与面部表情最不相关。因此,我们的算法 集中在嘴部和眼睑的运动。有两个关于眼睑运动的关键表情:关闭左眼和关闭右眼的表达。 眼镜的闭合部分通过上下眼睑之间的距离即可判断闭眼与否,可以根据图像中的动作反映在 三维形变模型上。下面重点推导嘴部的动作判断。 t , , , t 2 t 1 = 在 每 个 帧 中 在 t 这 个 时 刻 , 将 嘴 部 周 围 的 n 个 特 征 点 表 示 为 2n 维 向 量 x y x y ( t t 1 2 。当前框架的姿态参数是由包含围绕三轴的旋转、缩放和图 θ θ θ 表示的。我们定义了一个 m 维加权向量 ( , x z ,通过这个向量可以将 m 个关键表情 iE 和 w 的线性组合作为构建当前 S x y , ) t t T n n = P 像平面平移的 6 维向量 t w s d d , , w w 1 2 ,...,  w )m , =  的权值。使用迭代优化器找到一个可以在每个帧 tI 中产生模型 t = i 1 w t  。 w w t t 1 2 w E i i w t n cE 的最佳 拟合 tS 的 模型 E c , m = = ( ) ( ) , , y x y , , , , 在每次迭代中,我们使用当前的权重 w 来构造当前模型 cE ,然后用 tp 转换 cE 。在透 视投影(perspective projection)之后,将 n 个对应底映射到那个平面上。他们的 2D 坐标会 变 成 2n 维 向 量 。 计 算 面对 齐特 征 点归 一 化的 唯一 矢量 :  ˆ ˆ x y x y , 1 ˆ ˆ x y n n ˆ 1 = v ˆ ( ) , , , , , 2 2 - 5 -
中国科技论文在线 δ s t = ( x c − ˆ x 1 l target , y c − ˆ y 1 l target ,  , x c − ˆ x n l target , y c − ˆ y n l target http://www.paper.edu.cn )T 。其中 x t c 1 n =  和 n = i 1 x i y t c 1 n =  是目标嘴 n = i 1 y i l 是目标嘴部的宽度。使用嘴部宽度归一化偏移矢量是因为,假设嘴部运动 部的中心, target 与嘴的大小成比例。 5 δ v = V 也 可 以 以 相 同 的 方 式 进 行 调 整 , 我 们 可 以 的 到 归 一 化 位 移 矢 量 : ˆ x 1 l ˆ x n l ˆ y n l ˆ y 1 l  x c x c )T − − − − y y ( , , , , c c source source source source 现在我们可以定义在归一化唯一矢量 = || f 定义为 vδ 和 tsδ 之间的 L1 范数: 严重的闪烁,这是因为没有考虑时间的一致性。因此我们要添加一个简单的平滑项来确保加 。简单的逐帧优化数据能量帧将会导致 sδ δ v t data − 的优化的能量函数。将能量函数的数据 || 10 15 20 25 30 权向量与前一帧相似: f smooth =|| - w w − t 1 || = + data fλ 因 此 , 将 数 据 项 和 平 滑 项 与 正 则 化 标 量 λ 组 合 , 得 到 最 终 的 目 标 函 数 为 : 。其中λ为相对于数据拟合项的加权平滑项。需要根据当前面部对准归 O f 一 化位移 矢量 tsδ 和前 一个位 移矢量 1tsδ − 之 间的 距离来适当 的选择 λ的 值。最 终 , NMsimplex 迭代最小化生成器找到最佳的 去适应目标函数 : arg min smooth 。 O = tO w 1.4 人脸替换 经过上述的人脸建模,表情参数提取,已经得到了源人脸相关数据(基于形变模型的头 部模型,调整过光照和颜色的头部纹理,表情系数),目标人脸相关数据(头部模型和姿态), 通过已有的部件可以组合完成最后一步人脸替换步骤,即图像融合技术。良好的图像融合技 术可以使两个不同的图片自然融合,达到边缘几乎不可见,图像融合效果好的效果。 图像融合,就是把不同的两个图片融合到一起,形成一张新的图像。越能使过渡自然的 算法,效果越好。最简单的融合算法就是将两个图像拼接的位置将两张图像进行透明度线性 叠加。拉普拉斯变换,泊松融合算法都是比较高阶的图像融合算法。泊松融合算法是 2003 年由 Pérez P [7]发表后,有很多在此方面的改进,本文在这里只选用了最初的版本来进行说 明。其主要思想是并非将两幅图像单纯的叠加,而是让目标图像在融合时根据自身的的图像 变换梯度(一阶算子或者拉普拉斯算子表示的梯度),将源图像的纹理按照这个变换梯度进 行纹理变换。 在泊松融合中,主要要解决的函数是以下公式,其中 v 是原图区域的梯度向量, g 是 源图像区域,S 表示融合后的结果,其中 f 代表融合后的图像, *f 代表目标图像未改变的 区域,Ω 表示要融合的区域,∂Ω 表示融合区域的边缘部分。 = f | , with 2 ∇ − min = v f f | | * | ∂Ω ∂Ω  Ω f 这个式子是求解一个关系,在目标图像边缘不变的情况下,求融合部分的图像,使融合 图像在融合部分的梯度与源图像在融合部分的梯度最为接近。 2 系统架构 根据第一章描述的模块以及其技术,本文将基于 CANDIDE 模型的视频人脸替换系统框 - 6 -
中国科技论文在线 架设计如图 4 所示。此系统拥有两个输入,含有源人脸的图像和含有目标人脸的视频文件。 对于含有源人脸的图像文件,本文使用三维形变模型和源人脸进行基于 Candide-3 模型的建 模,获得一个人脸模型。对于含有目标人脸的视频文件,首先使用人脸跟踪对齐算法,获得 人脸位置和运动参数估计,根据人脸特征点的变化,获得表情参数。最后将源人脸的 CANDIDE 模型和目标人脸的表情和运动姿态合成,重新着色和调整光线后,使用图像融合 技术将 CANDIDE 人脸模型和周围环境融为一体。 http://www.paper.edu.cn 5 目标人脸 视频 源人脸 图像 人脸对齐 人脸对齐 表情检测 姿态检测 形变模型匹配 表情 参数 头部姿 态参数 Candide 模型 人脸同步 色彩调整 人脸融合 合成视频 图 4 视频的人脸替换系统 Fig.4 Artitecture of face swapping system based on video 10 在人脸检测方面,本文使用的是 MMOD 人脸检测法,人脸跟踪方面,使用的是 Mean-shift 跟踪方法,人脸特征点定位方面,使用的是 CLM 模型匹配方法。姿态估计部分,使用坐标 变换方法获得面部的旋转角度等参数,光照估计部分,使用光照调整算法使得两个人脸光照 条件一致。 3 实验结果与分析 15 3.1 实验平台 本文中涉及到的所有算法都是在 VS2015 中,使用的开源开发工具为 OpenCV3,Dlib, 使用 C++/Python 语言编写实现的。基于 CLM 算法的面部特征点提取依赖于 CLM 人脸识别 - 7 -
中国科技论文在线 库。实验运行环境为 Win 10,Intel(R) Core(TM) i5-4590 CPU @ 3.3 GHz, 8G 内存,且安装 了普通摄像头的计算机上,摄像头分辨率为 640px*480px。 3.2 实验效果 http://www.paper.edu.cn 5 基于上述平台和实验环境,本文提出基于图像和基于视频的两个人脸替换实现,图 5 是基于图像的人脸替换,图 6 是基于视频的人脸替换,这两种实现均使用了图 4 所表示的系 统架构设计。 (a)源图像 (b)目标图像 (c)替换效果 10 15 图 5 基于图像的人脸替换效果图 Fig.5 Face Swapping based on image 由图 5 可以看出对于基于图像的人脸替换算法具有很好的替换效果,替换后的融合图像 具有和目标人脸的色彩范围,并且具有良好的五官替换效果和融合效果。 图 6 基于视频的人脸替换效果图 Fig.6 Face Swapping based on video 图 6 表示的用源人脸替换视频中的效果,左上角为源人脸图像,其他 3 张为一组的图像 依次表示:目标人脸,Candide-3 模型,替换效果。在本文的实验环境中,可以做到 30FPS 的替换速度,并且在此速度的基础上,仍能实现对面部五官进行替换的良好效果。图中可以 看出对于不同的肤色、角度、方向、表情,都能出现较自然的替换效果。 - 8 -
分享到:
收藏