优酷直播实时美颜技术实践

简介: 随着移动设备的发展,美颜已成为多媒体内容生成链路中不可缺少的一种基本能力,尤其是在来疯直播秀场业务的场景下,主播的颜值就意味着生产力,直接影响主播及平台的收入。

作者| 阿里文娱算法专家 彰三

一、背景

随着移动设备的发展,美颜已成为多媒体内容生成链路中不可缺少的一种基本能力,尤其是在来疯直播秀场业务的场景下,主播的颜值就意味着生产力,直接影响主播及平台的收入。
美颜的目的就是要让人看起来更美,包括皮肤细腻、白皙、光滑,脸部各个器官及脸型可 以进行细致的调整,通过美妆调节可以达到快速上妆的效果。为达成上述人脸美颜效果的诉求, 我们从技术上主要通过如下四个关键步骤来实现:

image.png

二、技术实现

1.获取人脸关键点信息

美颜处理依赖于人脸关键点,基于这些关键点,我们可以精准的知道脸部各个器官的位置 信息,从而进行美化处理:
首先,我们基于 AliFace 实现人脸关键点基本信息的获取,主要包括眉毛、眼睛、鼻子、 嘴巴、脸部外轮廓这 106 个关键点;
其次,基于检测出的 106 个关键点,我们需要对脸部关键点进行稠密化处理,插入额外的 关键点,如额头区域和脸部外围限制区域,使其能够覆盖整个脸部区域;
最后,基于稠密化以后的人脸关键点,对其构建整张脸的三角网格,实现对整个脸部区域 的三角剖分(Delaunay Triangulation),三角剖分将人脸切分成多个无重叠的三角区域,进而可以 使用 openGL 或者 D3D 进行绘制渲染处理,从而实现对脸部器官的各种美化处理。基础人脸关键点、稠密后人脸关键点、三角网格图片分别见下图:

image.png

2. 皮肤美化处理

皮肤美化处理主要包括磨皮和美白,磨皮需要把脸部皮肤区域处理得细腻、光滑,美白则 需要将皮肤区域处理得白皙、红润。具体的处理模块见下图:

image.png

其主要包含如下几个关键步骤:
1)图像平滑 磨皮主要是通过使用保边滤波器对脸部非器官区域进行平滑,达到脸部皮肤区域光滑的效果。一般来说常用的保边滤波器主要有双边滤波、导向滤波、表面模糊滤波、局部均值滤波等,考虑到性能和效果的平衡,一般都采用双边滤波或者导向滤波。 双边滤波考虑了窗口区域内像素的欧式距离和像素强度差异这两个维度,使得其在进行平滑时具有保护边缘的特性。其优点是在 GPU 侧计算量小,资源消耗低,其缺点是无法去除色差较大的孤立点,如痘痘、黑痣等,且磨皮后的效果较为生硬。 而导向滤波则是根据窗口区域内纹理的复杂程度来进行平滑程度的调节,在平坦区域趋近于均值滤波,在纹理复杂的区域则趋近于原图,窗口区域内纹理的复杂程度跟均值和方差强相关,既能够很好地处理平坦区域的各种噪点,又能较完整的保存好轮廓区域的信息,且在 GPU 侧的计算并不复杂,所以结合我们的业务需求,我们采用了引导滤波作为磨皮处理的保边滤波器。导向滤波(Guide Filter)的算法如下图所示:

image.png

在磨皮这种场景下,导向滤波的引导图即为原图本身,并且其均值滤波的中间结果可用于 后续的锐化处理以提升性能。
2)人脸 ROI(Region of interest)处理 为了解决磨皮效果的精度和质量,我们标定了一个人脸美颜的遮罩图片,该图片的 rgb 三个通道分别对应脸部器官(眼睛、眉毛、鼻子、嘴等)区域的 Mask1,法令纹区域和眼袋区域的遮罩 Mask2,脸部高、低光区域的遮罩 Mask3,高、低光遮罩的 Mask3 如下图所示:

image.png

