人脸识别新突破:就算遮住半张脸也能100%被识别
2019-05-02 19:41

人脸识别新突破:就算遮住半张脸也能100%被识别

众所周知,人脸识别在摄像头无法捕捉到完整面部图像的情况下很难获得理想的效果。最近布拉德福德大学的研究人员在不完整面部识别方面获得了突破性进展,实验表明,扫描整个面部的3/4、甚至1/2的识别准确率能够达到100%!本文来自微信公众号:新智元(ID:AI_era),来源:sciencedirect,编辑:金磊、元子,头图来源:东方IC


基于计算机的人脸识别已经成为一种成熟且可靠的机制,实际上已被应用于许多访问控制场景,不过目前面部识别或认证,主要使用全正脸面部图像的“完美”数据来执行。但实际上,有许多情况下比如闭路电视摄像机往往只能拍到脸的一侧,或者如果被拍摄者戴了帽子、口罩等遮挡物,就无法获得完整的正脸。因此,使用不完整面部数据的面部识别是一个亟待开发的研究领域。


来自布拉德福德大学的研究团队的最新研究在不完整面部识别方面,取得了突破性进展,实验使用最先进的基于卷积神经网络的架构以及预先训练的VGG-Face模型,使用余弦相似度和线性支持向量机来测试识别率。团队在两个公开可用的数据集(受控的巴西FEI和不受控制的LFW)上进行了实验。


实验表明,扫描整个面部的3/4、甚至1/2的识别准确率能够达到100%!除此之外,团队还研究了面部的某个独立的部位,比如鼻子、脸颊、前额或嘴巴的识别率,以及图像的旋转和缩放对面部识别主体的影响。结果发现,如果只针对面部的某个独立的部位,比如鼻子、脸颊、前额或嘴巴,识别率总是相对较低。


据悉,这是第一个使用机器学习来测试面部不同部位识别率的研究,论文已发表在Future Generation Computer Systems上。下面是对本次实验的介绍。


人类可以不受环境影响的识别人脸,那么计算机也可以吗?


面部是人类生命中视觉系统中绘制得最多的图片,所以大部分人类拥有卓越的面部识别能力。一般来说,我们不需要像面部识别AI那样必须正视别人的正脸才能识别出对方,通常对于我们只要一瞥即可分辨。


普遍认为大脑通过记住重要的细节,例如与眼睛,鼻子,前额,脸颊和嘴巴相对应的关键特征的形状和颜色,对面部进行区分。此外,人类大脑可以应对不同光线环境下、不同面部表情,以及远处面部的显著变化。


然而,与此相反,任何在光线、表情、姿势和即眼镜或胡子等等的变化,都可能对计算机的识别率产生巨大影响。不过,因为计算机处理海量数据的能力不断提高,可以认为机器算法(例如CNN)至少在面部匹配方面拥有优异的表现。


顺着这个逻辑,研究团队使用有遮挡的不完整人脸照片作为测试集,下面是一个测试集的示例图片,以及计算机对不完整人脸照片的识别过程。


示例图片


识别过程


使用CNN和VGG-Face,利用两个分类器进行不完整人脸的识别


团队主要研究面部的不同部分如何有利于识别,以及在机器学习场景中如何在对面部照片进行不同程度旋转、缩放的识别。实验使用基于CNN的架构以及预训练的VGG-Face模型来提取特征。然后使用两个分类器,即余弦相似度(CS)和线性SVM来测试识别率。下图表现了特征提取步骤的概述:


遮挡脸部的示例图片


基于VGGF的特征提取过程


VGG-Face模型


目前最流行和广泛应用于人脸识别的是VGGF模型,由Oxford Visual Geometry Group开发。该模型在一个超过2.6 K个体的2.6M面部图像的巨大数据集上进行训练。


在VGGF中,其中13层是卷积网络,其他是ReLU、pooling的混合体,最后一层是softmax。


13个卷积层


为了确定VGGF模型中用于面部特征提取的最佳层,通常必须进行一些试验和错误实验。在本实验中,团队发现最好的结果来自第34层。值得注意的是,该层是完全连接的层,位于神经网络的末端,这意味着提取的特征代表代表了全脸。


特征分类:为什么使用余弦相似度和线性SVM


