热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

美图影像实验室(MTlab)10000

雷锋网(公众号:雷锋网)AI科技评论按,日前,美图影像实验室(MTlab,MeituImaging&VisionLab)推出「10000点3D人脸关键点技术」——利用深度学习技术实

雷锋网(公众号:雷锋网) AI 科技评论按,日前,美图影像实验室(MTlab, Meitu Imaging & Vision Lab)推出「10000 点 3D 人脸关键点技术」——利用深度学习技术实现 10000 点的人脸五官精细定位,该项技术可以在 VR 游戏中构建玩家人脸的 3D 游戏角色并且驱动,也可以应用于虚拟试妆试戴和医疗美容领域等。本文为美图影像实验室 MTlab 基于该技术为雷锋网 AI 科技评论提供的独家解读。正文如下:

简介

在计算机视觉领域,人脸关键点定位在视觉和图形中具有广泛的应用,包括面部跟踪、情感识别以及与多媒体相关的交互式图像视频编辑任务。目前行业内常用的是 2D 人脸关键点技术,然而,2D 人脸点定位技术由于无法获取深度信息,不能分析用户的立体特征,比如苹果肌,法令纹等更加细致的用户信息,也无法分析出用户当前的姿态和表情。为了能够给用户的自拍添加动画效果,如面具、眼镜、3D 帽子等物品,并且提供更加智能的 AI 美颜美型效果,需要一套特殊的感知技术,实时跟踪每个用户的微笑、眨眼等表面几何特征。因此,美图影像实验室 MTlab 研发人员研发了 10000 点人脸关键点技术,将面部图像提升到三维立体空间,将用户的姿态、脸型以及表情分解开来,实时跟踪用户当前的姿态、表情、五官特征改变后的面部形态,调整后的图像更加自然美观。

美图影像实验室(MTlab)10000 点人脸关键点技术全解读

基于 3DMM 的人脸关键点定位方法

1. 三维形变模型 (3DMM)

1999 年,瑞士巴塞尔大学的科学家 Blanz 和 Vetter 提出了一种十分具有创新性的方法——三维形变模型 (3DMM)。三维形变模型建立在三维人脸数据库的基础上,以人脸形状和人脸纹理统计为约束,同时考虑了人脸的姿态和光照因素的影响,生成的人脸三维模型精度较高。

美图影像实验室(MTlab)10000 点人脸关键点技术全解读

3DMM

如上图所示 3DMM 的主要思想是:一张人脸模型可以由已有的脸部模型进行线性组合。也就是说,可以通过改变系数,在已有人脸基础上生成不同人脸。假设建立 3D 变形的人脸模型由 m 个人脸模型组成,其中每一个人脸模型都包含相应的脸型和纹理两种向量,这样在表示新的 3D 人脸模型时,就可以采用以下方式:

美图影像实验室(MTlab)10000 点人脸关键点技术全解读

其中美图影像实验室(MTlab)10000 点人脸关键点技术全解读表示平均脸部形状模型,美图影像实验室(MTlab)10000 点人脸关键点技术全解读表示 shape 的 PCA 部分,美图影像实验室(MTlab)10000 点人脸关键点技术全解读表示对应脸型系数。

Blanz 和 Vetter 提出的 3DMM 虽然解决了人脸变形模型的表达问题,但其在人脸表情表达上依然存在明显不足。2014 年时,FacewareHouse 这篇论文提出并公开了一个人脸表情数据库,使得 3DMM 有了更强的表现力,人脸模型的线性表示可以扩充为:

美图影像实验室(MTlab)10000 点人脸关键点技术全解读

在原来的脸型数据基础上,增加了表情美图影像实验室(MTlab)10000 点人脸关键点技术全解读美图影像实验室(MTlab)10000 点人脸关键点技术全解读表示对应的表情系数,系数让实时表情 Tracking 成为了可能。

2. 美图 MT3DMM 模型

