本文会不定期更新,以反映一些新的进展和思考。

1、引言

我读博期间放假回老家,村里的大爷问我研究什么。我说研究指纹识别。大爷诧异道,把两个指纹摞在一起,比一比,不就可以了?有什么好研究的?大爷就是大爷,一句话击中要害。指纹识别就两步,首先对齐指纹,然后判断是不是同一个指纹。这篇综述就是关于把指纹摞在一起、比一比的各种技术。

1.1 什么是指纹匹配

指纹识别系统利用传感器、图像处理、模式识别技术自动识别两个指纹是否一致。指纹识别系统主要有三个模块,分别为指纹采集模块、特征提取模块和匹配模块。首先由传感器得到指纹图像,然后从图像中提取一些显著的特征(这些特征比较适合做识别任务),最后对指纹特征进行匹配得出匹配分数(例如,分数介于0到1之间,1表示最相似)。指纹匹配算法作为最后一个模块,决定了整个系统的性能。下面将注册阶段获取的指纹称为模板指纹,待识别或者验证的指纹称为查询指纹。下图的特征是以细节点集合为例,不过实际中的指纹匹配算法也可能是基于其他类型的特征表示(例如指纹图像、指纹方向场、深度网络提取的特征向量、SIFT点集)。

指纹识别系统

指纹识别系统基本流程

1.2 指纹匹配难在哪里

指纹匹配很困难,主要原因是同一枚指纹的不同图像存在很大变化(即类内差异很大)。导致指纹类内差异的主要因素总结如下。

  • 位置偏移大:手指可能放置在指纹传感器的不同位置,导致指纹存在大的全局偏移。假设传感器分辨率为500 PPI,哪怕手指仅仅偏移2毫米,图像中的偏移就达到40个像素。
  • 角度差异大:手指相对于传感器的角度(偏航角)可能变化很大。例如,用户在解锁手机时,输入指纹和注册指纹的角度差异甚至可能接近180度;某些现场指纹的角度可能连指纹专家也很难判断。
  • 重叠面积小:手指位置偏移和三维旋转会导致输入指纹和模板指纹的重叠区很小。对于小面积传感器和现场指纹,这个现象尤其常见。
  • 弹性变形大:由于手指是凸且柔软的,所以每次按压力度、角度的不同,都会使指纹发生不同的弹性变形。如果按压手指后施加了剪切力、扭力,不同图像之间的弹性变形会非常大。弹性图像匹配问题要比刚性匹配困难得多。
  • 压力和皮肤状况:如果手指脊线能与传感器均匀接触,指纹图像可以准确反映指纹脊线结构。但是,手指压力不合适、皮肤干湿程度不理想、皮肤磨损、污垢等情况,会导致指纹与传感器接触不良。因此,实际中的指纹图像通常包含很多噪声,并且同一根手指不同图像的噪声差异很大。
  • 传感器噪声:例如,之前的指纹遗留在传感器表面的残留物。
  • 特征提取错误:不完美的指纹特征提取算法会引入测量误差。各个特征提取步骤都可能引入误差(例如,指纹前景分割、方向场和频率图估计、细节点提取等)。指纹脊线增强算法可能会扰动细节点的位置和角度。对于低质量指纹图像,细节点提取算法可能会引入大量虚假细节点,可能无法检测到所有真正的细节点。

下图的三对指纹图像直观显示了指纹的类内变化。

匹配困难

每行显示同一根手指的一对图像(来自FVC2002 DB1)。对于这三个真匹配例子,当时参加评测的许多匹配算法都发生了错误。三个例子的主要困难分别是:重叠区非常小,弹性变形大,皮肤干湿状况差异太大。

另一方面,来自不同手指的指纹图像(见下图)有时可能看起来非常相似(类间差异小),特别是指纹的一级特征(奇异点的分布、脊线方向场)。虽然在指纹专家的眼里,不同指纹不太可能有大量一致的局部细节,但是指纹匹配算法通常是基于并不完美的特征进行推理,而且不得不容忍一定程度的类内变化,因此难免会将很相似的不同指纹误判为相同指纹。

相似的不同指纹

每行显示一对不同指纹(来自FVC2002指纹库)。FVC2002的某些参评算法将这两对不同指纹错误判断为相同指纹。

1.3 指纹匹配方法

研究者提出了大量指纹匹配技术。这些技术最根本的差异在于指纹的特征表示,其次是对齐方法和匹配分数计算方法。下面依次介绍指纹的特征表示、指纹对齐方法以及匹配分数计算。然后介绍指纹识别的性能评测。

2、特征表示

指纹的特征表示对于整个匹配算法是决定性的。细节点无疑是最著名和最广泛使用的指纹表示。细节点表示的流行有多方面原因:

  • 指纹鉴定专家在比对指纹时也主要关注细节点;
  • 许多国家法庭都接受细节点匹配作为指纹匹配的证据;
  • 存储空间小;
  • 鉴别能力强(信息量大)。

尽管基于细节点的匹配方法通常表现很好,研究基于其他特征的指纹匹配方法非常有必要,理由如下:

  • 其他特征可以与细节点结合使用(而不是完全替代细节点)提高系统精度和鲁棒性。
  • 从低质量指纹中可靠地提取细节点是很困难的。此时细节点匹配技术的性能会剧烈下降。
  • 当传感器的面积很小时,例如只有4-5个细节点,细节点匹配技术的性能也会剧烈下降。
  • 由于细节点数量可变和缺乏自然顺序,匹配算法的复杂度较高。

