关于企业面部识别的一切
面部识别并不局限于计算机科学的领域。它具有实际的商业应用。
本十年最热门的关键词之一就是面部识别。
它是应用的一部分,可以检测和识别人脸,这对计算机来说一直是一个极具挑战性的问题。这一突破为企业、政府和个人带来了全新的令人兴奋的可能性和挑战。
如果你是一位企业领导者,并且一直在想这个热潮究竟是什么,并且是否有一些实用价值,那么我们会为你解答。在本文中,我们将介绍面部识别的历史、发展、当前的应用、争议、部署以及其他诸多方面。
通过阅读本文,你将对面部识别技术有一个牢固的理解,并了解它对企业的影响。
让我们开始吧!
面部识别的演变
尽管面部识别受到了很多关注和媒体报道,但这项技术已经存在了一段时间。最早用于检测人脸的算法工作是2001年发表的。尽管这是一个用于识别图像中对象的通用框架,但它很快被应用于面部检测,并取得了非常好的效果。这个算法之所以受欢迎,主要原因是它的速度;尽管训练过程非常缓慢,但检测过程非常快速。
早在2001/2004年,运行这个算法的普通台式电脑就能够在0.07秒内处理一个300px X 300px的图像帧(更多)。这个算法的准确率虽然无法与人类相比,但已经达到了90%。
然而,真正的进展要等到2010年至2020年之间,才成为执行面部检测的最佳方法。原因是基础设施即服务(IaaS)提供商通过云计算提供了庞大的系统处理能力和系统内存。这是历史上第一次,计算机在识别脸部方面持续超过了人类,尤其当涉及大量的随机脸部时。
面部识别是如何工作的?
面部识别是一个多步骤的过程,涉及到几个专门的子系统。
下面是各个阶段的含义:
检测/跟踪:这个预处理阶段负责识别和跟踪给定图像或视频文件中的人脸。一旦这个过程完成,我们就确定给定输入中存在一个人脸,并可以进一步处理。跟踪阶段还负责跟踪脸部的某些部分、特定特征或表情,如果需要的话。
对齐:面部识别的问题是由于给定图像或视频中的人脸不遵循任何准则。人可能被放大或缩小,从树后偷看,或者以侧面的形式存在,使得人脸检测问题更加困难。这就是面部对齐的作用:它告诉我们在给定的图像/视频中人脸所在的位置以及面部特征的轮廓。
特征提取:顾名思义,在这个阶段(我们现在进入了识别阶段),提取出人脸的各个特征,例如眼睛、鼻子、下巴、嘴唇等,以算法可以在下一个阶段使用的形式提取出来。在这个阶段,计算机已经收集到足够复杂的数据,以独特地区分一个人脸。
特征匹配/分类:在这个阶段,从特征提取中获得的输入与给定的数据库进行匹配,以推断出人物的身份。这个阶段也被称为分类,因为算法可能需要对面部进行分类,而不是逐个识别它们。
一旦这个过程结束,我们就可以确定给定的面部是否属于我们比较的数据库。最终输出可能还包含标签,就像我们在Facebook上看到的那样。
部署考虑:服务器端与客户端
人脸识别可以在服务器端和用户交互的设备上都工作。例如,当你上传照片到Facebook时,算法是在服务器端运行的;另一方面,使用你的面部解锁设备的ID系统必须在客户端上运行。那么,哪个更好呢?
老实说,并不是说哪个更好。服务器端和客户端部署都有各自的优势;实际上,企业会部署混合系统。推荐的做法是在服务器端训练模型,因为在那里,训练数据和处理资源是没有限制的。一旦模型训练完毕,可以将其打包部署在客户端,这样可以提高系统的速度,同时保护用户的隐私。
将所有内容发送到服务器会引入延迟,在某些情况下这可能是不好或不可接受的。同时,将所有内容保留在客户端将导致模型更弱。
人脸识别的准确性如何?
准确性在人脸识别中并不是一个非常明确的术语。主要原因是它是一个模糊的问题,存在各种各样的混乱输入(低光照、面部部分被头发遮挡、摄像头质量等),甚至存在具有欺骗性的输入(稍后会详细介绍!)。因此,参与人脸识别的神经网络需要针对手头的问题进行调整,限制了它们的范围。因此,虽然工业人脸识别系统可能声称具有100%的准确性(这通常是情况),但当要求在拥挤的照片中识别面部时,同一系统的准确性可能不到20%。
在一项研究中,特定类型的人脸识别算法能够实现98.52%的准确性,高于在相同测试中达到的97.53%的人类准确性。在另一项在法医学中进行的研究中,人类判断和算法的结合在某些情况下获得了最佳结果。
底线是,在专注、明确定义的应用中,人脸识别是我们拥有的最好工具。
人脸识别在哪些地方使用?
即使在可行的算法被开发出来的短期内,人脸识别也已经找到了非常有用和令人兴奋的应用。其中一些是显而易见的,但有些则如此微妙和根本地融入到日常生活中,以至于我们几乎不会停下来思考底层原理。
Facebook可能是现代人脸识别系统最常见的例子。只要你上传一张照片,这个社交网络就能够检测到人脸。虽然一段时间以前你被要求给朋友打标签,但现在Facebook能够自动完成。
Facebook的一个酷炫新功能是在有人上传包含他们面部的照片时,informing用户也能被识别出来,即使他们在这些照片中没有被标记。
Snapchat在许多功能中大量使用人脸检测和识别,最引人注目的是那些风靡一时的有趣滤镜。
为了使这些滤镜起作用,需要完美地检测出主题的面部轮廓和特征,否则覆盖物看起来就不真实。同样适用于Snapchat上的另一个流行功能Face Swap。如果您对深入了解Snapchat在面部识别方面的能力感兴趣,请查看here。
Uber一直在与隐私和安全问题作斗争,而该公司的最新武器是面部识别。该公司推出了一项新功能,通过using their faces来验证其司机伙伴的身份。该公司在其博客中表示,在测试了几个面部识别技术供应商后,他们选择了Microsoft Face API,因为其质量很高。有趣的是,这种实时身份验证在低光条件下效果良好,并能够检测到眼镜。
面部识别在实践中取得了成功,很容易预测它可能很快取代教育机构、医院、图书馆等其他身份验证方法。
零售犯罪预防是面部识别应用的自然延伸。零售行业每年损失约$45 billion,这些损失是由于店内盗窃和其他零售犯罪造成的,几乎没有什么办法可以对抗。现在,像FaceFirst这样的公司正在帮助零售商使用面部识别技术来检测以前的罪犯并警告安保人员。
警察监控开始利用面部识别技术,就像其他机构一样。例如,在英国,南威尔士警察使用安装在警车上的摄像头,使对人群的监视变得更加容易。
尽管这种警察手中的新能力引发了关于个人隐私的激烈公众争论,但警方认为这将有助于更好地限制违法行为者。正如南威尔士警察副总警司理查德·刘易斯所说的那样:
“如果你识别出一个以前犯下罪行的人,你只需要说:我们知道你在这里,请自重。”
面部识别最近在医疗保健领域有了一个意想不到的应用,它帮助检测到一种罕见的遗传性疾病,称为DiGeorge综合征。
DiGeorge综合征在大约6000个儿童中出现一次,并导致多个身体部位的畸形。对于资源匮乏的贫穷国家来说,这种医疗问题更加严重,因为他们无法采用昂贵的诊断方法。因此,面部识别技术以惊人的96.6%的准确率,为DiGeorge综合征的受害者带来新的希望。
在航空业,面部识别技术的采用正在增加,它将很快取代传统的登机牌。目前,在帮助人们出境时使用面部识别技术方面取得了有限但有希望的结果。事实上,美国交通安全管理局已经制定了一项基于面部识别的生物识别技术的广泛使用计划。
面部识别的争议性应用
技术给我们赋予了力量,但是它的好坏使用取决于我们自己。毫无疑问,面部识别等强大而激进的技术正以一种引发对基本人权和伦理的关注的方式被使用。
面部识别的最突出的争议性应用例子就是中国庞大的监控系统,该系统使用估计有2亿个摄像头监视着14亿人口。
该系统跟踪人们的行动并评估,不断更新一个名为citizen score的指标。虽然拥有一个强大的、由国家控制的监控系统(例如追踪债务违约者)有一定的价值,但大多数人认为这是乔治·奥威尔(George Orwell)设想的反乌托邦未来的到来。这是一个政府对个人拥有无限权力,隐私不存在的未来。
第二个有争议的人脸识别使用示例也(毫不意外地)来自中国。这次,学校系统采用人脸识别来确保学生在课堂上“专注”。虽然这个新的人脸识别系统还没有普及,但它用学生的脸作为识别方式,取代了身份证、图书馆卡、考勤系统等。
但令人毛骨悚然的是,该系统监控学生的注意力水平、手机使用等,并在达到一定阈值时向教师发出警报。
虽然由人脸识别技术支持的视频监控并不仅限于中国——美国一直在试图使用它来遏制学校枪支暴力问题——但中国似乎比任何其他国家都更进一步。
流行人脸识别API的比较
在使用人脸识别技术时,您有哪些选择?在本节中,我们将看看常见的使用情况,以及各种解决方案之间的差异。
不过,在我们开始之前,提醒一下:这些API正在快速发展,您可能会看到一些博客文章说这个API缺少这个功能或那个功能。不要根据这些来做决策。首先分析您的业务需求,仔细检查提供的功能,进行试用,然后再做决定。
OpenCV
人工智能研究是一个没有底线的深渊。培训和完善人脸识别系统是困难的,最好留给有深厚资金和研究人员的大企业。然而,如果您的需求简单且想要完全控制——当然,还准备好维护一个小型工程团队——OpenCV可能适合您。
它是一个开源的计算机视觉库,非常准确,并适用于所有编程平台。以下是一个使用Python和OpenCV在25行代码中创建人脸检测系统的令人毛骨悚然的示例example!
现在,您可能会看到一些博客说OpenCV没有人脸识别功能。嗯,这完全是谎言,这里有一个链接证明了这一点proof。总的来说,如果需求简单具体,OpenCV可能是您的不错选择。
Amazon Rekognition
Rekognition是一个来自最大的云服务提供商之一——AWS的重量级产品。它是AWS平台上的一个全功能、强大的服务,如果您已经在使用AWS进行部署,Rekognition可能是最佳选择。
Rekognition提供的一些令人惊叹的功能包括:
- 实时分析(在您将图像或视频上传到S3时)
- 广泛的面部分析(性别、头发颜色、面部表情、眼睛是否睁开等)
- 路径记录(捕捉视频中已识别对象的路径)
- 场景和活动检测(室内/室外,“踢足球”等)
- 审核不安全内容(例如裸露)
Rekognition的最大优势也是最大劣势——您将很难将其与非AWS服务配合使用,以至于您不得不放弃。
Kairos
与Rekognition形成鲜明对比的是,Kairos提供了一种通过API进行人工智能的方式(这是无意识的押韵,我们发誓!),让您完全控制您的数据和服务器。Kairos将自己定位为一个以隐私为本的服务,并且是亚马逊和其他公司与政府勾结的一部分(顺便说一句,ACLU也是如此)。
Kairos既适用于图像也适用于视频,并且具有您期望从现代人脸识别API中获得的所有出色功能。它具有一些在Rekognition中找到的令人惊讶的功能,但如果您不需要它们并且已经管理好了您的数据,那为什么还要费心呢?!
Kairos提供了本地部署,适用于那些对隐私极度担心甚至不想将数据传送给服务器进行处理的人,Kairos的定价取决于您的使用情况,可能相当高。
Google Cloud Vision
谷歌选择区分其图像和视频的人脸识别服务。图像API被称为Cloud Vision,而视频为重点的服务被称为Video Intelligence。
虽然图像为重点的服务与AWS提供的类似,但视频服务具有目录和搜索的出色功能。这对于那些希望分析或搜索大型视频档案的公司将非常有用。
需要注意的是,截至目前为止,Video Intelligence还没有面部识别功能,这些功能似乎只在Cloud Vision中提供。目标跟踪和文本检测也处于测试阶段,相比亚马逊的提供,它有很大的差距。
Azure Face API
随着微软对其云服务的重视程度超过桌面服务(终于),Azure Face API是一个令人愉悦的选择。它拥有您期望的所有有趣功能(检测、识别、人脸分组、相似人脸搜索、情绪等),并且在处理视频方面同样出色。
现在,这与面部识别不是严格相关的,但值得一提的是Azure还提供了一个客户计算机视觉service,允许您根据自己的需求使用输入和训练模型。
就像谷歌的服务一样,主页上有一个可用的测试平台,这使得测试API变得非常有趣!
在顶级托管人脸识别服务之间存在重大差异吗?事实上并没有。目前该领域竞争激烈,新功能发布的速度比比萨饼还快。如果您已经与特定的生态系统绑定,那么使用他们自己的人脸识别服务是有道理的。否则,如果您的需求很具体(控制自己的数据、仅需要简单的检测等),您可能希望选择其他供应商。
反面部识别系统
正如一些研究人员致力于完善面部识别技术一样,其他人则忙于开发欺骗它们的技术。一个有趣的开发就是Adversarial Glasses,它在人类看来是普通的眼镜,但却能愚弄专业的面部识别系统。
尽管如此,这些眼镜目前还没有在市场上销售,但研究人员表示这些眼镜很容易通过3D打印来制作。
另一个有趣的开发是在Kickstarter上推出的ekō glasses。尽管该产品现在已经取消,但它基于一个非常简单的想法:只需45美元购买普通的太阳镜,它们可以通过反射光线使摄像机和视频监控设备混乱不堪。
就像网络安全领域一样,“黑客”和研究人员正在为完美的面部识别展开激烈的较量。大约在2014年,我们看到了赋予面部识别隐形功能的camouflage makeup的流行,但现在已经不可行了。面部识别是否会有AES加密?只有时间能告诉我们!
面部识别适合您吗?
能从面部识别中受益的企业是那些涉及到人的企业——是的,这意味着每个企业都有机会受益!虽然目前面部识别的使用似乎主要由政府、大企业或科技初创公司主导,但没有理由为什么您的企业不能从中受益。
当我们结合一点点创造性思维时,可能性是无限的——在酒店里迎接并识别客人,在人群中找到你的朋友,找到长相相似的人(也许可以用作演员),在工作面试中检测个性(再次,我们只是放任想象力驰骋;对于这样的研究可能没有实质性的东西),在高价值客户进入时定制银行体验…有无数种小规模和大规模的方式可以利用面部识别来提升您的业务表现。
结论
很快,面部识别将变得如此普及和常见,以至于我们甚至不会注意到它(就像手机一样?)。底层技术已经几乎完善,但在现实世界中,重要的不仅仅是检测人脸,而是我们可以用这种能力做什么。
听起来很迷人,想要了解更多吗?请查看这个brilliant course about Computer Vision.