为了能够更加精细地刻画不同人脸的 3D 形状,并且适用于更广泛的人种,MTlab 的研发团队采用先进的 3D 扫描设备采集了 1200 个不同人物、每人 18 种表情的 3D 人脸数据,其中男女各半,多为中国人,年龄分布在 12~60 岁,模型总数超过 20000 个,基于这些数据,建立了基于深度神经网络的 MT3DMM 模型。相比于目前主流的 3DMM 模型,MT3DMM 具有表情丰富,模型精度高,并且符合亚洲人脸分布的特点,是目前业界精度最高的 3D 人脸模型之一。

3DMM 模型,代表了一个平均脸,也同时包含了与该平均脸的偏差信息。例如,一个胖脸在一个瘦脸模型基础上,通过调整五官比例可以得到胖脸模型。利用这种相关性,计算机只需要利用用户的脸与平均人脸的偏差信息,就能够生成专属于用户的 3D 模型。不仅如此,这些偏差还包括大致的年龄、性别和脸部长度等参数。但是,这样也存在一个问题,世界上的人脸千变万化,要将所有人脸与平均人脸的偏差都存储下来,3DMM 模型需要集成大量面部的信息,然而目前的开源模型在模仿不同年龄和种族人脸方面的能力十分有限。

如下图 BFM 的人脸数据基本都是外国人脸,跟亚洲人脸的数据分布存在差异;Facewarehouse 的数据主要是亚洲人脸,但是用 Kinect 扫描的模型则存在精度较低的问题;SFM 开源的数据只包含了 6 种表情,并且模型的精度较低,无法满足我们的需求;LSFM 数据包含了较多的人脸数据,但是不包含表情,无法用于用户表情跟踪。

美图影像实验室(MTlab)10000 点人脸关键点技术全解读

BFM 和 SFM 数据中的部分数据

扫描出来的模型虽然是高精度的模型,但是不包含具体的语义信息。因此,MTlab 的 3D 研发团队专门为此开发了一套自动注册算法,无需人工进行标定就可以对扫描模型进行精细化注册,如下图所示:

美图影像实验室(MTlab)10000 点人脸关键点技术全解读

注册流程

美图影像实验室(MTlab)10000 点人脸关键点技术全解读

模型生成结果

最终,MTlab 将所有注册好的 3D 模型组合成 MT3DMM 数据库,用于 10000 点面部关键点定位。高精度的扫描模型也为开发其它功能提供了更多的可能。

3. 数据制作

为了能够发挥深度学习的大数据优势,需要给神经网络提供大量的数据,MTlab 研发人员设计了一套高复杂度的数据制作算法,同时配合高精度的 MT3DMM 模型制作出大量的训练数据。相比目前主流的训练数据制作方法,MTlab 的训练数据可以有效的解耦脸型,表情以及姿态信息,在进行精确的稠密点人脸定位的同时,进行 AR 特效以及精准的人脸表情驱动。

从上面的公式可以将人脸重建的问题转化成求美图影像实验室(MTlab)10000 点人脸关键点技术全解读, 美图影像实验室(MTlab)10000 点人脸关键点技术全解读系数的问题,将我们参数化的 3D 人脸模型美图影像实验室(MTlab)10000 点人脸关键点技术全解读跟 2D 特征点美图影像实验室(MTlab)10000 点人脸关键点技术全解读进行映射后,便可以用下面的公式对脸部进行拟合,具体求解过程如下:

美图影像实验室(MTlab)10000 点人脸关键点技术全解读

这里美图影像实验室(MTlab)10000 点人脸关键点技术全解读是三维模型投影到二维平面的点,P 为正交投影矩阵,R 为旋转矩阵,美图影像实验室(MTlab)10000 点人脸关键点技术全解读为位移矩阵,这样我们就可以将三维求解问题转化成求解下面的能量方程:

美图影像实验室(MTlab)10000 点人脸关键点技术全解读