除了细节点集合,研究者探索了以下表示方法:

  • 灰度图像
  • 脊线方向场
  • 脊线图
  • 经验设计的纹理特征
  • 深度网络学习的特征
  • 关键点集合
  • 多种表示的融合

下面具体介绍细节点、纹理特征、深度网络特征、通用关键点。其他表示即原本的特征,不需要更多解释。

2.1 细节点

指纹可以表示为细节点的集合,其中每个细节点的基本属性为坐标和角度。关于如何从指纹提取细节点,这里不做展开。这方面存在大量的技术,Handbook的第三章对此有详细介绍。

一种非常流行的细节点匹配技术(Tico和Kuosmanen,2003)是对每个细节点定义描述子。之后的指纹对齐和打分要用到描述子。

描述子可以包括基本的属性,例如细节点的类型(端点、分叉点)、细节点的置信度、局部脊线的周期等。还可以定义复杂的、鉴别力更强的描述子。这些描述子可以基于周围细节点定义,也可以基于其他的特征定义,如灰度图、方向场、周期图、质量图、脊线,或者是机器学习的特征。

细节点描述子可以由灰度、方向场、周围细节点等信息来定义。

2.1.1 基于相邻细节点的细节点描述子

基于相邻细节点的描述子可以利用周围确定数量的细节点(例如,最近的两个细节点)或者全部细节点来定义。相比确定数量的细节点,利用全部细节点的描述子鉴别力更强(Feng,2008),但是如果用点匹配来计算两个描述子的相似度,运算量太大。Cappelli等人(2010)提出的MCC也利用周围全部细节点,但是将其编码为定长表示,因此匹配效率高、鉴别力强。

基于相邻细节点的描述子可以利用周围确定数量的细节点或者全部细节点来定义(Feng和Zhou,2011)

2.1.1.1 MCC

Cappelli等人(2010)提出的MCC是经验定义描述子中的经典。对于已知坐标和角度的给定细节点,MCC为其创建一个以其坐标为中心,以其角度为正方向,半径为 R R R,高度为 2 π 2\pi 2π的圆柱体模型(如下图所示)。该圆柱体模型被离散为许多小长方体。通过这种方式,该描述子的每个单元都可以用坐标 ( i , j , k ) (i,j,k) (i,j,k)唯一表示。

MCC圆柱体

MCC将固定半径范围内细节点的位置和角度空间(圆柱体)进行量化(Cappelli等,2010)

对于与细节点相邻的细节点,以其相对位置作为横截面的加权中心,根据相对角度计算对描述子每个单元的贡献,下图展示了有5个相邻细节点时MCC描述子构造的例子。Feng和Zhou(2011)的对比实验表明,MCC比其他描述子(包括细节点、方向场、图像等类型)更准确。

MCC

周围有5个细节点的MCC(Cappelli等,2010)

2.1.2 基于纹理的细节点描述子

Tico和Kuosmanen(2003)提出从周围的方向场构造描述子。Feng(2008)进一步提出从周围的方向场和周期图构造更丰富的纹理描述子。

Tico和Kuosmanen(2003)方向场描述子的采样点分布

2.1.3 基于深度特征的细节点描述子

考虑到现场指纹图像差,经验的细节点描述子可能不够鲁棒,Cao和Jain(2019)提出使用ConvNet进行细节点描述子的提取。

该细节点描述子是从不同比例和位置的14个图像块中学习的(如下图所示)。对于从同一细节点提取的每个图像块,训练一个ConvNet以获得特征向量,最后将14个 ConvNet输出的14个特征向量中的一个子集连接成一个细节点描述子。

训练细节点图像是从密歇根州警方指纹数据库中提取的。该数据库包含1311人的十指指纹,每个手指至少有10个滚动指纹。每个不同细节点都被视为一个类,并且仅保留具有8个以上样本的类。在这种情况下,每个ConvNet都被训练为多类分类器。在测试时,每个ConvNet的最后一个全连接层的输出被视为输入图像块的特征向量。

Cao和Jain (2019)从不同比例和位置的多个图像块计算细节点描述子

2.2 纹理特征

2.2.1 脊线方向场和周期图

方向场和周期图是指纹的一级特征,通常采用较低的分辨率(例如,原图分辨率的1/8)。由于信息量不高,仅用方向场和周期图进行匹配的精度不好。常见的用法是作为细节点的辅助特征,提高细节点匹配的精度(Feng,2008)。在指纹绝对对齐的情况下,方向场和周期图可以快速比对,用于过滤差异很大的指纹(Cappelli,2011)。

2.2.2 FingerCode

受到了IrisCode的启发,Jain等人(2000)提出了FingerCode指纹定长表示方法。作者首先定位出指纹中央的圆形感兴趣区域,对其进行8个方向、固定频率的Gabor滤波(仅用实部);感兴趣区域被划分为80个扇形区域,每个区域计算滤波结果的灰度方差,总体构成640维的特征向量;特征向量的欧氏距离作为两个指纹之间的距离。作者的实验发现,当认假率(FAR)要求不苛刻时,FingerCode的性能比较好。但是,FingerCode有两个主要缺陷:第一,没有捕捉指纹的细节特征;第二,没有解决好指纹对齐。由于这两个缺陷,在实际应用中(认假率要求苛刻),FingerCode的比对性能远不如主流的细节点比对技术。除了匹配,FingerCode还用在了指纹纹型分类上(Jain等,1999),并取得了当时不错的分类性能。这也说明FingerCode捕捉的是比较宏观的特征,更适合做粗分类问题。

