基于人脸识别技术的人证比对系统设计*

2018-09-12 09:28曲洪权
关键词:身份证人脸人脸识别

王 祺,田 青,赵 歌,曲洪权

(北方工业大学电子信息工程学院,北京 100144)

随着社会的不断进步和科技的迅速发展,快速有效的自动身份验证和查询系统的需求越来越大[1-5].但目前很多银行、机场仍是通过工作人员的主观判来确定某人是否人证相符,这种方法的效率和准确率都不尽如人意.为此,笔者设计出一套人证比对系统,有效利用二代身份证信息,能高效、准确地完成人证比对.

1 人脸识别训练

1.1 人脸预处理

训练测试数据集采用CASIA-Webface[6].CASIA-Webface共有10 575人的图像信息,每个人的图片数量从几十到几百不等,图像类别、数量之间严重不平衡,人脸位置分布不确定.因此在预处理过程中,首先定位图片中的人脸位置坐标,并绘制相应的矩形框,框出人脸;然后根据人脸位置获取人脸关键点位置信息,如眼睛、鼻子和嘴等68个特征点.采用dlib工具[7]完成人脸检测及特征点提取,具有较高的准确率.由于数据集中存在多姿态人脸图像,因此在得到人脸关键点后,利用仿射变换[8]对人脸进行校正对齐,将其调整为近似于正面人脸的图像,有助于之后的训练.人脸预处理过程如图1所示.

图1 人脸预处理过程Fig. 1 Face Image Preprocessing

1.2 网络模型

卷积神经网络的结构主要包括卷积层、池化层、全连接层和输出层[9].卷积层通常包含若干个特征平面,每个特征平面由一些矩形排列的神经元组成,同一特征平面的神经元共享权值(卷积核).卷积核一般以随机小数矩阵的形式初始化,在网络的训练过程中卷积核将学习得到合理的权值,其优点是减少网络各层之间的连接,同时降低过拟合的风险.卷积层的工作是将卷积核(特征矩阵)和输入值(前一层的特征平面)按照顺序依次求积,再对结果进行加权求和,然后加上一个偏置项,通过非线性函数(激活函数)得到最后的输出结果.卷积层的输出结果为xl=f(ωlxl-1+bl).其中:l为层数;ω为权值;b为偏置项;f为激活函数,常见的是sigmoid函数.

池化层的主要目的是降维,具体操作是对不同位置的特征进行聚合统计,计算图像在一个区域上的某个特定特征的平均值 (或最大值).经过池化层的采样后,输出特征图的数量不变,尺寸变小,减小了计算复杂度.

全连接层的主要目的是将输出层的神经元与输入层的每个神经元都连接起来,神经元数目通常与分类个数有关.

本研究采用的网络结构包括5个单元模块和1个全连接层(图2),其中每个单元模块由2~3个卷积层和池化层组成.以一张RGB图像作为网络输入,经过5个单元模块的特征提取、非线性映射和特征降维后,再通过全连接层筛选特征,进一步降低特征维度,最终由SoftMax分类器输出,实现人脸的判别.

图2 网络结构Fig. 2 Network Structure

每层输出特征图大小的计算公式为

其中:w为输入图像宽度;h为输入图像长度;w′为输出特征图宽度;h′为输出特征图长度;p为填充像素数;s为步长.以第1个单元模块为例.卷积层的配置为:卷积核大小(kernel_size)3×3;卷积核个数(num_output)64;卷积核步长(stride)默认1;pad像素1.网络输入224×224(width×height)的图像,经过2个卷积层后,每个特征图的大小为((224-3+2)/1+1)×((224-3+2)/1+1)=224×224.池化层的配置为:池化核大小(kernel_size)2×2;池化核步长(stride) 默认2;pad像素0.经过池化层后,每个特征图大小为((224-2)/2+1)×((224-2)/2+1)=112×112.因为有64个核,所以经过第1个单元模块后输出特征图大小为112×112×64.同理,经过第2个单元模块后输出特征图大小为56×56×128;经过第3个单元模块后输出特征图大小为28×28×256;经过第4个单元模块后输出特征图大小为14×14×512;经过第5个单元模块后输出大小为1×1×512.由于本研究对10 575个人的不同人像信息进行训练,因此对应输出10 575类,全连接层设置为10 575个神经元.

2 人证比对系统设计

2.1 系统的设计思路

首先,刷卡获取身份证信息的同时读取实时视频,截取视频当前帧,利用dlib[8]人脸检测算法提取视频帧中的人脸位置信息,并对其进行归一化处理;然后,将处理好的视频帧和身份证图片输入训练好的模型中,分别提取2张图片的特征信息,对比并判断是否为同一人;最后,将身份证信息输入数据库中,对比并判断是否为黑名单人员.基于人脸识别技术的人证比对系统设计流程如图3所示.

