「DeepTech深科技」用一部手机实现高精度人脸建模:靠算法修复缺失数据,效果堪比专业设备


如何得到一个人的高精度面部三维模型?
通常情况下 , 对某个人的脸进行精确的三维重建需要昂贵的设备和专业知识技能 , 比如要用摄影棚、相机、3D 扫描仪等等 , 各种各样的工作都集中在使用光度学立体或多视图立体技术来进行面部结构重建 。
现在 , 卡内基梅隆大学(CMU)的研究人员使用普通智能手机录制的视频完成了这项壮举 。 用智能手机拍摄脸部正面和侧面的连续视频 , 在深度学习算法的帮助下分析这些数据 , 成功对多个面部进行了数字重建 , 实验结果表明 , 他们的方法可以达到亚毫米精度 , 堪比专业化的处理 。
「DeepTech深科技」用一部手机实现高精度人脸建模:靠算法修复缺失数据,效果堪比专业设备
本文插图

图|CMU 的方法(c)与传统最先进的方法(d)效果对比(来源:CMU)
本研究项目的成员之一、CMU 机器人研究所副研究员西蒙 · 露西(Simon Lucey)表示 , 面部的三维重建一直是计算机视觉和图形领域的一个公开问题 , 因为人们对面部特征的外观非常敏感 , 即使重建过程中出现轻微异常 , 也可能使最终结果看起来与现实差别较大 , 高水平的细节是个难点 , 也是栩栩如生的关键 。
如今 , 数字脸可以用来构建游戏角色或 AR、VR 的化身 , 也可以用于动画、影视制作、社交、生物识别甚至医疗等领域 , 商业空间可谓十分广泛 , 而整个制作过程或许会越来越便捷 。
视频|数据采集和优化过程(来源:CMU)
研究人员在慢动作拍摄中使用了 iPhone X , 高帧速率的慢动作是原始数据采集的关键之一 , 视频以 120 帧 / 秒的速度拍摄 , 每段时长 15-20 秒 , 背景条件是无约束的 , 但需要是静态的场景 , 拍摄对象最好保持一种静态的表情 。
录像可以由拍摄对象自己录制 , 也可以由助手录制 , 之后视频会分为三个关键步骤进行处理:摄像机姿态估计;使用多视图立体生成点云;使用约束组合进行网格拟合 。
传统而言 , 大多数多视点人脸重建方法依赖于预先校准的摄像机或使用地标跟踪器来估计相对于几何对象的摄像机姿态 。
CMU 团队利用视觉同步定位和映射(SLAM)的直接方法 , 一方面视觉 SLAM 可以对曲面上的点进行三角剖分以计算其形状 , 另一方面可实现亚像素精度的相机姿态估计 。 这种检测方法特别适用于特征点检测和匹配中不存在大量拐角点的人脸 。
因此 , 研究人员利用这个事实 , 输入一个单一的连续视频序列 , 对于一个典型的序列 , 可以得到 50-80 个具有精确已知摄像机姿态的关键帧 , 经过这一步能创建出一个人脸的初始几何图形 , 略显粗糙 , 丢失的数据也会在模型中留下一些 “空隙” 。
「DeepTech深科技」用一部手机实现高精度人脸建模:靠算法修复缺失数据,效果堪比专业设备
本文插图

图|初步扫描得到的模型效果(来源:CMU)
如上图所示 , 点云生成阶段结束时生成的具有和不具有纹理的点云数据 , 这些点云精确地捕捉了整个面部的几何特征、眼睛、嘴唇等区域的轮廓细节 , 使每个部分都能被识别 。
然而 , 由于非理想照明、缺少纹理和智能手机的传感器噪声等因素 , 点云会有丢失的数据和噪声 , 接下来就需要一个强力的网格拟合方法进行弥补 , 研究人员采用了非刚性网格拟合算法 , 利用点云约束、地标约束、网格刚度约束和边缘约束的组合 , 对模板进行变形修复 , 最终需要 30-40 分钟的处理时间完成一个人脸模型的精确修复 。
虽然这个过程耗时有点儿长 , 但结果却是值得的 , 最终构建出的面部三维模型中位数精度约为 0.95 毫米 , 在精度和完成度方面优于当前一些主流的单视图和多视图重建方法 , 在精细细节方面得到增强 , 这也是三维人脸重建研究的一个最新趋势:将精细的高频细节压印到重建模型之中 。
不过 , 目前这项研究对场景中的动态运动不具有鲁棒性 , 团队会在接下来进一步深化研究 。


推荐阅读