手机为什么能认出是我在解锁它?

计算机是如何进行指纹和掌纹识别的?为什么指纹识别有时候会失败?手机上的指纹识别与公安用的指纹识别有什么区别?1比1和1比N的指纹识别有什么区别?掌纹能用于身份识别吗?清华大学自动化系副教授、博士生导师,中国生物特征识别学术会议(2015-2019)程序委员会主席,国际生物特征识别学术会议(2014-2016)领域主席冯建江带来分享《计算机如何识别指纹和掌纹?》 。
以下为冯建江演讲实录:
大家好,我是冯建江,我想介绍一些自己关于计算机识别指纹和掌纹的研究 。
我主要讲这样几个部分——
手机为什么能认出是我在解锁它?

文章插图
01 指纹识别的应用
手机为什么能认出是我在解锁它?

文章插图
指纹识别的应用,现在已经非常广泛,我们可以粗略地将其分为三个方面:警方,政府,以及企事业单位,个人 。
手机为什么能认出是我在解锁它?

文章插图
其中,警用AFIS是最早的自动识别系统(上世纪70年代末),因为该领域对自动识别的需求非常强烈——积累的海量数据库靠人工识别明显不现实 。
这个系统主要有两个功能:查犯罪前科和识别犯罪嫌疑人 。
手机为什么能认出是我在解锁它?

文章插图
大家可能知道,从犯和初犯惩罚是不一样的 。所以犯罪分子如果原来犯过案,再被抓到就很可能会隐瞒 。所以警察需要通过“十指比十指”来识别犯罪分子真实身份,从而查询犯罪前科 。
手机为什么能认出是我在解锁它?

文章插图
如果在犯罪现场发现了指纹,就可以将它放到以往的数据库里面去比对,也就是“现场比十指” 。这个难度要比查犯罪前科要大很多 。
手机为什么能认出是我在解锁它?

文章插图
此外,指纹识别在各种身份证件里面也有较为广泛的应用,我们国家从2012年开始在生物特征护照以及港澳通行证里面录入指纹 。目前,北京首都机场、深圳罗湖口岸等地已经启用基于生物特征(核验指纹以及人像)的自助通关 。
2013年,身份证也开始录入指纹,目前应该超过5亿人的身份证里面有指纹了 。身份证的生物特征验证系统已经在一些重要场所应用,比如一些敏感场所的出入验证,以及很多地方的高考考生身份核查 。
手机为什么能认出是我在解锁它?

文章插图
第三类的应用种类就特别多 。指纹、人脸考勤机,很早就开始应用 。还有迪斯尼乐园指纹验票的例子:由于园区特别大,迪斯尼乐园就允许购买了通票的游客中间进出 。但是怎样防止通票转让多人使用呢?它就要求游客第一次入园时录入指纹,将指纹与票绑定;以后再进就要通过指纹识别来验票 。此外还有很多,比如指纹锁虽然出现很早,但也就是这几年普及越来越高 。生活中常见的还有iphone率先引领的指纹解锁和指纹支付,等等 。
02 指纹识别系统的一般原理
接下来,我就给大家讲一下各种类型的指纹识别系统一个比较共性的原理 。我们把指纹识别流程进行简化,大概有以下三步,采集、特征提取和匹配——
手机为什么能认出是我在解锁它?

文章插图
接下来,我就按照这三步来给大家分别介绍一下 。
手机为什么能认出是我在解锁它?

文章插图
第一步是指纹采集 。虽然用相机拍照的指纹图像(左图)跟大家肉眼看到的手指一致,但其实不太适合做指纹识别,因为对比度比较低 。指纹识别系统希望用到的指纹是右图这样的,脊线和谷线黑白分明 。
那么,怎样采集怎样的图像呢?
手机为什么能认出是我在解锁它?

文章插图
在非常非常古老的时候,人们就发现用油墨可以采集到质量非常好的指纹 。所以从100多年前,警方就大规模使用油墨来采集有犯罪前科人员的指纹 。他们会让犯人将每根手指都在平面纸上转一圈(rolled fingerprints),尽可能把边边角角全都采集到 。此外,还会采集除大拇指外的四根手指并拢的图像(plain fingerprints) 。
手机为什么能认出是我在解锁它?

文章插图
油墨采集指纹的方法,现在几乎不用了,取而代之的是电子化的采集设备 。
基于超声波的采集设备虽然应用比较少;但目前高通公司推广的一项技术可能会改善现状:把手机放到显示屏下面,正面就全是屏了,一点边框都没有 。
基于光学的采集设备非常多,警方用的基本上都是属于这一类 。它的原理是:一个倒立的三棱镜,上面是手指,左下角射来光源,右下角设置一个集成了相机的透镜(左图) 。发出的光线以特定角度进入棱镜时,如果没有接触到凸起(放置手指会形成突起),就会发生全反射;而如果接触到凸起,就会被吸收,不会全反射,所以就得到了一个黑白分明的、类似油墨采集的指纹图像 。
第三种就是基于电路的采集设备,现在的手机和电脑笔记本,都是采用这一类 。它主要靠指纹凸起和凹陷的地方在电学上特征的不同来识别 。
所以,声、光、电都有指纹采集技术 。
采集图像之后,需要从上面要提取一些特征 。什么特征呢?我们可以由从宏观到细节的三个层次来看看 。
手机为什么能认出是我在解锁它?

