APP下载

实时面部捕捉技术在虚拟演播室中的应用研究

2021-11-17顾乃林申闫春

计算机仿真 2021年9期
关键词:演播室人脸摄像头

顾乃林,申闫春

(1.宿迁学院法政学院,江苏 宿迁 223800;2.北京信息科技大学计算机学院,北京 100192)

1 引言

近年来,随着虚拟现实和增强现实技术的不断发展,以及在影视和娱乐游戏行业的广泛应用,“虚拟人”的概念也逐渐被广大用户所认可。“虚拟人”是指根据真实的人脸和人体运动特点构建的虚拟角色,可以通过运动捕捉设备捕捉演员的形体动作,以及面部捕捉设备获取人的面部表情和肌肉运动,并映射到虚拟人的脸部和身体上,从而产生电影特效或者游戏中所需的动画效果。随着实时重建和图形渲染技术水平的逐年提高,越来越多的从业者和用户都希望在影视和游戏作品中看到极其真实的面部表情,甚至与实际拍摄的画面进行虚实融合,达到以假乱真的水平。

而虚拟演播室也是近几年发展起来的一种独特的电视和线上节目制作技术。它的本质是将计算机生成的虚拟三维场景与摄像机现场拍摄的人物或者影像进行实时的数字化合成,使虚拟人物与实际背景(以及实际人物与虚拟背景)能够正确叠加,同步变化,以获得完美的合成画面效果。

本文研究把基于运动捕捉和面部捕捉的虚拟角色与虚拟演播室技术相结合,构建真实数据驱动的实时角色模型重建和渲染系统,并与真实摄像机拍摄的画面进行叠加,让真实的人与“虚拟人”同台进行表演。这一技术手段极大地丰富了影视和电视节目的表现力,可以直接应用在电视或者网上直播活动中,并且已经在春晚中得以应用。在实现过程中,本文着重研究了低成本和高实时性的面部捕捉和重建方法,并且与传统的面部捕捉技术进行了多方面的比较;同时,还针对虚拟角色在虚拟演播室中的合成方法和效果做了针对性的研究和实际应用。

2 面部捕捉技术

面部动作捕捉(Facial Motion Capture),是运动捕捉技术的一部分。面部捕捉是使用机械装置、传感器、相机等设备来记录人类面部肌肉和表情动作,然后,将它转换为一系列参数数据的过程。可以构建虚拟人面部,并将基于面部捕捉得到的参数数据传递给虚拟人的面部骨骼和蒙皮系统,从而重现实际的人脸表情和动作。

2.1 面部捕捉和重建系统的基本需求

由于人脸的肌肉构成比较复杂,有各种各样的微表情呈现方式,因此很难像处理全身运动捕捉的情形一样,将身体简单地划分为四肢和躯干的数个关节,再分别进行数据监测。

图1 采用68个面部标记点的面部捕捉模型

一种比较常见的方式是通过传感器设备记录一些典型的面部标记点(landmark),例如:眉毛、眼框、鼻翼、鼻孔、嘴唇、面颊等。然后,通过这些标记点的参数数据来驱动虚拟人脸。一个典型的面部标记系统可能会包含几十到几百个标记点,这也对数据采集和计算系统提出了很高的要求,并且,很难具备泛化应用和实时计算的能力。

本文选择使用基于IBUG数据集构建的68个标记点人脸模型,如图1所示。标记点主要集中在人脸轮廓线、眼框、鼻翼和鼻孔,以及内外嘴唇部分,因此,对于眨眼和嘴说话的动作,以及需要用到这些主要器官的表情有很好的识别和参数化的能力。对于脸颊上的一些微表情动作,这个人脸模型并不能很细腻地表现出来。不过对于虚拟演播室以及直播类的需求来说,通常也不需要捕捉和使用到更复杂的表情动作。

2.2 基于人脸标记点的光学捕捉技术

目前,比较流行的人脸捕捉方案是在演员的脸上,直接绘制或者粘贴具有显著颜色区别的标记点,然后,通过多台光学摄像机来识别标记点,进而求得人脸的表情运动参数。如图2所示。

图2 基于标记点的光学相机捕捉

因为演员的表演动作可能比较丰富,运动速度较快,所以需要配置全局快门的光学相机,并且必须具备高分辨率、高帧速率的特性,同时,对多个相机进行帧间同步来确保识别结果的准确性。

这类光学相机系统通常来自OptiTrack或者Vicon等专业厂家,它的配置和标定过程十分繁琐,需要花费大量的时间进行准备工作,而且价格很贵。另外,因为需要在演员的面部直接进行绘制或者粘贴操作,因此,对演员和面捕团队的专业性也有很高的要求,普通人很难未经训练就能参与其中表演。

