人脸识别和深度学习结合,给你带来难以想象的影响?

全文共3342字,预计学习时长7分钟

什么是人脸识别?什么是深度学习?两者结合能带来什么影响?

如果你认为一篇文章无法涵盖这么多问题,这篇文章能够改变你的想法。本文展示了所有重要的概念。总之,在这篇文章中你将会了解到脸部识别是如何运作的,及其如何和深度学习技术协同工作。

深度学习的基础

深度学习只是机器学习中的一个标准范式,更精确地说,是其中一个算法。深度学习在最大限度上依靠于人脑的概念以及神经之间的相互沟通。在谷歌上搜索“什么是深度学习”,会发现当时的相关热词已经与现在有很大不同。产生这种现象的原因是什么呢?实际上,“深度学习”这一术语最早出现在19世纪80年代,但直到2012年,人们才具备足够的能力去运用这项科技,并逐渐开始注意到它。

2012年发生了什么?这一年,达尔(Dahl)领导的一个团队利用多任务深度神经网络预测一种药物的生物分子目标,赢得了默克分子活动挑战赛。这引发了大众媒体的广泛关注,因此许多其他的研究人员和开发者也开始与之合作。

知名科学家们在科学期刊上发表一系列文章后,这项技术开始风靡。如今,它有着各种各样的应用,其中人脸识别占据了重要的位置。首先,深度学习助力构建识别生物特征软件,该软件能够独立识别或验证个体。所有这些都是因为深度学习方法能够利用非常庞大的人脸数据集,认识多种多样的袖珍图片,使现代模型能够先运行,随后甚至超越人类的人脸识别能力。

所以,深度学习是如何运作的呢?

深度学习系统根据人脑新皮质的神经网络建模,在那里出现了更高层次的认知。在大脑中,神经元是一个传递电子或化学信息的细胞。神经元与其他神经元连接时会形成神经网络。在机器中,神经元是虚拟的——基本上是运行统计回归的代码位。把足够多的虚拟神经元串在一起就得到了一个虚拟的神经网络。

与传统线性的机器学习算法不同,深度学习算法堆叠在一个复杂度和抽象度不断增加的层次结构中。为了理解深度学习,读者可以想象一个刚学走路的孩子学习的第一个词汇是狗。孩子通过指向物体并说出“狗”这个词来学习什么是狗或者什么不是狗。家长说,“是的,那是一只狗”,或者“不是,那不是一只狗” 。孩子们通过不断指认物体来更好地理解所有狗都具有的特征。孩子本身都没有意识到,自己正通过构建一个层次结构来理清一个复杂的抽象概念(狗的概念)。在这个层次结构中,每个层次的抽象都是用前一层获得的知识创建的。

虽然计算机有不同型号,但是它们经历的过程是一样的。层次结构中的每个算法对其输入应用非线性转换,并使用所学内容创建一个统计模型作为输出。迭代直至输出达到可接受的精度水平才停止。数据必须通过的处理层的数量激发了标签的深度。

人脸识别的基础

让我们首先关注人类是如何识别人脸的。由于面部表情的识别需要人脑广泛而多样部位的参与,面部感知十分复杂。脑成像研究通常显示颞叶的梭形回区域有大量的活动,梭形回区域在受损时(尤其是两侧受损时)也会引起面容失认症。人们从出生起就学会辨认面孔,四个月大的时候就能清楚地分辨出一个人和另一个人。

人们最关注的是眼睛、颧骨、鼻子、嘴、眉毛,以及皮肤的质地和颜色。同时,我们的大脑将面部作为一个整体来处理,甚至可以通过半张脸来识别一个人。大脑将所得图像与内部平均模式进行比较,发现特征差异。

所以脸部识别系统是如何运作的呢?

首先,人脸识别系统需要在图像中找到人脸并突出显示该区域。为此,软件可以使用多种算法:例如,确定比例和肤色的相似性,选择图像中的轮廓及其与人脸轮廓的比较,使用神经网络选择对称性。最有效的方法是可以实时使用Viola-Jones方法。有了此方法,即使人脸旋转30度,系统也能识别脸孔。

该方法基于Haar符号。Haar符号是一组形状各异的黑白矩形遮罩。遮罩叠加在图像的不同部分,算法将遮罩的黑白部分下面的图像的所有像素的亮度相加,然后计算这些值之间的差异。接下来,系统将结果与累积的数据进行比较,并在确定图像中的人脸后,继续跟踪它以选择最佳角度和图像质量。因此需使用运动矢量预测算法或相关算法。