FingerCode

Jain等人(2000)提出的FingerCode

2.3 深度特征

2.3.1 DeepPrint

Engelsma等人(2021)提出的DeepPrint将指纹定长表示的研究向前推进了一大步。DeepPrint有三个主要模块。第一个是对齐模块,采用空间转换网络将指纹对齐到同一坐标系中。然后将对齐的指纹图像送到基本网络,其输出再送到两个分支。第一个分支直接用于特征提取和损失计算,该纹理特征与脊线方向和频率高度相关。第二个分支是自定义网络,捕捉细节点特征。有两个损失函数,一个是细节点的重建损失,另一个是分类损失。作者使用前面提到的密歇根州警方指纹数据库进行网络训练。

Engelsma等人(2021)提出的DeepPrint指纹定长表示方法

纹理表示和细节点表示的特征长度均为96。因此,最终指纹表示是这两个表示的串联,一个192维的特征向量。 在串联之前,将这两种表示形式归一化为单位长度以消除范数的影响。对于匹配,使用余弦距离来计算两个指纹表示之间的相似性。下图的两个例子,左指纹对是一对匹配指纹,但被细节点匹配算法错误拒绝了。右指纹对是一对不匹配指纹,但被细节点匹配算法错误接受了。DeepPrint给出的匹配分数能正确辨别这两个例子,表明DeepPrint对湿指纹和皮肤变形比较鲁棒,并且能够学习到有鉴别力的特征。

DeepPrint能正确辨别细节点匹配算法失败的例子(Engelsma等人,2021)

2.3.2 多尺度定长表示

DeepPrint指纹定长表示没有充分考虑指纹残缺问题,易将指纹的背景噪声引入指纹的特征表示。Gu等人(2022)提出从多尺度不同位置的图像块中分别提取深度特征,通过局部图像块表示残缺指纹,充分考虑不同图像块的重要性并仅计算前景区域内的指纹相似度,以提升残缺指纹的识别性能。

Gu等人(2022)的指纹多尺度定长表示方案

2.4 通用关键点

一些研究者(Yamazaki等,2015;Bakheet等,2022;Mathur等,2016)将计算机视觉领域的关键点和描述子(如SIFT、SURF、KAZE)用于指纹的表示,在手机小面积指纹识别中取得了不错的性能。据说,一些商用手机指纹识别算法就是基于这类表示方法。

3、指纹对齐

指纹对齐(alignment)是将待匹配的两个指纹的坐标系统一,便于计算匹配分数。可以在匹配之前(也就是在特征提取时)对单个指纹进行绝对对齐,也可以在匹配时对两个指纹进行相对对齐。通常,绝对对齐的精度不如相对对齐,但它的优势是每个指纹只需在特征提取时执行一次,不影响比对速度,非常适合大库比对。绝对对齐和相对对齐都可以分为刚性和弹性两种。除了用于匹配,对齐还可以用在注册阶段,将同一个手指的多幅指纹图像拼为更大的指纹。下面分别介绍。

3.1 绝对对齐

绝对对齐也叫预先对齐(Pre-alignment)。刚性绝对对齐即指纹姿态矫正(归一化),关键在于从指纹图像估计姿态。由于手指在按压时发生弹性变形,当指纹不同捺印的变形不一致时,仅靠姿态矫正并不能实现非常精确的对齐。弹性绝对对齐(称为扭曲矫正)试图将弹性变形归一化,实现更加精确的指纹对齐。还有一个与皮肤变形相关的问题是非接触指纹的透视变形。这种变形对于传统指纹匹配的影响比弹性变形还要严重,因为透视变形在非接触指纹中是普遍存在的,而且变形幅度很大。

3.1.1 姿态矫正

早期的姿态估计主要是依赖经验设计的算法检测中心奇异点(core)或者焦点(focal point),对于噪声、残缺、变形等情况不够鲁棒。在非常依赖姿态矫正的指纹匹配算法中(例如FingerCode),它成为匹配性能的瓶颈之一。近年来基于学习的姿态估计方法(Yang等,2014;Su等,2016),尤其是深度学习方法(Ouyang等,2017;Yin等,2021),对于复杂情况下表现得比较稳定,姿态矫正已经能够有效提升匹配的精度和速度。

Yin等人(2021)在分析传统的指纹姿态和指纹奇异点提取算法的基础上,设计了一个统一的深度网络进行指纹姿态与奇异点的联合提取,网络结构如下图所示。网络包含四个部分,分别是特征提取骨架、奇异点估计模块、注意力机制模块和姿态回归模块。特征提取模块包含三层卷积模块和一个空洞卷积金字塔,用于提取底层特征。奇异点估计模块分别提取中心奇异点和三角奇异点的概率热力图。注意力机制模块用于在特征层中计算出对姿态估计有意义的区域。姿态回归模块最终通过全连接层对指纹的中心位置和角度进行输出。

Yin等人(2021)提出联合估计指纹的姿态和奇异点

