指纹具有纹理及方向上的先验,作者通过gabor滤波器组提取指纹的方向信息,并融入模型。
这篇文献还有其他亮点:
Finger 特征点坐标的表示方式
图像经过目前设计神经网络一般都是图像的分别率下降,而通道增加,finger net输入分辨率512*512,最后变为64*64,这时一种方法是将图像上采样到512*512,然后再回归坐标,而作者的做法是在回归目标上做到原始分辨率级别的坐标回归:
用三个图来表示最终的预测坐标:
1. 细节点分数图
尺寸为64×64×1,表示在像素点(x,y)处有细节点特征的可能性,每个像素点表示原始图8×8领域,每个像素点的值范围为[0 1];
2. X坐标概率图、Y坐标概率图
X坐标概率图和Y坐标概率图的大小均为64×64×8,细节点分数图定位有可能存在特征点的大致范围(8*8),然后X坐标概率图定位这个范围内的x坐标偏移量,Y坐标概率图定位这个范围内的y坐标偏移量。
xtrue= xt *8+argmax(X坐标概率图)(xt,yt)
ytrue= yt *8+argmax(Y坐标概率图)( xt,yt)
xt,yt为细节点分数图大于阈值t的坐标点,argmax(X坐标概率图)(xt,yt)表示坐标概率图在当前坐标的通道最大值。
Finger 数值回归的处理方式
提取的特征点除了需要坐标外还需要方向,作者将方向转换到[0,180],并间隔1离散化,用一个图来表示一个离散值,故最终采用64*64*180来表达特征点的方向。
Finger 监督值label生成方式
label | 生成方式 | 强/弱(准确/不太准确) | |
指纹特征点(细节点) | 手动标记的minutiae lis转换而来的mnt文件。 | 强 | 坐标x 坐标y 方向o label_mnt_w, label_mnt_h, label_mnt_o, label_mnt_s |
指纹方向场 | 通过指纹采集仪类似设备采集手指质量好的指纹,然后计算其方向场,然后根据指纹的细节来与相同手指的隐指纹匹配,从而得到隐指纹的方向场。 | 弱 | label_ori |
指纹方向场 | 手动标注的指纹特征点的方向数据 | 强 | label_ori_o |
分割掩码 | 计算特征点凸壳,对凸壳进行扩张平滑。 | 弱 | label_seg |
Finger 损失函数
交叉熵损失函数
ROI是感兴趣区域,由掩码确定,这个框架的掩码就是
将方向场的连续性领域先验知识融入到loss中
方向场的连续性是领域的先验知识。作者将其用来约束深度学习推导出来的方向图:
是指纹脊方向的概率,作者将角度离散到[0,180],分别是当前方向0,1,…180的概率。为平均脊方向向量。
J3计算3*3领域平均