动态人脸识别系统的构建

2016-08-01 07:19余程胜黄海于
网络安全与数据管理 2016年12期

余程胜,黄海于

(西南交通大学 信息科学与技术学院,四川 成都 611756)



动态人脸识别系统的构建

余程胜,黄海于

(西南交通大学 信息科学与技术学院,四川 成都 611756)

摘要:提出了一种实际应用环境下的动态人脸识别系统。首先讨论了动态人脸识别系统硬件环境的搭建,然后详细介绍了动态人脸识别系统的软件流程、主要的功能模块、人脸库的构建及管理等,最后对系统进行了测试。测试结果表明,所设计的软硬件系统能够满足实际应用需求。

关键词:人脸识别系统;系统硬件结构;人脸库;训练文件

引用格式:余程胜,黄海于. 动态人脸识别系统的构建[J].微型机与应用,2016,35(12):49-51.

0引言

随着科技的不断进步,人脸识别技术、智能视频分析技术等飞速发展,并已渗透到人们生活的各个领域,在诸如智能手机人脸解锁、公司智能签到等方面得到广泛应用。然而,这些系统存在很多弊端,比如需要正确的姿态以及固定的光照环境,在识别前建立待识别人员的人脸库,须有一定时间的停留等,这些都给用户带来不好的用户体验,导致系统的使用存在较大的问题。同时无论是手机上的智能人脸解锁还是智能签到系统,识别的对象都是人脸处于静止不动时的成像,成像限定为无倾侧、无强光干扰,属于静态人脸识别的范畴[1]。

本文讨论的是如何对运动的对象进行识别、如何自动将新人加入人脸库、如何得到人脸特征、如何在复杂环境下搭建动态人脸识别系统的硬件环境以及如何在人脸库不断扩大情况下对人脸库进行管理等问题。

1系统硬件选择与架构

1.1系统的硬件结构

系统的硬件结构与系统实际运用的环境密切相关。本文实验环境如图1所示。此实验环境光照强弱变化大、人口密集且相机覆盖范围广,具有很好的代表性,对商场、车站等处所需人脸识别系统,本文可提供很好的参考。

图1 实验环境平面图

根据需求设计硬件结构图如图2所示。

图2 硬件系统结构图

由图2可见,系统主要由相机、计算机(工作站)、路由器、服务器等组成。相机与工作站之间通过有线连接,工作站处理相机处采集到的信息,然后将信息传输存储在服务器上。在实际环境中,两台相机安装在图1所示屏风的两端,面对正门,形成一定的夹角,使其覆盖门前区域,如图3所示。

1.2系统硬件选择

在实际环境中相机需要覆盖的区域达到5 m×6 m,相对智能签到系统来说已经是其几十倍的范围了,要在此大范围内而且光照变化明显的情况下长时间进行人脸采集、人脸识别,这必然对相机提出要求。而一般要保证人脸识别,必须保证人脸大小不小于32像素×32像素[2]。

在实验中采用的是工业相机,因为工业相机可保证系统能长时间稳定地工作,而且工业相机具有高的图像稳定性、高传输能力和高抗干扰能力等。根据式(1)及式(2)可得出物距、物宽、物高、焦距的具体取值。

F=wD/W

(1)

F=hD/H

(2)

其中,F是镜头焦距,w是被摄物体在相机靶面上的成像宽度,D是被摄物体至镜头的距离,W是被摄物体的宽度(也即视场宽),h是被摄物体在相机靶面上的成像高度,H是被摄物体的高度(也即视场高)。如现在选取的相机镜头焦距为6 mm,w为4.28 mm,D为7 m,根据式(1)即可计算出被摄视场的宽度约为4.99 m。因此根据实际环境的需要通过计算得出相机的最低参数要求。另外,相机的像素是图像成像质量的一个重要影响因素,像素越高,成像质量越好,本文通过大量实验最终选用500万像素、帧率为14帧的工业相机来作为图像采集设备。

在人脸识别系统中,由于智能识别对CPU内存的占用率较高[3],同时系统需实时检测跟踪人脸,帧率为14帧/秒,每帧5 Mbit的情况下一台相机每秒传输量达到70 Mb/s,两台就有140 Mb/s,所以对计算机的CPU、内存、存储速度的要求较高。由于工作站较一般的计算机具有更好的稳定性,故本系统选用的是工作站,CPU为Intel I7-4790,主频为3.60 GHz,处理器内存为8 GB,另外使用了固态硬盘提高读写速度以适应需求。

2动态人脸识别系统软件设计

本文的人脸识别系统会自动将人脸库里没有的人(即新人)加入人脸库,前提是人必须进门而且人必须从门前区域的左边或右边离开相机监控区域,这样避免了所有进入相机覆盖范围内的人都加入系统,而有些人是不必加入系统的。如智能签到系统中只有对走进公司的人进行识别判断此人是否是公司员工,而不必去识别路过公司门口的行人。

2.1人脸识别系统流程

人脸识别系统首先通过两台相机采集人脸图像,再对采集到的图像序列进行人脸检测,然后进行人脸跟踪,判断其是否进入室内,若进入室内则对此人采集到的头像进行识别,判断其是否是新人,是则加入人脸库,最后对新的人脸库进行训练。具体流程如图4所示。

2.2人脸识别系统功能结构

动态人脸识别系统主要功能如图5所示。

图5 人脸识别系统功能结构图

图像采集模块从相机采集到原始图像保存在本地,处理过的图像会进行删除。