本次实验中,研究团队使用了余弦相似度(CS)和线性SVM分类器。做出这样的选择基于两个原因:首先,团队测试了其他分类器后发现CS和线性SVM的效果最好;其次,通过实验和分析,团队发现这两个分类器能够更准确地分离数据。


余弦相似度


两个向量间的余弦值可以通过使用欧几里得点积公式求出:



给定两个属性向量, A 和B,其余弦相似性θ由点积和向量长度给出,如下所示:



这里的Ai和Bi分别代表向量A和B的各分量。


本次实验需要计算CS以通过使用Eqs找到测试图像和训练图像之间的最小距离。如图8所示:



线性SVM


SVM是一个二元分类算法,线性分类和非线性分类都支持。经过演进,现在也可以支持多元分类,同时经过扩展,也能应用于回归问题。在本实验中,研究团队对两种SVM都进行了测试,发现当使用部分面部作为测试集的时候,线性SVM能够获得更好的效果。


例如,对于右脸颊,线性SVM的识别准确率达到了24.44%,而具有径向基函数的非线性SVM的识别率仅为2.77%。


遮掉半张脸,准确率也能高达100%!


这项工作提供了一组全面的实验,使用面部的不同部分进行面部识别。


利用了两个流行的人脸数据集的人脸图像,即FEI和LFW数据集。使用级联物体检测器对两个数据库中的所有图像进行裁剪以尽可能地去除背景,以便提取面部和内部面部特征。但是,对于某些具有非常复杂背景的图像,如LFW数据库的情况,作者手动裁剪这些面部。


在这项工作中,已经进行了许多遮挡设置,以验证该方法可以处理正常和遮挡的面部识别任务。为此,进行了两组主要的实验:一组不使用局部,旋转和缩放的面部作为训练面部数据的一部分,另一部分使用部分,旋转和缩放的面部作为训练的一部分。


在每种情况下,使用两个分类器进行了14个涉及部分,旋转和缩小人脸的子实验。出于训练目的,使用了每个受试者70%的图像,这些图像也通过诸如填充和翻转之类的操作来增强。在每种情况下,剩余的30%的图像用于测试。


从FEI数据集中采样面部数据


用于测试FEI数据集上识别率的面部部分


在FEI数据库中使用基于面部部分的SVM和CS分类器的面部识别率 - 在训练中不使用/使用面部的面部部分


在FEI数据集上显示面旋转(10°到180°)


在FEI数据集上使用SVM和CS分类器的人脸识别率(基于训练集中没有和有旋转人脸图片)


一个在FEI数据集中缩小(10%到90%)人脸的例子


利用SVM和CS分类器对FEI中缩小后的人脸进行快速识别


一些来自LFW数据集的人脸图像样本


来自LFW数据库的面部部分样本


在LFW数据集上,分别使用SVM和CS两种分类器对训练中未使用/使用的人脸各部分进行识别


在LFW数据集上使用基于SVM和CS分类器的人脸旋转的人脸识别率(在没有和使用单个旋转面作为训练数据的情况下)


在LFW数据库上,基于SVM和CS分类器的图像缩放识别率


使用CS进行正确匹配的结果,对于嘴的部分


使用CS测量的错误匹配的结果,对于嘴的部分


正确匹配的结果使用CS测量,为右脸颊


应用前景


研究团队负责人Hassan Ugail教授表示这个结果展示了不完整面部识别的美好前景:“现在已经证明,可以从仅显示部分脸部的图像中,获得非常准确的面部识别率,并且已经确定哪些部分的识别准确率更高,这为该技术应用于安防或预防犯罪等方面,开辟了更大的可能性。”


不过Hassan Ugail教授还表示,目前实验还需要在更大的数据集上进行验证。显然,将来很可能用于面部识别的图像数据库也需要包含不完整面部的图像。


参考链接:


https://www.sciencedirect.com/science/article/pii/S0167739X18331133?via%3Dihub#b3


本文来自微信公众号:新智元(ID:AI_era),来源:sciencedirect,编辑:金磊、元子

本内容为作者独立观点,不代表虎嗅立场。未经允许不得转载,授权事宜请联系hezuo@huxiu.com
如对本稿件有异议或投诉,请联系tougao@huxiu.com
正在改变与想要改变世界的人,都在 虎嗅APP
赞赏
关闭赞赏 开启赞赏

支持一下   修改

确定