Biometrics---How Do
I Know Who You Are?

密西根州立大学教授Anil K. Jain主题演讲" title="第十六届“二十一世纪的计算”学术研讨会 密西根州立大学教授Anil K. Jain主题演讲">

大家下午好,非常高兴今天来到这里和大家谈谈生物信息技术。生物信息技术实际上是源于两个希腊词,biology和metric。Biometrics直译就是测量生命的意思。我们想了解的是到底是什么使得人们变得那么独特。通过这样的研究,比如很多时候我们有很多解锁的机制,包括在手机上面,包括iPhone5和5s都有指纹解锁系统。这些都是今天我们要探讨话题的一部分。

在生物测量技术方面已经取得了很大的进展。百年以前指纹在很多警察机构中都得以使用,用来寻找一些罪犯。但是现在指纹在很多的手机上都被使用得非常广泛,这种趋势还会继续下去,我们未来会看到生物测量的技术在我们日常生活中的使用会越来越多。

给大家介绍一下生物测量技术到底是什么,在这个领域有什么样的研究机遇,未来将向何方发展。我们先从一个最简单的例子说起,我们每天可能都会用到的一个东西,如果你想从ATM里取钱,你需要做几步,第一要把卡插进去,在中国输入6位密码,在美国这个密码是4位。但是这个机器并不知道谁放的卡,谁输的密码,这个卡可能被偷了,这个密码可能会被猜出来。

为了避免这一现象,苹果这个Apple
Pay就发挥了非常重要的作用,因为现在你的指纹就是你的密码,没有指纹就无法买东西。所以Apple
Pay这个系统和其他类似的系统不同的是在销售的地方,你不用什么信用卡,不用其他什么认证的方式,你就可以进行支付了。把你的手机带到离近场通讯设备近一点的地方,把你的手指放在主键上面,它有一个读取器,之后指纹读取器就会读取你的指纹,交易就完成了,所以不会泄露信用卡的信息。

现在移动支付已经成为了一个巨大的产业,它在世界上很多地区已经变得非常流行了。大家知道在东非,在肯尼亚和坦桑尼亚也开始使用了。很多人去不了银行,所以会有一个本地的人作为他们和银行之间的中介,但是现在使用移动手机,他们可以直接去支付、转帐和提取。所以你使用这种移动设备,现在变得非常方便。世界是73亿,大约45亿人是拥有移动手机的,这个数据还在增加。而大多数的新的手机几乎都是智能手机。

什么是生物测量技术?这张漫画非常明确地让我们看到我们在做的工作。我们希望采取对于人体的各种测量,当然说起来容易,做起来难。如果我们只是依赖于最简单的衡量方式,比如说虹膜或者是指纹,但是我们希望能找到个人一些独特的特征,这是生物测量最后的一个目标。这样一种特征是跟你的身体有关的,而不是一些外在的特征。比如说身份证或者是驾驶证或者是护照这样的东西。现在我们可以根据你的生物特征来识别你,而不是根身份证。

这些是常用的生物测量的特征。这些是使用过像脸部识别和指纹识别和虹膜等等的。这些系统是基于你的手印和你的指纹的提取,以及你的签名,但是现在最重要的三种身体的特征,你可以做到去除重复的,那就是你的指纹和你的虹膜,但是使用这种生物识别技术并不是什么新的技术或者是想法,如果我们看你的手掌和脚底,它的皮肤的特点是独特的,和你身体其他部分也不一样。我们把它为是指纹。它有各种各样的雕花式的纹路,在手掌和脚底都是如此。

那么怎么样去处理指纹?怎么样来进行识别?我们可以从指纹当中提取什么样的识别的元素?你不可能说就用图像本身来做对齐,所有的指纹都可以有三种大的分类。所以你看一下,有的是圆形的,有的是拱形的,有些是波浪形的,所以一个圆形的,是左弦还是右弦,可能是双弦,怎么样区分他们?要靠单独的点,我们称之为core或者是delta,这是一个流动性的指纹,一旦它的流动性发生改变,它就是独特的。

