姿势|刷脸背后的“姿势”

原标题:姿势|刷脸背后的“姿势”

全文共 44097分钟。

本报记者

张明悦 信息科学技术学院2017级硕士研究生

2018年暑假,一台刷脸闸机通道在小西门安置了下来,通道前立着一块牌子,“欢迎体验刷脸入校”。然而一阵新奇之后,大家发现,这套人脸识别系统有时也不太准确,机器并不给大家面子,必要的时候还是得掏卡进入。

随着后台数据库的扩充,以及系统的升级,2018年9月开学时,计算中心将25台人脸识别设备布置到了迎新报到的地点。很快,西门、南门、东南门、图书馆,也布置上了刷脸闸机通道。

计算机眼中的人脸

计算机作为硅基生命,纷繁复杂的世界在它眼中,不过是一段段0101代码罢了。经过亿万年的进化,人类拥有了一套复杂的视觉系统,可以在几十毫秒内认出一把椅子,一只小狗,或是一张人脸。但计算机才是真正的“脸盲”,因为它的“脑海”中,人脸和其他图像一样,仅仅是以特定格式存储的数据。

当一张人脸出现在计算机面前时,摄像头就像它的眼睛一样,人脸反射的光线经过光学镜头,投射到图像传感器上,传感器将光信号转化为电信号,在芯片中进行处理,最后通过电路传输到计算机中。

普通的摄像头只是被动地接收人脸反射的光线,就像拍照一样,得到的只是脸部的二维信息。更高级的摄像头则采用三维图像技术,比如iPhone X的Face ID,就是通过手机配置的一套可以感知深度的前置摄像头实现的。

iPhone X的前置摄像头

iPhone X的点阵投影器(Dot projector)在进行人脸识别时,向前方投射出3万多个光点,感光元件接收到这些光点反射回来的光线,可以得到整个脸部的三维信息,这些光点肉眼是看不到的,通过红外摄像头可以看到点阵投影器投出的光。

红外摄像头下所见点阵投影器投出的光点

但不管是高级的三维摄像头,还是普通的摄像头,计算机都往往是以高维矩阵来存储这些图像的。对于一张高为M像素,宽为N像素的图像,计算机会用一个M行N列的二维数组来存储,矩阵中每个元素的值就是图像中对应位置的颜色的值。用八位二进制数来编码颜色,一共有256个取值。

当然,这种编码并不能完全表示出我们所看到的姹紫嫣红,但好在有“三原色光模式”,用红绿蓝三种颜色的光以不同比例相加,就可以得到各种各样的光。于是,对于一张彩色图像,计算机将其分为红、绿、蓝三个频道(channel),用三个二维矩阵来存储这三种颜色的值。这样,计算机眼中的“人脸”就成型了。

人脸识别流程

计算机想要完成人脸识别,通常需要四个步骤:人脸检测,人脸标定,人脸表征,人脸匹配。

人脸检测,即从输入的图像中找到人脸所在位置。由于亿万年来的进化,对于人类而言,找到一张脸是非常容易的,但对于计算机来说,则是非常困难的一件事。一张色彩图像,在计算机眼中只是一个由数字填充的高维矩阵。通常的人脸检测算法是一个“遍历”加“判断”的过程,算法遍历整个图像,再判断该区域是否存在人脸。

当确定人脸的位置后,接下来的工作就是人脸标定,即从脸上找到五官等关键位置。这个过程需要一个特征点检测器来完成,在简单的 2D 对齐情况中,即为寻找最适合参考点的最佳仿射变换。更复杂的 3D 对齐算法还能实现人脸正面化,即将人脸的姿势调整到正面向前。

人脸配准完成后,还会进一步地做人脸特征提取,即把人脸的关键位置信息以数值串的形式表达出来,这叫做人脸表征。在人脸表征阶段,人脸图像的像素值会被转换成紧凑且可判别的特征向量,这也被称为模板。理想情况下,同一个主体的所有人脸都应该映射到相似的特征向量。

人脸识别的流程

