揭秘 | 直播美颜不靠脸 靠的是阿里云程序员?
在这个看脸的时代,美颜已经成为必不可少的社交工具。不仅美颜相机成为了装机必备,各大直播APP也都相继推出美颜功能,利用摄像头对人脸进行追踪并叠加特效的新玩法也层出不穷。在市场热的背后,离不开技术支持。那么看似简单的美颜背后隐藏了哪些技术,它们的开发难点在哪里, 本文将为你揭晓。
先来看看什么才是真正的美颜
如果你是直播APP的重度使用者,就会知道其实美颜也有天差地别之分。有的美颜能让你的皮肤看起来平滑细腻又红润,整个人颜值加分不少,而有的却是模糊一片,连人脸边缘都分辨不出,美颜不成反而观感不佳。
那为什么落差如此之大呢?其实是因为美颜是有真假之分的。真正的美颜是需要对于人脸区域进行预先的检测和定位,只对肤色区域进行特定处理,使皮肤变得更透亮。而假美颜则是直接对整个画面进行调整,可想而知人和背景同时变白的话,画面一定会失去立体感和原有的层次,体验非常差。
人类对于美的追求是无止境的,所以用户不仅需要真美颜,更需要高级美颜,比如更自然的磨皮祛痘、更有层次的美白、五官更立体、脸型变瘦小、一秒上妆、添加AR特效等等,在直播市场的用户争夺战中,高级美颜是杀手锏,关键时刻用来留存用户、吸引主播,十分好用。
那么体验更好、更逼真的高级美颜功能,背后有哪些关键技术和开发难点呢?和阿里云视频算法高级技术专家聊过之后,我们渐渐解开了高级美颜的神秘面纱。
美颜关键算法与技术难点有哪些?
为了实现高颜值又不失真的直播美颜功能,技术关键点主要涉及人脸检测、特征点定位与跟踪、特效处理、美白和磨皮四个方面。
1. 人脸检测
人脸检测的任务是找出图片中所有的人脸,给出人脸的大小位置坐标。同时,针对多张人脸和处理多角度、部分遮挡等复杂情况,也要通过算法加以处理,快速、准确的找到人脸。
人脸检测是所有后续处理算法的基石。在任意场景中准确的找到图片中的人脸已经不是太大的难题。但其挑战性在于要在极短的时间之内完成。目前业界的算法,在手机上的解决方案普遍在5ms以上的处理时间。要做到2~3ms处理一帧同时要兼顾准确率,仍然有很大的挑战。
2. 特征点定位与跟踪
对于给定的一张人脸,特征点定位需要准确地给出人脸五官,轮廓的坐标点。最常见的特征点,包括眼睛,瞳孔,眉毛,鼻子,嘴等这些位置。
对于视频流而言,还要保证图片帧之间特征点的连续性。这就是特征点的跟踪问题。要在任意光照,各种夸张的表情,已经各种角度的侧脸,这些真实环境拍摄下的视频里面,准确的定位和跟踪人脸特征点的位置,仍然是一个具有挑战性的问题。
3. 美颜特效处理
这类效果的实现主要还是依赖于人脸特征点定位的准确性。有这些特征之后,以这些特征点组成一个网格,对这个网格按照固定的参数进行局部形变,就可以形成瘦脸,大眼等特效算法。
这类算法相对比较成熟,但要保持一个非常高的计算效率,仍然需要投入较长的时间去做各种平台下的优化。
4. 美白磨皮算法
美白算法的目标是把肤色区域变得更加的透亮。这部分的算法可谓层出不穷,基本思路都是如何调整图片的亮度问题。而磨皮的算法就更多了,包括使用高斯模糊,双边滤波等。具体选择哪种算法,并且需要结合哪些细节增强的后处理技术,以达到更好的磨皮效果来匹配业务,也是非常复杂并且需要大量投入的。
如此看来,虽然美颜在直播中的应用不可或缺,但是“真”美颜并不是那么容易开发的,需要技术团队对人脸识别算法有一定的深入理解,并对磨皮美白等光影效果有准确拿捏,如此看来,选择一家靠谱的云服务厂商来协助实现直播美颜就是不二之选了。
直播高级美颜选择阿里云的原因
阿里云拥有强大内容分发网络和音视频实时通讯技术,直播客户端推流开发工具不仅可以为用户提供简单易用的开放接口、网络自适应的流畅体验,还可以提供功能强大的实时美颜效果。目前,推流SDK已经全面免费开放含人脸识别的高级美颜功能,可实现瘦脸、小脸、大眼、腮红以及基于人脸识别的美白功能,用户无需去承担动辄几十万的高额授权费用,直接快速接入。
据阿里云高级技术专家表示,在直播美颜方面,在经过不断的技术探索后,阿里云所有的美颜算法采用GPGPU实现和CPU实现,两个版本都是经过高度优化的计算内核,整个美颜所有的流程走完在大部分移动端上单核CPU占用率低于20%,不会引发系统资源不足造成卡顿、发烫等情况,确保直播的流畅性。
在人脸检测效率方面,阿里云基于目前最先进的神经网络技术,通过裁剪模型,海量数据下的训练,在保证准确性的同时,还能兼顾处理时间,已经做到3ms以下。
在人脸特征点定位与跟踪方面,阿里云仍然采用基于神经网络的算法,提供人脸识别特征点个数已达68个,可以非常准确地追踪五官和轮廓,锁定皮肤区域。并且在人脸移动和转动时,也能根据可识别姿态的范围来精准捕捉动作,有效解决了各种自然场景下人脸的特征点定位的准确性和视频帧间的稳定性问题。
另外,阿里云美颜在核心人脸检测与特征点跟踪的算法上具有高度鲁棒,特征点视频帧间抖动非常小,用户端体验感更佳。
除了能够实现通用的瘦脸,小脸,大眼,腮红等功能外,为了满足不同类型产品的个性化需求,阿里云直播推流SDK可以自主设置美颜模式和参数,用户可以找UED同事配合调整出最符合自己应用风格的美颜参数。
同时,阿里云的开发人员与UED团队经过调研与测试,也提供了几组美颜效果比较理想的参数,供用户参考使用。
除了高级美颜外,针对直播的业务场景,阿里云提供从采集、渲染、推流、转码、分发到播放的一体化直播解决方案,并拥有直播答题、首屏秒开、鉴黄审核、边缘推流、高清转码、直播时移、消息服务、直播安全加密等众多产品功能,让用户告别复杂的架构设计,降低维护成本,快速一站式接入直播。