所以这些独特性的点是用圆形和三角形显示的。在你这个弦当中有的是一个core,一个delta,而双弦就是两个红圈,两个三角形。为了能够做比对,能验证是你的,就是就会在这个掌纹上看它的分杈情况,典型的情况是在一个指纹上会有一百个这样的信息点,当然它根据你的手指的情况,有的时候有些点可能会不清楚,因为你的手掌上可能有伤,但是一般会提取一百个点。如果有两个指纹,我们会提取出这些点。有些是结束点,有些是分杈点,所以我们会对比这些信息点。我们可以说这两个指纹来自同一个指头,这就是我们指纹比对的做法。

在1905年的时候,已经有国家开始用指纹来找到罪犯,FBI也很早就开始使用了。在左边你会看到指纹卡,这是收集数据的卡,如果有人被调到警察局,需要看他的指纹。所以上面两行的指纹是大拇指指纹,警察会按住你的手,从左到右来按指纹。而最下面一行是你的442的一个指纹,两者都要收集,因为它要确保在提取这个指纹特征的时候,能够更加全面和准确。所以你需要进行比对。

现在,随着传感器的发展,我们只要用一个玻璃的设备,把手指放上去就可以提取你的指纹了。如果你看一些电影,比如说CFI等等判案的电影,经常会看到一些在银行支票上出现的指纹,最常见的一种识别罪犯的方法就是把这样一个指纹拿出来,拿到数据库当中,也就是说在七千万的FBI记录库中进行比对,看看谁在犯罪现场留下了指纹。这是一个很大的问题,因为在过去如果使用十个指头,我们可以达到99.9%的准确率。

为什么指纹使用如此之广泛呢?因为从生物衡量的角度来说,第一个特点就是它应该是独特的。第一个人们会问的问题就是两个双胞胎的指纹是否一样?结果她们的指纹也不一样,原因是指纹的形成是在胚胎形成12周以后,它体现的是基因。可能她们在亲戚当中更类似一些,但是仍然是有差异的。实际上双胞胎的虹膜也是不一样的。

第二个假设,我们之所以能够使用指纹,就是它的持续性。在人生当中,指纹的模式是不是能够保持连续性,可不可以作为识别个人的工具?在这里早期的指纹研究者Herschel他收集了17岁和40岁的指纹,使用最新的算法,发现可能有一点不一样,但是仍然可以识别这三个是来自同一个来源的。

下面我想介绍的也是最大的生物测量项目,现在FBI有七千万的指纹,而印度是七亿,所以它的规模极其大。这个项目叫做Aadhar项目,在印度这样一个有12亿人口的国家,一半的人是没有身份证明的,因此很多人都没有得到选举、开帐户或者是其他社会服务的权力。印度开始这个项目是为了让每个人都有一个12位数的独特数字。为了确保一个人不能拥有两个数字,他们收集十个指头的信息和两个虹膜信息,也同时收集了脸部信息,在收集这些信息的时候,他们把它跟所有拿到12位识别码的人的信息进行比对,所以基于指纹和虹膜来给你这个12位数的识别码。这个项目非常成功,但是你可以想象这个项目的规模,因为来自农村的人不会到城市里面提供他的指纹和虹膜信息,所以必须要我们去农村收集这些信息。所以现在大概有七亿印度人已经有了这个独特的识别码。当然这也不仅限于印度人,如果你生活在印度,你也可以拿到这个12位独特数字的识别码。

这样一个系统是怎么工作的?首先你必须要登记,比如说一个ATM机器,你必须先去银行提供你的生物信息,把这个信息和你的帐户连接起来,这个信息就存在于一个存储系统当中,包括你的脸部信息、指纹信息,它是一个以模板的形式来存在的形式。执法部门也可能也会有你的指纹信息,然后你把你的生物测量信息输入到一个处理器当中,这个处理器识别你的特征之后,就会允许你进行交易。

