直播平台女主播都是美女? 谈谈美女主播背后的美颜技术
2016年作为视频直播元年,无论从资本层面不断高涨的估值,到平台主播各种天文数字的报酬,再到像“局座”这样的主流人士争相上直播,直播的社会热度可见一斑。
而各大直播平台在经历了直播概念从无到有的阶段后,如何做出差异化,如何解决在野蛮生长期产生的各种涉黄问题,成为了几乎所有平台“成长的烦恼”。
抛开政策、内容问题不说,单就技术层面,基于图像技术的创新成为解决这些难题最为可行的办法。作为Tu料的首个分享,我们首先就选择了直播这个热门话题,就图像技术在直播中的应用做一个入门的介绍。
该分享系列整理自涂图CTO在架构师沙龙上的演讲内容。
一、技术框架
爱美之心,人皆有之。早期的图片美颜教育了市场,到了直播时代,美颜同样成为直播平台的标配。就目前来说,直播美颜用的主流技术是OpenGL ES。它的好处首先是直接在GPU上运行的,所以性能高、功耗小,用在直播上比较划算。第二,它是跨平台的,iOS和安卓都支持,美颜效果能够直接在这两个平台上达到跨平台的效果。另外OpenGL ES有一个优势,就是有大量现成的开源库。比如像GPUImage,谷歌的grafika,还有基于安卓的一些具有实践意义的库,都是很常用的。网上也有一些比较热心的开发者把自己的美颜的算法直接开源,包括一整套解决方案,从采集到处理到美颜处理,到最后输出一个源编码,都有相关的解决方案。
二、美颜原理—混合不能少
市面上大部分美颜产品的一般原理都是相似的。摄像头采集画面,通过一定的方式处理,最后输出一张美颜后的图片。
具体的说,原图首先经过磨皮处理,也就是把痘、斑这些消除掉。然后把经过磨皮的图片与原图进行混合。混合这个步骤是不可缺少的,因为如果只用磨皮后的图,很容易丢失细节。而且把两张图混合,还可以通过调整两个图的混合权重,来控制磨皮的程度,达成不同级别的磨皮效果。当然最后一步也很关键,就是美肤,比如把皮肤肤色调得白一点、红嫩一点,或者一些特殊的需求都可以实现。基本上大部分的美颜,都是这样的流程。
三、磨皮算法——去痘就是降噪
本质上说,一张图就是一个二维的数据。如果相临的两个区域灰度值相差比较大,这就意味着存在着噪点。比如脸上有个痘,这个痘自然产生一个灰度值的变化,从抽象意义上说就是一个噪点。所以美颜磨皮的算法,核心是去噪。去噪有很多的办法,网上有各种各样的算法,包括现成的论文。但是不管产用什么算法,美颜的去噪算法都要保持一个特点,那就既要是边界保持,同时还要做到平滑,也就是要滤波。
滤波算法中比较常见的是双边滤波,它的优点在于很高效,因此非常适合移动平台。还有一些其他的算法比较复杂一点,也可以达到那样的效果,但是在移动应用上效率不高。虽然GPU是并行运算的,很适合这种运算,但GPU的能力是有一定范围的,超过这个范围也很耗电。包括双边滤波在内,一种滤波算法也有各种各样实现,考虑在移动平台上运行,可以做一下特别的优化,比如在精度计算里,适当降低精度,达到效果与效率的平衡。
已有0人发表了评论