一键替换视频会议背景,还能帮忙美颜?联想Smart Appearance背后技术的揭秘

2020年初,疫情爆发,大家被困在家里,无法到公司办公,远程办公成为常态。在这种情况下,大家开始讨论远程办公是不是可以成为未来的主流工作方式,即使现在大家已经可以自由出入,也不乏视频会议的需求。而这一需求衍生了许多办公软件,钉钉、腾讯视频、teams、zoom等等,这些软件有的可以自动美颜,更换背景,有的却不行。但是房间太乱怎么办?在家不想化妆怎么办?

联想推出的Smart appearance产品,帮你一键解决所有困扰~

只用打开软件,调整好美颜和背景,打开任何的视频软件,都可以保留这个设定。

美颜相机我们用过很多,大多是静态的拍摄照片,动态的人像要如何做到人脸抓取呢?

Smart appearance是如何实现动态的背景处理的呢?动态的人像要如何抓取呢?

我们特此跟联想研究院的专家进行了交流,接下来本文将围绕“美颜”技术和动态背景处理技术展开。

下面是揭秘时间……

01 背景更换

Smart appearance通过从背景中分割用户来对每个视频帧进行处理。背景分割任务,主要分为数据、模型、损失、训练、推理、后处理 6个部分。在创建模型时,主要技术难点在于如何提高模型的泛化能力,通过搜集开源数据集及自行制作数据集,自制数据集采用简单场景下采集,成熟算法自动标注并结合复杂背景生成新样本的方式进行扩增,进而扩大训练集的丰富性。

在后期处理时,图像分割算法如果直接应用到视频上,会存在明显的人像边缘抖动问题,严重影响用户体验。如何抑制分割结果的抖动,研发人员对模型进行了改进,增加了时域一致性损失,改进了模型的输入,加强了前后帧间的联系,并对模型输出的结果进行后处理,最终得到稳定的人像分割结果。

02 “美颜”技术

“美颜”技术是一项将深度学习、图像处理和图形学融合,包含人脸检测、人脸关键点定位、磨皮、美白、美型等多项内容的技术。接下来,我们分别介绍美颜当中涉及技术的概念、难点。

“美颜”的技术要点如下图所示。针对摄像头读取的视频流,经由人脸检测,人脸关键点,人脸姿态等人脸相关算法得到美颜所需要的位置信息,再经由美肤,美颜,美妆,贴纸等一系列算法,通过openGL渲染,得到输出结果。这里需要指出的是,考虑到速度情况,我们使用 OpenGL进行图像处理。在 OpenGL中编写算法shaders,实现效果,最后将处理的结果传输给 CPU,然后生成最终的美颜照片。

About 人脸检测

人脸检测算法的核心功能是通过对输入图像的运算与处理,得到图像中所包含的人脸目标的数量与位置信息。在实际应用中,诸多不确定因素的影响导致该任务存在很大挑战性,如:图像质量、不同程度的光照条件、头部的姿态变化、面部的表情变化、人脸区域的遮挡、人脸的尺寸变化等的影响等。根据不同的应用场景下,设计出针对性的方案以优化检测器的鲁棒性。

来源:http://mmlab.ie.cuhk.edu.hk/projects/WIDERFace/WiderFace_Results.html

About  人脸关键点

人脸关键点(Face Landmark)估计算法的核心功能是对面部区域中主要部位进行轮廓的定位,其中包括:眉毛、眼睛、鼻子、嘴巴、面部轮廓等。

来源:https://wywu.github.io/projects/LAB/WFLW.html

一般而言,人脸关键点检测算法需要基于人脸检测算法,利用人脸检测器的检测结果得到图像中所包含的人脸目标位置信息,再分别对每一个人脸目标执行人脸关键点的估计任务,继而得到各个人脸目标的面部关键点信息。对于模型所面对的挑战而言,与人脸检测算法类似,同样面临着人脸光照、姿态、遮挡、表情等因素的影响,导致其在不同应用场景下的性能不同。可选择解决方案同样可参考人脸检测网络结构中所涉及的方法,提升网络对特征的提取能力。

除了模型本身的检测效果的提升,还可通过一些前后处理操作,提升与优化模型的体验效果。例如:为降低关键点抖动性问题,可引入人脸跟踪算法,实时跟踪人脸目标,选择性地更新人脸检测框或关键点位置信息。且同时检测其运动状态,保证在人脸有相对大幅度运动的时候,使得关键点也能够及时地匹配上人脸的位置。

在获取到人脸关键点信息后,即可知晓人脸各个主要部位的位置信息,通过后续功能的设计,进而实现对人脸完成美白、瘦脸、贴纸动画等效果的渲染任务。

About  磨皮

目前关于磨皮方法有很多,在PhotoShop中,通常使用高反差保留、双边滤波、高低频等方法来实现磨皮操作。在磨皮中,我们既要平滑点与点之间的灰度差异,同时还要保持皮肤原有的一些细节。Smart appearance的研发人员采用不同的方法,通过大量的实验,最终得到最优的方式,能够在使皮肤变得更加光滑的同时,尽可能地保留下巴边界、眉毛细节。

About 美白

通过LUT映射我们可以改变肤色,也就是实现美白功能。Lut的全称是显示查找表(Look-Up-Table),对应着一种映射关系。使用Lut可以轻松得到变换之后的颜色。

基于lut的颜色调整非常简单,只需要设计师在PhotoShop中对标准lut图和原图进行调整,将输出的filter LUT交由程序即可对各种图像实现想要的滤镜效果。

除了利用lut图进行美白之外,还可以经由各种滤镜lut映射,实现我们想要的滤镜效果。

About 美型

有了基础美颜,接下来要进行精致美型的部分,首先需要对这些关键点进行各个部位的索引分类,便于我们分部位进行美型处理。

由于在openGL中,我们通过三角绘制来渲染图像。因此,在获得人脸关键之后,还需要对关键点进行三角划分。由于人脸关键点的位置相对固定,人脸关键点内部关系也可以看作相对固定,所以我们可以提前创建三角索引组,结合smartlandmark得到的人脸关键点顶点坐标和纹理坐标,进行三角剖分和美型渲染。

联想智能美颜技术结合美学,利用2D人脸关键点信息,在shader中通过对像素位置进行偏移来修正脸部细节,实现脸部宽度、眼睛大小、削脸、尖下巴、嘴巴大小、鼻子大小、额头高低、眼距大小等部位的微调整,实现2D美型的效果。

完成了美颜和背景处理,研发人员又是如何让所有应用都保留这个设定呢?

原来,研发人员另辟蹊径,直接在相机驱动底层和应用间插入了算法

通过在相机驱动和应用间插入AI算法, 以提供全域视频软件应用smart appearance设定的功能。在smart appearance中调整好背景和美颜后,打开teams、zoom等软件时,都可以保留设定,关闭smart appearance后,则设定取消。

好了,本期的技术揭秘到此结束,是不是意犹未尽呢?

接下来还会有更精彩的内容哦,请拭目以待!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容