通过人脸关键点信息结合该遮罩图片,利用三角剖分的方法实时生成与当前人脸所对应的 脸部遮罩 Mask,对经过平滑后的图像和原图进行融合处理。Mask1 会保护脸部各个器官不被平 滑,保证了脸部磨皮区域的精准性,Mask2 增强了法令纹区域和眼袋区域的磨皮程度,达到去 除法令纹和眼袋的目的,Mask3 则通过高、低光的处理使得磨皮后的五官更为立体。
之所以将上述三个遮罩 mask 合并成一张图片,是为了降低在 GPU 侧获取像素值的频次以 达到提升性能的目的。与此同时,在非脸部区域通过肤色检测实现对肤色区域磨皮,不是肤色 的区域则拒绝被平滑,从而实现对整图的磨皮处理。
3)纹理增强及肤色映射 磨皮后的图像在整体上被模糊化处理,使得整个图像不够通彻透亮,所以需要再对其进行锐化处理。为提升性能,我们结合导向滤波过程中的均值滤波结果和人脸 ROI 区域 mask,采用近似USM 锐化的方式对图像进行增强,从而实现对纹理细节的凸显。 为实现肤色美白,我们通过采用颜色查找表的方式来将肤色映射到理想的颜色范围。颜色查找表基本原理如下所示:

image.png

其本质上相当于一个离散函数 ,给定任意的rgb 颜色值 ,都可以在颜色查找表图片中找到对应的颜色值内插出相应的转换结果 。美白颜色查找表的生成需要设计师根 据肤色所处的大致颜色范围 ,基于基准颜色查找表经过一系列的色彩调整后生成一张新的颜色查找表的图片 ,如下图所示左边为基准颜色查找表 ,右边为调色后的肤色美白颜色查找表

image.png

上述就是皮肤美化的几个重要步 骤 ,经过皮肤美化后的 效果对比图如下 :

image.png

3.脸部器官美型处理

脸部美型处理主要包括脸型调整和脸部器官调整,实现上述功能的核心步骤是基于人脸关 键点通过图像形变的形式来实现脸部各个器官的形状调整。我们所采用的图像形变算法主要是 局部扭曲算法和三角剖分,局部扭曲算法一般包括局部缩放、局部平移、局部旋转等,如大眼 功能即可通过局部缩放来实现。三角剖分的方法则是通过对三角网顶点进行平移,再将平移后 的顶点更新到对应的纹理坐标,通过 openGL 或者 D3D 进行绘制渲染,从而实现整个关联三角 网的变形。具体的脸部美型效果如下图所示:

image.png

4.美妆处理

美妆效果的好坏强依赖于素材模板精准的标定数据和准确的人脸关键点数据,具体的实现 流程主要包括如下几个步骤:
1)妆容素材的管理及解析。结合各种妆容及贴纸素材,我们构建了一套完整的绘制机制,根据对妆容效果描述文件(Json)的解析,结合顶点绘制规则对各个类型的素材进行绘制处理及融合。
2)素材模板和当前人脸器官进行对齐。素材的描述文件中存有相应的标定信息,结合当前 图像的人脸关键点,采用三角剖分的方式实现对素材模板的变形,达到与当前人脸器官对齐的目的。
3)不同器官的定制化处理。由于不同器官的处理流程不一样,需要针对不同的器官采用不 同的处理方式。如美齿时需要结合牙齿区域的 mask 模板通过美齿颜色查找表实现牙齿区域颜 色的调整;眉毛的处理则需先将当前图像的眉毛结合当前眉毛模板的素材进行眉毛区域的形变 调整,同时将当前图像的眉毛部分进行减弱,再和对齐后的眉毛模板进行融合。
4)图像融合。由于素材模板和脸部器官的差异性,我们需要采取不同的融合方式来实现图 层的融合处理。如腮红我们可以直接基于素材的半透明通道进行融合,修容处理则需采用高反差算法进行融合处理。
当然,上述美妆处理的流程也适用于人脸 2D 贴纸。

三、结果及落地

性能方面,在 iphone6p 等中低端机型上,可实现 720p 24fps 实时人脸美颜;效果方面,通 过对皮肤的处理,可使人脸皮肤达到白皙细腻的效果,同时主播可按照自己的喜好对脸部的任意器官进行调整。目前人脸美颜功能已在来疯直播(移动端和 PC 端)、优来播移动端及淘宝直 播 PC 端落地,来疯移动端主播日均开播人数实现一倍增长。具体的人脸美颜效果如下图所示:

image.png

四、一些思考

