一种基于Faster R-CNN模型的虹膜检测改进方法*

2022-08-15 06:48李嘉扬陈园园王清涛
科技与创新 2022年16期
关键词:虹膜阈值精度

李嘉扬,陈园园,王清涛

(上海聚虹光电科技有限公司,上海 201315)

虹膜是位于人眼巩膜和瞳孔之间的环形区域,其具有唯一性、稳定性、非侵犯性[1]等特点,是适合作为身份识别的重要生物特征之一。在实际应用场景中,虹膜采集一般通过红外相机进行抓拍,虹膜本身的特征尺度较小,再加上眼睑的闭合程度、眼睫毛的位置与形状、戴眼镜形成的光斑干扰、瞳孔的缩放对虹膜区域的挤压等,这些因素都会对虹膜检测的精度产生较大影响。如何在多种因素干扰下,实现对虹膜的精准检测,是一项非常具有挑战性的研究课题。

虹膜检测的基本步骤可以分为目标检测[2]和区域分割。目标检测主要用于从检测图像中判断是否存在虹膜,如果存在则确定虹膜所在的位置。区域分割主要用于将虹膜与眼睑、巩膜、瞳孔、眼睫毛、光斑等干扰因素进行标记区分,提取出可供生物特征识别的有效虹膜区域。传统的目标检测方法通常选取相对稳定的特征点,如HOG[3]特征建立特征模板,然后在图像中使用滑动窗口逐一进行特征模板匹配,得到一系列目标候选区域。针对目标候选区域,通常采用AdaBoost[4]算法进行多层级联分类和支持向量机[5]进行分类决策,得到最终的目标检测结果。在针对虹膜的目标检测过程中,由于虹膜本身非常接近于圆形[6],因此虹膜目标检测常常归结为在图像中搜索匹配圆形区域。区域分割主要用于将目标与背景进行分离,得到目标的有效区域。区域分割的算法常通过边缘二值化、边缘检测、圆拟合、抛物线拟合等方式将目标与背景的边界提取出来。在针对虹膜的区域分割算法中,比较经典的包括有DAUGMAN[6-7]提出的微分-积分算子的算法、边缘检测算子结合Hough变换的算法[8-9]。

传统虹膜检测过程中的模板检测和区域分割算法,或者存在运算复杂实时性不高的问题,或者存在容易受到干扰导致检测精度不够的问题,无法同时满足检测精度和检测实时性需求。近年来,深度卷积神经网络(Convolutional Neural Network,CNN)在目标检测[10-11]中表现出较好的图像分类精确度。本文针对虹膜检测过程中的精确度和实时性需求,提出了一种基于Faster R-CNN的虹膜检测方法,在提升虹膜识别精度的同时,检测耗时基本不变,且具备更强的鲁棒性。

1 传统虹膜检测方法

虹膜检测的目的是在给定的视频流序列图像中,准确定位到虹膜区域,将有效虹膜区域分割出来,进行特征值的提取,为后续虹膜特征比对做好准备。

传统的虹膜检测流程包括图像预处理、虹膜定位、质量评估、虹膜区域分割、展开归一化、特征提取,如图1所示。

图1 虹膜检测流程

图像预处理主要包括高斯平滑滤波、图像均衡化[12]等,其主要目的是对图像进行平滑去噪,将虹膜图像的对比度调整到一个固定级别,消除虹膜图像采集过程中因为采光不同而造成的灰度差异,从而提高虹膜特征纹理的信噪比,降低噪声对检测结果的干扰。虹膜定位主要是对图像中的虹膜区域进行初步定位,确定虹膜所在的矩形区域。常见的虹膜定位方法包括依据瞳孔和虹膜边缘近似圆形的快速圆拟合定位、基于瞳孔灰度值最低的灰度阈值投影中心定位、基于AdaBoost算法的快速虹膜定位[13]等。虹膜质量评估是对初步定位后的虹膜区域进行质量评估,筛除由于运动模糊、离焦模糊、光照变化[14]等不符合虹膜识别质量要求的图像。虹膜区域分割是将虹膜与巩膜、虹膜与瞳孔、虹膜与眼睑、虹膜与眼睫毛等进行有效区分,仅保留有效的虹膜区域作为识别对象。常见的虹膜区域分割方法包括基于灰度阈值及边缘检测[15]、近似圆拟合[16]的虹膜内外边界分割方法,基于抛物线拟合、中值滤波及数学形态学[17]的眼睑与睫毛分割方法。由于虹膜区域的大小和范围会随着采集距离的不同、不同光照条件下瞳孔缩放大小的不同而变化,需要将环状虹膜区域展开并归一化为统一大小的特征提取区域。业内目前通常将分割得到的虹膜圆环区域通过极坐标转换,展开为长方形矩形[18]完成展开归一化。特征提取主要通过不同的检测算子,将展开归一化后的虹膜区域内的纹理特征提取为特征编码,为后续特征比对做好准备。常见的特征提取算子包括LBP算子[19]、小波算子[20]、Gabor算子[21]等。