这里加了正则化部分,其中美图影像实验室(MTlab)10000 点人脸关键点技术全解读是 PCA 系数(包括形状系数美图影像实验室(MTlab)10000 点人脸关键点技术全解读以及表情系数美图影像实验室(MTlab)10000 点人脸关键点技术全解读),美图影像实验室(MTlab)10000 点人脸关键点技术全解读表示对应的主成分偏差。

目前的 3D 重建算法大多都是将姿态,脸型以及表情参数一起优化,并不能将这三者独立开来,为了能够解耦姿态,表情,以及脸型之间的关系,MTlab 的数据包含了一个人同一姿态下的不同表情,以及同一表情下不同姿态的数据集,采用 Joint Optimization 策略来计算每个人的脸型,姿态以及表情参数,得到解耦后的参数数据可以真实反应出当前人脸的姿态信息,脸型信息以及表情信息,极大的丰富了应用场景。

4. 神经网络训练

传统的 3D 人脸重建算法,不管是单图重建、多图重建还是视频序列帧重建,都需要通过凸优化算法优化出所需要的参数,为了能够让算法在移动端实时运行,MTlab 研发人员采用深度神经网络进行 End-to-End 学习,通过神经网络强大的学习能力替代了凸优化过程的大量计算。通过研究分析目前移动端较快的网络(SqueezeNet、Shufflenet V2、PeleeNet、MobilenetV2、IGCV3)的特性,MTlab 研发人员提出了一种适合移动端网络,并且具备低功耗特性的 ThunderNet,配合 MTlab 研发的 AI 前向引擎和模型量化技术,在美图 T9 上运行帧率达到 500fps。MT3DMM 神经网络训练的要点如下:

美图影像实验室(MTlab)10000 点人脸关键点技术全解读

MT3DMM 整体流程

数据增益:为了适应 In-the-wild 图像,需要让算法对低分辨率、噪声、遮挡或包含运动和不同的光照场景下具有强鲁棒性,MTlab 采用了海量的数据,并用算法扰动模拟了各种真实环境下的数据进行训练。

网络结构:使用了 MTlab 自研的 ThunderNet 网络结构,在速度和精度上都超过了同规模的快速网络,包括 SqueezeNet、Shufflenet V2、PeleeNet、MobilenetV2、IGCV3,并具有低功耗的特点。

损失函数:Loss 主要采用了参数 Loss、KeyPoints Loss、3D Vertexes Loss 以及 Texture Loss,并且用相应的权重去串联它们,从而使网络收敛达到最佳效果。实验发现,参数 Loss 可以获取更加准确的参数语意信息,KeyPoints Loss 可以使最终的稠密人脸点贴合人脸五官信息,3D Vertexes Loss 能更好地保留用户脸部 3D 几何信息,Texture Loss 则可以帮助网络实现更好的收敛效果。

最终,在得到网络输出的参数后,MTlab 用 MT3DMM 模型解码出相应的人脸 3D 模型,根据姿态以及投影矩阵就可以得到面部稠密人脸点。模型都是经过参数化后,每一个点都有其相对应的语义信息,可以通过修改 3D 模型对图像进行相应的编辑。美图手机上光效相机、个性化美颜档案、3D 修容记忆、美颜立体提升、3D 姿态调整、App 萌拍动效、美妆相机万圣节妆容、彩妆、Avatar 驱动等功能都采用了该项技术。

参考文献

V. Blanz and T. Vetter. A morphable model for the synthesis of 3D faces. In Proceedings of the 26th annual conference on Computer graphics and interactive techniques, pages 187– 194, 1999.

Cao C, Weng Y, Zhou S, et al. Facewarehouse: A 3d facial expression database for visual computing[J]. IEEE Transactions on Visualization and Computer Graphics, 2014, 20(3): 413-425

Huber P, Hu G, Tena R, et al. A multiresolution 3d morphable face model and fitting framework[C]//Proceedings of the 11th International Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications. 2016.