系统在选择了最成功的图片后,继续进行人脸识别,并与现有的基础进行比较。它的工作原理与画家画肖像的原理相同,都是在人脸上找到构成个人特征的参考点。通常,程序分配大约100个这样的点。

面部识别程序最重要的测量是眼间距、鼻孔的宽度、鼻子的长度、颧骨的高度和形状、下巴的宽度、前额的高度和其他参数。然后,程序将获得的数据与数据库中的可用数据进行比较,如果参数一致,就可以识别与该人脸相一致的人了。

在照片中检测人脸的关键步骤

以下是人脸识别过程中的步骤概述,摘自Stan Z.Li和Anil K.Jain于2011年出版的《人脸识别手册》。

人脸识别其实是一系列相互关联的步骤:

1. 首先需要查看图像并找到其中的所有人脸。

2. 第二需要排除不自然的转头以及不佳光线的干扰,聚焦于每张脸本身并且判定这是同一个人。

3. 第三需要突出人脸特征来与他人进行区分,比如说眼睛的大小和脸部的长度等等。

4. 最后需要把一张人脸的特征与其它人脸进行比较,从而判断每个人脸所属的姓名。

人脑能即刻自动完成这些步骤。事实上,人能很好识别人脸并从日常事物中区分人脸。至少目前看来,计算机不能进行如此高程度的泛化,所以只能教授它们每一步该做的事情。

因此有必要构建一个管道,在此能分别在人脸识别过程的每个步骤找到解决方案,并将当前步骤的结果传输到下一个步骤。也就是说,需要将多个机器学习算法组合到一条链中。

人脸识别中的深度学习

事实上,对人类而言显而易见的特征,如眼睛颜色,对计算机分析图像中的单个像素没有意义。研究人员发现,最合适的方法是使计算机能够确定需要收集的特征。与此相反,深度学习可以更好更快地识别。

而最近,这个可能性出现了,或者说是被发现了。最开始每个人都不相信神经网络的表现可以接近人类水平。但在2014年,一切都发生了变化。科学家们决定利用目前最好的两个网络——AlexNet、以及Matthew D.Zeiler和Rob Fergus开发的网络。科学家们将它们与猴子大脑不同区域的反应进行了比较。猴子大脑经过训练可以识别对象。并且选取的物品都来自动物世界,这样猴子就不会混淆。

显然我们不可能从猴子身上获得反应,因此我们植入了电极,并直接测量每个神经元的反应。结果发现,在正常情况下,脑细胞的反应和当时最先进的模型Matthew Zeiler网络表现一致。

但是,随着展示物体的速度加快,图像中的噪声和物体数量增加,人类和灵长类动物大脑的识别率和质量显著下降。而在这种情况下,即使最简单的卷积神经网络也能更好地识别物体。也就是说,官方的神经网络比人类大脑工作得更好。

除了AlexNet和Matthew Zeiler网络在人脸识别深度学习方面的突破之外,还有其他里程碑式的系统,如DeepFace、DeepID系列系统、VGGFace和FaceNet。如果想更好地理解人脸识别和深度学习是如何一起产生的,了解它们的历史十分必要:

DeepFace是一个基于深度卷积神经网络的面部识别系统,由Facebook的一个研究小组于2014年创建。它可以识别数字图像中的人脸,准确率高达97%,是利用深度学习进行人脸识别的重大飞跃。

DeepID(深层隐藏身份特征)是由Yi Sun等人在2014年题为《预测10000个的预测深度学习面部表征》的论文中首先提出的一系列系统(DeepID、Deepid2等)。该系统起初和DeepFace相似,但后来出版的论文扩展了该系统,通过对比损失的培训来支持识别和验证任务。

VGGface由来自牛津大学视觉几何学组(VGG)的Omkar Parkhi等人开发,并发表在在2015年的论文——《深层人脸识别》中。工作重点除了放在更好的调整后模型外,还放在如何收集一个非常大的训练数据集,并用它训练一个非常深层的CNN人脸识别模型。这一模型使得他们能够在标准数据集上获得当时最先进的结果。

FaceNet是一个由谷歌研究人员于2015年开发的人脸识别系统,基于一系列人脸识别基准数据集,在当时是最先进的系统。。得益于模型的多个第三方开放源码实现和预培训模型的可用性,FaceNet系统可以广泛使用。

留言 点赞 关注

我们一起分享AI学习与发展的干货

欢迎关注全平台AI垂类自媒体 “读芯术”

欢迎投稿本站:紫金网 » 人脸识别和深度学习结合,给你带来难以想象的影响?