基于多通道卷积神经网络的虹膜系统*
2021-09-04李孟恒
周 创 李孟恒
(1安徽国防科技职业学院 安徽六安 237011;2中国电信股份有限公司上海分公司 上海 200000)
1虹膜相关知识
人的眼睛是由巩膜、虹膜、瞳孔﹑晶状体、视网膜等部分组成,虹膜是位于巩膜和瞳孔之间圆环状部分,其包含了眼睛的65%信息纹理[1],是人体中最为独特的器官之一,而且无法通过外科手术来改变。早在1987年,美国眼科医生Leonard Flom 和Aran Safir已经开始对虹膜特征进行生物识别特征研究了[2]。
能够作为鉴别身份的生物特征应该具备以下特征:
(1)普遍性:每个人都具备这种特征。除了少数患有先天性虹膜缺失或后天遭受意外失去虹膜的人外,每个人都有虹膜,具备高度的普遍性。
(2)唯一性:每个人拥有的特征应该不同。虹膜是由遗传基因决定的,即使双胞胎的虹膜纹理也是不一样的,所有虹膜具备作为生物特征识别的唯一性[3]。
(3)稳定性:所选特征不应该时间的变化而变化。人的虹膜在出生后一年到一年半的时间内发育完成,以后不会再发生变化,即使外科手术也无法改变。
(4)可采集性:选择的特征应用便于测量。虹膜采集可以用通过高清度相机采集,简单方便。
根据以上特征点,虹膜是可以作为生物识别的;目前虹膜识别主要应用再高度安全的门禁系统等。
2典型的虹膜识别系统
2.1 Daugman虹膜识别系统
在1993年,Daugman博士的虹膜识别系统是第一个商用的虹膜识别系统。该系统首先利用相机获取虹膜,经过运算获取虹膜内外边界,再将虹膜图像转换到极坐标进行正规化,然后利用二维Gabor转换获取其相位信息,获得256Bytes的虹膜码,进行虹膜识别[4]。
2.2 Wildes虹膜识别系统
在1996年,Wildes等通过处理得到边缘眼部影像,以霍夫变换(Hough transform)判断出虹膜内外图像,在利用金字塔分解算法(Laplacian pyramid)对虹膜进行细节的强化,使用高斯·拉普拉斯(laplacian of Gaussian)滤波器对虹膜进行分解,通过计算得到虹膜的特征码,相对于Daugman的虹膜识别,Wilders系统由于进行大量运算影响其速度。
3深度学习
由于计算机的运算能力的提升,是人工智能技术也随之蓬勃发展,人工智能系统在日常生活中也越来越常见。机器学习是人工智能领域的一个重要分支,它是通过算法使得机器能够从大量资料中学习期规律及特种,让机器有举一反三的能力,遇到新事件可以根据样本做出识别和预测。
深度学习概念最早由Geoffrey Hinton等人于2006年提出[4],其以神经网络为基础开创了一个新的机器学习研究领域。相对以往的类神经网网络,深度学习这种较为复杂且多层结构的类似于人类大脑神经传输的架构。可以说深度学习是模拟人类大脑运作方式进行学习的一种类神经网络架构。
3.1多层神经网络
多层神经网络是一种拥有多层结构的神经网络,包含一个输入层、一个输出层及一个或多个隐藏层。多层神经网络架构为了解决单一感知器无法解决非线性分类问题。
3.2 卷积神经网络
卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络。1998年 Yann Le Cun提出卷积神经网络是第一个可以成功训练多层神经网络结构用于手写数字的识别[5]。但用于其他方面 应用效果一直不佳,直到Geoffrey Hinton提出预训练的方式,卷积神经网络才有了革命性的进展,并推动了深度学习的热潮。
3.3全卷积神经网络
全卷积神经网络是包含一连串卷积层、池化层及多个全连接层[6],利用卷积步长及卷积运算时使用函数来代替其他类型层的网络架构。
3.4多通道卷积神经网络
卷积神经网络再区分虹膜纹理时,对于眼睑上有过多纹理或过小镜头反射光点扔无法完整区分出来,其原因是虹膜镜像切割成很多小区域后再进行训练。虽然可以在训练上比整个影像速度要快很多,但也会因此缺少影像的整体特征,为了改善这个问题,将使用多通道卷积神经网络
4实验
4.1实验资料
ICE database分别有左眼和右眼两个数据库,其中左元有120个类别,每个类别分别有1~25张不同的影像,共有1528张虹膜影像,每张虹膜影像的尺寸为60×360。右眼有124个类别,每个类别有1~25张不等的影像,共有1425张虹膜影像,每张虹膜影像的尺寸60×360;Polar LG总共有111个类别,每个类别有4张虹膜影像,每张虹膜尺寸为60×360;Polar PIER总共有111个类别,每个类别有3张虹膜影像,每张虹膜尺寸为60×360。如图1所示。
图1 从左到右分别为ICE database 、Polar LG、Polar PIER中的虹膜影像
实验主要使用ICE database中左眼虹膜影像作为训练和验证的资料,并且使用ICE database、Polar LG、Polar PIER作为测试的数据,实验的数据主要以虹膜的正确率和使用预测的虹膜识别等错误概率EER(equal error rate)作为评估依据。
4.2使用卷积神经网络进行虹膜识别
首先将每张输入图像切割成为60×60的patches共11张,之后进行翻转和模糊化处理,所以每张图片可以产生22张训练patches,使用ICE database中左眼影像,总共为1528张影像,通过训练产生了1528×11×2=33616张60×60输入patches。并且使用其中约10%的左眼图像作为验证数据,输入影像出了切割和翻转外,还会使用L0 gradient minimization模糊化作为神经网络输入影像的前处理,设定模糊化参数λ= 0.00005。
采用使用三层卷积层、两层池化层和两层反卷积层,输入层和输出层都是60×60的影像,将尺寸为60×360的虹膜影像以每次移动30pixels期有重叠的方式分割成很多个60×60的 patches,并且通过左右翻转增加训练的资料。
通过不同方法产生虹膜比较,如图2所示,可以看到与rule-base的方法比较起来,实验更为解决ground truth,如果使用rule-base的方法在同时有眼睑和睫毛情况容易产生误判,眼睑会受到睫毛的干扰被系统认为是虹膜纹理,使用该方法可以编码这个以问题。在使用ICE Database的右眼当做测试影像时,争取率最高可以达到92.87%。
图2 从左到右分别为输入虹膜纹理、ground truthrule-based及卷积神经网络产生的图片。
4.3 多通道卷积神经网络架构
由4.2节卷积神经网络再区分虹膜纹理时,部分眼睑上有过多纹理或过小的镜头反射光点仍无法完全的将其分辨出来。其原因是虹膜切割成很多块后再进行训练,虽然训练速度上比整张影像要快,但也会因此缺少影像的全局特征。为了改善这些问题将使用多层卷积神经网络,实验中将不再将虹膜切割为60×60的图像,输入影像加入第二和第三通道,会将影像分别以λ= 0.0005和λ= 0.005进行模糊化处理,将原本为灰阶影像的虹膜增加为三通道,处理增加第二和第三通道外,还使用左右翻转和缩放来进行增加训练量。缩放比例为[0.6 0.8 1.2 1.3],使用ICE Database的左眼1528张 影像作为训练和验证资料,经过模糊化、翻转、缩放后会有1528×2×5=15280张影像作为训练和验证使用,其中燕子使用约10%不会和训练资料中的左眼影像,该实验的结果作为接近ground truth的效果,如3所示。
图3 从上到下分别为虹膜纹理、ground truth、rule-base、CNN、FCN的结果。
根据不同测试结果进行绘制ROC曲线,如图4所示。使用多层卷积神经网络识别率上更接近ground truth的结果,与rule-base的结果有明显差距,使用多层卷积网络、rule-base、ground truth的EER分别为0.0851%、0.3249%、0.0696%,如表1所示,从结果中可以看出,使用多层卷积网络方式与ground truth相差无几。
图4 ROC曲线
表1 FCN和rule-base的正确率
5结论
特征码的提取是提高虹膜识别率的关键因素之一,分别使用卷积神经网络和多层卷积网络来训练ICE database中左眼,并与ICE dataBase中右眼、PolarLG、Polar PIER作为测试影像。
实验结果表明,使用多层卷积神经网络虹膜识别的正确率高达95.57%,相对于以往的rule-base或其他算法更为准确、可靠。另外对于大规模虹膜识别,使用卷积网络可以达到EER=0.15%,使用多层卷积网络方法更可以达到到EER=0.0852%的极佳表现。实验的结果表明,在识别率上,文章提出的方法性能非常令人满意。
对于未来的工作,若使用卷积神经网络的方式,可以尝试在隐藏层中使用更多的层和更多的神经元设定,以便获取更多的特征,也可以尝试使用不同的切割大小、卷积核大小。若使用多层卷积网络,有更强服务器,可以尝试使用FCN-16S或FCN-8S的架构。