Booth J, Roussos A, Zafeiriou S, et al. A 3d morphable model learnt from 10,000 faces[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016: 5543-5552.

Iandola F N, Han S, Moskewicz M W, et al. SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and<0.5 MB model size[J]. arXiv preprint arXiv:1602.07360, 2016.

Ma N, Zhang X, Zheng H T, et al. Shufflenet v2: Practical guidelines for efficient cnn architecture design[C]//Proceedings of the European Conference on Computer Vision (ECCV). 2018: 116-131.

Wang R J, Li X, Ling C X. Pelee: A real-time object detection system on mobile devices[C]//Advances in Neural Information Processing Systems. 2018: 1963-1972.

Sandler M, Howard A, Zhu M, et al. Mobilenetv2: Inverted residuals and linear bottlenecks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 4510-4520.

Sun K, Li M, Liu D, et al. Igcv3: Interleaved low-rank group convolutions for efficient deep neural networks[J]. arXiv preprint arXiv:1806.00178, 2018.

雷锋网特约稿件,未经授权禁止转载。详情见。


美图影像实验室(MTlab)10000 点人脸关键点技术全解读


推荐阅读
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 本博文基于《Amalgamationofproteinsequence,structureandtextualinformationforimprovingprote ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • 3年半巨亏242亿!商汤高估了深度学习,下错了棋?
    转自:新智元三年半研发开支近70亿,累计亏损242亿。AI这门生意好像越来越不好做了。近日,商汤科技已向港交所递交IPO申请。招股书显示& ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 本文介绍了腾讯最近开源的BERT推理模型TurboTransformers,该模型在推理速度上比PyTorch快1~4倍。TurboTransformers采用了分层设计的思想,通过简化问题和加速开发,实现了快速推理能力。同时,文章还探讨了PyTorch在中间层延迟和深度神经网络中存在的问题,并提出了合并计算的解决方案。 ... [详细]
  • Learning to Paint with Model-based Deep Reinforcement Learning
    本文介绍了一种基于模型的深度强化学习方法,通过结合神经渲染器,教机器像人类画家一样进行绘画。该方法能够生成笔画的坐标点、半径、透明度、颜色值等,以生成类似于给定目标图像的绘画。文章还讨论了该方法面临的挑战,包括绘制纹理丰富的图像等。通过对比实验的结果,作者证明了基于模型的深度强化学习方法相对于基于模型的DDPG和模型无关的DDPG方法的优势。该研究对于深度强化学习在绘画领域的应用具有重要意义。 ... [详细]
  • MySQL多表数据库操作方法及子查询详解
    本文详细介绍了MySQL数据库的多表操作方法,包括增删改和单表查询,同时还解释了子查询的概念和用法。文章通过示例和步骤说明了如何进行数据的插入、删除和更新操作,以及如何执行单表查询和使用聚合函数进行统计。对于需要对MySQL数据库进行操作的读者来说,本文是一个非常实用的参考资料。 ... [详细]
  • 建立分类感知器二元模型对样本数据进行分类
    本文介绍了建立分类感知器二元模型对样本数据进行分类的方法。通过建立线性模型,使用最小二乘、Logistic回归等方法进行建模,考虑到可能性的大小等因素。通过极大似然估计求得分类器的参数,使用牛顿-拉菲森迭代方法求解方程组。同时介绍了梯度上升算法和牛顿迭代的收敛速度比较。最后给出了公式法和logistic regression的实现示例。 ... [详细]
  • OCR:用字符识别方法将形状翻译成计算机文字的过程Matlab:商业数学软件;CUDA:CUDA™是一种由NVIDIA推 ... [详细]
  • ICRA2019最佳论文  Making Sense of Vision and Touch: SelfSupervised Learning of Multimodal Representatio
    文章目录摘要模型架构模态编码器自监督预测控制器设计策略学习控制器设计实验结论和展望会议:ICRA2019标题:《MakingSenseofVision ... [详细]
author-avatar
温暖我心好吗_646
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有