金益锋,于霄雪,王 丽,李岱熹,蒋雪梅,程 坚,谢 敏,欧阳巍嘉
(1. 中国人民公安大学,北京 100038;2. 公安部鉴定中心,北京 100038;3. 大连恒锐科技股份有限公司,辽宁 大连 116023;4. 江西省公安厅刑事科学技术研究所,南昌 330006;5. 31056部队,北京 100036)
随着社会信息化的日益发展,生物特征识别技术在金融、司法、国家安全等重要领域受到越来越广泛的重视。当前人体生物特征识别方面已经有很多技术突破,包括利用人体固有的生理特征来对人体进行识别的技术,比如指纹、人脸、虹膜识别等;利用人体的行为特征进行人身鉴定的技术,比如笔迹、声音、步态识别等。其中,赤足足迹作为一种独特的生物特征,同指纹一样反映了人体固有的生理特点,同时又因其非刻意、无感知、普遍性等遗留特点,在医疗和刑侦等领域都体现出了巨大的应用潜力。
随着近些年人工智能技术的发展,尤其是深度学习对传统技术的颠覆性突破,图像识别领域迎来了新的发展。对于赤足足迹识别,目前的主流研究方向是利用深度学习技术来取代传统的人工特征提取,直接从赤足足迹图像中提取更为有效的人身特征,从而实现更为精准的人身识别。
本文中,使用ResNet50作为基础网络,结合水平金字塔匹配(horizontal pyramid matching, HPM)技术,利用分离式三元组损失函数(separate triplet loss)进行度量学习,在6 433人的数据上进行训练,最终达到在11 028人的开集数据集上首位度识别率为96.2%的识别准确率。为了进行效果比较,采用了其他两种深度学习算法作对比:对比算法的基本网络都采用ResNet50,损失函数分别采用交叉熵损失函数(cross- entropy loss)和ArcFace损失函数(ArcFace loss)进行分类学习。
传统的赤足足迹的人身识别大多基于足迹学[1]领域中提出的各种足迹特征,比如足迹结构、动力形态等特征,通过特征分析和融合并结合分类器等方法来进行特征比对和识别。
童丽[2]基于人工设计的多种足迹区域特征和边缘轮廓特征,采用最优评价函数及特征选择搜索算法找到最优特征组合,并利用贝叶斯决策理论来建立概率模型,实现特征分类识别。高毅等[3]采用三维重构技术建立立体足迹,利用图像处理算法与传统的足迹检验法相结合,提取足迹的区域关系特征和形状长度特征,并利用主成分分析(principal component analysis, PCA)模式识别方法对提取的特征进行立体足迹身份识别。Khokher等[4]根据足迹轮廓提取足长等特征,分析了赤足特征与人身的强相关性。Nakajima等[5]根据成对的左右脚站立图像,提取各部位的相互距离、位置、方向等信息并进行归一化,并结合各部位的压力传感信息来进行足迹识别。
近年来,随着技术的发展,深度学习在指纹识别、人脸识别等生物特征识别领域得到了广泛应用。在图像识别领域,通过深度网络提取的特征在很多领域取代了传统的人工特征,取得了更好的识别效果。
VGG[6]、LeNeT[7]、ResNet[8]等基于深度学习的网络模型在图像识别等领域得到了大量应用,实现了图像识别领域的技术突破。大量基于深度网络的人脸识别[9]、行人重识别[10]等技术大大提升了各种生物特征在人身识别应用方面的可行性和可靠性。在足迹识别领域,深度学习也逐渐被加以应用。如王乔[11]从足底压力图像中通过简单的卷积神经网络(convolutional neural networks, CNN)提取了图像卷积特征,结合传统的足型与足迹形态特征,通过支持向量机(support vector machines, SVM)确定了特征最优子集及组合权重,实现了小范围内的人身识别。
为了解决赤足足迹识别问题,需要构建一个大型赤足足迹数据库。为此,本文使用专业的单枚足迹采集仪构建了包括人体左、右脚赤足足迹的大型数据库。共采集了18 380人共计213 252枚单枚足迹,每人3~54枚足迹不等。采集的足迹图像如图1所示。
图1 赤足足迹图像Fig.1 Exampling barefoot footprint images
对足迹采集仪采集的赤足足迹进行了如下方式的预处理:
1)将赤足足迹按照脚尖朝上、脚跟在下的方式进行了方向归一化。
2)在保持图像无缩放的状态下,以足迹中心为基准,裁剪出399×886像素大小的图像,并统一归一化至300×660像素大小。
3)对图像灰度进行归一化。
为了进行网络训练和研究,将数据集进行了如表1所示的训练集、验证集和测试集的随机划分。
表1 数据集划分Table 1 Partitioned dataset
网络的总体框架如图2所示。
图2 网络总体框架Fig.2 Overall framework of the network for operation into deep learning
网络采用ResNet50为基础网络模型。在训练阶段,基础网络对赤足图像进行特征提取,随后使用HPM对特征进行分离和重组,最后对重组的分离特征进行度量学习;在测试阶段,同样先通过基础网络对赤足图像进行特征提取并使用HPM进行多尺度特征提取和特征重组,之后将特征合成4 608维的特征向量,并使用该特征向量进行特征检索。
网络的层级结构及特征图大小参见表2。
表2 网络层级结构及特征图大小Table 2 Network hierarchical structures and the sizes of feature map
为了提升网络的泛化性,在输入图像上进行了如下多种形式的数据增强,以扩大样本多样性:
1)上下随机翻转。
2)左右随机翻转。
3)0°~10°随机角度旋转。
4)0.8~1.1倍的灰度随机变换。
HPM是行人重识别领域中提出的一种识别技术,其核心思想是将基础网络提取的特征在高度上进行不同比例的划分,并基于划分出的特征进行变换和学习,能够提取图像的多尺度特征,提升识别效果和网络泛化性。
HPM证实了将图像在高度上进行不同比例的划分,能够在学习全局特征的同时,兼顾图像不同高度上的不同尺度的局部特征。相比仅使用传统的全局特征而言,HPM更便于捕获包括局部特征在内的多尺度特征,而人体赤足足迹的差异在赤足不同部位上的体现更加明显:人体赤足足迹从脚趾到脚跟大体上分为足趾区、足跖区、足弓区、足跟区四个主要区域,每个人的赤足足迹差别就体现在各个局部区域及它们的组合特征上。
HPM的主体为HPP(horizontal pyramid pooling)和Separate FC两部分,其中HPP主要包括特征金字塔及GAP(global average pooling)+GMP(global max pooling)。首先将ResNet网络提取出来的H×W×D维的特征在高度H的维度上进行不同比例的划分。这样做的原因在于,一方面,抽取从全局到局部的不同比例的特征能够让参与人身比对的特征更加丰富;另一方面,从一定程度上缓解了足迹因上下位置错动导致的同一水平线上的特征无法对齐的问题。
在应用中,将高度为21的特征图分别进行1、2、5、10等分,得到共计1+2+5+10=18个局部特征。由于在高度上进行划分后的每个特征块的大小不同,记为h×W×D, 其中h ∈﹛1, 2, 5, 10﹜,因此,使用GAP和GMP对每个特征块的h和W维度计算均值和最大值,并将两者相加,最终统一得到18个D维的特征向量,至此,每个样本得到18×D的特征。其中,使用均值池化GAP和最大池化GMP的原因在于,均值池化更多体现的是全局特征,而最大池化能够突出细节,因此将两者结合可进一步提升特征保留度。
在HPP提取的特征基础上,对18个特征向量分别进行全连接变换(separate fully connection)。经上述方式提取的18个特征向量分别对应了图像中不同的感受野,即足迹的不同区域,因此每个特征使用独立的全连接变换,将每个2 048维的特征缩减为256维。
在训练过程中,将每人18个256维特征中的每一个特征都作为一个单独的人身特征,与其他人的对应特征进行度量学习;在测试过程中,将所有18个256维特征连接在一起作为完整的人身特征进行人身识别。
本文使用batch all triplet loss作为损失函数对特征进行度量学习。每个batch中随机抽取P个人,每个人抽取K个足迹图像。损失函数公式为:
其中,m为距离容许间隙。该损失函数分别计算每一对同一人足迹间的距离以及不同人足迹间的距离,目标是同一人足迹的间距足够小,不同人足迹的间距足够大。在实验中,P=32,K=16(不足时采用重复策略),m=0.2。
采用图像检索的方式来实现人身识别,将验证集和测试集中每个人的所有足迹图像随机分为两部分,一部分作为检索库gallery,一部分为待检索图像probe。
将probe中的足迹图像提取的特征与gallery中足迹图像的特征进行一一比对,使用L2距离判断两枚足迹间的人身特征距离,距离值越小则图像归属同一人的概率越大,从而得到每个待检索足迹对应库中所有足迹的距离排名。然后使用图像检索中常用的CMC曲线和mAP指标来评判识别效果。
计算机网络是知识内容非常抽象的理论课程。为使教学内容更加直观,便于学生理解和掌握,采用了基于NS-3仿真的计算机网络教学方法。一方面运用在理论课堂,另一方面运用到实验课堂。该教学方法首先从大量网络知识点中选择重要且难以理解的知识点,然后用NS-3仿真工具实现,在讲授时结合仿真的动态效果,既开阔了学生视野,也增强了学生兴趣,使得枯燥的理论变得生动。学校不断丰富和完善NS-3的仿真教学,以构建完备的仿真教学资源。
1)累计匹配特性曲线
累计匹配特性曲线(cumulative matching characteristic, CMC),一般用Rank-1, Rank-5,…等代替,反映检索准确度。其中Rank-N代表计算查询结果内排序前N个结果中存在正确标签的比率。本文分别采用Rank-1,Rank-5,Rank-10来进行评测。
2)mAP指标
由于CMC曲线中Rank-N指标只考虑了查询结果中正确标签的比例,而未考虑正确标签在排名中的顺序,因此需要使用图像检索领域中常用的mAP(mean average precision)指标作为评价指标的补充。
为了对比本文赤足图像人身识别的效果,除了使用本文论述的方法外,在基础网络ResNet50不变的情况下,分别在全局特征上采用Softmax Cross Entropy Loss(基于Softmax的交叉熵损失函数)和ArcFace Loss[9]进行了对比试验。
1)Softmax Cross Entropy Loss
Softmax Cross Entropy Loss是深度学习中针对多标签图像分类问题提出的一种常用的交叉熵损失函数,其计算公式如下:
公式(4)就是交叉熵函数。N表示mini-batch的样本数,ln代表类别标签。将公式(4)中的Pnk代入公式(4),替换其中的Pnln,就得到了一个mini-batch中所有样本对应的总的交叉熵损失。
2)ArcFace Loss
ArcFace Loss是人脸识别方向提出的一种用于提高类间可分性同时加强类内聚度的分类损失函数,在图像识别领域得到了广泛应用。其公式如下:
其中,N表示mini-batch的样本数,s表示特征是分布在一个半径为s的超球体上,m是附加的边界惩罚,K代表类别总数。
本文实验硬件方面采用了2个GTX 2080Ti显卡,软件方面采用pytorch1.7+Cuda10。深度学习训练时的mini-batch采用(P,K)=(32, 16),即每次抽取32人的足迹图像进行比对,每人16张足迹图片(图片不足时重复抽取),共进行150 000次迭代并最终收敛。训练采用固定学习率0.000 1。
将本文方法与两种对比算法进行比较,得到的对比实验结果见表3。
表3 实验对比结果Table 3 Comparison among the results of experiment
从三者的对比结果可见,本文介绍的HPM+Separate Triplet Loss在赤足足迹的人身识别准确率上远超其他两种算法。从Rank-1到Rank-10指标均高于其他两种算法,其中Rank-1有10%左右的提升,且mAP指标也体现出了绝对的算法优势,从而进一步证明了本文方法在赤足识别上的有效性。
本文实现了深度学习技术在赤足足迹人身识别方面的成功应用,通过提取赤足足迹的多尺度特征提升了网络的泛化能力,从而最终达到了万人级别数据上96.2%的高识别率。相较于传统的特征识别方法,利用深度网络自动提取足迹与人身相关的核心特征,既解决了人工特征提取困难的问题,又大大提升了识别准确率;而本文结合HPM技术得到的赤足足迹多尺度特征增强了网络识别的泛化能力,从而进一步提升了识别效果。
未来可在更多方面提升算法性能,比如在网络模型上可采用更优化的网络结构、添加注意力机制、优化损失函数、对检索结果采用更好的重排序方法等等。同时,如何克服足迹残缺、承痕体变化、行走状态变化等因素对赤足足迹的影响,这将是未来将赤足足迹识别技术推向现实应用过程中面临的更大挑战。