打开手机前后的摄像头。打开手机之后,在取景框中就会出现一个人脸。出现了一个数字:87分。或者是62分,或者是94分。

这个数据是从哪里来的呢?

人脸关键点检测。算法会首先在你的脸上面找出几百个坐标点。眼睛的距离、鼻子的高度、颧骨的位置、下颌角的弧度等。从嘴角到眼睛上的一段距离所占的比例。三庭五眼、四高三低。这些坐标点组成了一个几何拓扑图。程序用这张图片和数据库中标准模板进行比较。标准模板是从哪里来的呢?上百万张经过人工标记的人脸照片。标注员根据一定的审美标准对每一幅照片中的面孔进行评分。机器学习的就是这个共识。

面部对称性属于权重比较高的评分项之一。算法会对左边的脸进行镜像反转,并且与右边的脸合并在一起。偏差值越小分数就越高。眉毛高或者低都会被扣分。左右鼻翼大小不一样扣分。嘴角向上扣分。人是天生不对称的。完全对称的脸,在自然界的出现率非常低。算法所追求的理想状态是基于统计学的一个概念。

自拍测颜值分数

皮肤纹理分析为第二个权重。在图像预处理的过程中,可以提取出皮肤区域的像素信息。色斑、毛孔粗大程度、肤色均匀度、痘痘、黑眼圈、法令纹。每一个缺陷都将会被量化为一个扣分因子。在光线不足的情况下,该分析结果将会出现严重的偏差。在黄光之下皮肤颜色比较暗淡,在顶光之下眼袋处出现阴影,并且法令纹也会被拉长。同一个人,在不同的光线照射下,可能会有二十分之差。

五官比例评分所占的比例为第三大项。眼裂长与面宽之比。鼻翼宽和眼距之比。人的中指长度减去下巴的高度。嘴唇的宽度除了上唇到下颏的距离之外,还有其他的地方可以计算出这个数值来。每一个比例都处在黄金区间的范围内。落在区间内的加分,超出或低于区间的减分。偏离越大减分越多。区间定义来源很杂乱。达芬奇所画的维特鲁威人的比例。整形外科术前检查的标准。时尚杂志封面人物的脸部尺寸平均数。

背景中还有几个加减分的因素。头部的姿态是否端正。仰头会使下巴变长,所以要扣分。低头会使脸部显得更大一些,因此也要被扣分。侧面的角度大于30度就会被判定为无效。面部遮挡物。眼镜框有可能会被认为是眼周肌肤不均匀。刘海遮住眉毛就是特征点缺失。口罩遮住了下半张脸就直接出错了。表情也有权重。在微笑的状态下,嘴角向上就会使人的中线变短一些。该修改在一些比例公式的计算中为正向偏移。

所有的数据都会被丢到一个已经训练好的神经网络中去。网络会输出一个在0和1之间的小数。把浮点数转换为整数并显示到屏幕上。87、62、94。

这个数据准确不准确呢?

同一个体在不同情况下拍摄的照片之间会有二十到三十度左右的变化。前置摄像头和后置摄像头的焦距不同。24mm广角镜头会使画面边缘的人脸被拉伸。鼻梁变得比较宽了,耳朵也变小了一些。50mm的标准镜头焦距和人的视线非常接近。但是大多数人使用的自拍镜头是广角前置。拍摄出来的脸部形状和镜子里面看到的一样不一样。算法所识别的是像素的信息。它不考虑由于焦距造成的透视错位。

自拍测颜值分数

数据集本身就有很大的偏差。标注员大都是某地的年轻人。他们所喜欢的风格也被写入了权重参数中。欧式双眼皮加一分,高鼻梁加一分,窄下颌加一分。该类特征在某些人身上出现的概率比较大。不在该群体中的面孔将会被系统性的低估。深色皮肤在对比度不够的情况下,在关键点检测中产生的误差更大。单眼皮可能会被认定为眼裂过短。宽鼻翼在比例公式中自然处于劣势。

还有化妆、滤镜等变量的影响。粉底可以掩盖住皮肤上的纹路信息。高光和阴影可以改变脸部几何形状在人们眼中的印象。算法所见的是像素层面上的假象。把鼻影当作真实的骨胳结构来处理。把眼线当作眼睛实际边缘来使用。美颜滤镜就比较直接了。磨皮的功能会直接去掉皮肤分析所需要的细节。瘦脸功能会把人的脸部拓扑图全部拉伸、压缩变形。算法所用到的数据源已经被修改过。接着一本正经地给出一个精确到个位数的分数。

测分软件所用到的评分标准其实就是一个特定的数据集合经过统计之后得到的一个平均数。它并不是对美的和丑的客观评价。它是对训练数据里的审美偏见进行数学再现的结果。使用不同的训练数据会得到不一样的评价倾向。经过对东亚网红的照片进行训练之后得到的模型会把白瘦幼的特点给打上很高的分数。经过欧美模特的照片训练后得到的模型更倾向于喜欢高颧骨、深眼窝的人。没有任何一种模型可以完全代表人类审美。

同一种算法,在不同的版本之间进行评价的时候,其得分也会出现变化。开发团队会对权重参数进行修改。上一个版本是眼睛大分高的。下一个版本可能会把权重转移到脸部线条流畅性上面去。你的样子没有改变,但是分数却变了,而背后那一组系数也跟着变化了。

手机屏幕上的数字消失了。关闭了摄像头之后,在相册中保存了几张连续拍摄的照片。其中一张光线正好、角度正好、表情也很好。分数比上一次多了11分。另外一张没有拍好,因为刘海遮住了眉毛的一半。光是从头上照过来的。分数降到及格分数线之下。两张照片之间的拍摄时间不到10秒钟。同一个体,一张脸。

分值浮动的大小就是一件事情。该分数所测的对象并不是你外貌上的样子。就是你这张照片,在一定的算法标准下,瞬间匹配的程度。换一个时间、换一种光线下、换一部手机、换一套衣服、分数都会改变。

算法不会欺骗人。它会严格遵守已经确定下来的法则。规则产生的地方就是问题出现的地方。上百万张由人工进行标注的照片。标注员的主观判断成了客观的标准来喂养机器。机器又把这样的标准运用到了每一个人身上。闭环已经形成了,审美偏见也会不断地自我复制。

在测分界面的右上角一般有一个分享按钮。高分截图会上传到社交媒体上。配图是自我调侃,内心是真的。八十分以上才会有截图被晒出来。60几分以上的直接删除重新拍摄。在重新拍摄的时候下意识地改变了拍摄的角度。把头稍微向一侧倾斜,使下颌微微向下垂,眼睛对着镜头上部的方向。并不是想要拍得更加像自己。就是要拍出更加符合算法给高分的样子来。

拍完了之后再看分数,89分,满意,保存,关灯。

人脸识别技术的一个分支产品。本来是用来进行身份验证的技术被娱乐化地加以利用。简单的修改一下代码就可以把活体检测算法变成一个颜值打分器了。技术上是中性的,但是使用的地方不对头。十萬行的程式碼都不知道什么是美。它只知道自己的一些像素排列模式,在训练集中已经被标记为高分。

下一次使用前视摄像头。当分数跳出的时候。该数值表示的是你在上面百万张人工标记的照片中所处的位置距离平均位置有多远。偏差越小得分越高,反之则得分较低。这只是这样而已,并没有和美丑有关,也没有和你是什么人有关。