作者使用了NIST SD4的2000个库指纹及其手标奇异点和姿态对网络进行训练。针对现场指纹,则使用了海鑫现场指纹库的200个现场指纹进行再次训练。每个指纹在训练过程中会进行随机的平移和旋转变换进行数据增广。作者在NIST SD4、NIST SD14滚动指纹库、FVC2004 DB1A平面指纹库和NIST SD27现场指纹库上进行了测试,通过比较手标细节点对位置差异和基于姿态的指纹检索性能进行姿态算法的评价。下图的案例表明该方法优于之前的姿态估计算法,并且能够同时输出中心和三角奇异点的位置。

三种姿态估计算法的结果比较。蓝色线为手标姿态,红色线为算法估计姿态。(a,b)分别是两种已有算法的输出结果,(c)为Yin等人(2021)算法的结果。

3.1.2 扭曲矫正

由于手指是凸且柔软的,所以每次按压力度、角度的不同,都会使指纹发生不同的变形。因此指纹的变形是永远存在的,给指纹识别带来困难的不是指纹变形本身,而是变形的不一致。

在指纹采集中有一个标准的按压方法:手指放平,垂直按压,适度用力,按压后不要搓动或旋转。这样可以尽量保持指纹变形一致。我们将按照这种方法得到的指纹称为正常指纹,否则就称为扭曲指纹。

扭曲指纹变形如果较大的话,对于识别是非常困难的,例如上图一个手指的三个图像,利用VeriFinger进行匹配,左边两个的匹配分数达329分,但右边两个的匹配分数只有12。而根据VeriFinger的阈值,小于60分的即认为是不同的指纹。

指纹扭曲导致匹配分数下降

之前对于这个问题的处理有三种方法。一种是修改匹配算法以容忍扭曲。这种做法的缺点就是会造成不同指纹也变得比较像,此外因为容忍的变形扭曲大,所以匹配速度也会变慢。第二种是使用压力传感器、视频跟踪检测扭曲。目前这种方法还只是出现在文章中,实际应用中还没有发现。它的缺点是采集复杂,采集仪成本比较高,无法检测现有指纹数据库中的扭曲指纹,也不能矫正扭曲指纹。第三种是将脊线距离归一化,这种方法是IBM沃森实验室在2001年提出的方案,他们觉得指纹变形之后脊线之间的距离就会发生变化,如果归一化就可以把变形去掉。但这个方法的缺点是,这个假设本身就不对,指纹的脊线并不是均匀分布,所以这样强行归一化会造成新的扭曲。

Si等人(2015)的方案是:先通过分类,判断一个指纹是正常指纹还是扭曲指纹;如果有扭曲的话,就进行扭曲矫正。做个类比,在人脸识别中,如果表情是中性,那么就直接做识别;否则就先进行表情中性化,然后再做识别。这种方案的优点有很多,首先现有的指纹采集仪不需要做任何改动,现有数据库中的扭曲指纹也可以做矫正。

指纹扭曲矫正好比人脸表情的中性化

下图是扭曲检测的流程。作者将扭曲检测看成是一个二分问题(扭曲或正常),因为虽然扭曲是一个连续过程,但二分方法更好设计,性能也相对较好。分类器就是标准的SVM分类器,训练数据采用正常和扭曲指纹,选取分析的特征是方向场和周期图。做这一步之前,需要先归一化指纹的姿态(见前文的介绍),否则特征向量是没有意义的。

Si等人(2015)区分扭曲和正常指纹的方法

接下来做扭曲的矫正,这等价于估计扭曲场。扭曲指纹可以视为将一个未知的扭曲场 d 作用于一个正常指纹(也是未知的)而得到。如果可以估计某个扭曲指纹的扭曲场 d,就可以利用 d 的逆函数对扭曲指纹进行矫正。但是由于扭曲场的维度非常高,所以这是一个很难的回归问题。

作者的方案是,构造一个参考数据库,这个数据库里面记录了各种类型的扭曲场,以及对应的方向场和周期图;新来的图像,首先提取出它的方向场和周期图后,与数据库中的数据进行比较,如果有匹配的参考扭曲指纹,那么认为这个新的图像也有类似的变形,然后根据对应的变形场对它做矫正。

Si等人(2015)估计指纹扭曲场并进行矫正的方法

这里很关键的一步就是,参考的扭曲指纹库是怎么构造。作者的方法是,采集一批各种扭曲的指纹视频,对每一段视频,通过细节点追踪的方法估计出首尾帧之间的扭曲场。为了多样性,作者采集了十种类型的扭曲指纹,例如向上、向下、向左、向右、各种旋转等。然后利用 PCA 获得扭曲场的统计模型。将这些模型的主成分进行合成(例如上下与左右的合成)来系统地合成大量扭曲场,用这些合成的扭曲场对正常指纹做变形,从而得到扭曲指纹,提取出这些合成扭曲指纹的方向场、周期图,从而构造出这样一个数据库,这个数据库中包含扭曲的方向场和周期图,以及相应的合成扭曲场。

Si等人(2015)收集了各种类型的扭曲指纹,并计算出扭曲场真值