(1)人脸检测模块处理从图像采集模块得到的图像,实时进行人脸检测[4],若检测出图像中有人脸截取人脸头像。

(2)人脸跟踪模块从一个图像序列中跟踪得出该人是否进入室内,若进入室内则进入下一步操作,若没有则丢弃。

(3)人脸识别模块通过对人脸检测、人脸跟踪得到的一系列头像进行识别,进而判断该人是否为新人。

(4)新人入库模块是在人脸识别结果为新人时将采集到的该人的头像放入人脸库,以便下一次识别。

(5)人脸识别数据库管理模块可以对人脸库里的人进行管理,可以添加、删除用户,并对更改后的人脸库进行训练,将人脸特征保存到文件,方便下一次识别[5]。

2.3人脸库的构建

随着系统使用的时间越来越长,人脸库可能会从几百人增长到几千人甚至到几万人、几十万人,显然,如果一次性将人脸库里面的人拿去训练是行不通的,而且已经训练过的头像再次重复训练也是没必要的。因此需要采取些方法改进设计。

在这里,将人脸库与数据库结合起来使用,人脸库每新增一个人就在对应的数据库表(tb_facelib)里新增一行,每一行有一个编号对应人脸库里面的具体的一个人,这样对人脸库进行管理的时候也比较方便。在训练的时候会根据数据库tb_facelib表的行数对人脸库进行分割,每200人为一组分为一个小的人脸库进行训练,剩余的不足200人且大于100人的按200人的方式处理,小于100人的放入上一个人脸库一起训练,比如总共540人需训练,则每个库人数分为200人、200人、140人;若总共440人,则每个库分为200人、240人。每次训练完的时候会在数据库表tb_traininfo里更新信息,表的具体信息及其字段描述如表1所示。

表1 tb_traininfo信息描述表

当有新人加入人脸库需要训练的时候,只需要从tb_traininfo表里取出最后一次训练文件的相关信息,判断Train_num的数目是否小于300,是则直接将此训练文件下所有人脸加上新增的人脸一起训练形成新的训练文件,若大于300,则将此训练文件下面前200个人作为一个人脸库,剩下的作为另一个人脸库,分别训练,更新tb_traininfo表信息。这样就不必将整个人脸库重新进行训练,节约了大量时间。

当tb_traininfo表中Train_delnum达到一定值时,即被删除的人达到一定值时,则重新对人脸库进行分割训练。

识别的时候从tb_traininfo表中逐个取出训练文件名字,找到指定的训练文件拿去识别,直到得出识别结果,若识别过程中已识别出是人脸库里面的人则停止识别,这样大大节约了识别时间。

3系统运行结果

本文将识别程序写成Windows服务程序,计算机开机后会直接启动运行,并自动将相关信息存入数据库。识别程序采用经典的人脸识别算法FisherFace,并根据实际情况对此算法进行了一些改进,其他的人脸识别算法也可运用在本系统中,本文并没有对相关算法进行阐述,只是对搭建人脸识别系统进行了相关讨论,并且使用微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言C#设计了系统的操作界面[6]。系统运行后的主界面如图6所示。

4结论

本文从硬件及软件两个方面阐述了动态人脸识别系统的构建,分析了硬件系统中相关设备的选型及其相关参数的计算,设计了硬件系统结构,实现了识别系统中各个功能模块,并提出了一种解决人脸库不断扩大问题的实际可行方法。将本系统在实际环境中进行了测试,结果表明系统能够稳定可靠地运行,且界面友好、操作方便。但是由于跟踪算法、人脸识别算法存在的一些不足,如遮挡、姿态等都会对跟踪以及识别结果产生影响,因此,研究高准确率和高效率的人脸识别算法至关重要,这也是接下来需要改进的核心内容。

图6 人脸库管理系统

参考文献

[1] 刘翼光. 动态人脸识别系统[D].北京:中国科学院,2000.

[2] 高翔,张薇娟. 人脸识别系统的构建[J]. 琼州学院学报,2010,17(5):21-24.

[3] 何荣. 基于OpenCV的人脸识别系统设计[D].广州:华南理工大学,2013.

[4] 李哲,王述聪. 基于VC++的人脸识别系统的设计与实现探究[J].计算机光盘软件与应用,2012(12):197-198.

[5] 朱兴统,习洋洋. 基于C++和OpenCV的人脸识别系统的设计与实现[J].自动化与仪器仪表,2014(8):127-128,131.

[6] 齐立波,黄俊伟. C#入门经典(第六版)[M].北京:清华大学出版社,2014.

中图分类号:TP3

文献标识码:A

DOI:10.19358/j.issn.1674- 7720.2016.12.016

(收稿日期:2016-01-22)

作者简介:

余程胜(1990-),男,硕士研究生,主要研究方向:智能信息处理,分布式计算。

黄海于(1970-),男,硕士,副教授,主要研究方向:信息处理,计算机应用。

Construction of dynamic faces recognition system

Yu Chengsheng, Huang Haiyu

(College of Information Science and Technology, Southwest Jiaotong University, Chengdu 611756, China)

Abstract:This paper puts forward a dynamic face recognition system in a practical application background. Firstly, a discussion of the construction of hardware environment of dynamic face recognition system is conducted; then a detailed analysis of the dynamic face recognition proceed, followed by the discussion of the main function modules, construction and management of face database and so on; finally a test of the system is carried out. And the results of the test show that the design of software and hardware system can satisfy the practical application requirements .

Key words:face recognition system; hardware system structure; face database; training files