1)结合业务特性,建立“美”的标准。什么是“美”,在人类的普世观里面是有个基础标 准的,但针对不同的历史时期、地域、场景会有所差别,例如,东方人的审美观点集中在:“三 庭五眼”“四高三低”“中轴丰字布局”等,而在表演类的秀场场景下,则更会突出:“大眼”“瘦 脸”“尖下巴”“胶质感皮肤”等,因此,结合我们的业务场景,用数学的方式定义“秀场”类 的“美学”标准客观评价体系,一方面帮助我们的用户更简单、快捷的进行美化处理。另一方 面,为我们后续的迭代优化、完善研发工作提供数据支撑。
2)妆容迁移。目前的美妆都是基于多个素材来实现,其开发成本相对较高。而妆容迁移可 脱离对美妆素材的强依赖,降低开发成本。用户只需选取一张好看的效果图即可实现美妆,这 是我们后续努力的方向。

参考文献
[1] https://www.ti.inf.ethz.ch/ew/Lehre/CG13/lecture/Chapter%206.pdf

[2] http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/MANDUCHI1/Bilateral_ Filtering.html

[3] http://kaiminghe.com/eccv10/index.html

相关文章
|
10月前
|
存储 缓存 监控
直播系统聊天技术(九):千万级实时直播弹幕的技术实践
疫情期间,线上演唱会是一种很常见的直播娱乐形式,由于线下社交距离的限制,线上形式演唱会比以往更火爆,而对技术的要求也更高。 本文基于网易云信针对TFBOYS某场线上演唱会的技术支持,为你分享千万级在线用户量的直播系统中实时弹幕功能的技术实践,希望能带给你启发。
229 0
|
数据采集 编解码 搜索推荐
短视频直播系统,如何实现高质量直播场景
短视频直播系统,如何实现高质量直播场景
|
黑灰产治理 数据可视化 编解码
阿里云上线视频云剪辑 快速产出PGC短视频不再是问题!
近日,阿里云率先推出了视频云剪辑功能。作为一款操作简单、功能齐全的PC端视频剪辑工具,针对短视频应用场景,提供丰富在线编辑与素材管理功能,可以帮助运营人员快速制作有趣、有料的视频内容。
8832 0
阿里云上线视频云剪辑  快速产出PGC短视频不再是问题!
|
算法 前端开发 JavaScript
|
运维 Java 视频直播
一对一源码开发,一对一直播系统如何在直播领域站稳脚跟
在直播发展的过程中,开发系统的直播源码也发展的越来越成熟稳定,尤其是目前很火热的一对一源码。
一对一源码开发,一对一直播系统如何在直播领域站稳脚跟
|
人工智能 达摩院 自然语言处理
淘宝直播“一猜到底”——移动端实时语音识别技术方案及应用
过去一年淘宝直播快速发展,截止2020年9月底,80个淘宝直播产业基地在全国落地开花,从农村走出10万农民主播,直播真正意义上成为帮助商家和消费者完成交易的利器,同时通过各种互动玩法让直播购物变得有趣好玩。在2020年双11开始阶段,淘宝直播App升级了18年直播答题「点题成金」的玩法,推出「一猜到底」新玩法。如果说传统的直播答题是「选择题」,一猜到底的玩法更像是几万人同时在线的「抢答题」,将答题方式从文字选择升级成语音抢答,给出猜中价格高低提示,让用户增加了更多的参与的乐趣。
26879 0
淘宝直播“一猜到底”——移动端实时语音识别技术方案及应用
直播短视频系统开发,直播和短视频从相似走到融合
随着直播短视频系统开发的出现,直播业务中开始夹杂着短视频、短视频业务中夹杂着直播业务的情况越来越多,单纯分属的直播、短视频已经不再适用,本来两者是竞争对手,但慢慢的随着业务的融合,直播和短视频开始走向融合。
1168 0
直播短视频系统开发,直播和短视频从相似走到融合
直播间搭建,主播和功能的结合才能发挥直播最大效力
很多品牌想要通过直播暴富,尤其在今年的特殊环境下,直播间搭建火热的情况品牌商都想找个合适的主播,带货宣传品牌。
624 0
直播间搭建,主播和功能的结合才能发挥直播最大效力
|
Web App开发 编解码 负载均衡
一对一语音直播系统源码如何解决音视频直播技术难点
直播作为实时性和互动性要求较高的音视频应用场景,存在非常多的技术难点,就连一对一的直播模式也毫不例外。比如低延迟、流畅性、回声消除、国内外互通和海量并发等问题,都是开发过程中的难点。但是,在开发过程中如果具备了优质的一对一语音直播系统源码,那么这些难点可能都会得到一定的解决。
一对一语音直播系统源码如何解决音视频直播技术难点