扭曲矫正的最终目的是提高识别率。作者在4个数据库上各进行了3个匹配实验。四个数据库为FVC2004 DB1、清华扭曲指纹库、现场指纹库NIST-27和FVC2006 DB2。三个实验使用的图像分别是:原始图像、经该算法矫正的图像、经Senior-Bolle算法矫正的图像。所有实验均使用VeriFinger做特征提取和匹配,以公平对比不同的矫正技术。实验结果表明,在扭曲指纹较多的库上(FVC2004 DB1、清华扭曲指纹库),该算法显著提高了识别率,而Senior-Bolle算法反而降低了识别率;在几乎没有扭曲指纹的FVC2006 DB2上,该算法并没有副作用;在图像质量极差、且有部分扭曲指纹的NIST-27上,该算法也提高了识别率。

下面是FVC2004 DB1的一个例子。三幅图像分别是注册指纹、查询指纹和矫正后的查询指纹。将该方法估计出的红色变形网格叠加在原始查询指纹上,方便观察变形。可以看到,该方法极大地降低了查询指纹和注册指纹之间的变形,从而获得更高的匹配分数(18提高到138)。

由于扭曲矫正,一对指纹的匹配分数从18提高到138。

3.1.3 透视变形矫正

在照明条件好、对焦准确、距离合适的情况下,高分辨率相机或者手机摄像头直接对指尖拍摄的图像也可以用于指纹识别。相比接触式采集,非接触式采集的优点包括皮肤不会发生弹性变形,更卫生,传感器表面没有残留指纹。然而非接触指纹图像的对比度较低、且存在透视变形,将传统的接触指纹识别技术直接迁移过来的性能不好。美国NIST最近的一项技术评测N2N表明,非接触指纹的识别精度明显比接触式差(Libert 等人,2019)。尽管非接触指纹识别的性能较差,新冠疫情以来,这个方向还是引起了学术界和工业界更多的关注。在许多用户共用同一台采集设备的场景(例如,出入境身份核验、企业门禁和考勤),非接触采集是非常有吸引力的。

除了提高非接触指纹本身的识别精度,提高与接触式指纹的交叉匹配精度,对于非接触指纹的推广应用也非常重要。在实际应用中,注册和识别阶段采用不同的指纹采集器是很常见的。例如,身份证指纹识别领域的指纹采集器厂商众多,确保指纹识别算法能兼容不同采集器是很重要的问题。非接触采集作为新兴技术,与成熟的接触式采集兼容,是必须解决的问题。这个问题的困难在于不同采集模态图像的巨大差异(见下图的对比),例如非接触采集特有的透视变形、脊线对比度低、对焦问题,接触式采集特有的皮肤弹性变形、皮肤干湿。这里侧重于解决透视变形问题。

非接触指纹与接触指纹

非接触指纹与接触式指纹的交叉匹配需要解决模态差异问题(Grosz等人,2022)

手指本身是三维物体,在非接触成像时发生透视变形是不可避免的。如果能在非接触成像时,同时采集到手指的三维形状和指纹纹理图像,那么就可以将其进行展平,得到类似于滚动指纹的二维图像。这样,成熟的接触指纹识别技术就直接可以用于非接触指纹了。专用的三维指纹采集仪(Kumar,2018)可以同步得到三维手指形状和指纹纹理图像,但是由于体积庞大、成本高、识别性能的优势不明显,这些三维指纹采集技术目前还没有取得大规模的应用。

Cui等人(2023)提出了由一幅非接触指纹图像重建三维指纹的技术,仅仅需要普通的相机(例如手机摄像头)即可获得三维手指形状,显著降低了硬件成本。不同于之前依赖专用硬件的三维采集方案,该方案借助机器学习技术从大量样本学习手指三维形状先验以及二维非接触图像包含的三维信息。实验表明,该技术重建的三维指纹与庞大且昂贵的结构光三维成像设备的重建结果非常接近。

Cui等人(2023)提出由一幅非接触指纹图像重建三维指纹

该三维指纹重建算法利用神经网络从单幅非接触指纹图像中估计出表面梯度,随后积分得到表面形状。算法核心是下图所示的梯度估计网络。网络输入预处理过的图像和掩膜,输出方向场、周期图和梯度。网络第一部分是图像归一化,来调整图像亮度;第二部分是方向场和周期图特征提取网络,包括3个卷积和池化块来提取原图1/8大小的特征图;第三部分分别回归方向场和周期图;最后第四部分从方向场和周期图中回归梯度。

Cui等人(2023)提出的手指表面梯度估计网络

作者在非接触指纹数据库、包含非接触和接触两种模态的指纹数据库上进行了大量实验,验证了该技术确实可以全面提升非接触指纹之间以及非接触指纹与接触指纹之间的匹配性能。

Cui等人(2023)的透视变形矫正技术全面提升了非接触指纹之间以及非接触指纹与接触指纹之间的匹配性能。图中数字为VeriFinger匹配分数。

3.2 相对对齐

给定两个指纹的特征表示,相对对齐计算两者之间的空间变换(刚性或者弹性)。

3.2.1 刚性配准

对于稀疏点集表示(如细节点集合、关键点集合)的刚性配准,研究者提出了多种方法。

  • 基于最相似的细节点对(Tico和Kuosmanen,2003);
  • 广义霍夫变换(Ratha等,1996);
  • 变换空间聚类(Gemain等,1997);
  • RANSAC。

对于稠密特征表示(如方向场、FingerCode),可以采用遍历空间变换的方法,或者在绝对对齐的基础上对于小范围的空间变换参数进行遍历(FingerCode尝试了5个不同的角度,选择最佳),还有利用深度网络估计对齐参数(He等,2022)。

