刷脸背后:人脸检测 人脸识别 人脸检索(txt+pdf+epub+mobi电子书下载)


发布时间:2021-03-12 02:08:34

点击下载

作者:张重生

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

刷脸背后:人脸检测 人脸识别 人脸检索

刷脸背后:人脸检测 人脸识别 人脸检索试读:

前言

我们正处于“刷脸”的时代,越来越多的“刷脸”应用开始出现。例如,北京西站的刷脸检票、厦门景点的刷脸验票、余额宝的刷脸认证等。初学者如果想进行人脸识别相关的研究和开发,那么他们应该阅读什么书籍呢?“刷脸”背后的技术,不仅仅是人脸识别,亦需要人脸检测和人脸检索等技术提供支撑。目前,市场上有少部分人脸识别的书籍,而专门讲解人脸检测和人脸检索技术的书籍则更少。近年来,笔者及其团队在从事人脸检测、人脸识别、人脸检索相关的研究时,查阅了很多国内外的参考资料,到目前为止,尚未见到一本能够全面涵盖“刷脸”应用所涉及的人脸检测、人脸识别和人脸检索相关技术且具有实战参考价值的书籍。其中的一个主要原因可能是刷脸技术的商业价值高。

本书按照“刷脸”应用开发时所需技术的先后顺序,通过原理、案例、实战的方式,分别讲解了“刷脸”应用需要掌握的三大技术:人脸检测、人脸识别和人脸检索。更为重要的是,本书高度注重实战应用,每一个算法都通过具体程序讲解算法的使用、实验设计,以及实验结果。读者不但能够了解每个算法的原理,而且能够掌握应用开发的实战技能。

本书的目标是作为通用、普及性强、可操作性强的人脸识别的书籍,方便研究人员、工程师、研究生、计算机专业的高年级本科生,快速上手并全面、深入理解,扎实掌握“刷脸”应用相关的理论和算法,帮助读者快速入门,理解“刷脸”应用背后的核心技术与算法,并切实掌握“刷脸”应用开发所需的实战技术。

本书主编为张重生,副主编为王弯弯、王朋友、赵冬冬。于珂珂、彭国雯、裴宸平等研究生对本书的编写、实验部分的验证提供了一定的帮助,在此致谢。

笔者自知才疏学浅,仅略知人脸检测、人脸识别、人脸检索之皮毛。书中错谬之处在所难免,如蒙读者不吝告知(邮箱:chongsheng.zhang@yahoo.com,微信号:A13938613173),将不胜感激。张重生2017年4月第1章人脸检测、人脸识别与人脸检索概述

视频和图像中人脸的检测、识别和检索,这些图像处理技术和应用在当今的科技发展中发挥着越来越重要的作用。例如,在公安、交通应用中,人群密度高的区域、城市的道路上都已部署了大量的监控摄像头(分辨率多为200万像素的高清数字摄像机),实现对目标人物(如可疑人物、犯罪嫌疑人)及其活动轨迹的全自动识别和检索,在公安和交通等应用中具有极其强烈的现实需求(目前主要通过人眼对视频进行人工分析,即办案人员用眼睛盯着视频、逐帧查看、反复比对,这一过程通常极为耗时)。要想实现对这些视频的全自动、智能分析,就需要准确地对人脸进行检测、识别和检索。而人脸检测、人脸识别和人脸检索,是当今智能识别的商业应用中迫切需要解决的现实问题。本书以实例为驱动,从应用的角度全面介绍、讲解、分析人脸检测、人脸识别和人脸检索问题中的经典算法及其应用。“人脸检测”和“人脸识别”是两个容易混淆的概念。通俗地讲,人脸检测是根据肤色等特征定位人脸区域;人脸识别是识别这个人到底是谁。换句话说,需要首先在图像中检测出人脸的区域,即人脸检测,然后再使用人脸识别的算法,识别出图像中的人到底是谁。而人脸检索,指给定一个或多个包含人脸的输入图像,从图像库或视频库中检索包含所输入图像中的人脸的那些图像。人脸检测和人脸检索通常都是非监督学习的过程,即图像一般都没有标签/分类;而人脸识别是有监督学习的过程,需要使用一定数量的有标签的图像训练分类模型。近年来,随着深度学习的发展,使用大量有标记的人脸图像训练的人脸识别模型,能够更加准确地提取人脸特征,用于人脸的检索、检测中。

