网站开发项目工期流程,小型培训机构管理系统,化妆品营销型网站模板下载,代理做网站怎么样文章目录 VPCFormer:一个基于transformer的多视角指静脉识别模型和一个新基准总结摘要介绍相关工作单视角指静脉识别多视角指静脉识别Transformer 数据库基本信息 方法总体结构静脉掩膜生成VPC编码器视角内相关性的提取视角间相关关系提取输出融合IFFN近邻感知模块(NPM) patch嵌… 文章目录 VPCFormer:一个基于transformer的多视角指静脉识别模型和一个新基准总结摘要介绍相关工作单视角指静脉识别多视角指静脉识别Transformer 数据库基本信息 方法总体结构静脉掩膜生成VPC编码器视角内相关性的提取视角间相关关系提取输出融合IFFN近邻感知模块(NPM) patch嵌入和输出层patch嵌入输出层 实验实验设置单视角识别多视角识别闭集协议开集协议跨视角识别 进一步实验和讨论多视角识别视角数的影响消融实验全局token的讨论位置编码的讨论 VPCFormer:一个基于transformer的多视角指静脉识别模型和一个新基准
论文 VPCFormer: A transformer-based multi-view finger vein recognition model and a new benchmark
总结
摘要
现有的血管模式映射实际上把一个3D网络拓扑映射到一个2D平面不可避免地导致3D特征损失和2D图像的拓扑模糊性。除此之外基于单视角的方法在实践中对于手指旋转和平移十分敏感。为了解决这些问题我们首先建立了一个基准通过建立多视角指静脉数据库名为清华多视角指静脉3视角(THUMVFV-3V)数据库收集了两期的数据。THUMVFV-3V提供了三种ROI包括统一的处理过程。进一步我们提出了一种新的基于Transformer的模型血管模式受限编码器(VPC编码器)和近邻视角模块(NPMs)。特别地VPC编码器结合一个新颖的静脉模式注意力模块(VPAM)和一个集成的前向网络(IFFN)。受跨视角血管有很强相关性的事实启发我们设计了VPAM。在静脉掩膜的辅助下VPAM经过精心设计专门提取静脉图案之间的视图内和视图间相关性。更进一步我们提出了IFFN来有效聚合VPAM中先前的注意力和内容信息。除此之外NPM提出来捕捉单视角内的相关信息增强最后多视角指静脉的表达。丰富实验表明我们的VPCFormer的相似性。
介绍
近年来指静脉识别领域取得了巨大的进展。这些算法主要使用单视角图片进行识别被持续的挑战困扰例如所拍摄的图像往往无法覆盖手指静脉的广阔区域造成有限的身份信息。重要的是因为真实指静脉在手指中像一个3D网络结构当血管以单视角捕捉会丢失掉3D信息。进一步单视角采集的指静脉图片内容受手指的旋转和平移影响大因此导致表现差。多视角指静脉识别为什么能够解决上述问题的原因总结如下(1)对于多视角指静脉图片相邻视角间的视觉相关性大大提高了窃取静脉图案的难度并减少了利用印刷静脉图案进行攻击的可能性(2)多视角图像相比单视角图像包含了更丰富的内容例如位置变化多角度可以互为参考因此弥补单视角下的静脉信息限制(3)多视角图片可以在3D空间封装指静脉的结构信息。算法可以潜在地从这些多视图输入推断手指静脉的空间特征从而增强特征的可辨别性和鲁棒性
我们在这个工作的贡献总结如下
我们提出里THUMVFV-3V数据库一个多视角指静脉数据库。一个基于Transformer的网络相比于多种方法VPCFormer在多视角指静脉识别上取得了最好的表现。
相关工作
单视角指静脉识别
huang13受ViT成功的启发提出里指静脉Transformer(FVT)使用一个金字塔结构来进行多层次的特征提取。
多视角指静脉识别
yang15应用多视角指纹表面和血管图片来生成点云用来识别进一步它们结合注意力机制到MVCNN来有效处理多视角输入。最近19FV-LT应用了预训练的Transformer并堆叠三个块结合一个局部信息矩阵来提取多视角指静脉特征。
与上面提到的方法不同我们的VPCFormer在静脉模式限制下提取了视角间和视角内的相关关系捕捉了近邻内背景和血管间的相互关系。这个设计增强了模型提取多角度指静脉特征的效率。
Transformer
受到ViT和它的变种的启发我们提出了VPCFormer一个基于Transformer结构的模型用来探索视角间和视角内的血管模式相关性。
数据库
基本信息
为了收集足够的样本我们邀请了180名志愿者参与我们的数据获取过程。完整的收集过程分为最小间隔30天最大间隔106天平均45.8天的两个阶段。除此之外171个对象参与全程而另外9名缺席了第二次采集。所有对象提供双手的中指和无名指成像每根手指6个样本每个样本由三张不同角度的图片构成总共18张图片。
排除掉过曝和不合适的我们的THUMVFV-3V包含660类总数23670张指静脉图片并且数据集是性别均衡的。 预处理操作有四个步骤(1)手指边缘的粗检测(2)手指边界的细化(3)角度对齐(4)ROI生成在图二我们给了一个预处理步骤的简要介绍。
在我们的THUMVFV-3V中提供了三种ROI
ROI1:包含所有内容只做角度矫正。ROI2:只包含手指区域所有非手指区域被手指掩膜掩盖掉ROI3:基于ROI2手指区域沿着列方向对手指区域进行线性插值以扩展静脉区域覆盖整个图像。最后resize到100 x 200 方法
总体结构 手指静脉图像中的背景变化受到沿着近红外光路的皮下组织厚度和脂肪含量变化的影响多个视图的参与在不同视图背景之间的相关性中引入了复杂性和不可预测性。另一方面相邻视角的血管模式位于相同的空间区域应该从视角中提取到强烈的相关性尽管两个视角图片间存在视觉差别。因此更应该考虑不同视角间的静脉模式相关性和不是那些背景间的。
在指静脉图像中静脉和周围的背景联合影响成像结果因此不仅仅考虑不同视角模式间关系是至关重要的也要考虑血管和背景间的局部相关性。
基于这些观察结果我们提出里一个基于Transformer的模型称为VPCFormer来进行多视角指静脉特征提取。VPCFormer主要由一些VPC编码器和NPM堆叠而成。具体来说一个VPC编码器由一个VOAM和一个IFFN构成。通过引入血管掩膜VPAM旨在增强血管信息间的交互通过视角间和视角内的注意力。IFFN用来有效聚合前面的注意力和内容信息。更进一步NPM设计用来捕捉一个局部区域内的像素相关性。
给定一个多视角手指图片输入 { I i } i 1 U \{I^{i}\}^U_{i1} {Ii}i1U。 U U U表示视角的数目。每个视角 I i I^i Ii被变换到数据token序列 X 0 i ∈ R H W p 2 × d X_0^i \in{\mathbb{R}^{\frac{HW}{p^2}\times d}} X0i∈Rp2HW×d通过patch嵌入层这里 p p p表示patch大小 H , W H,W H,W表示高宽 d d d表示token维度。对于第 l l l个VPC编码器其第 i i i个视角的输出表达为 X l i X_l^i Xli。最后VPCFormer提取了多视角指静脉特征 f f f来进行识别。
静脉掩膜生成
为了限制自注意力模块的注意力到静脉模式有必要获取相应的静脉掩膜。
起初我们需要获取血管模板来表示血管像素的位置。迄今为止没有包含血管分割ground-truth的指静脉数据集存在。手工分割和标注不仅是费时费力而且会对算法泛化性造成不好的影响。从先前的工作10获得灵感可以使用一些现存算法的输出作为血管模板缓和单方法的影响。采用四种可信赖的方法LMCKumarEMC和EIFNet后者是唯一一个在THU-FVS上训练的。在融合步骤采用一个多数投票机制当一个像素被三个或更多的算法认证为血管点那么就会被标注为血管否则标注为背景点。对于融合模板血管点为1背景点为0。 之后由 H W p 2 \frac{HW}{p^2} p2HW元素组成指静脉掩膜。特别是一个 p × p p\times p p×p的所有值被设为1方形掩膜应用。使用步长 p p p和血管模板进行卷积。卷积结果称为 M ^ \hat{M} M^上面提到的操作表达为 M ^ ( i , j ) ∑ m 0 p − 1 ∑ n 0 p − 1 T ( p ⋅ i m , p ⋅ j n ) \hat{M}(i,j) \sum_{m0}^{p-1}\sum_{n0}^{p-1}T(p\cdot im,p\cdot jn) M^(i,j)m0∑p−1n0∑p−1T(p⋅im,p⋅jn) T ( i , j ) T(i,j) T(i,j)表示位置 ( i , j ) (i,j) (i,j)的值。因此静脉掩膜 M M M可以被计算为 M ( i , j ) { 1 if M ^ ( i , j ) ≥ ζ , 0 otherwise , \mathbf{M}(i,j)\begin{cases}1\text{if}\ \hat{\mathbf{M}}(i,j)\geq\zeta,\\0\text{otherwise},\end{cases} M(i,j){10if M^(i,j)≥ζ,otherwise, ζ \zeta ζ是预先设定的阈值避免小数目血管像素造成的错误。 VPC编码器
虽然应用自注意力模块可以捕捉全局信息和长距离依赖但是直接应用这些模块到多视角输入允许模型自动学习所有可能的长距离依赖是不合适的因为受限于有限的训练样本和不同视角间背景的弱相关性我们设计了基于多头自注意力的VPAM来提取视角间和内的血管模式的相关关系。VPAM的整体结构如上图所示。
视角内相关性的提取
对于第 i i i个视角的数据token X i X^i Xi相应的查询 Q i Q^i Qi键值 K i K^i Ki和值 V i V^i Vi计算如下 Q i X i W q , K i X i W k V i X i W v \begin{aligned} Q^i X^iW_q,\\ K^i X^iW_k \\ V^i X^iW_v \end{aligned} QiKiViXiWq,XiWkXiWv W q , W k W_q,W_k Wq,Wk和 W v W_v Wv是 d × d h e a d d\times d_{head} d×dhead维的可学习权重矩阵。基于这三个向量第 i i i个视角的注意力分数矩阵 S i i S_{ii} Sii可以计算为 S i i Q i ⋅ K i ⊤ S_{ii} Q^{i}\cdot K^{i^{\top}} SiiQi⋅Ki⊤。为了限制模型注意力到血管模式我们使用上乘的掩膜 M i M^i Mi来设置 S i i S_{ii} Sii的相关分数将和背景token相关的相关分数设定为负无穷即 S i i ~ − ε ( 1 − M i ) S i i \tilde{S_{ii}} -\varepsilon(1-\mathbf{M}^i)S_{ii} Sii~−ε(1−Mi)Sii ε \varepsilon ε表示一个非常大的整数值在这篇文章中 ε 2 31 − 1 \varepsilon2^{31}-1 ε231−1。接下来我们使用 s o f t m a x softmax softmax将 S ~ i i \tilde{S}_{ii} S~ii转化为概率分布 P ~ i i \tilde{P}_{ii} P~ii: P ~ i i s o f t m a x ( S ~ i i d k ) \tilde{P}_{ii} softmax(\frac{\tilde{S}_{ii}}{\sqrt{d_k}}) P~iisoftmax(dk S~ii) d k d_k dk表示 K i K^{i} Ki的维度。在这里 P ~ i i \tilde{P}_{ii} P~ii只保留了在第 i i i个视角内的不同位置和血管模式间的相关信息而忽略了和背景区域的联系。最终基于概率分布 P ~ i i \tilde P_{ii} P~ii视角内自注意力可以计算为 O i n t r a i A t t e n t i o n ( Q i , K i , V i ) P ~ i i ⋅ V i O_{intra}^i Attention(Q^{i}, K^{i},V^{i}) \tilde{P}_{ii}\cdot V^i OintraiAttention(Qi,Ki,Vi)P~ii⋅Vi、
视角间相关关系提取
提取视角间相关性的操作和视角内相似。对于来自两个视角的给定数据token X i X^i Xi和 X j X^j Xj我们需要将来自视角 i i i的查询 Q i Q^i Qi和来自视角 j j j的键值 K j K^j Kj相乘来计算视角 i i i和 j j j不同位置的注意力分数。称为 S i j Q i ⋅ K j ⊤ S_{ij} Q^i\cdot K^{j^\top} SijQi⋅Kj⊤。对于 S i j S_{ij} Sij的第 c c c行( S c ∗ S_{c*} Sc∗)主要表示 X i X^{i} Xi的第 c c c个token和 X j X^{j} Xj中所有token的注意力分数。类似地我们需要限制视角 j j j的注意力区域。因此通过使用视角 j j j的血管掩膜来屏蔽模型对非血管区域的注意力 S i j ~ − ε ( 1 − M j ) S i j \tilde{S_{ij}} -\varepsilon(1-\mathbf{M}^j)S_{ij} Sij~−ε(1−Mj)Sij
在这里 S ~ c ∗ \tilde{S}_{c*} S~c∗表示和 X i X^i Xi的第 c c c个token和所有 X j X^j Xj的表示血管的token间的注意力分数。
就像之前着重提到的视角间注意力的关键目标在于捕捉不同视角间包含血管模式的token的相关关系。显然如果 X i X^i Xi的第 c c c个token表示背景区域 S ~ c ∗ \tilde{S}_{c*} S~c∗表示一个 X i X^{i} Xi中的背景token和所有 X j X^j Xj中的token的相关关系阻止 X i X^i Xi背景token的相应注意力分数至关重要。然而直接操作 S ~ i j \tilde{S}_{ij} S~ij会导致需要对 s o f t m a x softmax softmax输出做二外的操作我们直接将 s o f t m a x softmax softmax概率分布的输出直接设置为 P ~ i j ( M i ⋅ 1 ⊤ ) ⊙ s o f t m a x ( S ~ i j d k j ) \tilde{P}_{ij} (M^i \cdot 1^\top)\odot softmax(\frac{\tilde{S}_{ij}}{\sqrt{d_{k^{j}}}}) P~ij(Mi⋅1⊤)⊙softmax(dkj S~ij) ⊙ \odot ⊙是哈达玛积 1 ∈ R H W p 2 × 1 1\in\mathbb{R}^{\frac{HW}{p^2}\times 1} 1∈Rp2HW×1表示一个元素全为1的列向量。在这里 P ~ i j \tilde{P}_{ij} P~ij专门保留了视角 i i i和 j j j血管token之间的联系。最后我们将视角间注意力操作的输出记为 O i n t e r i j P ~ i j ⋅ V j O^{ij}_{inter} \tilde{P}_{ij}\cdot{V}^{j} OinterijP~ij⋅Vj
输出融合
当我们获取了两种注意力输出 O i n t r a i O^{i}_{intra} Ointrai和 O i n t e r i j O^{ij}_{inter} Ointerij我们直接将他们相加来获得VPAM最后的输出 O i O i n t r a i O i n t e r i j O^{i} O^{i}_{intra} O^{ij}_{inter} OiOintraiOinterij IFFN
在ViT包裹行注意力信息的token会被送入两层MLP来增强特征学习。尽管如此我们观察得出传统地前向网络(FFN)在指静脉特征提取任务上存在缺陷因此造成显著的表现下降。
特别地为了适应图像数据和更好组合前面的注意力我们结合1x1卷积核地点卷积和3x3卷积核地深度卷积。IFFN地具体结构如上图所示。
在IFFN我们首先在空间上重新排列包含视角间和视角内注意力信息地token O i ′ ∈ R H W p 2 × d O^{i^{}}\in\mathbb{R}^{\frac{HW}{p^2}\times d} Oi′∈Rp2HW×d来获取视角特征映射 F i ∈ R d × H p × W p F^i \in{\mathbb{R}^{d\times \frac{H}{p}\times \frac{W}{p}}} Fi∈Rd×pH×pW。接下类一个点卷积用来将通道从 d d d扩展为 4 d 4d 4d。这个技术增强了它在高维空间的表现能力。在这之后我们应用一个深度卷积在不显著增加参数数量的情况下增强注意力和内容信息。然后在通过一个点卷积将维度复原回 d d d。
近邻感知模块(NPM)
为了补充模型捕捉局部近邻相关性的能力提出了NPM。卷积操作天然拥有捕捉近邻内图像像素间相关性的能力。通过设置卷积核大小或者调整卷积层数调整这一能力。最后我们提出了使用两层3x3卷积核的卷积层的NPM用来捕捉5x5近邻内的像素间相关性。为了减少参数量没有直接使用5x5卷积层。对于NPM的输入来自各个视角的数据token被排列为空间结构映射图像网格允许我们有效适应卷积操作
patch嵌入和输出层
patch嵌入
为了使用基于Transformer的模型处理图像首先送入嵌入层将每个不重叠的patch变成嵌入token嵌入。我们使用Visformer的patch嵌入来实现参数和表现的平衡。
输出层
在经过 L − 1 L-1 L−1NPM和 L L LVPC编码器得到所有视角的数据token { X L i } i 1 U \{X_L^i\}^U_{i1} {XLi}i1U。下一步是融合 { X L i } i 1 U \{X_L^i\}^U_{i1} {XLi}i1U以全视角指静脉特征 f f f用来识别。特别地对于第 i i i个视角对于横跨 X l i X_l^i Xli的每个位置计算平均值来获得视角表达 f i f^{i} fi: f i 1 H W p 2 ∑ j 1 H W p 2 x j i f^i\frac{1}{\frac{HW}{p^2}}\sum_{j1}^{\frac{HW}{p^2}}\mathbf{x}_j^i fip2HW1∑j1p2HWxji
平均操作在保持全局信息的同时有助于减轻噪声的影响。为了将拼接的视角表达 [ f 1 , . . . , f u ] [f^1,...,f^u] [f1,...,fu]映射到目标特征空间一个线性层被用来学习视角表达间的隐含关系最终获得多视角指静脉特征 f f f来进行识别。这个过程表达为 f L i n e a r ( C o n c a t ( f 1 , . . . , f U ) ) fLinear(Concat(f^1,...,f^U)) fLinear(Concat(f1,...,fU)) 对于提取到的特征我们使用最近邻分类器采用余弦相似度作为距离度量进行指静脉识别。
实验
实验设置
所有传统地方法在Matlab中实现输入ROI顺序经过中值滤波和对比限制自适应直方图均衡。所有subspace方法在Matlab中实现所有ROI reshape为64 下144没有额外的预处理。包含的深度学习方法通过移除最后的分类层和用circle loss替代softmax loss来裁剪用于特征提取。
单视角识别 三种基于方向性特征的传统方法视角间的性能损耗低具有良好的鲁棒性
多视角识别
闭集协议
多视图指静脉识别是指同时使用来自不同视图的多个指静脉图像进行完整的身份验证。 开集协议
在这个部分分配80%的类别(528)用于训练剩下的20%(132)用于评估。更重要的是评估涉及132个看不见的类其中包括来自第一期的注册样本和来自第二会话的探测样本。 跨视角识别 即使是存在重叠区域的跨视角识别基于深度学习的方法也可以提供可接受的结果。我们认为通过进一步的数据扩充基于深度学习的方法可以在跨视角识别上获得持续提升。
进一步实验和讨论
多视角识别视角数的影响 因此有必要明智地选择输入视图的数量以在模型性能和模型复杂性之间取得最佳平衡。
消融实验 全局token的讨论
在ViT中输入要在patch嵌入层之后拼接类别token认为类别token可以起到全局表达的作用。只有类token用于特征提取或分类。而一些研究反对使用类别token而建议在数据token上使用平均池化来获取全局特征。对于具体的基于多视角输入的研究提出了视角token的概念。简单地说视角标记只是从特定视图中提取信息这可以被视为相应视图的特征。我们设计了以下策略
只有类token
类token的描述会打乱token序列的空间排列。因此类别token不会进入NPM和IFFN的深度卷积层也不会参与VPAM。为了促进类别和数据token之间的交换我们引入了一个新的多头注意力模块在VPAM之后。MHSA操作只更新类别token而不更改数据token。最后只有类别token被用于表达输出特征 f f f。
只有视角特征
类似的加入视角token也会打乱数据token的空间排列。由于视角token只和相应视角内的数据token交互通过增加额外的掩膜使视角token参与在VPAM的视角内自注意力。视角token前向传播方向如图12所示。通过在合适的位置分开视角和数据token我们可以防止模型中任何数据token流的孙环。最后所有视角token被直接拼接进入一个线性层。
两种token
如上所述视角token构成了每个单独视角的抽象而类别token表达了一个全局特征。当结合这两种全局token时我们保留了视角token的刘翔。除此之外在VPAM后插入一个新的多头注意力以特别促进所有视角token和类别token。 效果差可能是因为有限训练数据下提取不同全局信息的挑战。出乎意料地是两种token的结合导致网络未能收敛是ERR保持在50%。这个情况可能是因为视角token很难表达每个视角的全局信息。因此类别token很难从视角token中获取全局信息。
位置编码的讨论
许多研究将Transformer结构和位置编码结合来捕获输入的空间信息。在实验中我们调查了位置编码在VPCFormer中的作用。
因为输入是由多视角图片组合而成我们提出两种策略A和B。 策略A相同的正弦编码应用在每个视角的输入token确保不同视角间同一的位置嵌入。
策略B:来自不同视角的token以视角顺序拼接在一起。这些token增加正弦位置编码之后再切分回原来的视角序列。在这种情况下不同视角图片的位置编码是连续的。
结果显示提升很少可能是因为卷积的引入使得网络继承了卷积建模局部特征的能力导致位置编码效果下降。