对于混合的表示方式(细节点+方向场),可以用不同方式综合两种配准方法,实现更高的效率或者更高的精度。

3.2.2 基于细节点的弹性配准

一些研究者利用TPS函数建模指纹的弹性变形,通过一组匹配细节点拟合TPS函数(Almansa和Cohen,2000;Bazen和Gerez,2003)。通常是通过ICP迭代算法轮流进行点匹配和TPS拟合,直至收敛。当细节点匹配准确时,弹性变形模型比刚性模型的对齐精度更高。

但是,有多种原因会导致基于匹配细节点的TPS拟合不能准确逼近实际的变形场:

  • 细节点位置不准确
  • 匹配点有错
  • 匹配点数量不足
  • 匹配点的分布不均匀。

3.2.3 稠密配准

稠密配准能克服刚性配准和基于匹配点的弹性配准的问题,实现指纹之间像素级的配准(Si等,2017;Cui等,2018;Cui等,2021)。稠密配准算法针对稠密的特征表示(灰度图像、脊线二值图像、相位图),估计稠密的变形场。下文简要介绍基于相位解调的稠密配准方法(Cui等,2018)。

该方法借鉴了通信领域的相位调制解调方法。通信中用电磁波发送信息时,将信号调制在载波上;到达接收端再进行解调,恢复信号。

通信领域的相位调制解调方法(Cui等,2018)

指纹图像在局域上正是一个二维的正弦波图像。借鉴相位调制解调机制,可以先生成一个标准的二维正弦波,对这样的一个条纹图像,对它做扭曲实际上就可以等价为对它的相位做偏移;这个偏移不是对图像做变形,而是对每个点的相位加上一个值,所以是通过加法,而不是通过几何变形,来得到扭曲图像。于是可以通过相位的方式来得到图像的变形,反过来也可以通过求解相位的方式来求解图像的变形。如下图所示,当给出原始图像和扭曲图像,分别求解得到其相位场后,对应位置相减便可以得到一个相位差的图像,为了去除相位0到2pi的跳变对相位差图像做一个去包裹变换后,就可以直接推算出扭曲场。于是可以通过图像加减的方法把图像的扭曲场求出。

Cui等人(2018)变形场估计方法的基本原理

下图为整个方法的流程图。给定两幅图像,首先求解各个特征(细节点、方向场、周期图、相位图等)。然后,按照细节点匹配的方式先做一个初始的配准,这个结果往往还存在很大的偏差,接下来就靠相位解调的方式来降低偏差。首先是得到两个图像的相位差异,中间可能会出现跳变,所以要做一次相位解包裹使它变成连续的相差。将这个连续的相差除以周期图,就可以得到每个位置的扭曲场。随后再做一次平滑,去除某些局部噪声。最后就可以把两个指纹的脊线非常准确的配准了。

在这里插入图片描述

Cui等人(2018)的基于相位解调的指纹稠密配准方法

下图展示了3个稠密配准的结果。

稠密配准降低了指纹之间的变形,从而提高了指纹匹配分数。两个分数分别为VeriFinger匹配分数和图像相关分数。(Cui等,2018)

3.3 指纹拼接

指纹拼接技术能将不同角度、不同部位的多幅指纹图像融合为一幅面积更大、脊线更清楚的指纹,提高指纹图像的有效面积和信噪比。指纹拼接的主要挑战是皮肤弹性变形、重叠太小以及噪声。传统的指纹拼接方法先找到两幅指纹之间的匹配细节点,然后拟合指纹之间的变形场。但是,当变形很大或匹配细节点有错时,拟合的变形场是不精确的,无法对准两个指纹的脊线,会导致拼接处不连续,反而带来副作用。

Cui等人(2021)提出的指纹稠密配准技术能计算出两幅指纹图像之间像素级的变形场。作者利用稠密配准技术将各种角度的平面指纹拼接为一幅完整指纹。相比传统的滚动指纹,完整指纹的面积更大,细节点更多,尤其是滚动指纹通常缺少的指尖区域,完整指纹也可以覆盖到。许多犯罪现场指纹就是来自指尖。如果警方采集这样的完整指纹,对于提高犯罪现场指纹的识别率是很有帮助的。

指纹拼接

稠密配准技术将一系列平面指纹拼接为完整指纹(Cui等人,2021)。

手机的指纹传感器面积很小,为了提高用户体验,保证用户用不同角度按也可以通过,用户在注册阶段要采集许多次指纹作为模板。Cui等人(2021)利用稠密配准技术将许多小指纹图像拼接为面积更大的指纹模板,这样仅用一幅指纹就可以达到更高的识别率。

手机指纹拼接

稠密配准技术将一系列小指纹图像拼接为更大面积的指纹(Cui等人,2021)。

4、计算匹配分数

4.1 点集表示

4.1.1 点匹配

对于点集表示(如细节点、SIFT点),在对齐之后,还需要建立点之间的对应关系(通常是一一对应)。经过对齐之后的细节点集合,点匹配是个相对简单的问题。常用的匹配方法有:

  • 最近邻;
  • 贪心方法(Tico和Kuosmanen,2003);
  • 迭代最近点(ICP)。

4.1.2 匹配分数