从传统虹膜检测流程来看,图像预处理、质量评估、展开归一化、特征提取这4个阶段的处理逻辑比较客观稳定,对虹膜检测精度和用户体验的影响最大的还是虹膜定位和虹膜区域分割这2个阶段。目前业内主流的虹膜定位和虹膜区域分割方法主要还是依赖于数字图像处理的相关算法,算法的普适性、鲁棒性、实时性均存在较大的挑战,算法优化的难度较大。

2 基于Faster R-CNN模型的虹膜检测方法

传统虹膜分割算法大多以圆形来拟合虹膜的内外边界,在实际操作过程中,眼睑、睫毛和光斑对虹膜边界的拟合影响比较大,特别是虹膜外边界与上、下眼睑相邻的区域。虽然可以通过灰度阈值将虹膜图像二值化降低眼睑、睫毛和光斑的干扰,但二值化阈值的选择与区域范围紧密相关,难以满足普适性。图2展示了采取不同区域计算阈值导致的不同二值化结果,二值化结果的差异性会导致最终圆拟合的差异,进而影响到后续的展开归一化与特征提取,降低虹膜识别的精度。

图2 不同阈值的二值化结果

如能将二值化阈值计算的区域设置为仅包含虹膜区域的最小区域,则干扰因素对阈值计算的影响也越低。传统的虹膜定位算法的结果精度有限,难以满足最优二值化阈值计算的要求,可以考虑将基于Faster R-CNN深度学习网络的虹膜定位结果,与传统的数字图像处理相结合,提高虹膜检测的精度,其主要的流程包括:①经Faster R-CNN模型检测得到虹膜定位结果及ROI(Region Of Interest)坐标;②将基于传统数字图像处理算法的虹膜分割中的ROI设置为Faster R-CNN定位的结果;③在ROI调用传统虹膜分割算法完成剩余的虹膜检测流程。

Faster R-CNN模型将特征提取、建议框提取、边框回归、分类都整合到一个网络中,大大提升了目标检测的整体性能[22]。相比传统虹膜定位方法,采用Faster R-CNN模型进行虹膜定位,不仅能提高虹膜定位的精度,而且对不同光照条件、不同图像质量的适应性也更好。

Faster R-CNN模型的基本流程主要包括:①输入到检测样本图像;②通过CNN提输入的图像提取特征;③通过RPN(Region Proposal Network,即区域生成网络)生成若干个建议窗口;④将建议窗口映射到CNN的最后一层卷积特征图;⑤通过ROI池化层为每个ROI生成固定尺寸的特征图;⑥对分类概率和边框回归进行联合训练。

上述流程如图3所示。

图3 Faster R-CNN模型基本流程

在将Faster R-CNN模型应用于虹膜检测时,需要先选取训练数据进行标注。本文所使用的虹膜图像数据均为采用红外相机拍摄的固定分辨率大小的灰度图像。图像中的虹膜的大小、位置、清晰度等均不相同。为了更好地识别定位出测试集中的虹膜区域,在对训练集中的虹膜图像进行标注时,要尽量减少标注框内的其他物体信息。标注时,将虹膜的外边界用圆形标注,并将虹膜外边界标注圆的外接矩形也进行标注;将瞳孔的边界用圆形标注,并将瞳孔标注圆的外接矩形也进行标注。典型的标注图像如图4所示。

图4 图像标注