需要说明的是,尽管现有算法在LFW等公开数据集上取得了96%甚至更高的准确度,但人脸检测、人脸识别与人脸检索仍然是一个尚未很好解决的实际问题。事实上,尽管LFW数据集比原有的公开数据集更加有挑战性、更加接近真实应用,但其仍然只是一个非常简单和初级的数据集,远不能代表真实应用场景。由于表情、年龄变化、光线变化、不同姿态、不同图像分辨率等因素,现有的技术还达不到完全好用的程度。事实上,多数相关产品都要求正脸照,很多商业软件还需要手动采集不同光照、有无眼镜时人的图像。1.1 人脸检测、人脸识别与人脸检索的应用场景

人脸检测是计算机视觉中的一个重要方向,也是一个和人们生活息息相关的研究方向,因为人脸是人最重要的外貌特征。利用计算机智能地检测、识别并分析人脸的特征信息,并利用这些信息进行进一步处理,可以使人们的生活更加方便化、安全化和自动化。

人脸检测技术在最近几年取得了突破性的进步。最初,人脸检测只能在无背景图片中检测出人脸的位置。现在,部分人脸检测技术可以准确地检测出自然场景下多种角度的人脸;可以判断两张人脸是否为同一个人;可以根据人脸分析人的年龄、性别和表情等。在人脸检测技术发展的过程中,出现了一系列的应用。本节就对基于人脸检测、人脸识别和人脸检索技术的应用做一个简单的概述。1.1.1 当前应用

1.人脸检测应用之面部分析

微软公司在2015年推出了一个有趣的网站,即how-old.net,该网站根据用户提供的照片分析出人的表面年龄和性别。该项目是微软工程师为了测试面部分析技术而发布的,并不是正式的项目,但自发布的短短几个小时内,使用的用户就达到了3.5万人。其检测结果和实际的年龄、性别可能会不一致,但整体上来说,比较接近。在国内,三个“85后”学生创建了Face++,它能够提供准确的面部分析技术,不仅可以分析出人脸的年龄、性别,还可以分析出种族和表情信息,其中性别准确率达到了96%。Face++为许多应用提供服务,比如,将Face++的人脸检测和识别技术嵌入在美颜相机和美图秀秀,从而更加准确地定位人脸中需要美化的区域,达到自动美颜的效果。现在一些手机自带的摄像功能可以在拍摄时自动识别年龄和性别,如小米4。

2.人脸识别应用之刷脸考勤

出勤记录对公司员工来说是必不可少的一件事情,传统的考勤是打卡签到或者点名签到。自从人脸检测和识别技术出现以来,逐渐出现了刷脸考勤机,该机器可以快速准确地识别员工、记录出勤信息。比如,某公司的刷脸考勤系统,首先将公司内部员工的人脸信息录入该系统,然后将嵌入人脸检测技术的摄像头连接到该系统,之后便可进行刷脸考勤。员工面对该考勤机时,其摄像头会自动捕捉到员工的人脸区域,并将获得的人脸区域和员工信息数据库进行比对,识别出该员工的姓名,并且记录该员工到达的时间,这便代替了常规的打卡签到。现在一些教室也使用刷脸考勤代替点名考勤,这在很大程度上提高了考勤率,降低了代签到的现象。

3.人脸识别应用之公安破案

现在一些城市的车站、海关、机场等地安置的摄像头都嵌入了人脸检测技术,公安会提前将一些犯罪分子的脸部信息录入系统,对视频中出现的每个人脸进行捕捉、分析,判断是否为犯罪分子。如果是犯罪分子,则系统能够自动发出警报,并追踪他们,从而加快公安破案。在2015年6月份,一名潜逃至中国台湾11年的福建籍女子晏某回中国大陆办理逾期的通行证,入境时,被海关的人脸识别技术捕捉到,发现该女子和晏某极其相似,经过公安的进一步侦查,发现其就是当年的晏某,最后将晏某抓捕归案。许多城市的公安系统已经使用该技术破获了许多案件,保障了城市的安全。

4.人脸检测应用之刷脸验票