最后一个步骤是人脸匹配,在人脸匹配构建模块中,两个模板会进行比较,从而得到一个相似度分数,它代表了两者属于同一个主体的可能性。计算机将输入的图像转化为特征值,根据这个特征值,到后台数据库进行比较,找到和数据库中相似度最高的人脸,完成识别。当然,如果数据库中没有这个人的照片,这样检索出来的人脸相似度一定不会太高,就可以判定此人不在数据库中,自动闸机就可将其拒之门外。

为什么会“认证失败”?

人脸识别看起来都这么智能了,那为何会“认证失败”呢?

简单地讲,一是数据库图片的问题,刷脸系统的图片信息取自校园卡的证件照,或者是自己主动录入。如果学籍信息的照片年代久远,图像模糊,自然会影响系统的识别,这就需要我们去主动录入照片。如果在识别过程中有误差,可以到保安室再去现场照一张,更新数据库中的信息。此外,计算中心还在开发新的功能,在客户端上传认证照片,提高人脸识别的识别率。

二是刷脸的姿势有问题,天气、光线、表情、化妆等内外因素也会使得识别不准确,这些细微的干扰,是对算法的鲁棒性极大的考验。

但是,凭什么我的Face ID就能轻而易举地认出我,而学校的门禁却经常“六亲不认”呢?这个锅还是得人脸识别的算法来背。

在人工智能里,有一个概念叫做“过拟合”,指的是一个算法在学习时学得过度优越,把一些不该学到的噪音或者错误信息也学到了。举例来说,小明上传的照片总是一本正经、留着短发,胡须也剃得很干净,算法学了很长时间,发现这个人的特征是“表情严肃,短发,脸上很光滑”,加上其他面部特征,就能确定他是小明。但是在现实中,小明一旦好几天须发不理,计算机就可能以“有胡子”为由,判断这个人不是小明。这时,这个人脸识别算法就是过拟合了。

与之对应的有“欠拟合”,指的是算法完全没有学习的数据的特征关系。比如,算法在学习识别小明时,总结出两个眼睛、一个鼻子、一个嘴巴的就是小明。于是在现实中,算法可能就把所有人都认成是小明了。

如下图,红色的点为学习的样本,蓝色的线是预测出来的曲线,左边是欠拟合,中间刚好合适,右边是过拟合。当然,过拟合和欠拟合是相对的,在数据有限的情况下,很难直接给出过拟合、欠拟合的标准。

但在实际操作中,算法的设计者往往会遵循一个称为“奥卡姆剃刀”的定理。原话是这么说的:“切勿浪费较多东西去做,用较少的东西,同样可以做好的事情。”在上图的例子中,左边红点和蓝线相差太大,自然不能采用,而对于中间和右边两种情况,两者的红点与蓝线都比较接近,但右边一种更为复杂,按照奥卡姆剃刀定理,右边这种情况应该是一种更不好的模型。

正是由于算法的不同,才导致有的机器可以一眼就认出是谁——比如高铁刷脸,有的机器却仿佛老花眼一样六亲不认——比如校门的自动闸机。没办法,有些算法的设计得确很强大,但有些算法确实不尽人意。

此外,与iPhone的Face ID相比,学校目前使用的还是二维的技术,二维与三维相比丢失的信息更多,诸如鼻梁高度,眼窝深度、两耳位置都不能很好地表现出来,精确度自然要差很多。

总的说来,原始的身份验证图像质量不高,算法结构问题,二维建模技术,是学校人脸识别不给力的三大重要原因。

拓展阅读:走向深度学习时代

最早、最传统的方法应该是基于几何特征的方法。这类方法应该是受到了绘画的启发,将人脸视为眼睛、鼻子、嘴巴、耳朵、下巴等部件的组合物,这些部件的形状、大小、排布确定了人脸的形象。其流程大致为,首先确定人脸的眼耳鼻嘴等特征点的位置,然后计算这些特征之间的距离,相对位置信息,几何布局等,从而得到一组特征向量。

