视觉中国供图 |
随着各类直播、短视频和社交媒体的兴起,我们仿佛生在一个“人均美女帅哥”的社会,事实真是如此吗?
拜各类技术和软件的发展所赐,当我们出现在镜头面前时,计算机算法就已经自动将采集到的人像进行了美颜处理。因此,镜头里的人总是那么“不真实”。
那么,这些软件背后需要用到什么程序算法?计算机是如何识别人的面部和身体,并对这些部位进行美化的呢?
其实,美颜和绘画有很多相似性,绘画首先是画线稿,确定人体基础结构,然后在线稿之上进行上色,逐步丰富细节,最后完成一幅作品。
我们拍摄的原始人体图像也是“画线稿”,手机收集原始数据,将图像上传到后台进行定位和识别。这一步的目的是确定人体的特征位置。
接下来开始“上色”,用算法和技术对五官或身体部位进行分析、处理、美化,最后得到美颜后的图像。
只不过完成一幅绘画作品需要较长的时间,而美颜却是瞬时的、即刻的,这背后需要有强大的计算机技术作为支撑。
人脸关键点定位技术识别五官
如今的美颜相机,已经可以给眼睛画眼影、给嘴唇涂口红。那么,这些功能是怎么精准识别图像中人脸的特定部位的呢?
这其中利用的是人脸关键点检测技术,即通过寻找脸部特征点来确定五官的精准位置。一般来说,定位的关键点数量越多,最终的美颜效果越好。
目前主流的人脸关键点检测方法有两种:基于特征的人脸检测和基于图像的人脸检测。目前使用最多的是基于特征的人脸检测方法。
原始人脸数据被上传至后台后,人脸检测技术会对原始的图像帧进行识别。眼睛、眉毛、T型区(即眼睛+鼻子构成的区域)、嘴、下巴会被依次识别,识别的数据被放入人脸信息结构体中,之后再被应用到具体的美颜算法中,对特定部位进行美化。
图像平滑技术帮你磨皮
女生在化妆时会先涂一层粉底液,主要作用是美白和减少皮肤瑕疵。这其实就相当于美颜功能中的美白和磨皮。
好的磨皮效果应该是怎样的?首先最重要的是让皮肤变光滑,同时还要尽量保留更多细节(如皮肤肌理),让五官轮廓清晰可见,这样的图片看起来更真实、更有质感。
磨皮利用的是图像平滑技术,因为在拍摄图像时会受到噪声干扰,使图像质量降低,因此要对噪声进行过滤。过滤后的图像将变得平滑,多余无用的信息会被剔除掉。
过滤图像噪声的工具是滤波器,一般常用的滤波器有中值滤波、边缘保持滤波、双边滤波(又称高斯双边滤波)等。中值滤波和边缘保持滤波的缺点是不能很好地保留图像的边缘信息;而双边滤波可以保留大量人脸细节且确保边界处不会被模糊掉,因此其应用最为普遍。
色彩模式切换美白皮肤
我们人眼的“像素”很高,能看见世界的色彩斑斓,那没有“眼睛”的计算机怎么识别颜色呢?
图像中的色彩一般用RGB模式表示,R、G、B分别代表红、绿、蓝,具体数值从0—255变化。R、G、B的数值越趋于0,图像越黑;相反,越接近255就越白。此外,还有HSV模式(H、S、V分别代表色彩、饱和度、明度),这两种色彩模式可以通过算法实现转换。
很多美白技术会将RGB模式转化为HSV模式后再进行调整:先用算法对皮肤像素的颜色数据进行大量统计,得到肤色像素的取值范围,然后再调节像素的各项数值大小,让图像中的皮肤变白、变亮。
模板与原图合成“定制”妆容
美颜相机里还能“定制”妆容,包括口红、腮红、眼妆等。这是因为相机软件里植入了预先设计的、不同风格的妆容模板,当人脸出现后,首先会基于人脸关键点检测技术,识别出特定部位,然后妆容模板会投射到人脸特定区域,最后妆容和原始图像进行高效合成,给图像里的人“化妆”。
以画眉为例,许多软件都提供了多套眉毛的图片模板,先检测出原始图像眉毛的关键点位置,眉毛的第一个关键点会作为贴合的起始位置;算法还会对眉毛模板的大小和范围作出调整,使模板和人的原始眉毛能更好地贴合;最后在原图上进行融合,得到自然、逼真的画眉效果。
这样一看,美颜果然是个“技术活”。
(据数字北京科学中心公众号)