密码识别和生物识别在这里就有差别了,如果你输入密码的话,之要不然输入得对,要不然输入得不对,但是如果用生物测量,无论是你用面部还是手指,也是有些差别的,所以只能用相似度来识别。所谓准确度它要有一个标准,有个底线,相似度多少以上就可以了。比如说在多少以下就不可以通过。这个系统可以通过两步来实现,第一就是认证,就是一比一的比对。比如说我是谁,比如你去银行,你说你是谁,你出示相应的证据来证明。另外是一对多的对比。因为我们不用你你出示有关你身份的证件,我们收录了你的生物信息,进行多个对比,来确定你是谁。

密西根州立大学教授Anil K. Jain主题演讲" title="第十六届“二十一世纪的计算”学术研讨会 密西根州立大学教授Anil K. Jain主题演讲">

然后我们看看如何匹配两个指纹。我们会有一个参考的基准。我们可以看看在这个参考基准和你实际指纹中的相似度大概有多少,如果能够达到相似度多少以上,就是匹配了。这张图显示的是它的底线是多少。在这里它是一个分布图,蓝色的图是我的指纹和你的指纹之间的匹配度有多少,红色的是纯粹的指纹的对比。同样是一个指纹的对比。这里可能也会有一些问题,有一些错误。这两个的重合度越低,准确率越高。这里你可以看到,比如说相似度得分是0.18的时候它的重合度是最高的。这里具体想要的相似度是多少,要看具体应用了。比如在上面的,比如自己的客户来验证的时候,可能这个基准就设得比较低一些,但是对于安全要求比较高的时候,这个基准可能就会设定得比较高。但是有些时候,可能你同样一个手指输入的信息,经过对比之后不一样,被拒绝了,这可能是由于发生了一些变化所造成的。当然了也会出现一些错误的问题。

下面我们看看面部识别。我们怎么进行面部识别?首先是先获取这个图像,会有一个数据库来进行对比。首先获取这个数据,然后搜取数据库,看看数据库中哪个图片和我获取的这个图片是相似的。现在的挑战是你怎样测量或者是衡量它的相似度。我们这些特性是否能够成功地使用,来进行匹配?在面部识别当中,其实我们并没有这么多的经验,不像指纹,因为指纹已经用了一百多年了。很多时候其实你不知道用什么东西能够很好地代表它的特性,这里面给大家展示一下,在匹配面部的时候,第一步就是要检测出面部,如果连面部都检测不出来,就无法识别了。第二步我们称之为正常化的一个部分。什么意思?我们找出一些比较标准化的部位,比如两个眼睛,一个鼻子,一个嘴,对它进行正常化。正常化就是以正确的角度把它摆放过来,放到正确的比例上,对于图库里的图片也是进行的同样的处理,这样你就能对不同的部位进行扫描,做出一个图,比对两个图的相似性,之后看看到底是匹配还是不匹配,是否能够达到最低的基准的标准。

关于指纹识别的挑战,我们如何能够识别一部分的指纹,比如说在犯罪现场找到一部分的指纹,我们怎么识别?首先我们必须要找出这个指纹是来自于哪里的,我们还要把它很好地分离出来,我们要找出这个指纹是属于人们手指中的哪一部分。

刚才也谈到了面部识别要想做成,首先第一步要能检测出面部。这里是一群人,我们在这个图里想找到一些人,我们现在最好的面部识别器也就能做到这个样子了,不可能找到所有的人,所以我们在面部识别上的另一个挑战就是我们是否能够在这样的情况下找出所有的面部。大家看的话,很明显地会发现这个图里实际的脸要比检测出来的更多。

另外一个生物信息非常重要的领域,比如说指纹就有一致性、持续性。但是这种匹配的准确性是否会随着时间而下降,我们也做了一些假设,来验证指纹的识别并不会随着时间的流逝准确度下降。