2.3 基于RGBD设备的深度捕捉技术

一种常见的低成本面部捕捉技术是使用RGBD相机来实现,即:带有深度信息的摄像头设备。典型的RGBD相机,例如:Microsoft Kinect和Kinect2,这类设备本身已经具备了人脸识别和实时三维网格的能力。它将识别得到的人脸RGB像素与深度图像素结合,得到人脸的实时三维网格模型,如图3所示。

图3 Kinect计算得到的人脸三维网格模型

基于这个简化的实时网格模型,可以直接贴图并构建虚拟角色的面部网格,从而快速实现面部捕捉和模型重建的需求。但是,Kinect设备本身的分辨率和帧速率都比较有限,并且,要求设备与被测物体或人体有一定的距离,否则,无法正确检测深度。再加上Kinect设备对于强光环境比较敏感,更适合极客团队进行快速原型验证,并不适合用于影视拍摄或者虚拟演播室环境中应用。

3 单摄像头实时面部捕捉和重建

本文提出一种新的实时面部捕捉方案,它具备成本低廉、安装和调试过程方便、识别效率高、结果稳定等特点,并且,已经在实际项目中得到了充分的论证和应用证明。

3.1 设备和实验环境搭建

该方案仅使用市面上通用摄像头设备即可实现,将摄像头安装到头盔上,并正视表演者的面部,以达到实时面部捕捉和计算重建的目的。

为了达到足够理想的识别速度和识别效果,建议使用Flir的工业摄像头设备。这款摄像头的价格在千元左右,支持全局快门,可以拍摄高速运动的物体,画面分辨率为1280x1024,帧速率约为50FPS,这已经完全满足后端算法的需求。摄像头与头盔的连接方式,如图4所示。

图4 面捕方案的头盔和摄像头连接方式

头盔后端通过有线连接接入到随身的迷你PC,将摄像头画面传递给后端程序进行运算和实时参数捕捉。迷你PC设备的CPU配置不应低于Intel i5。后端程序的执行流程,如图5所示。

图5 面部捕捉执行流程图

3.2 基于MTCNN的人脸特征点自动识别

采用较为流行的多任务卷积神经网络(Multi-task convolutional neural network,简称为MTCNN),同时进行人脸区域检测与人脸标记点检测工作。

该神经网络模型在工作过程中,首先对输入图像的尺寸进行多次缩放,构建多级图像金字塔。然后将图像金字塔数据传递到第一级粗糙的全卷积网络中,简称为Pnet。

Pnet通过自带的人脸分类器判断某张输入图像的某个区域是否是人脸,同时,使用边框回归和自带面部标记点的定位器来提供人脸区域的初步评估结果,这个模块最终会输出很多张区域子图像,其中包含了可能含有人脸和人脸标记点的内容。

这些区域图像被传递给第二级的卷积神经网络,它会对所有的输入窗口进行更为严格的筛选。这一级网络简称为Rnet。它可以检测并抛弃大部分的错误输入,然后,再次使用边框回归和面部标记点定位器,进行人脸区域和标记点的检测,最终输出较为可信的人脸子区域。

所有Rnet的输出结果将被输入到第三级更复杂的卷积神经网络中,简称为Onet。它的主要职责是根据可信的人脸子区域,细化和计算得到精确的人脸包围矩形坐标和标记点坐标。和之前的Pnet以及Rnet相比,Onet拥有更多特征的输入数据,以及更复杂的网络模型,因此,也具有更好的性能,这一级的数据输出也就是最终的网络模型输出结果。

MTCNN算法的执行流程,如图6所示。它的三级神经网络复杂度从低到高,计算结果从粗糙到精确,但是,计算消耗的时间和资源也是从少到多。结合多线程的编程方法,可以并行处理上一帧图像的Onet和当前帧图像的Pnet与Rnet过程,从而优化了整个网络的执行效率,在较低配置的系统上也可以运行,因此,非常适用于面捕头盔加随身的迷你PC的应用场景。

图6 MTCNN识别流程图

3.3 基于SFM的人脸模型拟合和表情驱动

获取人脸的标记点(landmark)信息之后,使用SFM人脸参数模型(Surrey Face Model)来实现标记点到人脸模型的拟合变换。SFM模型属于3D变形模型(3D Morphable Models,简称为3DMM)的一种,它包含参数化生成的三维形状、参数化的反照率模型,以及模型系数的相关概率密度,这些形状和反照参数共同描述一张脸的信息。

SFM模型本身是通过大量3D扫描人脸运算得到的PCA模型,因此,包含较少的参数来描述复杂的人脸变形效果。它提供多种分辨率的三维人脸网格模板,包括:顶点、法线和纹理坐标信息。本文在SFM模型中,采用3448点的模板数据,同时也被提供给美术人员进行虚拟人头的制作。SFM模型的模板类型、顶点数和三角面数量如表1所示。

