超越人类 计算机人脸识别率再突破

 

  人脸识别技术自发现以来被应用在很多的领域,虽然这项技术带来的好处被很多人认可,但是在技术上还是存在着缺陷。面部的识别率是关键的技术,主要是依靠算法来实现,尽管一直在提高,但是与人类本身来比较,始终难以超越。不过最近香港中文大学的两名科学家发明的新算法却首次突破了这个瓶颈。

  我们每个人都有过认不出某个自己曾经认识的人的经历,在不同的姿势、光照和表情下,这其实是一件比较困难的事情。计算机识别系统同样存在这些问题。事实上,尽管全世界的计算机科学家努力了这么多年,还是没有任何一种计算机识别系统在识别人脸方面能够像人类一样强大。

  但这并非是说人脸识别系统不够准确。恰恰相反,最好的人脸识别系统在理想情况下比人类识别的表现要好的多。但是一旦环境情况变糟,系统的表现就差强人意了。而计算机科学家们当然是非常想要开发出一种算法,在各种情况下都能够表现优异。

  现在,香港中文大学的路超超和汤晓鸥(音译)发明的新算法却能从超过13000张照片中找出同一个人的脸,准确率达98.52%(人类97.53%)。这个被命名为GaussianFace的程序,人脸识别算法首次超过了人类自身,有望实现从游戏登录到护照安检的应用。

  新的识别系统对于各种平台都能够提供人类级别的识别能力,从手机到电脑游戏中的人脸识别,从安全系统到密码控制等等。  

 

 人类脸部识别率

  任何一个人脸自动识别程序,首先要考虑的就是去构建一个合适的数据集来测试算法。那需要一个非常大范围的,各种各样的,带着各种复杂动作、光线和表情的,不同脸的图像,各种人种、年龄和性别都要考虑在内。然后还要考察服装、发型以及化妆等其他因素的影响。

  比较幸运的是,已经有这么一个拥有各种不同人脸的标准数据库——LabelledFaces。它拥有超过13,000张不同人脸的图片,它们是从网络上收集的6000个不同的公众人物。更重要的是,每个人都拥有不止一张人脸图片。

  当然也存在其他的人脸数据库,但是Labelledfaces目前是计算机科学家们所公认的最具参考价值的测试数据集。

  面部识别的任务是去比较两张不同的图片,然后判断他们是否是同一个人。(你可以试试看,能否看出这里展示的每对图片是否是同一个人。)

  人类在这个数据库上的表现可以达到97.53%的准确度。但是没有任何一个计算机算法能够达到这个成绩。

  直到这个新算法的出现。新的算法依照5点图片特征,把每张脸图规格化成一个150*120的像素图,这些特征分别是:两只眼睛、鼻子和嘴角的位置。

  然后,算法把每张图片划分成重叠的25*25像素的区域,并用一个数学向量来描述每一个区域的基本特征。做完了这些,就可以比较两张图片的相似度了。

  但是首先需要知道的是到底要比较什么。这个时候就需要用到训练数据集了。一般的方法是使用一个独立的数据集来训练算法,然后用同一个数据集中的图片来测试算法。

  但是当算法面对训练集中完全不同的两张图片的时候,经常都会识别失败。“当图片的分布发生改变的时候,这种训练方法就一点都不好了。”超超和晓鸥说到。

  相反,他们用四个拥有不同图片的,完全不同的数据集来测试“高斯”算法。举个例子,其中一个数据集是着名的Multi-PIE数据库,它包含了337个不同的物体,从15种不同的角度,在19种不同的光照情况下,分别拍摄4组图片。另一个数据库叫做LifePhotes包含400个不同的人物,每个人物拥有10张图片。

  用这些数据库训练了算法后,他们最终让新算法在LabelledFaces数据库上进行测试。目标是去识别出所有匹配和不匹配的图片对。

  请记住人类在这个数据库上的表现是97.53%的精确度。“我们的“高斯”算法能够达到98.52%的精确度,这也是识别算法第一次击败人类。”超超和晓鸥说到。

  这是一个令人印象深刻的结果,因为数据中的照片包含各种各样不同的情况。

  超超和晓鸥指出,仍然有很多挑战在等着他们。现实情况中,人们可以利用各种附加的线索来识别,比如脖子和肩膀的位置。“超过人类的表现也许只是一个象征性的成就罢了”他们说。