人脸识别是目前应用非常广泛的一种生物识别技术。美国权威科学杂志《麻省理工科技评论》(MIT Technology Review)最近发布 2017 年全球十大突破性技术榜单,其中支付宝“刷脸支付”入选,点评称,作为全世界首批上线人脸识别技术的国家,中国的人脸识别技术精度已达到金融交易的级别,刷脸支付进入成熟期。实际上支付宝在 2015 年发布 9.0 版本时,就引用人脸识别技术用于用户登陆、实名认证、找回密码、支付风险校验等场景,迄今已有近1.2亿用户使用了人脸识别功能。此外,参加《最强大脑》战胜“水哥”的百度大脑——小度,同样具备强大的人脸识别能力。国内代表性的创业公司如 Face++、SenseTime 也是人脸识别领域的佼佼者。
与其他生物识别技术(指纹识别,掌形识别,眼虹膜识别和声音识别)相比,人脸识别具有以下优势:
- 其他每种生物识别方法都需要一些人的配合动作,而人脸识别不需要被动配合,可以自动用在隐蔽的场合,如公安部门监控行动;
- 当记录一个企图登录的人的生物记录时,只有人脸能更直观,更方便的核查该人的身份;
由于与传统的生物识别技术相比,人脸识别具有更为简便、准确、经济及可扩展性良好等众多优势,可广泛应用于安全验证、监控、控制等各个方面。
和人脸相关的任务有多种:
-
人脸检测(将图片中包含的人脸进行初步定位,以及关键点如眼睛、鼻子、嘴巴等更精细的定位,文章封面即为典型人脸检测结果)
-
人脸跟踪(视频中跟踪人脸位置变化)
-
人脸验证(输入两张人脸,判定是否属于同一人)
-
人脸识别(输入一张人脸,判断其属于人脸数据库全部记录中具体哪一人)
-
人脸聚类(输入一批人脸,将属于同一人的自动归为一类)
用于评测人脸识别算法效果的公开评测数据集为 LFW【1】,全称带标签的自然人脸数据库(Labeled Faces in the Wild),由美国马萨诸塞州大学艾姆赫斯特学院创建,完整的带标签自然人脸数据库可以作为一个压缩包(lfw.tgz)下载。每张图片命名方式为 “lfw/name/name_xxxx.jpg”, 这里“xxxx”是前面补零的四位图片编号。例如,前美国总统 乔治•W•布什 的第10张图片为 “lfw/George_W_Bush/George_W_Bush_0010.jpg”。
LFW 总共有 13233 张 JPEG 格式图片,属于 5749 个不同人。每张图片尺寸都是 250x250。LFW 是学术界进行人脸验证性能评测的事实上的标准测试数据集。
原始 LFW 图像:
经过人脸对齐之后的 LFW 图像:
原始 LFW 图像和经过人脸对齐的 LFW 图像都可以在文末获得下载方式。
目前在 LFW 上不同模型的成绩见下表所示:
下面我们可以用 TensorFlow 运行一个在 LFW 上人脸验证准确率达到 99.2% 的例程。
FaceNet 【2】是一个 TensorFlow 实现的人脸识别器,论文【3】有详细介绍。目前版本兼容 TensorFlow 1.0。读者在运行例程之前,应首先确保自己安装了 TensorFlow 1.0,安装步骤参考本公众号之前的文章。
$ git clone --recursive https://github.com/davidsandberg/facenet.git
$ cd facenet/
$ pip install -r requirements.txt
(pwd)/src
下载对齐后的数据集(下载方式见文末),解压,放到当前目录下,如下图所示。
$ ls -l
$ mkdir models
这里我们需要下载预训练好的模型 20170216-091149.zip (下载方式见文末)放到 models 目录下,并执行:
$ cd models/
$ unzip 20170216-091149.zip
$ cd ../
我们通过运行下面脚本,就能验证在 LFW 数据集上的人脸识别准确率。
**$ python src/validate_on_lfw.py **
**./lfw_align_mtcnnpy_160/ **
./models/20170216-091149
模型 20170216-091149 在 LFW 上的准确率约 0.992+-0.004。运行结果如下图:
运行今天例程所需的模型和数据文件均可在关注本公众号后,回复“20170311”获取下载链接。
【1】http://vis-www.cs.umass.edu/lfw/
【2】https://github.com/davidsandberg/facenet
【3】 FaceNet: A Unified Embedding for Face Recognition and Clustering, https://arxiv.org/abs/1503.03832
【4】 A Discriminative Feature Learning Approach for Deep Face Recognition, http://ydwen.github.io/papers/WenECCV16.pdf
【5】 Deep Face Recognition, http://www.robots.ox.ac.uk/~vgg/publications/2015/Parkhi15/parkhi15.pdf
如果你觉得本文对你有帮助,请关注公众号,将来会有更多更好的文章推送!