目 录
第一章 综合设计的进展情况 1
1.1 需求分析与建模 1
1.2 复杂工程问题归纳 1
1.3 实施方案与可行性研究 1
第二章 存在问题与解决方案 2
2.1 存在的主要问题 2
2.2 解决方案 2
第三章 前期任务完成度与后续实施计划 3
参考文献 4
第一章综合设计的进展情况
需求分析、概要设计、详细设计能梳理出来就可以
1.1 需求分析与建模
1.1.1人脸识别技术简介:
科技的进步和经济的发展带来了整个社会生活水平的提高,但同时,各种危害到社会安定和人民的生命财产安全的犯罪也层出不穷,对现有的安防体系提出了新的挑战。因此,采用高科技手段预防和制止犯罪,保证各行业和重点部门、重要机构的正常运转已成为安防工作的重要任务。 人脸识别技术:是基于人的脸部特征,对输入的人脸图像或者视频流,首先判断其中是否存在人脸,如果存在人脸,则进一步的给出每个人脸的位置、大小和各个主要面部器官的位置信息。并依据这些信息,进一步提取每个人脸中所蕴含的身份特征,并将其与已知人脸库中的人脸进行对比,从而识别每个人脸的身份。包括人脸检测、人脸标准化、人脸比对、人脸跟踪等
(介绍已完成工作情况,包括根据课题应用场景,对待开发软件或系统提出的需求进行分析,以及利用软件工程相关工具对需求建模)
1.1.2需求分析:
通过校园安防人脸识别系统管理门禁,针对流窜作案、多次作案人员,在校园出入门、周界、路口、重要区域增加人脸识别拍抓摄像机,对嫌疑人员、多次作案人员、兄弟院校嫌疑人员、公安部门通辑人员等建立嫌疑人数据库,对经过完人脸抓拍机人会实时抓拍与嫌疑人、在校师生、学校服务人员等数据库中的人像比对,发现黑名单或非本校师生等人的时候,校园安防人脸识别系统将自动报警
针对学生宿舍安全管理,以及在校学生夜不归寝,导致学生人身安全.学业。得不到妥善保障的解决方案及建议。在当今充满诱惑物欲横流的社会,充满好奇、缺乏分辨能力、自主意识薄弱的学生最容易学会夜不归寝并且无法自拔,还有甚者引以为荣,逐渐的人数越来越多。从而影响了学业,威胁学生的人身安全。通过校园宿舍人脸识别系统可实现以下功能。
大大降低校园被盗事件的发生,往往偷盗事件发生的两个因素,第一是学生防盗意识薄弱,第二是校园硬件设备滞后。而其中一个环节的提高,都会使得偷盗事件发生率的降低。传统的监控设备,起到作用是方便案件发生后的追查.而人脸识别的门禁设备,是把事件的发生制止与未然.把犯罪嫌疑人止于门外.
提高安全,解决潜在隐患。因为钥匙、磁卡可复制性,以及流动性强,决定了一旦钥匙丢失、或者传递,便使得宿舍楼处于亚安全状态,无形中增加管理难度。人脸识别系统采用人脸面部验证,不仅仅能确保出入人员的身份,更能记录下出入详细信息。通过设置,还能实现出入人员的管理(例学生在假期间识别无效,赋予假期 留校生专门权限)。 减少舍管员工作量,提高工作效率,人脸识别系统将代替舍管员晚归登记工作.减少工作中舍管员与晚归学生接触的工作部分,降低因为晚归事件延伸,导致增加舍管员增加工作量的不必要工作。
降低学生因为夜不归寝发生事故的机率.首先明确一点,由于晚归发生事故的学生,绝大部分是经常晚归的学生,因为不常晚归的学生晚间的警惕性较高.所以,针对这点,能够及时获取晚归学生信息,晚归次数,集中管理部分晚归“惯犯”,不仅仅在校园管理上获得“蛇打七寸”事半功倍的效果,“枪打出头鸟”还能给予同学们警示.人脸识别系统,配备的管理软件,可以轻松的为你获取和管理晚归人员信息。
人脸识别技术优势分析:
人脸识别是基于人的脸部特征信息进行身份识别的一种生物识别技术,它的唯一性和不易被复制的良好特性为身份鉴别提供了必要的前提。而人脸识别门禁系统就是把人脸识别技术和门禁系统相结合,通过对人脸的识别作为门禁开启的钥匙。它不仅免去了忘带钥匙或卡的烦恼,同时因为人脸识别门禁系统无需任何介质开门,而节省了不少成本,如人员变动不需要更换门锁、钥匙、IC卡等,只需要重新对人脸进行注册即可; 在小区门禁通道闸机应用中,人脸识别门禁系统由于操作简单、安全、便捷、智能,且无论室还是室外均可使用的特性,一直比“认卡不认人”的IC卡更具优势 。近几年人脸识别技术已在公安、海关、金融、军队、机场、企业等领域得到了广泛的应用。有专家进一步指出,人脸识别的全面应用时代已经到来,他将成为一种方便人们日常生活的重要技术。
将人脸识别技术广泛应用于门禁系统的身份识别系统中,将大大提高门禁系统运行的安全性和可靠性,最大程度上降低通过身份冒充而进入某种场所进行不法犯罪活动的可能性,极大减少了门禁安全系统中现存及潜在的技术漏洞、隐患和风险
1.2 复杂工程问题归纳
(在需求分析中总结归纳出需要解决的复杂工程问题)
图像质量:图像质量较差,会给识别带来困难,需要进行图像增强处理和平滑处理。
表情及其他:对于同一个人,表情不同得到的人脸图像也不同。其他如头饰、眼镜、胡子、化妆等都会给识别带来困难。
背景:背景会对机器识别产生不利影响,从一副图像中分辨出背景与目标本身也是一个识别任务。
光照:光照可以影响目标图像的结构,使得目标的轮廓、纹理都会出现偏差。
目标旋转:拍摄时,人的头部有可能会进行深度旋转和平面旋转,尤其是深度旋转会给识别带来很大难度。
尺度:图像中的目标尺度必须在一定范围内,目标太大或太小都会给识别带来困难。
1.3 实施方案与可行性研究
(针对需要解决的复杂工程问题提出实施方案,包括概要设计以及详细设计,并对其可行性进行分析,对某些特定问题可以列出多种可选择的解决方案)
基于人的脸部特征信息进行身份识别,用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行识别分析。
发展历程:
第一阶段:人脸识别作为一般性的模式识别问题进行研究。所采用的主要技术方案是基于人脸几何结构特征的方法,主要是对于面部剪影曲线的结构特征提取与分析的研究
第二阶段:这一阶段提出的算法在理想的图像采集条件、对象配合、中小规模正面人脸库上能达到较好性能
第三阶段:该阶段,非理想成像条件下(尤其是光照和姿态)、对象不配合、大规模人脸库是热点研究问题
人脸识别技术优点:
非强制性
指被识别的人脸图像信息可以主动获取而不让被测个体察觉。人脸识别是利用可见光获取人脸图像信息,不必强制被识别人接触设备;而不同于人脸识别,指纹识别或虹膜识别需要利用接触式设备采集指纹虹膜图像,这样的采集方式带有强制性
非接触性
相较其他生物识别技术而言,人脸识别是非接触的,用户不需要和设备直接接触,带有可伪装和欺骗性,可同时能够满足在实际应用场景下进行多人脸的分拣、判断及识别
并发性
在实际应用环境中,人脸识别系统可对进入单个摄像头的人员同时采集脸部特征,实时送入系统后台进行分析和识别,实现了高并发性。指纹识别或虹膜识别在同一时间,只能实现单个人员信息的采集和识别,不具有并发性
人脸识别流程及算法原理
人脸检测、关键点检测与人脸规整为人脸预处理流程,将一张图片中的人脸提取并处理成规范的人脸以便后期处理。特征提取为核心模块,是对人脸图片进行深层描述并提升识别效果的主要模块。而每个模块又由很多小的算法单元,每个模块每个单元算法必须都做到最好,组合起来的识别效果与精度才能够高
MTCNN+ FaceNet算法识别流程:
一、人脸检测算法:MTCNN
对人脸进行分析和处理的第一步。检测并定位图片中的人脸,返回高精度的人脸框坐标
MTCNN(Multi-task convolutional neural network,多任务卷积神经网络)是2016年中国科学院深圳研究院提出的用于人脸检测任务的多任务神经网络模型,模型中综合考虑了人脸边框回归和面部关键点检测,MTCNN算法是一种基于深度学该习的人脸检测和人脸对齐方法,它可以同时完成人脸检测和人脸对齐的任务,相比于传统的算法,它的性能更好,检测速度更快该模型主要采用了三个级联的网络,采用候选框加分类器的思想,进行快速高效的人脸检测。这三个级联的网络分别是快速生成候选窗口的P-Net、进行高精度候选窗口过滤选择的R-Net和生成最终边界框与人脸关键点的O-Net。和很多处理图像问题的卷积神经网络模型,该模型也用到了图像金字塔、边框回归、非最大值抑制等技术。MTCNN的网络整体架构如下图所示:
MTCNN第一阶段的目标是生成人脸候选框。首先对图片做“金字塔”变换。究其原因,是由于各种原因,使得图片中的人脸的尺度有大有小,识别算法需要适应这种目标尺度的变化;目标检测本质上来说上目标区域内特征与模板权重的点乘操作;那么如果模板尺度与目标尺度匹配,自然会有很高的检测效果。MTCNN使用了图像金字塔来解决目标多尺度问题,即把原图按照一定的比例,多次等比缩放得到多尺度的图片,很像个金字塔。
而P-NET的模型是用单尺度(1212)的图片训练出来的,推断的时候,想要识别各种尺度的人脸更准,需要把待识别的人脸的尺度先变化到接近模型尺度(1212)。
P-NET的输出结果还原到原图上代表了各区域上有人脸的概率,获取到结果后,一方面可以通过切threshold,过滤一些得分低的区域;另一方面可以通过NMS算法,过滤重叠度高的区域。
MTCNN的R-NET和O-NET都运用了与P-NET相似的处理过程,每个流程都能同时输出分类的结果,以及修正的值。对所有分类得分高于阈值,且重叠率不高的框进行修正。
P-NET最终将输出很多张可能存在人脸的人脸区域,并将这些区域输入R-Net进行进一步处理。
R-NET相对于第一层P-NET来说,增加了一个全连接层。
P-Net的输出只是具有一定可信度的可能的人脸区域,在R-NET中,将对输入进行细化选择,并且舍去大部分的错误输入,并再次使用边框回归和面部关键点定位器进行人脸区域的边框回归和关键点定位,最后将输出较为可信的人脸区域,供O-Net使用。对比与P-Net使用全卷积输出的1132的特征,R-Net使用在最后一个卷积层之后使用了一个128的全连接层,保留了更多的图像特征,准确度性能也优于P-Net。
O-NET基本结构是一个较为复杂的卷积神经网络,相对于R-Net来说多了一个卷积层。
该网络的输入特征更多,在网络结构的最后是一个更大的256的全连接层,保留了更多的图像特征,同时再进行人脸判别、人脸区域边框回归和人脸特征定位,最终输出人脸区域的左上角坐标和右下角坐标与人脸区域的五个特征点。O-Net拥有特征更多的输入和更复杂的网络结构,也具有更好的性能,这一层的输出作为最终的网络模型输出。
至此,MTCNN完成了人脸检测的工作,给出一张人脸图像,通过MTCNN可以标记出人脸区域和人脸关键点定位。结合FaceNet模型,就可以识别几张图片是否为同一个人,进而可以推广到更多的领域。
二、FaceNet
FaceNet模型是由 Google工程师Florian Schroff,Dmitry Kalenichenko,James Philbin提出。FaceNet的主要思想是把人脸图像映射到一个多维空间,通过空间距离表示人脸的相似度。同个人脸图像的空间距离比较小,不同人脸图像的空间距离比较大。这样通过人脸图像的空间映射就可以实现人脸识别,FaceNet中采用基于深度神经网络的图像映射方法和基于triplets(三元组)的loss函数训练神经网络,网络直接输出为128维度的向量空间。
FaceNet的网络结构如下图所示,其中Batch表示人脸的训练数据,接下来是深度卷积神经网络,然后采用L2归一化操作,在接入Embedding(嵌入)层,得到人脸图像的特征表示,最后为三元组(Triplet Loss)的损失函数。
batch :是指输入的人脸图像样本,这里的样本是已经经过人脸检测找到人脸并裁剪到固定尺寸(例如160x160)的图片样本。
Deep architecture:指的是采用一种深入学习架构例如imagenet历年冠军网络中的ZF,googlenet等。
L2 :是指特征归一化(使其特征的||f(x)||2=1,这里是2次方的意思。这样所有图像的特征都会被映射到一个超球面上)
Embeddings: 就是前面经过深度学习网络,L2归一化后生成的特征向量(这个特征向量就代表了输入的一张样本图片)
Triplet Loss: 就是有三张图片输入的Loss(之前的都是Double Loss或者 是 SingleLoss)。直接学习特征间的可分性:相同身份之间的特征距离要尽可能的小,而不同身份之间的特征距离要尽可能的大。
所谓嵌入,可以理解为一种映射关系,即将特征从原来的特征空间中映射到一个新的特征空间,新的特征就可以称为原来特征的一种嵌入。
这里的映射关系是将卷积神经网络末端全连接层输出的特征映射到一个超球面上,然后再以Triplet Loss为监督信号,获得网络的损失与梯度。
而Triplet Loss,就是根据三元组(Triplet)计算而来的损失(Loss)。其中,三元组由Anchor(A),Negative(N),Positive§组成,任意一张图片都可以作为一个基点(A),然后与它属于同一人的图片就是它的P,与它不属于同一人的图片就是它的N。 其学习目标如下:
使用数学语言描述如下:
既存在一个边界值α(为positive和negative的边界)使得对于任意个体其所有特征向量之间的距离恒小于该个体任意特征向量与其它个体特征向量之间的距离。进一步即可定义出Triplets Loss:
其中
网络没经过学习之前,A和P的欧式距离可能很大,A和N的欧式距离可能很小,如上图左边,在网络的学习过程中,A和P的欧式距离会逐渐减小,而A和N的距离会逐渐拉大。网络会直接学习特征间的可分性:同一类的特征之间的距离要尽可能的小,而不同类之间的特征距离要尽可能的大。
FaceNet的最终结果可以获得人脸数据的特征向量,然后计算两张图片之间特征向量的欧氏距离,可以直接表示两张图片的差异。
三、MTCNN+FaceNet算法训练优化及测试
MTCNN人脸检测的训练数据来源于wider和celeba两个公开的数据库,wider提供人脸检测数据,在大图上标注了人脸框groundtruth的坐标信息,celeba提供了5个landmark点的数据。根据参与任务的不同,将训练数据分为四类:
负样本:滑动窗口和Ground True的IOU小于0.3;
正样本:滑动窗口和Ground True的IOU大于0.65;
中间样本:滑动窗口和Ground True的IOU大于0.4小于0.65;
关键点:包含5个关键点做标的;
上面滑动窗口指的是:通过滑动窗口或者随机采样的方法获取尺寸为12×12的框:
wider数据集可以从http://mmlab.ie.cuhk.edu.hk/projects/WIDERFace/地址下载。该数据集有32,203张图片,共有93,703张脸被标记,如下图所示:
celeba人脸关键点检测的训练数据,数据可从http://mmlab.ie.cuhk.edu.hk/archive/CNN_FacePoint.htm地址下载。该数据集包含5,590张 LFW数据集的图片和7,876张从网站下载的图片。
2.下载LFW数据集:
- LFW数据集是由美国马萨诸塞大学阿姆斯特分校计算机视觉实验室整理的人脸检测数据集,是评估人脸识别算法效果的公开测试数据集,全称为带标签的自然人脸数据库(Labeled Faces in the Wild);
- LFW数据库内每张图片命名方式为“lfw/name/name_xxxx.jpg”,这里“xxxx”是前面补零的四位图片编号。例如,前美国总统乔治•W•布什的第10张图片为“lfw/George_W_Bush/George_W_Bush_0010.jpg”。
- LFW数据库 总共有 13233 张 JPEG 格式图片,属于 5749 个不同人。每张图片尺寸都是 250x250;
- 数据库下载地址:http://vis-www.cs.umass.edu/lfw/lfw.tgz
3.下载亚洲人脸数据库_CASIA-FaceV5,共500个中国人,每个人5张照片,总共2500张。
GitHub下载Facenet源码:https://github.com/davidsandberg/facenet.git
训练配置文件:train_facenet.py
同样采用LFW数据集进行评估,准确率为98.5%
人脸识别部署方案:
人脸识别系统利用分布式集群技术、基于神经网络的深度学习技术和海量数据存储大数据计算技术,实现实时视频监控图像、录像。 前端采取视频流或图片流方式进行视频图像传输,提供现场环境人脸图像,并形成人脸抓拍库。 人脸识别服务采用可动态扩展的分布式结构,底层负责人像库的库管理,处理人像库创建、抽取特征值、人像索引等底层应用。对外提供人像1:1比对和1:N比对、n:N比对、动态比对等服务,服务分别对应有应用网站的功能业务,以及外部调用的API接口,人脸业务系统,通过相应服务的API接口实现人证合一、静态检索、一人多证排查、洗白人员身份确认及其他大数据应用处理。系统间通过API方便的实现松耦合,快速的实现人像平台的集成。
人脸识别系统业务流程
人脸识别黑名单预警系统业务流程,出入口摄像机采集视频区域内的人脸图像,与黑名单库内的人员模板进行比对,比对成功则向派出所的平台发出预警信息,并弹窗提示,同时保存现场照片和识别记录,流程图如下:
系统工作流程
将各个区域的网络摄像 机采集的学生人脸数据 上传到后台人脸识别服 务器进行比对,并将比 对结果存入数据库,供 各个子系统进行调用, 实现对学生的统一管理。
出入口管理
出入口管理系统基本功能是对校园内教学楼、教室、宿舍、体育馆、食堂等重要部位的通行门以及主 要的通道口进行出入管理和控制。通过人脸分析和视频数据结构化分析,实时记录学生的活动情况、运动 轨迹以及对可疑人员进行人脸识别、布控、报警、定位、查询、快速破案、降低安全隐患。
出入口管理系统主要由前端高清摄像机及视频分析服务器组成,前端高清摄像机通过网络接入后台 服务器,高清摄像机对监管区域内所有行进人员进行人脸数据采集,人脸分析服务器通过对人脸的识 别、分析、建模,可实现黑名单布控报警、人脸比对、人脸照片查询等功能。
宿舍门禁管理
随着高校后勤改革的进一步深入,各高校基本实行了学生公寓化管理,而学生宿舍的管理也由传统的管理 模式向后勤企业化管理模式转变。学生公寓的安全保卫工作,不仅关系到学生宿舍管理人员的稳定和管理制 度的执行,而且关系到高校的稳定,关系到学生的人身财产安全。
系统由门禁管理计算机、人脸门禁一体机、人脸识别服务器等组成。 本方案设计在宿舍楼门口安装两台人脸门禁一体机,进行实时比对,并将前端人脸数据上传到后台服务 器进行人脸记录,实现人脸门禁管理的功能。
校园安保管理—访客管理
访客管理系统主要由访客一体机、管理终端、综合管理平台组成,并可与门禁子系统进行整合,对访客身 份进行有效确认,并管控访客的进出区域。 一般保安室放置桌面式访客一体机;已经预约过的来访人员使用自助访客一体机完成自助登记动作;未提 前预约的来访人员则需要到前台或保安室处登记,由工作人员利用台式
第二章 存在问题与解决方案
2.1 存在的主要问题
(分析、总结和归纳在综合设计开展过程中发现的主要问题)
2.2 解决方案
(针对发现的问题,通过分析文献寻求可替代的解决方案)
第三章 前期任务完成度与后续实施计划
(前期任务完成度自我评价及后续工程环节的实施计划安排)
参考文献
[1]https://github.com/AITTSMD/MTCNN-Tensorflow
[2]https://github.com/kpzhang93/MTCNN_face_detection_alignment
[3]https://github.com/davidsandberg/facenet
[4]MTCNN(Multi-task Cascaded Convolutional Net works )
[5]FaceNet: A Unified Embedding for Face Recognition and Clustering