在训练过程中,先使用ImageNet分类预训练模型进行训练网络的初始化,得到虹膜定位训练模型的初始参数和权重。经迭代训练20 000次得到的初始模型检测定位效果较好。随后将初始模型与VGG16相结合进行进一步的迭代训练。

Faster R-CNN模型检测方法需要提取候选框的RPN。RPN的生成过程[23]如图5所示。

图5 区域建议网络生成过程

在训练RPN时,对交并比(Intersection over Union,IoU)大于等于0.7的候选框分配正标签,IoU小于0.3的候选框分配负标签。采用非极大值抑制(Non Maximum Suppression,NMS)进行冗余处理。经过Faster R-CNN模型的检测,可以得到图像中的虹膜外边界、虹膜内边界的定位结果,如图6所示。

图6 Faster R-CNN模型定位虹膜内外边界

通过Faster R-CNN模型检测得到的虹膜定位结果作为区域二值化阈值计算的ROI范围可以作为包含有效虹膜区域的最小矩形区域。从人眼的生理特性来说,上眼睑和上眼睫毛会遮挡一部分虹膜区域;下眼睑和下眼睫毛遮挡的虹膜区域相对较小;以虹膜中心点水平线为基准,正负45°/135°范围内虹膜区域受到的干扰则几乎没有。为了进一步降低ROI范围内上下边界处眼睑、睫毛的影响,可以将二值化阈值计算的范围限制在ROI的水平中心线正负45°/135°左右边界附近,如图7所示。

图7 二值化阈值计算区域选择

结合Faster R-CNN模型检测得到的虹膜定位和传统虹膜定位及区域分割算法,可以在提高定位、分割精度的同时,不降低检测速度,较好地解决了精度与速度的矛盾。

3 实验与结果分析

实验所使用的电脑配置:CPU i7 2.4 GHz,内存16 G,显卡NVIDIA GTX 1080ti。实验数据从CASIA V4.0虹膜库中选取1 000组虹膜作为训练样本,5 000组虹膜作为测试样本。

实验步骤:①将测试集样本进行人工标注,采用Faster R-CNN模型进行训练,设置训练RPN的对交并比IoU大于等于0.7分配正样本,小于0.3分配负样本;②对测试集数据采用训练得到的网络模型进行虹膜定位,并结合传统圆拟合分割算法进行虹膜区域的分割;③对测试数据集的分割结果,进行展开归一化,采用Log-Gabor算子进行特征提取;④所有5 000组虹膜的特征值进行1∶N比对,根据相似度分数计算识别精度FAR-FRR。

实验结果表明,采用Faster R-CNN模型定位虹膜内外边界结合传统虹膜检测算法(Faster R-CNN+DIP)的算法精度,比单纯采用传统虹膜检测算法(DIP)的算法精度有一定的提高,如表1所示。

表1 算法检测精度对比

FAR-FRR的ROC曲线如图8所示。

图8 FAR-FRR的ROC曲线

从实验数据可以看出,采用Faster R-CNN模型优化虹膜定位,可以提高虹膜区域分割的精度,从而提升了整体的识别精度。

在5 000组虹膜的平均虹膜检测耗时对比数据来看,2种方法的耗时差异不大,均具备较好的实时性,如表2所示。

表2 算法检测耗时对比

4 结束语

本文提出了一种基于Faster R-CNN模型进行虹膜定位的方法,用于改进传统虹膜检测算法中虹膜定位不准导致的分割准确度不高、识别精度降低的问题。经实验证明,该方法确实能提高虹膜定位的准确率和识别精度,且没有显著增加虹膜检测的耗时,达到了预期的目的。如何降低虹膜检测的平均耗时,如何在不具备NVIDIA显卡的环境中保证算法的检测精度和速度,是后续研究的一个方向。

猜你喜欢
虹膜阈值精度
基于不同快速星历的GAMIT解算精度分析
非平稳声信号下的小波变换去噪方法研究
双眼虹膜劈裂症一例
土石坝坝体失稳破坏降水阈值的确定方法
非均匀光照下文本图像分割算法研究
“刷眼”如何开启孩子回家之门
“刷眼”如何开启孩子回家之门
“刷眼”如何开启孩子回家之门
近似边界精度信息熵的属性约简
利用迭代软阈值方法抑制恒时演化类核磁共振实验中的采样截断伪峰