成立于 2011 年的快手,自 2013 年转型为短视频社交应用以来,已经成为国内最热门的短视频社交平台之一。截至 2018 年 12 月,快手拥有超过 1.6 亿日活用户。
「以用户为出发点。」1 月 10 日在快手总部举办的媒体交流会上,这句话出现了多次。快手希望让每个人享受记录的乐趣,将复杂的技术普惠化,降低记录的门槛。「公平普惠」是快手段视频底层逻辑中的重要一环,而技术是实现这一价值观的重要部分。
人工智能技术在快手内容生产上的应用
快手通过人脸关键点、人体关键点识别、手势识别、视觉惯性里程计(VIO)、头发分割、背景分割等人工智能技术,实现美妆装饰特效、跳舞机游戏、控雨特效、AR 特效、染发特效、背景替换等魔法表情,带给用户新奇的记录体验。
而且快手还自主研发了手部关键点技术,能够识别出图片或视频中出现的任意手的位置、以及 21 个主要关节点位置。该技术方案支持任意手势的关键点预测;同时采用创新的网络设计,极大减小了模型计算量,在 iPhone 和安卓手机上都能够实现实时监测。
AI 技术内容生产环节的应用难点在于,快手用户覆盖面非常广。据不完全统计,快手用户手机型号超过 5 万种,很大一部分手机性能相对有限,而先进的 AI 技术对设备的计算量要求极高。为了让更多用户体验先进技术,快手对底层平台进行了定制化开发,自研了 YCNN 深度推理学习引擎,解决了 AI 技术运行受限于用户设备计算量的问题。该引擎可针对不同手机的硬件架构做高度的适配和性能优化,能够使用 CPU、GPU、NPU、DSP 等多种运行模式。根据评测,快手 YCNN 运行速度比已知的引擎高出 50%。
2018 年 12 月,快手的 YCNN 深度推理学习引擎获得了人工智能科技媒体机器之心设立的 Synced Machine Intelligence Awards 2018「三十大最佳 AI 应用案例」奖项。
快手「萌面 Kmoji」魔法表情
去年 7 月,快手上线萌面魔法表情,首次将 iphoneX 的 Animoji 玩法普及到全部机型。12 月底,快手又进一步上线了萌面 Kmoji魔法表情,通过该功能,用户能够用相机拍摄生成自己的专属脸部 AR 虚拟形象,同时可以精准还原用户表情,眨眼、张嘴、抬眉毛、吐舌头等细微动作。这是短视频平台首次实现用户自定义 AR 虚拟形象进行拍摄的玩法。
萌面 Kmoji可适配全部机型,在任意一部智能手机上流畅使用。其交互过程比较简单,让每个用户都能使用:打开最新版快手 APP 的拍摄页面,在魔法表情「萌面」表情中选择创建专属萌面进行拍摄,系统就会根据用户面部特征,一键自动生成和用户肖似的 AR 形象。用户也可凭喜好对虚拟形象的五官、皮肤、发型、装饰等进行自由调整,打造独一无二的 AR 形象,萌面 Kmoji的捏脸选项中提供了超过 160 余种素材选项,给用户更丰富的个性化选择。
萌面 Kmoji 背后有快手强大的技术团队在研发工作。首先,基于人脸关键点、图像特征提取等 AI 技术,萌面 Kmoji不需要 iPhoneX 等设备才支持的 3D 结构光信息,仅凭 2D 视觉信息即可识别用户的发型、脸型、五官形状、肤色、口红颜色、胡须等面部属性信息,构建用户专属的 3D AR 形象,并通过表情参数驱动 3D 形象做出各种细微表情,例如微笑、闭眼、张嘴、吐舌头等 50 余种表情,是多模态技术的成功应用。
此外,萌面 Kmoji采用了基于物理的真实感渲染算法,金属、皮革等模型材质更加真实更具质感,大大提升模型的表现力。同时,技术团队利用把算法进行技术优化,大大降低了运行萌面 Kmoji对 CPU、GPU 资源的占用,提升了运行效率,普通千元手机也可顺利运行。
萌面 Kmoji 背后的人工智能技术方案详解
基于 3D 分析和 2D 信息融合的人脸属性和表情识别
个性化萌面系统的实现基础是人脸属性和表情识别,这需要 3D 分析以及与 2D 信息的融合。
对于图像信息,利用 3D 重建技术恢复出 3D 结构,同时和 2D 信息做有机融合,并基于这些重建、分析和融合,进行人脸属性分析,从各个维度分析出人脸特征,生成个性化的虚拟形象。同时也会实时进行人脸的表情分析,用于驱动生成的虚拟形象。
在此之上,还会借助人体进行相关分析,比如头发、肩部等,为和现实场景融合打下基础,并通过自研的手机端真实感渲染引擎,将活动的个性化萌面实时呈现给用户。
3D 人脸重建
3D 人脸重建是整个系统中非常重要的一环。而且采集了上万个个体的人脸三维数据,包含各种年龄段、人种、脸型等,以及每个个体对应的几十种表情数据,建立了几乎涵盖所有人脸空间和表情空间的三维人脸数据库。使用该数据库可以建模出任意人脸的任意表情。研发团队还加强了人脸关键点技术,通过百余个关键点刻画人脸的表情变化,从而重建每个个体各种表情下的三维人脸。另一方面,通过高效的神经网络技术,保证 3D 人脸重建在性能较低的手机上也能实时运行。
人脸属性感知
在人脸属性感知方面,采用神经网络感知人脸细粒度属性,包含性别、年龄、肤色、脸型、眼睛、嘴巴的细粒度信息。相比同类产品,还有自动的人脸定制化,同时利用海量人脸数据,多任务协同学习,捕捉人脸细微特征。细粒度属性的区分是非常困难的,有些问题即使是人眼本身都难以区分,融合了分类/回归/分割等技术,提高自动捏脸的准确度。
人脸表情识别
人脸表情是一种复杂且细微的信息,人对表情的感知是非常灵敏的。让机器识别细微/夸张/灵活/稳定的人脸表情信号,单靠图像信息是难以达到的。
通过 2D 的 RGB 视觉信息对问题进行建模、求解,获得人脸关键点以及实时重建的三维模型,并把 1D、2D 和 3D 三种不同模态的信息做建模和对齐,求解出人脸的表情,驱动虚拟形象做各种逼真的动作。同时,得益于深度神经网络模型的量化,通过压缩和加速解决手机性能问题,该方案可适配任意机型。
高质量渲染
萌面效果的最终呈现离不开渲染,为了获得高质量的渲染,而且采用了先进的 PBR 技术,在移动端实现了 PC 游戏级画质;此外,萌面还能够根据外部环境和用户的形象特征智能化地选择最适合用户的材质,以达到最优的渲染效果。
为了获得更加真实的体验效果,加入了物理引擎实现头发、布料等柔体的运动效果。为了使用户获得最优的体验,渲染引擎会根据不同机型选择合适的渲染质量。
移动端预测模型优化
为了让 AI 模型在手机端能够流畅地运行,主要包括三方面的优化:
首先是图像预处理环节,我们将图像各种预处理操作合并起来,以及对预处理所涉及到的图像内存进行统一分配和回收,以减少内存资源的消耗,提高分配使用的效率。
同时,我们充分利用了 NEON 加速以及苹果自带的 accelerate 加速,整个运行库只占用 2M 的空间。
最后,我们在保证预测精度的前提下,对 AI 模型进行局部的 INT8 量化,经过优化后,运行速度可提高 1 倍以上,同时 AI 预测模型的占用空间也压缩到将近原来的四分之一。
除了虚拟形象之外,基于萌面所使用的这套系统,还进行了扩展应用:人像 3D 打光、世界上另一个你。
人像 3D 打光
人像 3D 打光主要利用了实时人脸三维重建技术,该技术利用了人脸参数化先验模型,根据输入图,自动匹配人脸几何信息,得到人脸 3D 模型参数,获得人脸 3D 网格模型。可以根据不同的场景设置不同的光源,虚拟人脸进行渲染这是用来实时渲染技术,得到面部光影图;同时,对输入人像进行前景分割,得到前景分割蒙版,也可以根据原图得到其他蒙版信息;这些蒙版分别作为不同的图层按照场景需求特定的方式叠加到原图上,就可以得到打光结果。
世界上的另一个你
世界上另一个你,是整套系统的另一个线下应用,体验者走到屏幕前,点击拍摄按钮,3s 倒计时后,左边屏幕镜头拍摄定格参与者的面部图像,右边屏幕通过与视频库内的数十亿快手用户公开视频进行检索匹配,百毫秒内匹配出结果,显示播放 1 个快手端内相似长相的用户视频。
其核心技术是:
1. 基于几十亿的公开人脸数据,进行人脸属性分析和识别,提取人脸特征并做数据结构化,建立了高效的索引,并针对低对比度、模糊、大角度等人脸做了专门的优化。
2. 对前端拍摄的人脸图像进行检测,同样基于人脸分析模型,提取人脸特征,并在后台索引中进行检索,找到相似度最高的三个人脸图像。
3. 对检索出的三个人脸图像进行更细粒度的属性分析,得出对应的年龄、性别、表情等属性,基于属性对检索结果进行重排。
4. 最后前端展示出相似度最高的的人脸。
相比于其他的通用图片检索平台,快手的优势在于:
• 数据量极大
• 数据分布相对均匀
• 数据多样性:不同场景,姿态、光照、表情等数据十分丰富
一向注重数据分析的快手,挖掘到了用户不想露脸这一需求,萌面 Kmoji应运而生。2019 年,快手又会在挖掘用户需求、满足用户体验上有哪些新的措施,用到哪些技术呢?我们拭目以待。
领取专属 10元无门槛券
私享最新 技术干货