面部识别软件
脸是标识您身份的重要元素,别人也会通过你的脸来辨认您。请想象一下,如果所有的面孔都是相同的,识别出一个人该是多么的困难。除了长得几乎完全一样的双胞胎之外,面孔毫无疑问是一个人最独一无二的物理特征。不只是人有识别和区分数百万张不同面孔的先天能力,计算机现在也正在迎头赶上人的这种能力。
总部位于新泽西的Visionics公司是面部识别技术的众多开发者之一。该公司开发了一个名为FaceIt的特殊软件,它的奇特之处在于,它能够从拥挤人群中捕捉某人的面孔,将该面孔从背景中提取出来并与数据库中存储的图像进行对比。为了能够顺利工作,该软件必须知道一张基本面孔看起来是怎样的。面部识别软件必须能够首先识别出面孔(这取决于它自身的技术水平),然后再测量每张面孔的各种特征。如果照镜子,您会发现脸具有一些可辨别的标志。脸上的凸出部分和凹陷部分构成了不同的面部特征。Visionics将这些标志定义为节点。人脸大约有80个节点。
以下是该软件测量的几个节点:
两眼之间的距离、鼻子的宽度、眼窝的深度、颧骨、下颌轮廓、下颚。
测量这些节点的目的在于产生一个数字代码(一串数字),它在数据库中代表该面孔。该代码称作面纹。对于FaceIt软件,只需要14-22个节点数据即可完成识别过程。在下一节中,我们将介绍该系统如何检测、捕获和存储面孔。
工作原理面部识别软件可归入名为生物识别的一大类技术。生物识别技术使用生物信息来验证身份。生物识别背后的理论是:我们的身体包含一些独一无二的特征,可以使用它们将我们与他人区分开。除了面部识别之外,生物识别身份验证方法还包括:指纹扫描、视网膜扫描、语音识别。
面部识别方法有多种,但是通常涉及捕获、分析和对比等一系列步骤,将你的面孔与数据库中存储的图像进行对比。以下是FaceIt 系统用于捕获和对比图像的基本过程:
为了确定某人的身份,面部识别软件将新近捕获的图像与数据库中存储的图像进行对比。
检测——当系统连接到视频监视系统后,识别软件会在摄影机的视野中搜寻面部信息。如果在视野中存在一张面孔,它会在几分之一秒的时间内检测到它。它使用多尺度算法以低分辨率搜索面部图像。(算法是提供一组指令以完成特定任务的一个程序)。系统只有在检测到类似头部的形状后,才切换到高分辨率搜索。
对齐——一旦检测到面部图像,系统会确定头部的位置、大小和姿态。只有在面部与摄像机至少成35度角的情况下,系统才会记录它。
标准化——头部图像经过缩放和旋转,以便能记录和映射到相应的大小和姿态。无论头部的位置如何以及相距摄像机的距离有多远,都可以执行标准化过程。光线不会对标准化过程产生影响。
表示——系统将面部数据转换成一个唯一的代码。通过编码,可以更加容易地将新近捕获的面部数据与存储的面部数据进行比较。
匹配——将新捕获的面部数据与存储的数据进行对比,并(在理想情况下)链接到至少一个已存储的面部图像。
FaceIt 面部识别系统的核心是局部特征分析(LFA)算法。这是系统在对面孔进行编码时使用的数学技术。系统对面孔进行测量,并生成一个面纹,即面部的唯一数字代码。在存储了面纹之后,系统会将它与数据库中存储的成千或成百万的面纹数据进行对比。每个面纹都存储为一个84字节的文件。
面部识别系统通过使用面部识别软件,警察可以缩放摄像机画面并拍摄某个面孔。
系统可以用每分钟6000万张面孔的速度对内存中的面纹数据进行匹配,对于硬盘中的面纹数据,每分钟可以匹配1500万张面孔。在进行对比时,系统会用介于1到10之间的一个值来表示对比结果。如果该值大于预先定义的阈值,则宣布找到一个匹配结果。然后,操作人员可以查看被宣布为匹配项的两张照片,确定计算机的工作是否准确。
与其他生物识别技术一样,面部识别被认为是一种会在不远的将来得到广泛使用的技术。在下一节中,我们将介绍它现在的使用情况。FaceIt这样的面部识别软件的主要用户一直是一些执法机构,它们使用这些系统在拥挤的人群中捕获随机出现的面孔。然后,将这些面孔与数据库中犯罪分子的照片进行对比。除了进行执法和安全监视之外,面部识别软件还有其他几个用途,包括:消除投票欺诈、取款身份验证、计算机安全。
应用墨西哥政府对面部识别系统的使用可称为是最具创新的用法之一,他们使用此技术找出舞弊的选民(通过重复登记)。为了控制选举结果,有人会以不同姓名多次登记注册,以便能够多次投票。使用传统方法并不容易找出这些人。
许多人不去银行柜台取钱,而是使用取款机。面部识别可消除可能发生的犯罪活动。
借助面部识别技术,官员们可以通过搜索选民数据库中的面部图像来找出重复登记的选民。他们将新图像与档案中的记录进行对比,找出试图使用多个姓名进行登记的人。在墨西哥2000年的总统选举中曾使用了此技术,而且预计将很快应用到地方选举中。
其他潜在应用还包括ATM机和取款时的安全性。软件可以快速验证客户的面孔。在得到用户同意后,ATM机或取款柜台会拍摄客户的数字照片。然后,FaceIt软件使用该照片生成一个面纹,避免客户身份失窃和欺诈交易。使用面部识别软件后,无需再使用身份证、银行卡或个人识别号(PIN)来确认客户的身份。
这种生物识别技术还可以用于保护计算机文件的安全。通过在计算机上安装网络摄像头和面部识别软件,可以将您的脸变成进入计算机所需的密码。IBM已经在其A、T和X系列的Thinkpad笔记本电脑上的屏幕保护程序里融入了这种技术。
面部识别软件可用来锁定您的计算机。
尽管可以使用面部识别技术保护您的私人信息,但是只需要在您没有察觉的情况下拍摄一张照片就可以轻易入侵系统并获取您的隐私。与其他许多正在不断发展的技术一样,面部识别技术虽然具有难以置信的潜能,但是仍存在一些缺陷。
2013年3月5日,美国纽约州州长安德鲁·科莫宣布,纽约州采用面部识别技术对1.3万起身份证欺诈案进行调查,逮捕了2500名嫌犯,此外还有5000人面临刑事调查。美国驾照和身份证由机动车辆管理局统一发放,汽车驾照等同于身份证。据纽约州政府介绍,从2010年开始,纽约州机动车辆管理局采用面部识别技术将所有申请者照片与数据库中2000多万幅照片进行比对,发现了1.3万个可疑的驾照或身份证,有的人甚至以不同名字同时拥有多个身份证。
2013年7月。芬兰一家企业推出全球首个“刷脸”支付系统。结账时,消费者只需在收银台面对POS机屏幕上的摄像头,系统自动拍照,扫描消费者面部,等身份信息显示出后,在触摸显示屏上点击确认完成交易。无需信用卡、钱包或手机。整个交易过程不超5秒钟。不过,也有人认为,“这点时间,通常也就够你拿出钱包”。芬兰初创公司Uniqul已为这套基于面部识别技术的“刷脸”支付系统申请专利。
2015年10月15日,招商银行在深圳推出了ATM“刷脸取款”业务,客户无需插入实体银行卡即可完成取款,每日限额取现3000元。客户如需取款,首先在ATM屏幕首页点击选择“刷脸取款”功能,系统将自动抓拍现场照片,在后台与银行的可信照片源进行比对,验证通过后,客户输入手机号码进一步确认身份,接着输入取款金额、密码,最后拿取现金,整个过程无需插入实体银行卡片。
用途
与其他生物识别技术一样,面部识别被认为是一种会在不远的将来得到广泛使用的技术。除了进行执法和安全监视之外,面部识别软件还有其他几个用途,包括:
消除投票欺诈:墨西哥政府对面部识别系统的使用可称为是最具创新的用法之一,他们使用此技术找出舞弊的选民(通过重复登记)。为了控制选举结果,有人会以不同姓名多次登记注册,以便能够多次投票。使用传统方法并不容易找出这些人。借助面部识别技术,官员们可以通过搜索选民数据库中的面部图像来找出重复登记的选民。他们将新图像与档案中的记录进行对比,找出试图使用多个姓名进行登记的人。在墨西哥2000年的总统选举中曾使用了此技术,而且预计将很快应用到地方选举中。
取款身份验证:在得到用户同意后,ATM机或取款柜台会拍摄客户的数字照片。然后,面部识别软件使用该照片生成一个面纹,避免客户身份失窃和欺诈交易。使用面部识别软件后,无需再使用身份证、银行卡或个人识别号(PIN)来确认客户的身份。
计算机安全:通过在计算机上安装网络摄像头和面部识别软件,可以将您的脸变成进入计算机所需的密码。IBM已经在其A、T和X系列的Thinkpad笔记本电脑上的屏幕保护程序里融入了这种技术。
发展2012年9月,一项研发计划名为“下一代识别系统”(NextGenerationIdentification,简称NGI)已在美国多个州获得批准,预计到2014年在全美普及。FBI希望此计划可以为执法人员提供照片来识别罪犯。2010年项目测试表明,最好的计算机算法可以帮助执法人员从储存160万人脸图像的数据库中找到犯罪嫌疑人,识别率最高可以达到92%。甚至是在某人没有直视镜头的情况下,系统也能从数据库中正确找到匹配的人脸。
此计划旨在基于研究、评估、综合自动指纹识别系统环境下实施高新技术来提升并推进生物识别技术和罪犯历史信息服务,最终打击恐怖主义和违法犯罪活动。
操作过程面部识别方法有多种,但是通常涉及捕获、分析和对比等一系列步骤,将某人的面孔与数据库中存储的图像进行对比。主要有以下步骤:
检测——当系统连接到视频监视系统后,识别软件会在摄影机的视野中搜寻面部信息。如果在视野中存在一张面孔,它会在几分之一秒的时间内检测到它。它使用多尺度算法以低分辨率搜索面部图像。(算法是提供一组指令以完成特定任务的一个程序)。系统只有在检测到类似头部的形状后,才切换到高分辨率搜索。
对齐——一旦检测到面部图像,系统会确定头部的位置、大小和姿态。只有在面部与摄像机至少成35度角的情况下,系统才会记录它。
标准化——头部图像经过缩放和旋转,以便能记录和映射到相应的大小和姿态。无论头部的位置如何以及相距摄像机的距离有多远,都可以执行标准化过程。光线不会对标准化过程产生影响。
表示——系统将面部数据转换成一个唯一的代码。通过编码,可以更加容易地将新近捕获的面部数据与存储的面部数据进行比较。
匹配——将新捕获的面部数据与存储的数据进行对比,并(在理想情况下)链接到至少一个已存储的面部图像。
面部识别系统的2核心是局部特征分析(LFA)算法。这是系统在对面孔进行编码时使用的数学技术。系统对面孔进行测量,并生成一个面纹,即面部的唯一数字代码。在存储了面纹之后,系统会将它与数据库中存储的成千或成百万的面纹数据进行对比。每个面纹都存储为一个84字节的文件。系统可以用每分钟6000万张面孔的速度对内存中的面纹数据进行匹配,对于硬盘中的面纹数据,每分钟可以匹配1500万张面孔。在进行对比时,系统会用介于1到10之间的一个值来表示对比结果。如果该值大于预先定义的阈值,则宣布找到一个匹配结果。然后,操作人员可以查看被宣布为匹配项的两张照片,确定计算机的工作是否准确。