表1 SFM模板模型的精细级别

为了确保人脸映射效果的实时性和准确性,需要为美术人员提供特殊工具,来确保美术人员编辑输出的新模型顶点ID不会发生变化,因此,也不需要重新计算其三角面索引信息。除此之外,美术人员可以对虚拟模型的顶点位置布局和纹理进行充分的自由发挥,构建具有鲜明特色的虚拟人脸模型,并且仍然可以被面捕系统的输出参数直接控制。

将人脸标记点映射到SFM人脸模型的过程,也就是计算模型PCA参数的过程,之后可以使用这组PCA参数从模板直接采样得到新的人脸网格模型,并且仍然是3448个顶点数。假设SFM模型的形变参数向量组用α来表示,人脸标记点的总数用N来表示,则有如下的拟合公式

E表示成本函数,它的值越低,则拟合的效果越好。y表示齐次坐标系下的2D标记点坐标,yp表示3DMM模型的对应顶点投影到当前2D坐标系后的坐标。而σ是每个标记点的可选方差值。通过线性最小二乘法的解算,可以得到当前人脸2D标记点对应的PCA参数,进而实现人脸模型的实时采样和驱动过程。

4 实例研究

4.1 虚拟演播室系统的搭建

采用Unity引擎来构建虚拟演播室软件环境。该系统支持三维场景模型的导入,常见摄像机接口和图像的输入,角色的数据驱动控制,以及绿幕抠像合成等功能。如图7所示。

图7 虚拟演播室系统实时渲染界面

4.2 人体角色的合成和数据驱动

使用上述面部捕捉头盔系统,可以将演员的面部运动和表情实时映射到虚拟演播室系统中。来自头盔摄像头的图像数据通过USB接口输入到随身的迷你PC进行解算,然后将结果标记点数据通过TCP协议传递给虚拟演播室系统,再进行实时的SFM模型拟合。拟合结果直接应用于实时导入的虚拟人脸并精确控制其顶点运动。如果输入的虚拟人脸不是基于SFM模型制作的话,那么输入的面捕数据将无法直接使用。

有关“虚拟人”身体运动捕捉方面,直接采用诺亦腾的惯性动捕方案。惯捕数据通过本机的TCP或者UDP服务器传递给虚拟演播室系统,并直接控制虚拟人的实时动作。

4.3 应用案例

面捕系统的实时工作场景如图8所示,虚拟演播室系统实地测试效果如图9所示。

图8 面捕系统的实时工作场景

图9 虚拟演播室画面与电视台监控画面

该方案在实际运行过程中,识别效果稳定,随身PC的系统资源消耗保持在较低程度。系统运行过程中持续进行了500秒的资源监测,具体监测结果如表2所示。

表2 面部捕捉系统运行数值监测

5 结语

本文研究了一种基于单摄像头的人脸实时捕捉和参数化重建方法,它采用MTCNN并行多任务神经网络实现人脸的标记点坐标精确识别,然后,将标记点数据代入到SFM人脸模型,通过一个标准的人脸模板(3448点)和一系列PCA参数来描述和实时采样生成。通过拟合公式得到当前标记点对应的参数组,生成实时的三维人脸模型,并且直接与预先设计和构建的虚拟人脸数据进行映射,实现虚拟人脸的表情和运动同步效果。

本方法解决了虚拟演播室应用中常见的人体和人脸捕捉与重建的特征识别数据量大、计算耗时长、识别准确率较低、易于导致跟踪失败等问题,并且成本很低,效率较高,在几乎所有的操作系统平台和迷你PC硬件平台上都可以使用。实践证明,该方法在电视台的虚拟演播室系统应用中得到良好反馈。不足之处是该方法在微表情的呈现上还存在改进空间,以便与影视级的光学捕捉系统相媲美,这是因为所使用的人脸标记点数量较少,且主要分布在五官部位,脸颊等缺乏图像特征的位置上没有标记点对应。可以进一步改善这一问题,研究更好的人脸识别算法,直接采用脸上绘制或粘贴标记点的方法,再结合SFM模型进行拟合,这是下一步需要研究和改进的方向。

猜你喜欢

演播室人脸摄像头
浙江首试公路非现场执法新型摄像头
摄像头连接器可提供360°视角图像
玻璃窗上的人脸
智力考场:有趣的图片测试
电视新闻演播室的环境设计探讨
“领家系”可爱脸VS“高冷系”美人脸
演播室中的多媒体技术应用
长得象人脸的十种动物
无法开启摄像头的解决方案
找出摄像头花屏的“罪魁祸首”