生物信息特征它有什么样的用处?包括谷歌、微软、Facebook这些大的公司都在做面部识别,但是有一家公司解决了这个问题。这里我提的问题是我们是否能认齐目前中国13亿人的面孔?因为现在我们的实验范围是非限的,除非我们能解决这一问题,否则我们不可能知道生物测量信息是否能够进一步扩大应用。

和其他的安全系统一样,生物测量系统也有自己的局限性,主要体现在两点:第一,这些人实际上是可以模拟数据库的信息的。第二,生物测量的信息也可能是有问题的。比如说你有一个2D的指纹,我们可以把它做到3D当中,我们称之为3D虚拟指纹,然后我们可以利用最先进的3D打印的技术,可以把这个东西打出来,然后把它放到指纹的读取器当中,就获得了一个2D的图片。

现在的问题是最开始2D的真实的指纹和做出来的2D的指纹能够判断出它的差别吗?这就意味着我们必须要用一些其他的特性来解决这个问题了。我们要判断放在指纹读取器上的到底是真的指纹,还是做出来的指纹,这也是个问题。

最后我也想提出一些问题,就是生物测量信息到底未来会走向何方,现在基本上生物测量信息已经无处不在了,包括在线支付,机场、火车站、网络等等。我觉得之后在我们日常生活中它的应用会越来越多。所以这种识别不仅仅基于身体上的一些特性,同时也基于你在做什么,就是通过这种情景来判断。比如说手机,你怎么拿着这个手机,你如何使用这个手机,你如何在键盘上打字,这些都是非常重要的一些特征,实际上可以判断出你个人的一些信息。

识别在不受限的条件下的人,这个挑战是很大的。在人比较配合,但是照片照得不是很好的情况下,识别起来并不容易。第二个挑战就是假的指纹的问题。所以这个还涉及到用户隐私的问题。你如何能够很好地保护那些储存的数据,因为它存储的方式一定要安全。这个也是非常大的挑战。我就说这么多,谢谢各位。


____________________________________________________________________________________ 

相关阅读

微软亚洲研究院举办第十六届“二十一世纪的计算” 学术研讨

历届“二十一世纪的计算”学术研讨会


欢迎关注


微软亚洲研究院官方网站:http://www.msra.cn

微软亚洲研究院人人网主页:http://page.renren.com/600674137

微软亚洲研究院微博http://t.sina.com.cn/msra

第十六届“二十一世纪的计算”学术研讨会 密西根州立大学教授Anil K. Jain主题演讲的更多相关文章

  1. 第十六届“二十一世纪的计算”学术研讨会 图灵奖获得者Butler W. Lampson主题演讲

    Personal Control of Digital Data 图灵奖获得者Butler W. Lampson主题演讲" title="第十六届"二十一世纪的计算&qu ...

  2. 第十六届“二十一世纪的计算”学术研讨会 牛津大学肿瘤成像学教授Michael Brady主题演讲

    Computing and Healthcare 牛津大学肿瘤成像学教授Michael Brady主题演讲" title="第十六届"二十一世纪的计算"学术研讨 ...

  3. 二十一世纪计算 | John Hopcroft:AI革命

    编者按:信息革命的浪潮浩浩汤汤,越来越多的人将注意力转向人工智能,想探索它对人类生产生活所产生的可能影响.人工智能的下一步发展将主要来自深度学习,在这个领域中,更多令人兴奋的话题在等待我们探讨:神经网 ...

  4. 剑指offer二十六之二叉搜索树与双向链表

    一.题目 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求不能创建任何新的结点,只能调整树中结点指针的指向. 二.思路 对二叉搜索树中序遍历的结果即为排序的结果,在中序遍历的过程中,建 ...

  5. 北京师范大学第十六届程序设计竞赛决赛-重现赛-B题

    一.题目链接 https://www.nowcoder.com/acm/contest/117/B 二.题意 给定一组序列$a_1,a_2,\cdots,a_n$,表示初始序列$b_1,b_2,\cd ...

  6. 西电大第十六届程序设计竞赛 A-GRE

    题目描述    不愤不启不悱不发,王萌萌为了能够成功上研,开始刻苦背GRE单词,但是由于她过于刻苦,在背会英语单词的同时,把中文读音忘了.于是王萌萌又开始复习起中文发音,她先从数字开始复习起...  ...

  7. 校第十六届大学生程序设计竞赛暨2016省赛集训队选拔赛(Problem E)

    Problem E Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  8. K-序列(埃森哲杯第十六届上海大学程序设计联赛春季赛暨上海高校金马五校赛)

    题目描述 给一个数组 a,长度为 n,若某个子序列中的和为 K 的倍数,那么这个序列被称为“K 序列”.现在要你 对数组 a 求出最长的子序列的长度,满足这个序列是 K 序列.  输入描述: 第一行为 ...

  9. “纽劢科技杯”第十六届同济大学程序设计竞赛暨上海邀请赛同步赛 J-张老师的游戏

    传送门 题目描述     在空闲时间,张老师习惯性地和菜哭武玩起了取石子游戏,这次的游戏规则有些不同,在他们面前有n堆石子,其中,第i堆石子的个数为a[i],现在制定规则如下:     从张老师开始, ...

