模拟真人化妆技艺手法,Instagram实现逼真AR妆容叠加
文章相关引用及参考:映维网
支持移动设备实现逼真的妆容叠加
(映维网 2018年12月26日)Facebook旗下Instagram的研究人员提出了一种利用增强现实的创新方法,其可以在移动设备上提供一系列不同的皮肤颜色,从而实现逼真的妆容叠加。
他们开发的方法能够模仿真人化妆师的真实世界化妆(叠加)技艺与手法。研究人员指出,应用程序可以准确地呈现商业化妆产品中最常用的五种材料:哑光,天鹅绒,丝缎,亮泽和金属光。Insagram团队同时采用了皮肤平滑功能来均匀自然肤色与色调映射,进一步混合皮肤源与合成层。
研究团队在论文中指出,这个AR化妆流程依赖于实时移动面部追踪器,后者允许他们为实时视频流中每一帧的面部对齐网格运行GPU着色器。他们提供了定义面部区域的构造贴图并将其作为输入,如嘴唇,眼睛和脸颊,以及妆容属性。然后再应用Instagram研发的光线响应妆容以生成目标图像。诸如睫毛这样的妆容附件可以叠加至面部进行呈现。最后,Instagram团队应用了皮肤平滑和色调映射功能,进一步融合了皮肤源层和合成层,从而增加逼真感。
1. 光线响应妆容
Instagram的算法适用于RGB和LAB颜色空间,其中基础反照率颜色应用于RGB,而着色则在LAB中完成。以前的研究将妆容基色应用于HSV[KIM和CHOI 2008]或LAB色彩空间[d.Campos和Morimoto 2014]。然而,相关方法在多种肤色(色调)或光照条件下难以保持一致的颜色。
在Instagram的算法中,他们首先对输入图像进行去饱和,并提取中低亮度频率。接下来则将源妆容颜色与提取的频率相结合,并使用中频来突出显示(在高频进行筛选,将低频率变暗),方法是在高频进行相乘。
他们的着色算法将妆容颜色与预先计算的环境遮挡贴图相结合,并将结果转换为LAB空间。为了所需的外观,他们提出了一种实证的Gloss和Shine模型。它主要是通过转换LAB的亮度来实现相关效果。
最后,他们使用环境贴图模拟非常光亮的妆容区域反射。贴图包含一个低频工作室照明设置,并根据用户的移动设备进行3D定向。
2. 睫毛
对于睫毛,他们采用了带有节点的条状网格和用于睫毛图案的纹理。团队使用4个节点来将网格可靠地附加到面部网格中的UV坐标,而这个网格在运行时可通过一系列混合形状来进行转换,从而模仿用户的面部表情。这使得他们可以控制睫毛的长度,曲率和密度。
3. 皮肤平滑
Instagram团队采用了边缘保留模糊滤波器来均衡自然肤色,并模仿粉底化妆产品。他们探索了一定的算法,包括双边滤波器[Barash和Comaniciu 2004],低通滤波器和导向滤波器[He和Sun 2015]。双边滤波器提供了良好的视觉效果,但O(N2)复杂度使其在移动设备上的计算成本很高。尽管存在一个近似的解决方案,但它经常会产生伪影[Yoshizawa等人。2010]。
低通滤波器在计算成本更优,但难以产生良好的视觉效果。为了实现所需的视觉效果与性能,研究人员选择了快速引导滤波器,它主要是在子采样空间中进行大量计算,所以相当高效。通过使用图像的亮度来作为引导图像,允许RGB和亮度打包在单个纹理中,他们进一步优化了系统。
4. 色调映射
他们使用了类似于Reinhard运算符[Reinhard等人。2002]的本地色调映射。在Instagram的实现中,他们首先利用GPU双线过滤来将图像下采样到大小的1/16。为了定位色调映射,他们使用了4×8网格,并计算每个区域日志空间中的最小,最大和平均亮度。这种本地化提高了视觉质量,并且更好地利用了GPU的并行性。最后,研究团队将每个像素的颜色重新映射成从计算值生成的s曲线。这使得渲染像素与实际环境匹配。
5. 结论
Instagram在一系列的移动设备上进行了测试,速度超过45fps,下表显示的AR化妆的渲染时间。
Instagram团队在论文中总结说:“我们已经表明,我们的方法可以逼真地渲染化妆师常用的材料(图1),而在这一基础上,我们为移动用户开发了一个免费的商业试装平台。”