苏毅婧
中国科学院海西研究院泉州装备制造研究中心 福建 泉州 362216
细节点特征是指脊线上的不连续点,常出现在脊线的终点或分叉处,是目前指纹识别系统中使用最广泛的一种特征。针对细节点信息提取问题,现有算法大致可以分为两类:一类是传统数字滤波算法[1];另一类是通过卷积网络直接从图像中提取语义特征。
基于卷积网络的深度学习方法是当前细节点提取的主流方法。Yao等人[2]基于Fast R-CNN模型提出了一种细节点提取算法,先从原始指纹图像中提取候选区域,再对候选区域进行分类及其方向计算。这些方法都需要处理大量窗口,计算时间较长。Nguyen等人[3]设计了两阶段网络,精细地验证每个细节点候选区域,算法提高准确率,但是由于计算复杂度较高,算法计算时间更长。Feng等人[4]提出了一个由轻量级的逐像素局部神经网络和深度的逐块神经网络组成的网络架构,加快了网络运行速度。
细节点特征会以不同的角度呈现,但在不同的角度下其图像内容并没有明显的特异性。现有模型没有利用这一特点,通常直接接受不同角度的指纹图片作为输入,没有做旋转不变性的特殊设计。本文提出了一种基于注意力机制的旋转不变指纹细节点特征提取网络,在模型设计上加入对旋转的权重共享从而降低模型的参数量,从根本上增强模型的泛化能力,是非常有价值的尝试。
如图1所示首先对输入图像进行旋转,然后经过主网络的特征提取,在最终特征已经经过了充分的处理后再加入旋转操作将输入图像旋转回原角度。
图1 模型架构
由于旋转后图像的角落区域会丢失一些像素,为了保证图像的有效区域在旋转后不丢失,本文先对输入图像进行填充,然后将填充后的图像以i×360/N_ORT的角度进行旋转。
角度编码用于给指纹图像添加旋转操作引入的旋转角度信息特征,使模型学习到指纹图像的方向信息。本文采用2维向量(cos(θi),sin(θi))作为角度编码。正弦和余弦值连续可导,而且范围固定在-1到1,将不同角度映射到数量级相近的值,有利于模型学习。
主干网络使用了典型的卷积神经网络结构,逐步下采样提高感受野,并增加通道数提取丰富特征,输出具有丰富语义信息的特征图,为后续子网络提供输入。本文中特征提取网络由卷积网络及残差网络构成。输入图像经过填充与旋转后进行叠加可得到尺寸为[NORT,W,H]的向量,经过特征提取网络后将得到尺寸为[64,W/8,H/8]的特征图。
该特征空间可被分为与角度无关的维度(如响应分数等)以及与角度相关的维度(如位置修正值、角度修正值等)。其中与角度相关的维度需要与角度编码进行一次相乘运算完成角度的反变换。本文将不同角度的输出与角度编码连接之后,在1/8的分辨率上进行反向旋转,旋转完成之后经过注意力模块,以及一层用于信息整合卷积网络处理得到的结果。
细节点特征的基础信息包括两个属性:坐标与方向。本文将细节点特征映射为5个通道特征:一个通道是细节点响应热力图,每个像素表示该位置有细节点的概率;两个细节点的位置修正值通道分别表示x轴及y轴偏移,用于细节点位置精细偏移量回归,可以取得像素级别的定位;另两个通道使用余弦和正弦值对角度进行编码,用于表示细节点方向角度。
1.5.1 特征损失。细节点响应热力图使用Continuous Focal Loss,用公式可表示为:
其中,B是batch size,Wh,Hh是热力图大小,是预测概率,是权重系数。
细节点的位置修正值使用MSE loss,用公式可表示为:
1.5.2 注意力约束。为了让角度注意力生效,本文还加上了对注意力机制的约束,让它能正常关注到相应的角度。损失函数使用Cross Entropy Loss,将角度编码视为分类任务,不同角度作为类别。用公式可表示为:
1.5.3 总损失。通过权重融合不同任务的loss,可使模型同时优化定位和细节预测,用公示可表示为:
本文在NIST SD 4数据集上进行了测试。NIST SD4数据库是滚动采集的指纹,包含2000个指纹,每个指纹有2张图像。本章使用前1000对指纹图像作为测试集,后1000对指纹中,前100对指纹图像作为验证集,后900对指纹图像作为训练集。由于缺乏真实的细节点标签,文中使用商业指纹提取器VeriFinger[5]来提取细节点作为真实标签进行训练。预测点和真实细节点之间的坐标和方向的差值在12像素以及20°以内的视为估计正确。本文使用精确率(Precision)、召回率(Recall)及F1值作为评价指标,测试结果如表1及图2所示。
表1 细节点特征提取准确率
图2 细节点估计结果示意图
本文提出一种基于注意力机制的旋转不变指纹细节点特征提取网络。通过在模型设计上加入对旋转的权重共享,从而降低模型的参数量,从根本上增强模型的泛化能力,提高计算效率。在公开指纹数据集上的初步实验表明了提出的模型的有效性,为构建稳定高效的指纹细节点检测系统提供了新思路。资助信息