随机推荐

  1. gitee上传下载代码命令

    在想要下载的文件夹下,鼠标右键,git bash 1.输入git init 进行初始化 2.git remote add origin https://gitee.com/XXXXXXXXXXXXXX ...

  2. C++对象数组与对象指针

    (一)对象数组 将具有相同类类型的对象有序地集合在一起便构成了对象数组,以一维对象数组为例,其定义形式为: 类名 对象数组名[]; Point points[100]; 关于对象数组的几点说明: (1 ...

  3. ASP.NET ZERO 学习 导航菜单

    定义PageNames和PermissionName PageNames : Web/App_Start/Navigation/PageNames.cs public const string Das ...

  4. spring学习之依赖注入DI与控制反转IOC

    一 Ioc基础 1.什么是Ioc? Ioc(Inversion of Control)既控制反转,Ioc不是一种技术,而是一种思想,在Java开发中意味着将设计好的对象交给容器来进行控制,并不是像传统 ...

  5. PAT Advanced 1037 Magic Coupon (25) [贪⼼算法]

    题目 The magic shop in Mars is ofering some magic coupons. Each coupon has an integer N printed on it, ...

  6. JavaSE--类加载器

    参考:http://www.importnew.com/6581.html Java 编译器会为虚拟机转换源指令.虚拟机代码存储在以 .class 为扩展名的类文件中,每个类文件都包含某个类或者接口的 ...

  7. sqlserver 数据库分组后取第一条数据

    分享一个朋友的人工智能教程.零基础!通俗易懂!风趣幽默!大家可以看看是否对自己有帮助,点击查看教程. 比如查询用户某一天最后一笔交易后的账户余额 SELECT *( SELECT *, row_num ...

  8. Python笔记_第一篇_面向过程_第一部分_5.Python数据类型之列表类型(list)

    Python中序列是最基本的数据结构.序列中的每个元素都分配一个数字(他的位置或者索引),第一个索引是0,第二个索引是1,依次类推.Python的列表数据类型类似于C语言中的数组,但是不同之处在于列表 ...

  9. 对于 C语言的扩展和JAVA的重载理解

    哎,又被学长看成笨蛋了  ,先前学习java,自己真是什么都要忘了,弄得自己连java最重要的概念--重载,都不知道是啥,还厚着脸皮和学长说  是函数名字一样  ,但是就是函数里面的参数和参数类型不一 ...

  10. 0x06 - Nginx 负载均衡会话保持

    Nginx 负载均衡会话保持 背景 负载均衡时,如果APP需要保持特定状态的时候,就要保证同一用户的 session 会被分配到同一台服务器上. 实现方案 使用cookie 将用户的 session ...