文章插图
第一层,反映的是指纹上面的流线的方向场和奇异点 。我们一般人说,指纹是斗型还是箕形?实际上就是第一层特征 。
第三层 。如果我们把图像放大,还会看到有很细节的特征,不同的人是不一样的 。脊线实际上不是一条黑线,上面有很多白色的孔——也就是出汗的地方,汗孔 。另外,线周围的轮廓也不是很直,有各种形状 。这些特别细节的特征,对于识别也是有用的 。
在实际中,大部分指纹识别系统都是采用这一层,也就是细节点的特征,因为信息量非常多,而且比较稳定,也非常紧凑 。
手机为什么能认出是我在解锁它?

文章插图
这是一个示意图,展示的是怎么样从一幅图像通过提取图像处理算法,提取出脊线、细节点、方向场和奇异点等等特征 。
手机为什么能认出是我在解锁它?

文章插图
有了这些点,将来提供两个指纹,我们就不是在对比图像,而是在对比两组点:通过某种方法,按照这些点的坐标把它编号在一起,然后就可以找到对应的点,最后根据点的匹配程度和数量计算出一个分数 。
当然,如果平时用指纹识别的话,你肯定会发现有时候会识别就失败 。也就是说,模式识别系统不是完美的,有时候会出错 。我们假设系统最后会出一个分数,比如说0分就表示非常不像,100分就表示非常像 。
手机为什么能认出是我在解锁它?

文章插图
真匹配,就是同一个人的手指之间的匹配,分数一般比较高;但有时候也会因为各种原因比较低 。它的分数分布如图中所示,特别高和特别低的分数比较少 。
假匹配,就是不同手指之间的匹配,分数一般比较低 。但是它也是一个正态分布,从低到高都有 。那么,对于一个系统来说,必须要出阈值——如果超过阈值,就认为这两根手指是同一个人的手指,否则就认为是不同的 。
但是,不管阈值怎么选择,总会发生两种错误:一种是“错误不匹配”——本来是同一根手指,但是认为不匹配的;另外一种是“错误匹配”——不同手指的分数超过了阈值 。
手机为什么能认出是我在解锁它?

文章插图
这是一些比较典型的“错误不匹配”的例子 。什么情况下,会发生不匹配呢?一般来说,手指皮肤干燥(首行左)、手指磨损严重(首行中)、手指大量出汗(首行右)会导致识别失败 。
还有一些其他的情景,也会导致错误不匹配 。比如左下角这张是犯罪现场的指纹,它是从一本书上扫描出来的,干扰特别严重 。手机上采集到的指纹图像(次行中),传感器太小导致得到的图像特别小,也容易出现失误 。右下角是一个变形特别厉害的指纹,我们的手是软的,所以采集时如果角度或者力度非常夸张,就会形成这样比较难识别的图像 。
接下来,我想介绍一些特殊的指纹识别系统的案例 。
03 手机指纹识别
首先,就是手机指纹识别 。其实,把指纹植入手机的想法,很早就出现了,但当时销量比较少;真正把指纹识别变成手机的标配是从这个iphone开始的——在iphone之前,全世界每年手机指纹传感器的出货量其实不过百万量级,但是有了iphone之后,达到了上亿量级 。这样一个量级,就使得指纹识别技术往前推进了一步 。
那么,从传感器技术到成像识别技术,手机指纹识别相比其它的指纹识别,有什么特殊性呢?
手机为什么能认出是我在解锁它?

文章插图
手机传感器非常小,中间这张图就是手机指纹传感器采集到的;而右边这张是比较常见的考勤机和公安用的采集设备采集到的图像 。这么小的图像,信息量肯定也比较少,有点像设置密码,两位数的密码和八位数的密码肯定不一样 。
那么,该怎么提高识别率?目前有三方面的技术可以解决这个困境 。
手机为什么能认出是我在解锁它?

文章插图
第一点,多次注册 。大家首次使用手机注册指纹的时候,它一般会要求你反复地摁,还要不停地更换手指的位置 。这样,手机就会存储手指各个角度的图像,就用一个比较小的传感器采集到了尽可能多的信息 。
手机为什么能认出是我在解锁它?

文章插图
第二点,充分利用指纹特征 。虽然可以注册多次,但使用的时候图像还是很小,所以要从这个很小的图片里面提取尽可能多的信息 。如果我们还用传统的信息特征的话(比如细节点),那阈值就太低了(质量很好的图像可能只有两个细节点),错误匹配就会非常高 。所以,现在手机指纹识别普遍采用的技术,是希望能够把指纹里面那些不如细节点稳定和显著的特征也都用上 。手机的指纹识别属于高频应用,一天会用很多次,所以这个时刻采集,然后隔个几分钟再采,就还是比较稳定的 。
手机为什么能认出是我在解锁它?

