于泰峰
(四川大学计算机学院,成都610065)
虹膜是最具有潜力的生物特征之一,包含了极其丰富的纹理信息和结构信息,被称作“视觉指纹”,受到了世界范围内的重视,并广泛应用于各种场景。虹膜识别属于高级生物识别技术,具有先天优势,比指纹和人脸有着更高的精确度,虹膜识别发生故障的机会是各种识别技术中最小的,它正在成为身份认证的一种新的介质。虹膜识别的第一步便是虹膜区域的定位和完整提取,随后的定位和分割的精度,直接决定了后续识别率的高低。所以,一个能够快速定位、准确性好的虹膜识别算法,具有重要的应用价值和开发前景。
虹膜识别的构想最早由Frown 发起,然后Daugman 在算法上首次将其实现投入实际生产。经典的虹膜算法有Daugman[1]和Wildes[2]。Daugman 主要方法是应用了微积分算子,但在过程中容易受到图像边缘干扰,在处理分辨率较大的图像时定位慢效率低。Wildes在Daugman 虽然有了很大改进,但是算法对噪声敏感,检测结果不一定有效。总结来说,两种算法在一些有遮挡、不完整或是光线极端环境的图像,不能很好地工作。
近年来,关于虹膜定位已有一些发表的研究工作。孙正等人[3]提出基于单位扇环灰度的虹膜定位算法,对Daugman 算法进行了一定的改进。杨秀等人[4]提出一种快速有效的算法,组合了多个步骤进行定位。王延年等人[5]提出了一种基于阈值的分割算法,速度快而且准确度高。还有一些工作是基于神经网络展开的。滕童[6]提出一种基于级联神经网络的多任务虹膜快速定位方法,可以排除干扰信息,具有较高的鲁棒性。林珊珊[7]运用迁移学习,基于Mask-RCNN,对图像进行像素级别的分类,能够很好地区分虹膜区域和非虹膜区域。本文提出一种基于Unet 网络架构的卷积神经网络,并在此基础上使用MobileNet 结构对编码层进行替换和改进,加入了深度可分离卷积模块,在虹膜分割上取得了快速且准确的效果。
Unet 网络模型是由Olaf Ronneberger 等人[8]开发,用于生物医学图像分割的网络,使用很少的图像数据就可以得到很精确的分割结果。它的模型结构主要分为两条路径。第一条路径是编码层,用于提取图像特征,捕获图像中的上下文,编码层其实就是传统卷积层和最大池化层的堆叠。它主要的贡献和创新在于它的第二条路径,即对称的扩展路径,也可称之为解码层。两条路径的信息汇集到一起,将上下文信息传递到更高分辨率的网络层,实现精确定位,它是一个端到端的全卷积网络,只包含卷积层,不包含任何全连接层,它的图像输入可以是任何大小。这样的两条路径正好构成一个U 字型,所以形象地称之为Unet。左边路径实现的下采样,右边路径实现的是上采样。每一个下采样的网络模块都是由(卷积层+ReLU 层)×2+最大池化层来实现的,卷积核为3×3,步长为1。每进行一次下采样图像的大小变为原来的一半。上采样层每进行一次上采样,图像大小变为原来的2 倍,扩大的方式可以使反卷积或upsampling。这样,将上下采样两条路径上,大小相等的特征图做级联操作,继续上采样,最终得到一个和原图像相同大小的图像,每个像素点的概率代表它是属于前景还是背景。
当数据过多而网络层数太少时,网络提取特征的能力不够,会使得训练不充分,预测结果变差,这时候就需要对编码层做是当的调整和替换,使用和数据规模相匹配的网络,增加网络的复杂度,但不能一味地追求深度,这样反而会导致网络过拟合。本章基于MobileNet 网络,改进Unet 模型的编码层,加入了深度可分离卷积模块,并在解码层的四个不同层的位置进行级联操作。
MobileNet 网络模型[9]由Google 于2017 年提出,该网络最大的亮点是引入了深度可分离卷积(Depthwise Separable Convolution)的概念,如图1,减小模型的大小和复杂度,是专门用于移动或嵌入式设备的轻量级卷积神经网络。下面将简单介绍深度可分离卷积的过程。
图1
首先,传统的卷积结构,将每个卷积核和样本特征相乘后求和,例如一个224×224×3 的图片输入,3 代表三通道RGB,经过64 个3×3×3 的卷积核之后,padding设为same,输出尺寸与输入相同,输出的是224×224×64 的特征,这就是普通卷积的工作过程(224×224×3)→(3×3×3×64)→(224×224×64)。而深度可分离卷积把这个过程拆分成了两个部分:①深度卷积(depthwise convolution),即图2 中的dw。②逐点卷积(pointwise convolution),即图2 中的pw。首先进行深度卷积,每个卷积只和一个通道相乘,224×224×3 的输入得到224×224×3 的特征图,此时需要扩展特征图,这时候就用到了逐点卷积,它与常规卷积类似,卷积核大小为1×1×3,一共需要64 个该卷积,来使输出为224×224×64。所以,深度可分离卷积的工作过程是(224×224×3)→(5×5×1×1)→(1×1×3×64)→(224×224×64)。建立深度可分离卷积的意义在于大大减少参数量和计算成本。在此例子中,传统卷积基需要进行86,704,128次乘法运算,而而深度可分离卷积只需要10,988,544次乘法运算,计算量增加接近9 倍。
MobileNet 一共有13 个深度可分离卷积模块,每个模块包含1 个深度卷积和1 个逐点卷积,改进的网络分别是在1、3、5、11 四个位置进行级联操作,网络模型如图2。其中CBR_block 模块的组成为(传统卷积层→BN 层→ReLU 层)×2。深度可分离卷积模块简称为DWC_block。紧挨block 的尺寸描述代表每个block结束后特征的大小。
图2 改进Unet网络模型示意图
虹膜图像获取是虹膜定位中最关键的步骤,要获取到精准的或具有实验意义的虹膜图像,往往需要被采集者和采集源稍加配合。例如调整人眼的位置,但无需任何身体上的接触。虹膜采集设备随着计算机技术的发展,从原本的笨重变得越来越轻巧。在数据采集中,不可能将人眼位置完全固定,每次都使虹膜处于相同的位置,实际采集的数据往往是人的整个眼部,包含眼睑、睫毛等,不同人种、性别、年龄,虹膜的大小可能各不相同,光照也会改变图像的对比度和亮度以及瞳孔的大小,所以虹膜定位就是要在考虑诸多不确定因素的情况下,准确分割出边界。
本实验采用的虹膜数据来自CASIA-IrisV4[10],由中国科学院自动化所采集。Interval 是由近距离虹膜相机拍摄,得到的虹膜图像十分清晰,包含复杂的纹理特征。Lamp 是由OKI 公司生产的手持虹膜传感器采集的图像,包含了虹膜纹理在不同光照条件下由于瞳孔的扩张和收缩而产生的弹性变形,虹膜会控制瞳孔的通光量,瞳孔大小会碎光线的变化而变化,人无法进行有意的控制,这一点可以判断目标是否为活体。Twins包含双胞胎的虹膜图像,由OKI 公司的IRISPASS-h 相机采集,即使是双胞胎,虹膜图像也会有一定的差异。Syn 包含了1 万张人工合成的图像,引入了变形、模糊和旋转,非常接近真实图像。
表1 CASIA-IrisV4 数据的细节描述
传统的虹膜定位包括两部分,内边界的定位和外边界的定位。在本算法中,实现了端到端的算法,将虹膜的的内外边界同时定位,具体方法是根据数据集中虹膜边界位置信息,生成对应的mask 图像,白色区域就是需要定位的虹膜区域,像素值为255,背景呈黑色,像素值为0。将原图像和mask 图像一一对应,用于神经网络的训练。并按照3:1:1 的比例来分割训练集、验证集和测试集。
图3 用于训练的真实图像和对应mask
图像数据在输入Unet 网络之前要同一做归一化,将输入图像的像素值归一化至区间[0,1],对每一张虹膜图像进行归一化操作,具体公式如下:
其中x 表示输入的图像像素值,min(x)和max(x)分别表示一幅图像像素值中的最小值和最大值,y 表示归一化后的图像像素值。归一化可以使得网络易于优化和收敛,加快训练进程。
本实验所用的硬件环境:CPU 型号为Intel i7-9700K 3.6GHz,GPU 型号为NVIDIA 1080Ti 8G,内存32G,硬盘1TB。本实验的软件环境:Windows10 系统,Python3.6,Keras2.3.1,TensorFlow-GPU-1.8.0,Cuda9.2,Cudnn7.1.4。
本文采用mean Iou-score 即交并比,以及mean f1-score,这两个指标来评价原始Unet 模型和加入深度可分离卷积后改进的模型性能。IoU 指标也称Jaccard 指数,见公式(2),本质上是一种量化真实mask 和预测输出的mask 之间重叠百分比的指标,值越高表示预测和真实值越接近。f1-score 是衡量二分类的指标,同时兼顾了精确率和召回率,可以看做是两者的平均,最大是1,最小是0,越大说明模型效果越好,见公式(3),还加入了两种网络的每帧预测速度和网络参数及模型大小的对比。
原始Unet 和改进Unet 各项指标如表2 所示。由表2 可知改进方法比原方法在IoU-score 和f1-score上分别提升了6.1%和6.5%,说明改进后的方法在效果上更加准确和精细。通过网络参数和预测速度的对比,可以分析出加入了深度可分离卷积后的网络,不仅参数少而且计算量小预测速度快,在使用场景上会更加适合实际生产和移动设备的应用落地。
表2 原始Unet 和改进Unet 实验结果的各项指标对比
图4 随机选取了5 组特殊情况的识别结果,以此观察在特殊情况下网络模型的分割性能。第1 组是眼睑遮挡了上半部分虹膜,第2 组是眼睑遮挡了下半部分虹膜,第三组是眼睑遮挡了上下两部分虹膜,从识别结果可以看出,算法准确地避开眼睑,将没有被遮挡的剩余部分的虹膜完整地分割了出来。第4 组组和第5组是眼睫毛遮挡严重的图像,从分割结果可以看出,睫毛没有影响虹膜区域的分割,结果依旧准确并且完整。这5 组实验图像及结果,反映了模型对于一些特殊情况的虹膜图像,也可以输出良好的预测结果,具有一定的鲁棒性和稳定性。
本文基于Unet 结构和MobileNet 模型,提出了一种带有深度可分离卷积结构的改进Unet 网络,算法可以对虹膜区域进行快速分割定位。实验结果发现,改进后的Unet 模型更小,预测精度和速度更高,具有不错的实际应用价值。
图4 改进Unet算法在不同情况虹膜图像上的分割效果