根据细节点匹配结果,研究者提出多种匹配分数计算公式,综合考虑匹配点的数量、匹配点的比例、重叠区匹配点的比例。此外,还有将匹配分数计算视为两类分类问题(Feng,2008)。

4.2 稠密表示

对于稠密的表示方式(指纹图像、方向场、FingerCode、DeepPrint等),常用匹配分数或者距离度量有:

  • 欧氏距离:FingerCode。
  • 相关系数(同余弦相似度):图像相关(Si等,2017;Cui等,2018)、DeepPrint。全图的相关对于对齐要求很高,通常要经过稠密配准后再计算。
  • 汉明距离:指纹二值图、二值化的DeepPrint。
  • 角度距离:方向场。
  • 深度网络:对齐的两幅指纹输入网络进行二分类(He等,2022)。

5、性能评测

为了公平对比多个指纹识别算法,需要在共同数据库上采用一致的测试协议进行算法评测。

博洛尼亚大学组织的FVC系列算法竞赛和NIST组织的系列竞赛最有影响力。NIST的测试算法多数来自企业,而FVC系列的参赛者有企业、学术界以及独立开发者。

FVC和NIST系列指纹竞赛

竞赛时间任务备注
博洛尼亚大学FVC20002000指纹验证每次竞赛4个库(决赛后公布);均为活体指纹仪采集或者算法合成;含一些困难样本(有意扭曲、潮湿)
FVC20022002
FVC20022004
FVC20022006
FVC-onGoing2009起持续进行指纹验证(图像,ISO模板),检索,方向场估计,安全模板仿照实际应用场景采集的平面指纹图像
NISTFpVTE 20032003指纹验证与识别实际政府应用的指纹(平面、滚动、油墨)
FpVTE 20122012
PFT 20032003指纹验证(私有模板)
PFT II2010
PFT III2019起持续进行
MINEX 042004指纹验证(兼容模板)厂商使用内部模板;平面和滚动指纹
MINEX II2006测试特征提取和匹配的兼容性。MINEX II评测卡上匹配技术
MINEX III2016起持续进行

FVC系列的最新版FVC-OnGoing是基于Web的指纹验证算法自动评估,从2009年启动,参赛者可以随时提交算法,而且指纹库始终不公开。截至2021年1月,约有1700名参赛者向9个不同的基准测试提交了7500多种算法。

人脸识别技术在近10年来发展迅速,从不怎么靠谱发展成了很靠谱的技术。而指纹识别技术一直被认为是成熟的技术。所谓成熟的技术,性能应该是不怎么提升了吧?

我们可以从FVC-onGoing评测观察指纹识别技术的发展。以知名指纹识别技术厂家Neurotechnology在指纹验证测试(FV-STD-1.0)的性能为例。该企业最早的测试时间2009-07-20,最近的测试时间2020-05-01。把错误匹配率(FMR)固定为0.01%时,其算法的错误不匹配率(FNMR,即据真率)从0.581%降到了0.022%,相对下降了96.2%!可见过去10年指纹识别技术的巨大性能提升。

FVC-onGoing的规模较小,适合评测指纹验证算法。而FpVTE 2012测试自动指纹辨识系统(AFIS)在实际应用数据库上的性能,数据库的规模很大。其中最精确的指纹识别算法性能如下:

  • 10万人库,单个食指的性能为FNIR = 1.9% @ FPIR = 0.1%
  • 160万人库,2个食指的性能为FNIR = 0.27% @ FPIR = 0.1%
  • 500万人库,十指的性能为FNIR = 0.09% @ FPIR = 0.1%。FPIR与库的规模相关,如果换算成1:1验证场景(与库的规模无关),相当于FMR = 50亿分之一。而手机指纹识别的FMR = 5万分之一。可见十指比对精度之高,足以满足大国身份识别项目的需求。

6、总结

本文介绍了各种类型的指纹匹配技术。正因为指纹匹配方法的百花齐放,指纹识别技术才能走入众多应用领域。指纹匹配算法的选择与具体应用相关。错误率要求、响应速度要求、传感器、计算资源、人群特性、是否无人值守等,都是选择指纹匹配算法时需要考虑的因素。

虽然指纹识别技术的性能在不断提高,对于各种类型低质量指纹图像,当前技术仍有很大的提升空间。不断提高对低质量指纹的识别能力对于许多应用场景都是很重要的。例如,需要覆盖所有人的国家身份识别项目(如身份证),面向体力工作者、老年人群的身份识别项目,采用小面积和低成本传感器的应用,基于犯罪现场指纹的嫌疑人识别。