文章插图
第三点,模板更新 。我们把这个注册的指纹信息叫做模板指纹,会随着使用不断更新——它会学习在各种皮肤状况下手指的状态,这项技术很重要 。如果指纹识别成功,它就会认为是同一个人手指,就会把信息更新进去 。所以,用得越多,识别也会越顺利 。
但是去年出了一个漏洞:有一个人的苹果手机的指纹传感器摔碎了,然后他就发现其他人的手指也能解锁 。后来,用橘子皮也能解锁手机,事实上任何东西只要碰一下就开了 。
为什么会出现这样的事?就是因为模板更新 。当传感器有裂缝的时候,手机会把裂缝本身 也当成一个模板存进去;而裂缝一直存在的,所以随便拿一个东西去摁,它就会发现新图像和刚才存的那个模板一致,所以谁都能解开 。
04 刑侦指纹识别
接下来,我想介绍一下刑侦指纹识别 。
手机为什么能认出是我在解锁它?

文章插图
所谓刑侦指纹识别,是指从犯罪现场提取一个很脏的一个指纹,然后到十指指纹数据库里去检索 。大家可能也会注意到,有时候新闻上会说一个指纹破获了几十年的一起命案,这样的案例非常非常多——少部分案件因为社会影响太大,所以会上新闻,实际上指纹破案数量非常惊人 。我们国家,每年靠指纹侦破的案件就超过10万起,也是因为这个原因,指纹被称为“物证之首” 。
指纹有三个特性:唯一、终身不变、触物留痕 。其中,第三点对破案非常重要 。
那刑侦指纹识别的难题是什么?
遗留的现场指纹非常不清晰,而且数据库非常庞大 。
这样的技术难题,该怎样解决呢?
这个视频介绍了怎样提取现场指纹 。白色的板子曾被手指摸过,开始什么都看不见;但是工作人员用一个沾了黑色磁粉的刷子在上面刷,刷着刷着,指纹就显现出来了 。
手机为什么能认出是我在解锁它?

文章插图
提取出来的指纹图像质量比较差(特别是相比传统的光学采集仪采集到的指纹),这时候就需要一种指纹图像增强技术,能够尽可能地把特征还原出来 。图中所示的是一种增强技术,是将指纹上面每个位置,都用滤波器进行处理,有点像把噪音去掉、只保留指纹本身的信息 。
手机为什么能认出是我在解锁它?

文章插图
嫌疑人的识别需要在一个很大的数据库里面比对查找,也就是1对N识别技术 。N代表的数字非常庞大,我国犯罪前科人员数据库里面的指纹数量已经好几亿了 。所以,将一个指纹放到好几亿个指纹里面去查谁跟它最像,难度非常大 。这些年虽然技术一直在提升,但是确实太难了 。
那么,现在公安怎么去查犯罪嫌疑人呢?人机融合 。自动指纹识别系统会返回一个可能的列表(可能有,也有可能没有;可能在第一名,也有可能在第几十名),经过训练的公安指纹专家,在一套工具的帮助下一个一个去找 。
05 掌纹识别
最后,我想简要介绍一下掌纹识别 。
手机为什么能认出是我在解锁它?

文章插图
掌纹其实跟指纹非常类似,相机直接拍摄到的掌纹图像也不适合做识别 。掌纹识别需要的掌纹主要用光学采集仪,利用的原理就是全反射,能够采集到这种黑白分明的掌纹图像 。
手机为什么能认出是我在解锁它?

文章插图
掌纹的特征,其实跟指纹基本对应(脊线、细节点、汗孔、奇异点),唯一的区别就是掌纹上的皱褶特别多,比如说图中蓝色线条就表示了三个主要皱褶,算命上也叫生命线、事业线、爱情线 。除此之外,还有一些细一点、但是数量特别大的次要褶皱,特别是大拇指下面这块 。掌纹上的褶皱跟年龄没有关系,小孩子的皱褶也很多 。
手机为什么能认出是我在解锁它?

文章插图
掌纹识别,大家可能平常都没接触过,因为它主要应用在刑侦破案上面:警方抓到一个犯罪分子之后,会把他这个掌纹和指纹都会录上去,将来如果在犯罪现场发现掌纹,就可以通过掌纹识别去破案了 。
有一项统计数据指出,犯罪现场有30%的手纹是掌纹,70%是指纹,量还是很大的 。实际上掌纹识别技术跟指纹非常类似,主要的区别就是掌纹的奇异点数量非常多,图像又很大,所以运算采集的成本比较高 。因此,这项技术进入实际应用的时间要比指纹要晚一些,范围也比较窄 。
以上就是我的分享,谢谢大家 。
 
手机为什么能认出是我在解锁它?

文章插图
 
手机为什么能认出是我在解锁它?

文章插图
【手机为什么能认出是我在解锁它?】 

    推荐阅读