图3 基于人脸识别技术的人证比对系统设计流程Fig. 3 Face Verification System Design Flow Base on Facial Recognition Technology

2.2 信息采集模块

信息采集模块由身份证信息采集和视频图片采集组成.身份证信息采集是将身份证读卡器与PC机通过USB接口相连,获取身份证信息,包含姓名、身份证号码和照片等;视频图片采集是将高分辨率的摄像机与服务器通过网口相连,获取人脸图像.由于人脸图像的质量与人证比对系统的准确率有直接联系,因此安装摄像机时应尽量保持正面视角,人与摄像头的距离不要过近,以免出现失真,人脸两眼间距不小于40像素.

2.3 多人脸视频场景的快速比对

实现场景为1∶1的人脸验证,但是由于系统部署的环境复杂,视频中可能出现人脸数量较多的情况,导致识别比对速度过慢,因此先预估当前帧所在区域,缩小检测范围,确定感兴趣区域,当人脸出现在规定区域内再进行检测识别.

在人脸检测阶段,首先检测视频帧上的所有人脸图像,并按图像大小进行排序,筛选出排名前3的人脸图像;然后将3张图像依次输入网络中,根据网络参数转换为对应的特征向量;最后对比身份证照片与当前帧图像中的3个特征向量,计算比分,取比分最高的与算法阈值进行比较,若高于阈值则判断为同一人,否则判断为不同人.

2.4 数据库比对模块

数据库比对模块是将身份证读卡器传来的持卡人员信息(包括姓名、身份证号码、出生年月和地址等)传至数据库比对函数,对比身份证信息与oracle数据库中的人员信息.数据库比对流程如图4所示.

图4 数据库对比流程Fig. 4 Database Comparison Process

2.5 光线补偿

在系统部署中,摄像机安装位置面对大门,摄像产生逆光,导致人脸图像偏暗,光线强烈的时候,图像难以分辨,因此必须通过光线补偿来解决光照问题.光线补偿通常有2种解决方案:(1)在人脸正前方安装补光灯,这一方案可解决逆光问题,但是会对持卡人员产生视觉影响并且可能导致图片过亮过白;(2)在天花板上安装补光灯,这一方案对持卡人员干扰较小,但是可能会因为光线分布不均而出现阴阳脸影响图像效果.笔者综合这2种方案的优点,在摄像机上方和侧面较高且稍远离人脸的位置架设补光灯,这就保证了光线均匀,很好地解决光照问题.

3 系统测试结果

系统测试包括硬件环境和软件系统的稳定性测试,其中人脸比对的准确率和识别速度是测试的重点.系统界面如图5所示,实验条件和性能参数列于表1.

图5 系统界面展示Fig. 5 System Interface Display

实验条件 性能参数计算机硬件CPU:Intel(R) Core(TM) i7-4712MQ CPU @2.30 GHz计算机操作系统Windows 8 64位操作系统摄像头型号海康DS-2CD3T45-I8网络摄像头,采集帧率为20 fps 二代身份证阅读器型号新中新身份证阅读器,读卡时间小于1.0 s

实验共准备了正、负样本各400对进行测试.以自建数据集下正负样本每组图片的相似度得分和对应标签为输入数据,以相似度得分为阈值依次排序,将测试样本当作正样本逐个进行预测,可分别计算出TPR和FPR的概率值.部分阈值与TDR和FRR的概率值的关系如表2所示.

表2 TPR和FPR的概率值与阈值的关系

由表2可知,坐标为(0.045,0.955)的点最接近(0,1),此时阈值为0.379,正确识别率为95.5%.在实际人证比对场景中,为了尽可能地降低错误识别率,阈值设置为0.4,而正确识别率可以通过对人脸姿势的调整来提升.系统模拟现场测试1 562人,通过率96%,从接收到身份证读卡器信息到完成比对,平均耗时约0.83 s,CPU及内存占比稳定,满足现场比对需求.

4 结语

设计了一套采用卷积神经网络方法进行人脸识别的人证比对系统.利用获取到的二代身份证信息完成人证比对和数据库比对双重验证,避免了证件被他人借用或冒用的风险.在实际测试环境中,人脸比对通过率达到96%,且满足实时性要求.由于本研究在人脸预处理时采用传统人脸检测及对齐算法,因此人脸对齐精度偏低,下一步的研究将对此作改进,为人脸识别提供更好的数据预处理,从而提升人脸识别模型的准确率.

猜你喜欢
身份证人脸人脸识别
都有身份证
人脸识别 等
有特点的人脸
一起学画人脸
揭开人脸识别的神秘面纱
人脸识别技术的基本原理与应用
三国漫——人脸解锁
据说最近流行晒身份证,各路大神都被炸了出来
趣说古人的“身份证”
人脸识别在高校安全防范中的应用