参考文献

  1. Almansa, A., & Cohen, L. (2000). Fingerprint image matching by minimization of a thin-plate energy using a two-step iterative algorithm with auxiliary variables. In Proceedings of Workshop on Applications of Computer Vision (pp. 35–40).
  2. Bakheet, S., Al-Hamadi, A., & Youssef, R. (2022). A Fingerprint-Based Verification Framework Using Harris and SURF Feature Detection Algorithms. Applied Sciences, 12(4), 2028.
  3. Bazen, A. M., & Gerez, S. H. (2003). Fingerprint matching by thin-plate spline modelling of elastic deformations. Pattern Recognition, 36(8), 1859–1867.
  4. Cappelli, R. (2011). Fast and accurate fingerprint indexing based on ridge orientation and frequency. IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics), 41(6), 1511-1521.
  5. Cappelli, R., Ferrara, M., & Maltoni, D. (2010). Minutia cylinder-code: A new representation and matching technique for fingerprint recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence, 32(12), 2128–2141.
  6. Cui, Z., Feng, J., Li, S., Lu, J., & Zhou, J. (2018). 2-D phase demodulation for deformable fingerprint registration. IEEE Transactions on Information Forensics and Security, 13(12), 3153-3165.
  7. Cui, Z., Feng, J., & Zhou, J. (2021). Dense registration and mosaicking of fingerprints by training an end-to-end network. IEEE Transactions on Information Forensics and Security, 16, 627-642.
  8. Cui, Z., Feng, J., & Zhou, J. (2023). Monocular 3D Fingerprint Reconstruction and Unwarping. IEEE transactions on pattern analysis and machine intelligence.
  9. Engelsma, J. J., Cao, K., & Jain, A. K. (2021). Learning a fixed-length fingerprint representation. IEEE transactions on pattern analysis and machine intelligence, 43(6), 1981-1997.
  10. Feng, J. (2008). Combining minutiae descriptors for fingerprint matching. Pattern Recognition, 41(1), 342-352.
  11. Feng, J., & Zhou, J. (2011). A performance evaluation of fingerprint minutia descriptors. In 2011 International Conference on Hand-Based Biometrics (pp. 1-6).
  12. Germain, R. S., Califano, A., & Colville, S. (1997). Fingerprint matching using transformation parameter clustering. IEEE Computational Science and Engineering, 4(4), 42-49.
  13. Grosz, S. A., Engelsma, J. J., Liu, E., & Jain, A. K. (2022). C2CL: Contact to contactless fingerprint matching. IEEE Transactions on Information Forensics and Security, 17, 196-210.
  14. Gu, S., Feng, J., Lu, J., & Zhou, J. (2022). Latent Fingerprint Indexing: Robust Representation and Adaptive Candidate List. IEEE Transactions on Information Forensics and Security, 17, 908-923.
  15. He, Z., Zhang, J., Pang, L., & Liu, E. (2022). PFVNet: A Partial Fingerprint Verification Network Learned From Large Fingerprint Matching. IEEE Transactions on Information Forensics and Security, 17, 3706-3719.
  16. Jain, A. K., Prabhakar, S., & Hong, L. (1999). A multichannel approach to fingerprint classification. IEEE transactions on pattern analysis and machine intelligence, 21(4), 348-359.
  17. Jain, A. K., Prabhakar, S., Hong, L., & Pankanti, S. (2000). Filterbank-based fingerprint matching. IEEE transactions on Image Processing, 9(5), 846-859.
  18. Kumar, A. (2018). Contactless 3D fingerprint identification. Springer.
  19. Libert, J., Grantham, J., Bandini, B., Ko, K., Orandi, S., & Watson, C. (2019). Interoperability assessment 2019: Contactless-to-contact fingerprint capture. NIST-IR 8307.
  20. Lin, C., & Kumar, A. (2019). A CNN-based framework for comparison of contactless to contact-based fingerprints. IEEE Transactions on Information Forensics and Security, 14(3), 662–676.
  21. Mathur, S., Vjay, A., Shah, J., Das, S., & Malla, A. (2016). Methodology for partial fingerprint enrollment and authentication on mobile devices. In Proceedings of International Conference on Biometrics (ICB) (pp. 1–8). Halmstad.
  22. Ouyang, J., Feng, J., Lu, J., Guo, Z., & Zhou, J. (2017). Fingerprint pose estimation based on faster R-CNN. In 2017 IEEE International Joint Conference on Biometrics (IJCB) (pp. 268-276).
  23. Ratha, N. K., Karu, K., Chen, S., & Jain, A. K. (1996). A real-time matching system for large fingerprint databases. IEEE transactions on pattern analysis and machine intelligence, 18(8), 799-813.
  24. Si, X., Feng, J., Yuan, B., & Zhou, J. (2017). Dense registration of fingerprints. Pattern Recognition, 63, 87-101.
  25. Su, Y., Feng, J., & Zhou, J. (2016). Fingerprint indexing with pose constraint. Pattern Recognition, 54, 1-13.
  26. Tico, M., & Kuosmanen, P. (2003). Fingerprint matching using an orientation-based minutia descriptor. IEEE Transactions on Pattern Analysis and Machine Intelligence, 25(8), 1009–1014.
  27. Watson, C., Fiumara, G., Tabassi, E., Cheng, S. L., Flanagan, P., & Salamon,W. (2014). Fingerprint vendor technology evaluation—Evaluation of fingerprint matching algorithms. NIST-IR 8034.
  28. Yamazaki, M., Li, D., Isshiki, T., & Kunieda, H. (2015). SIFT-based algorithm for fingerprint authentication on smartphone. In Proceedings of International Conference of Information and Communication Technology for Embedded Systems (IC-ICTES) (pp. 1–5).
  29. Yang, X., Feng, J., & Zhou, J. (2014). Localized dictionaries based orientation field estimation for latent fingerprints. IEEE transactions on pattern analysis and machine intelligence, 36(5), 955-969.
  30. Yin, Q., Feng, J., Lu, J., & Zhou, J. (2021). Joint estimation of pose and singular points of fingerprints. IEEE Transactions on Information Forensics and Security, 16, 1467-1479.
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