本发明属于计算机生物识别领域,尤其涉及一种基于attention模块的多模态的生物识别方法。
背景技术:
1、目前,生物识别技术主要以单一模态作为系统识别依据,但是受到外界因素和个体差异,以单模态生物特征为识别依据难免存在一定局限性。比如:因为光线等因素,人脸识别精确度将受到影响;指纹在长期劳作中磨损、手指出汗,都将影响指纹识别的效果。同时,单模态生物特征如果泄露,将对用户隐私的永久损害,而多模态生物识别技术可以大大加强识别的安全性。因而多模态生物特征识别技术成为新的研究方向,并且得到飞速发展。多模态识别方案根据不同特征之间特点进行信息融合,达到优势互补的目的。多模态系统鲁棒性和安全性更加优异,为身份认证提供了更佳的选择方案。最早在1995年,brunelli等人就提出利用人脸和语音融合特征信息进行身份识别,在决策层进行特征融合,以证明多模态识别系统的可行性和有效性。2013年shekhar等人联合稀疏线性组合方法表示人脸、虹膜和指纹特征信息,讨论融合过程中不同特征之间的相关性和耦合性。2016年,wild等人研究了多模态人脸与指纹融合结构下欺骗样本的活性识别对异常值的动态检测和抑制问题,并对其固有的规范化进行了研究。
2、现有的多模态生物识别主要集中在人脸、指纹、声纹等方面,针对手指多模态生物识别的研究较少。手指拥有丰富的特征信息,如指纹、指节纹和指静脉等生物信息,且采集方便,适合作为多模态特征融合研究对象。指纹识别技术发展最早、算法最为成熟、市场应用最广泛。指纹识别技术是利用手指末端正面皮肤上独特脊线和谷线的组合进行识别。传统指纹识别方法中,基于深入迭代最近点算法(iterative closest point,icp)可以实现指纹图像配准和拼接,基于序列图像拼接方法,可以在图像非均匀速度滑动情况下,用于计算滑动方向的偏移。在基于学习方法中,全局方向模式之间的可变性是通过训练集来学习的,并用训练集中最合适的模式来代替指纹区域,能有效应对噪声影响。
3、手指静脉属于皮下组织,相对于其他生物特征识别具有防伪性高,识别率高,用户友好性高等优点。目前基于gabor滤波器、散射模型和自适应曲线变换的指静脉增强算法,并将gabor滤波器与韦伯定理相结合,用于解决指静脉图像光照不均匀的问题。使用特征描述子提取掌纹和指静脉的识别算法,分别利用sift算法和surf算法对指静脉节纹提取特征最后是支持向量机对提取的特征形成的特征向量分类。
4、指节纹是指位于手指指节上的曲肌线区域或者纹理区域,具有丰富的纹理特征和线特征。通过低分辨率摄像头即可获取指节纹图像,其采集方便,成本低廉。这些优点使指节纹成为较理想的生物识别特征,基于指节纹特征的识别技术在近些年来发展迅速。基于多通道gabor滤波器的指节纹识别算法,通过使用主成分分析法(pca)和线性判别分析法(lda)对提取到的特征进行降维,达到了较好的识别效果。
5、生物特征采集也是多模态生物特征识别的重要步骤之一。生物特征采集是一个模式识别的系统。首先,系统获得个体的生物特征数据,然后从数据中抽取其中的特征集。通过对比两组不同的生物特征集,系统可以获得这两者是否来自同一个人的判断。因此,通常来说,自动生物特征识别系统可以被看作是由以下几个模块构成:1)采集模块;2)特征提取模块:3)匹配模块。另外,系统还要包括一个存取和管理特征集的数据库。
6、如何采集多模态的生物特征,近年来学术界对此也有研究。杨金锋等人于2016年完成了手指静脉、指节纹、指纹3个模态的多模态生物特征采集系统的设计,并在2019年进一步设计一种新的手指双模态图像采集系统,并集成了指静脉、指节纹roi定位算法。目前研究的多模态生物特征采集系统,可以应用到智能密码锁上。
7、现有的多模态生物识别方式主要使用决策层融合方法,特征层融合方法由于数据量大,训练量大,且多模态特征之间的差异性较大,研究较少,且指静脉是新兴的指部特征,特征提取方式较少,如何提取有效地特征并进行多模态特征融合是一个难点。
8、现有的多模态融合方法中,有直接特征拼接识别,有相关性分析等方法,这些方法均在面对更复杂的特征相关关系时,局限性较大,如何找到一种更加有效的特征融合方法是多模态生物识别的一个难点。
技术实现思路
1、本发明提供一种基于attention模块的多模态的生物识别方法,以解决身份识别中单个模态上生物特征不充分和单模态生物特征不安全的问题。
2、本发明采取的技术方案是,包括下列步骤:
3、(1)、数据采集,运用生物特征采集器,采集指纹、指静脉和指节纹共三个模态的生物特征;
4、(2)、数据预处理,对采集到的三个模态的生物特征的数据进行预处理,使其符合三个模态对应的模型的输入要求;
5、(3)、神经网络模型训练和验证阶段,对步骤(2)预处理后的多个模态的数据通过resnet和densenet进行特征提取,resnet和densenet的参数通过训练和验证得到;
6、(4)、attention模块特征融合,将提取出三个模态的特征向量进行级联形成一个总的特征向量,然后送往分类器进行特征分类,采用attention机制,首先根据三个模态级联形成的特征向量初始化q、k、v矩阵,其中,k为attention机制计算中的键值key,q表示查询query,k为键值key,然后根据初始化得到的q,k,v,通过训练学习,计算加权求和得到最优权重,得到联合特征向量,送到分类器进行分类,从而达到较好的识别效果;
7、(5)、部署应用,将训练好的算法部署应用到智能密码锁上,来访者提供所需的生物特征,智能密码锁根据数据库里的数据识别是否为有效用户。
8、本发明所述步骤(1)中数据采集包括:运用生物特征采集器,采集用户的指纹图像数据集a、指静脉图像数据集b、指节纹图像数据集c;
9、所述生物特征采集器是智能密码锁的生物特征采集器模块,智能密码锁包括主板、离合器、生物特征采集器、存储器、微处理器。
10、本发明所述步骤(2)中数据预处理是对采集到的三个模态的生物图像数据集进行预处理,其预处理步骤为:
11、1)、对采集到的生物图像进行自动标注,得到每张生物图像对应的志愿者编号和手指编号号,然后将生物图像按照比例划分成训练集和测试集;
12、2)、对采集到的生物图像进行图像预处理,将生物图像减去每个图像像素的平均值,使用标准颜色增强,然后批量归一化;
13、3)、图像增强;使用sobel算子分别增强输入的指纹图像、指静脉图像、指节纹图像,然后使用roi定位和截取,分割出有效的指纹、指静脉、指节纹数据集和训练集,其中,有效的指纹训练集为a1,有效的指纹测试集为a2,有效的指静脉训练集为b1,有效的指静脉测试集为b1,有效的指节纹训练集为c1,有效的指节纹测试集为c2。
14、本发明所述步骤(3)中具体步骤如下:
15、1)、模型训练阶段,对步骤(2)预处理后的多个模态的数据通过resnet和densenet进行特征提取,分别将指纹训练集a1、指静脉训练集b1输入resnet34、resnet50两个网络独立进行训练:
16、①利用dataloader分别加载指纹训练集a1和指静脉训练集b1,以张量的方式存入指纹和指静脉训练数据库;
17、②构建resnet34和resnet50网络,resnet34和resnet50均包含4个残差块,并分别初始化网络的权重,选择arcloss函数作为损失函数,定义优化器为adam优化器,并设置好优化器的学习率;
18、③将dataloader中加载的指纹和指静脉的训练数据库的张量开始分别对resnet34和resnet50进行网络训练,不断进行梯度下降,进行多次迭代训练,利用损失函数计算正例与负例之间的误差和损失,并分别对两个网络中的参数进行梯度的反向传播,重复这一流程并对损失量进行动态更新;
19、④将待匹配的指纹和指静脉图像通过arcloss函数映射为每一个类别的概率,完成最终的单模态特征匹配;
20、2)、将指节纹训练集图像输入densenet121网络独立进行训练:
21、①利用dataloader分别加载指纹训练集和指静脉训练集,以张量的方式存入指纹和指静脉训练数据库;
22、②构建densenet121网络,densenet121网络包含三个dense block和一个transition block,并初始化网络的权重,选择arcloss函数作为损失函数,定义优化器为adam优化器,并设置好优化器的学习率;
23、③将dataloader中加载的指纹和指静脉的训练数据库的张量开始对densenet121进行网络训练,不断进行梯度下降,进行多次迭代训练,利用损失函数计算正例与负例之间的误差和损失,并分别对两个网络中的参数进行梯度的反向传播,重复这一流程并对损失量进行动态更新;
24、④将待匹配的指纹和指静脉图像通过arcloss函数映射为每一个类别的概率,完成最终的单模态特征匹配;
25、3)模型验证阶段:分别对训练好的resnet34、resnet50、densenet121网络进行验证:
26、①利用dataloader分别加载指纹测试集a2、指静脉测试集b2,指节纹测试集c2,以张量的方式存入指纹、指静脉、指节纹测试数据集;
27、②将dataloader中加载的指纹、指静脉、指节纹的验证数据库的张量开始分别对resnet34、resnet50、densenet121进行网络验证,最后对匹配结果中概率最大的标签进行输出,即是该图像所对应的身份信息,通过之前的训练不断调整参数,直至模型收敛。
28、本发明所述步骤(4)中进行attention特征融合包括:
29、1)、attention模块训练步骤如下:
30、首先根据步骤(3)调整好的单模态特征提取模型,分别提取指纹训练集a1,指纹训练集b1,指纹测试集c1的单模态特征向量,将提取到的多个模态的数据特征分别初始化赋予一个权重,形成一个初始模态特征权重矩阵;
31、①将提取出的特征向量进行点积自注意力计算,得到动态加权后的向量,这里根据self-attention的计算公式可得,特别地,这里的激活函数选择relu2作为激活函数;
32、②attention模型中引入多头概念,以允许模型在每个位置学习h个不同的表示子空间,同时保持相同的计算效率,通常表示为带有参数化的输入;
33、③模型使用batch大小为32进行训练,并为了同一batch的一致性,在数据处理过程中,先将所有特征填充到batch中最长的序列;由于模态特征的维度大小不同,因此需要将它们映射到模型的内部空间中,内部空间的维度大小为1024维,模型基于transformer,n为2层,h为4头;最终生成器的输出维度与描述词向量大小一致,为10172维;在最终loss计算标签平滑中使用γ=0.7,丢失概率p=0.1,使用的学习率为10-5的adam优化器来训练描述生成器;
34、通过模型训练学习,得到每个模态的数据特征的最优权重;将所有模态的数据特征进行加权融合:先将每个模态的权重和其对应的模态的数据特征相乘,再将所有模态得到特征向量进行级联,所有模态得到的特征向量是指上文中经过resnet模型得到的指纹特征向量、指静脉特征向量和经过densenet模型得到的指节纹特征向量,形成一个联合特征向量,最后送到分类器进行分类;
35、2)、attention模块验证步骤如下:
36、①利用dataloader分别加载指纹训练集和指静脉验证集,以张量的方式存入指纹和指静脉验证数据库;
37、②将dataloader中加载的指纹和指静脉的验证数据库的张量开始先通过resnet34和resnet50进行特征提取,再通过attention模块进行权重配置,然后再进行特征融合,最后对匹配结果中概率最大的标签进行输出,即是图像所对应的身份信息,通过之前的训练不断调整参数,直至模型收敛。
38、本发明所述步骤(5)中将通过训练、验证所得到的基于attention模块的融合算法存入智能密码锁的存储器中,当有访问者进行验证时,智能密码锁能根据访问者的生物特征信息,结合训练好的算法,得到识别结果。
39、本发明具有如下优点:
40、1、本发明采用多模态生物特征进行身份识别,弥补了单个模态上生物特征不充分和单模态生物特征不安全的问题,多模态之间进行相互影响,有助于提取到更加全面有效的生物特征。
41、2、本发明所述基于指纹、指静脉、指节纹的单模态特征提取方法中,采用arcloss函数作为损失函数,相较于softmax loss损失函数,提升了模型识别率。
42、3、本发明所述基于特征层融合的过程中,采用attention机制的思想,相对于简单的特征拼接具有更好的特征融合性能,同时针对传统的attention机制,将传统的softmax激活函数替换为relu2激活函数,同时相较于传统的给每一个模态的特征学习一个权重,然后将特征进行加权级联,这样使每一个模态的特征都能更好的发挥作用。