很显然,这种做法非常粗糙,精确率远远不能满足要求。后来有了局部特征分析法,简单地说就是提取一些重要的特征值,降低计算量。

在前人的基础上,特征脸法也出现了,其基本思想是,用主成分分析的方法,给图像的高维数据降维,抽取出表征人脸分布的基本元素。这个方法简单高效,一时间非常流行,各种改进,零敲碎打的优化,上世纪九十年代,PCA之于人脸识别,其热度不亚于如今的CNN之于计算机视觉。这种方法是将图像做Karhunen-Loeve 变换,把高维向量转化为低位向量,消除每个分量的关联性。图像经过 K-L 变换后,其具有很好的位移不变性和稳定性。所以,特征脸的人脸识别方法具有方便实现,并且可以做到速度更快,以及对正面人脸图像的识别率相当高等优点。但是,该方法也具有不足的地方, 就是比较容易受人脸表情、姿态和光照改变等因素的影响,从而导致识别率低的情况。

特征脸法,首先把一批人脸图像转换成一个特征向量集,称为“Eigenfaces”,即“特征脸”,它们是最初训练图像集的基本组件。识别的过程是把一副新的图像投影到特征脸子空间,并通过它的投影点在子空间的位置以及投影线的长度来进行判定和识别。将图像变换到另一个空间后,同一个类别的图像会聚到一起,不同类别的图像会聚力比较远,在原像素空间中不同类别的图像在分布上很难用简单的线或者面切分,变换到另一个空间,就可以很好地把他们分开了。Eigenfaces选择的空间变换方法是 PCA(主成分分析), 利用 PCA 得到人脸分布的主要成分,具体实现是对训练集中所有人脸图像的协方差矩阵进行本征值分解,得到对应的本征向量,这些本征向量就是“特征脸”。每个特征向量或者特征脸相当于捕捉或者描述人脸之间的一种变化或者特性。这就意味着每个人脸都可以表示为这些特征脸的线性组合。

局部二值模式(LBP),以中心像素的灰度值作为阈值,与他的领域相比较得到相对应的二进制码来表示局部纹理特征。LBP是提取局部特征作为判别依据的。LBP方法显著的优点是对光照不敏感,但是依然没有解决姿态和表情的问题。不过相比于特征脸方法,LBP 的识别率已经有了很大的提升。

特征脸法用得热火朝天时,神经网络还在坐冷板凳。八十年代早期,“人工神经网络”还只是作为一个有趣的仿生学概念,被少部分学者所关注,传说中的CNN(卷积神经网络)也不过是作为一个识别手写数字的奇技淫巧,在论文中被提及。

2005年,深度学习被正式提出,其成名之战便是在计算机视觉,不单单是识别人脸,还能识别各种动物、各种车辆等等,其准确率和人类相当。很快深度学习的技术席卷了整个人工智能领域,很多传统的算法,尤其是人脸识别的算法,都被这股浪潮推到了沙滩上。看脸,识人已经没有任何问题,就连通过核磁共振判断疾病这原本只有专家能做的事情,计算机也能很好地完成了。

深度学习的出现使人脸识别技术取得了突破性进展。人脸识别的最新研究成果表明,深度学习得到的人脸特征表达具有手工特征表达所不具备的重要特性,例如它是中度稀疏的、对人脸身份和人脸属性有很强的选择性、对局部遮挡具有良好的鲁棒性。这些特性是通过大数据训练自然得到的,并未对模型加入显式约束或后期处理,这也是深度学习能成功应用在人脸识别中的主要原因。

2019年3月27日,图灵奖颁给了Yoshua Bengio、Geoffrey Hinton、Yann LeCun三位“当代人工智能教父”,用以表彰其对深度神经网络的巨大贡献。而正是深度学习在计算机视觉、自然语言处理、语音识别的应用,掀起了人工智能又一波浪潮。

图1、2、3来自网络,图4、5来自本报记者

微信编辑|沈博妍 返回搜狐,查看更多

责任编辑:

声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
免费获取
今日搜狐热点
今日推荐