2016年1月,厦门的邮轮中心开始使用刷脸验票机,乘客将二代身份证放在指定区域后,识别机上会显示二代身份证上的照片,并通过摄像头捕捉游客的人脸,比对当前游客的人脸与二代身份证中的人脸,等到机器识别后,会播报“验证成功,请通过”;否则会播报“人员与证件不符”。该机器识别快,仅需要5秒钟即可,并且正确率高达99%,杜绝了冒用他人身份证件的事情发生。

5.人脸检测应用之刷脸登录

阿里巴巴旗下的支付宝已经可以刷脸登录。在支付宝中,点击“安全设置”→“刷脸”,开启刷脸登录,然后根据提示按要求对脸部进行拍摄,录入成功后,退出账号便可使用刷脸进行登录。其大致流程如图1-1所示。在网络时代,每个人都在许多网站、APP上有自己的账号和密码,如微博的账号和密码、支付宝的账号和密码、微信的账号和密码、美团外卖的账号和密码等。为了安全起见,这些密码又各不相同,对于人类有限的记忆来说,很容易忘记这些密码。刷脸登录便可解决这些问题,登录时,这些软件自动对脸部进行检测,确认是本人后,便提示登录成功,否则提示登录失败。图1-1 刷脸登录的设置流程1.1.2 未来应用

虽然已经出现了一些刷脸登录、刷脸验票的机器,但是这些机器还没有广泛普及到普通大众中去。随着人脸检测和识别准确率的提高和人脸数据库的增大,以及从人脸中获取更多的信息(不再局限于性别、年龄和表情,也能获得姓名、职业等基本信息),未来刷脸登录会出现在各个APP中,如微信、微博、QQ、淘宝等。刷脸验票也会应用到火车站、机场、汽车站、旅游景区等多个场所。刷脸支付则会出现在银行、电商、支付宝、ATM机等金融渠道中。人脸检测还可以应用于广告中,在露天的广告牌前安置嵌入人脸检测技术的软件,该软件根据行人在广告牌前的表情、浏览时间等,分析行人是否对该广告感兴趣以及是否适合该广告。如果判定该行人需要这个广告,则向该行人的邮箱投递该广告;否则不向该行人投递广告。

未来,人脸检测应用会逐渐深入到交通、网络、安全、经济等领域,广泛应用在各行各业中,会成为人们生活息息相关的一部分。1.2 人脸检测、人脸识别与人脸检索常用的数据集

人脸检测和人脸识别算法都需要在大量的人脸数据集上验证、测试,当前比较经典和常用的人脸数据集有LFW和FDDB。本书还收集了另外两个数据集,分别命名为Wanwan1和Wanwan2。本节分别对这四个数据集进行介绍。1.2.1 LFW数据集

LFW(Labeled Faces in the Wild)数据集[1]是由美国马萨诸塞大学阿姆特分校收集整理并维护的,是为了在不受限制的环境下研究人脸识别问题而设计的[2]。该数据集中有13 233张图片,这些图片均从网上收集而来,得到这些原始图像后,经过处理,最后数据集中每张图片的尺寸都是250×250像素的,并且每张图片都以图像中人物的名字命名,不同人的图片被放在不同的文件夹中。一共有5749个文件夹,即5749个人。其中,4069个人只有一张图片,而1680个人有多张图片。如lfw\Aaron_Peirsol中有四张图片,命名形式如图1-2所示。

LFW数据集可用于人脸检测、人脸识别和人脸检索。图1-2 LFW中Aaron_Peirsol文件夹下的图片1.2.2 FDDB数据集

FDDB(Face Detection Data Set and Benchmark)数据集[3]由Vidit等人[4]收集整理,现由美国马萨诸塞大学阿姆特分校维护。设计该数据集的目的是为人脸检测算法提供一个数据集,并且在该平台上公平地比较和评估不同人脸检测算法的效果。该数据集中共有28 736张人脸图片,其中包含5171张个人脸的2845张图片来自数据集Faces in the Wild[5]。此外,该数据集还对图片中的人脸区域提供了准确的椭圆形的注解框。FDDB数据集中包含的人脸图片有不同姿势的、遮挡的、低分辨率的,甚至有失焦的,有彩色图像,也有灰度图像。如图1-3所示,呈现了一些FDDB数据集中的图片。FDDB数据集是世界上权威的人脸检测评估平台之一,它公布了大量算法评估结果的ROC曲线,如图1-4所示。

