快手Y-tech
最新技术干货分享
01 背景
随着网络技术的发展和移动终端的普及,拍摄短视频已渐渐成为很多用户进行社交分享和沟通交流的一种方式,人像美化技术已经成为这种拍摄类app的标配功能。得益于快手自研的人体识别及人体关键点定位技术,以及美化算法团队在人像美化领域的深度耕耘,快手目前推出了包括「长腿」、「小头」、「天鹅颈」、「瘦腰」、「丰胸」、「瘦肩」、「瘦大腿」等7种美体特效(如图1所示),可在快手、快影、一甜等app中进行体验。本文将深入浅出的介绍这些美体特效背后所用到的技术。
(左)长腿效果 (中)小头效果 (右) 天鹅颈效果
图1 美体效果图
02 美体技术介绍
美体特效,本质上是对画面中人像的特定部位进行拉伸、形变等。基于人体识别和人体关键点定位技术,可以在视频中将画面的形变范围精确控制到头部、脖子、胳膊、肩膀、胸部、腰部、胯部、腿部等部位,通过图像拉伸、三角剖分、液化[1]等方法,即可实现自然、稳定的美体特效。
图2 人体识别 + 关键点定位
精准、稳定的美体特效,首先要进行人体识别与关键点定位,例如「天鹅颈」、「瘦肩」需要准确的肩部点,「瘦腰」需要准确的腰部点,「瘦胳膊」需要准确的胳膊关节点等。美体效果的好坏很大程度上取决于人体关键点的准确性和稳定性。快手自研的人体关键点模型[2],能够为美体特效提供精确的人体关键点,如上图。
2.2 美体中用到的形变算法
美体技术中常用的图像形变算法有:图像拉伸、三角剖分、液化等方法。其中图像拉伸算法,是将图像中的部分区域按照一定的规律拉伸,此算法适合一些需要较大范围改变图像的特效;以仿射变换为基础的三角剖分算法,将图像划分为一个个三角形切片,然后通过仿射变换得到图像形变效果,可以实现对人像具体部位的精细控制;液化算法,是以作用点为中心,将作用区域内的像素朝一个方向“推动”,可以实现更加“圆润”的形变效果。下文将分别以「长腿」、「瘦腰」、「瘦大腿」为例来说明3种常用图像形变算法在美体特效中的应用。
图3「长腿」拉伸示意图
对于上图所示的拉伸方向,拉伸后的每个点的像素由以下公式从原图像获得:
其中:
例如,在拉伸前图3中位置P1点的像素,经过上述拉伸公式计算及拉伸后,其像素位于P2,从而实现了画面的拉伸,实现了「长腿」效果。如下图所示:
图4「长腿」效果
其中:
下图为图像平移、旋转、缩放、错切、反射等变换示例:
图5 仿射变换示例[3]
基于三角剖分算法的美体效果,依赖于对三角网格的设计。三角网格设计得越好,对目标区域的形变控制越精细。下面通过「瘦大腿」功能展示三角剖分算法在美体特效中的应用。例如可进行如下三角网格的划分:
图6 大腿区域网格
对于每个三角网格,根据形变前后顶点坐标计算出该三角变换的仿射矩阵;接下来将该变换矩阵应用到网格内的所有像素,即可得到最终的形变效果。如下图所示:
图7「瘦大腿」效果
液化算法是以一个点为中心,将影响半径范围内的像素朝某个方向“推动”来实现图像形变。下图展示了液化形变算法的原理。控制点为O,以O点为圆心,R为液化半径,OA为形变方向,intensity为液化强度。
图8 液化效果示意图
圆内任意一个像素C,设其经过液化形变后到达D点的位置,那么:
其中,g 表示液化曲线,用来进一步控制液化区域内的形变程度。液化形变算法有以下特点:
以「瘦腰」特效为例,展示液化算法在美体中的具体使用步骤:
图9 液化网格示意图
液化算法实现「瘦腰」效果步骤:
将图像划分为细小网格
人体关键点检测,识别腰点P1、P2,如上图所示
以腰部点为圆心,设定液化半径,P1、P2连线为液化方向,即上图中箭头方向
液化半径内的网格点,按照上述液化公式,朝着液化方向移动相应的距离
得到移动后的网格点,通过渲染得到最终「瘦腰」效果
「瘦腰」效果如下图所示:
图10「瘦腰」效果
使用同样的方法,也可制作出「天鹅颈」特效。如图11所示:
快手通过自研的“背景扭曲矫正技术”,能够解决美体形变时图像背景扭曲的问题。通过合理的约束形变参数,能够大幅减小液化形变的影响范围,并使得形变后的画面更加稳定。众多独有技术的研发,保证了快手美体特效相比竞品更加稳定、自然。
对人脸、人体在做形变的时候,背景区域也会跟着扭曲变形,比如用户吐槽的 “墙都P歪了”,“门都不是直的”,成为用户吐槽人像美化显“假”的主要原因之一。因此在对人像照片进行美体编辑时,加入对人像背景的扭曲矫正处理,非常有助于提升用户体验和视觉观感。
在对人像进行美体等编辑处理的时候,想要保证背景不受影响,是非常困难的,如果需要在手机端进行实时处理难度更大。快手Y-tech美颜算法团队进行了多项算法和工程上的攻坚,自研了图像背景扭曲矫正算法,该算法支持对快手上所有美型、美体操作后的背景扭曲现象进行矫正。
图像背景扭曲矫正算法基于如下观察:如果美体前后背景中的直线斜率保持不变,那么用户将不再会明显地感知到背景扭曲现象。为此,在人像分割后,我们根据预设规则在原图背景中选择一些特征点,并利用这些特征点对背景区域进行三角网格划分。
美体形变操作后,这些特征点的位置会发生改变。通过检测原图背景区域中的直线[4],并以变化前后的直线斜率保持不变[5]以及划分出的三角形形状保持不变两个约束建立优化目标函数[6],可求得矫正后特征点的位置,最后通过渲染即可得到矫正后的图像。如下图12,中图的地面黄线被明显拉弯,右图为最终的矫正后的效果。
图12 美体特效中的背景扭曲矫正效果(左:原图,中:扭曲效果,右:矫正效果)
图13展示了背景扭曲矫正算法在「小头」特效中的应用。左图为原始图像,中间为传统的「小头」效果,可以看到背景扭曲现象特别明显,右图为经过快手自研矫正算法处理后的图像,已经完全看不到扭曲现象了。
图13 原图 (左) 、「小头」效果(中)、背景矫正(右)
使用美体特效的时候,不可避免地会对背景产生影响。借助于快手精准的人体关键点,通过对形变算法的优化,同时针对不同特效的特点进行特殊处理,快手美体能够在保证效果的前提下,尽可能减小对背景的影响,使特效看起来更加真实、自然。
比如快手的「天鹅颈」、「美胯」效果,根据人体特定部位的特征,自适应调整液化半径及液化曲线,可以比较明显的缩小影响范围;根据人体姿态情况,自研“特效力度动态减弱”机制,进一步减弱了对图像中其他部位的影响,如图14、15。
在视频中,人体的无规律剧烈运动、关键点的不稳定、形变范围过大等都会造成背景的抖动,严重影响消费者观感和用户体验。通过深入研究人体运动规律,我们结合每个特效的特点,引入不同的约束方程,能够最大程度的减弱特效对图像背景的影响,使得画面更加稳定,让用户美的更加真实。
「长腿」效果中,由于视频中人体位置处于随意变化状态,每帧画幅中“腰线”位置的不同,如果采用2.3章节中的图像拉伸算法来实现「长腿」效果,图像的拉伸范围和拉伸幅度处理不好,就会带来画面的剧烈晃动,如下图中友商的效果所示:随着人的跳动,沙发区域一直在抖动。
图16 快手「长腿」效果和友商对比
快手使用自研的「长腿」特效,如图16(中)所示。相比友商,视频画面的稳定性更加优秀。主要原因是在进行图像拉伸时,充分考虑了人体运动规律和生理学特征,引入了渐变平滑函数λ(y, c),结合“腰线”坐标的变化,对腿部不同位置的拉伸幅度进行自适应约束,从而解决了画面抖动问题(详情见2.2.1)。从与友商的效果对比中可以看出,在人物蹦跳等运动幅度较大的场景下,快手在画面稳定性方面具有明显的优势。
对使用“液化”、 “三角剖分”等算法实现的特效,可借助人体关键点,针对人体特定部位的特征,同样考虑了人体运动规律和生理学特征,引入了渐变平滑函数以自适应调整液化半径及液化曲线,以及采用“特效力度动态减弱”机制等,约束形变的区域,有效的缓解了背景抖动,在各场景下均优于友商效果。如图17中展示的「小头」效果,可以对比视频中箭头处(天花板位置)。
图17 快手「小头」效果和友商对比
下图18展示的是「瘦腰」效果,可以对比视频中箭头处(腰部附近的窗帘),从图18能看出侧身瘦腰时,快手效果能保持稳定,而友商效果会出现画面的抖动。
图18 快手「瘦腰」效果和友商对比
03 总结
美体特效是实现人像美化技术中不可或缺的一部分,基于精准、稳定的人体关键点定位技术,对视频/图像中的人体特定部位,按照黄金比例进行适当调整,可进一步满足用户的美化需求。美是人类永恒的追求,人像美化技术也随着用户审美诉求的改变而不断地更新迭代,快手Y-tech美颜技术中心将持续为用户提供更加自然、稳定的美化技术。
[1] Andreas Gustafsson, Interactive Image Warping
[2]https://mp.weixin.qq.com/s/ab789Vd74DW1sQT7duxmSg(关键点检测在快手的应用)
[3]Transformationshttp://www.cs.tau.ac.il/~dcor/Graphics/cg-slides/trans3d.pdf
[4] Rafael Gioi, Jeremie Jakubowicz, Jean-Michel Morel, and Gregory Randall. Lsd: A fast line segment detector with a false detection control. IEEE transactions on pattern analysis and machine intelligence, 32:722–32, 04 2010.
[5] A. Vakhitov and V. Lempitsky. Learnable line segment descriptor for visual slam. IEEE Access, 7:39923–39934, 2019.
[6] C.-H. Chang, Y. Sato, and Y.-Y. Chuang, “Shape-preserving halfprojective warps for image stitching,” in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 3254– 3261, 2014.
文中部分素材来自网络,侵权请联系作者删除。
你可能还想看
等你来
Y-tech
Y-tech团队是快手公司在人工智能领域的探索者和先行者。我们致力于通过计算机视觉、计算机图形学、机器学习、AR/VR/HCI等多领域的交叉探索,一方面帮助每个人更好地进行自我表达和内容创作,另一方面也为用户提供更好的内容体验和交互方式。Y-tech在北京、深圳、Palo Alto均有研发团队。如果你对我们做的事情感兴趣,欢迎联系并加入我们!
Y-tech长期招聘(全职和实习生):计算机视觉、计算机图形学、多模态技术、机器学习、AI工程架构、美颜技术、特效技术、性能优化、平台开发、工具开发、技术美术、技术产品经理等方向的优秀人才。联系方式:ytechservice@kuaishou.com
Y-tech///