FDDB数据集主要用于人脸检测和人脸检索。图1-3 FDDB数据集中的图像示例图1-4 不同人脸检测算法在FDDB数据集上检测准确度的ROC曲线[3]1.2.3 Wanwan1数据集

Wanwan1数据集中包含100张侧脸图片,这些图片均来自网上。这些图片尺寸大小不一,场景也不一致。最重要的是,这些图像中的人脸均为侧脸。如图1-5所示,呈现了Wanwan1数据集中的一些图片。图1-5 Wanwan1数据集中的图片1.2.4 Wanwan2数据集

Wanwan2数据集中包含了100张多角度(甚至是360°)的人脸图片,下面呈现了Wanwan2中的一些图像,有360°人脸,如图1-6(a)所示;有90°人脸,如图1-6(b)所示。图1-6 Wanwan2数据集中的图片1.3 OpenCV的简介、安装与使用

OpenCV是开源、轻量、运行效率高、最接近商业应用的计算机视觉库,受到工业界和学术界的钟爱。它是以C/C++实现的,同时提供了Python、MATLAB、Java、C#等语言的接口。从2000年产生至今,OpenCV已经发布了十多个版本,其功能和算法越来越强大。对于图像处理和计算机视觉领域的初学者和爱好者来说,通过OpenCV能够在很短的时间(如几个小时)内快速构建一个可以很好地运行的算法示例,省去了环境配置、内存管理、算法理解、算法实现等耗时、困难的工作。即使领域内的专业人士,也需要经常使用OpenCV,调用其中的部分关键算法,用于自己的算法研究或实际应用中,因为OpenCV的用户量巨大,它所实现的算法一般都是正确的、高效的。下面介绍该软件的安装过程。

1.下载安装OpenCV

下载OpenCV,地址为http://opencv.org/downloads.html,在这里读者可以看到许多版本的OpenCV,本书使用的是Version249 OpenCV for windows。

下载完成后,双击运行OpenCV2.4.9,如图1-7所示。图1-7 OpenCV安装时选择提取的路径

选择一个路径,如D:\software\opencv249,单击“Extract”按钮后如图1-8所示。图1-8 OpenCV安装进度

等Extracting结束后,OpenCV安装完成。OpenCV安装在“D:\software\opencv 249”文件夹下。

2.配置OpenCV的环境变量

选择计算机→(右键)属性→高级系统设置→高级(标签)→环境变量→(双击)Path,在Path后面添加相应的路径,如图1-9所示。如果是32位操作系统,就添加“;… opencv\build\x86\vc10\bin”。如果是64位操作系统,就添加“;…opencv\build\x64\vc10\bin”。例如本书中OpenCV安装在“D:\software\opencv249”文件夹下,且本书所用的是64位操作系统,则在Path中添加的路径为:D:\software\opencv249\opencv\build\x64\vc10\bin。图1-9 配置OpenCV环境变量

3.在Visual Studio 2010下配置OpenCV(1)创建一个新项目。打开Visual Studio 2010,单击“文件”→“新建”→“项目”,选择“Win32控制台应用程序”,输入项目名称和项目路径,单击“下一步”按钮,最后在附加选项中选择“空项目”,再单击“完成”按钮,此时项目创建完成。本例中的项目名称为“face_detect”。(2)如果是64位操作系统,则将配置管理选为“x64”,如图1-10所示。图1-10 配置管理器(3)单击“视图”→“属性管理器”,如图1-11所示。图1-11 属性管理器(4)在打开的“属性管理器”工作区中,用鼠标右键单击“face_detect”,打开face_detect属性页,如图1-12所示。图1-12 face_detect属性页(5)选择“配置属性”→“VC++目录”→“库目录”,添加include所在的路径,然后单击“确定”按钮,如图1-13所示。图1-13 添加include路径(6)选择“VC++目录”下的“库目录”,添加lib对应的路径后,单击“确定”按钮,如图1-14所示。

如果是Win32编译器,则选择D:\software\opencv249\opencv\build\x86\vc10\lib;如果是x64编译器,则选择D:\software\opencv249\opencv\build\x64\vc10\lib。vc10代表Visual Studio 2010,

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载