【PVCodeNet】《Palm Vein Recognition Network Combining Transformer and CNN》

在这里插入图片描述

[1]吴凯,沈文忠,贾丁丁,等.融合Transformer和CNN的手掌静脉识别网络[J].计算机工程与应用,2023,59(24):98-109.


文章目录

  • 1、Background and Motivation
  • 2、Related Work
  • 3、Advantages / Contributions
  • 4、Method
  • 5、Experiments
    • 5.1、Datasets and Metrics
    • 5.2、Hyper-parameters
    • 5.3、Ablation Experiments
    • 5.4、Compare with other methods
  • 6、Conclusion(own) / Future work


1、Background and Motivation

  • 生物特征识别的重要性
  • 掌静脉识别的优势
  • 传统掌静脉识别方法的局限性

掌静脉识别流程包括手掌静脉图像的采集、图像预处理、特征提取、识别验证四个阶段。

为了进一步提升识别精度,本文设计了结合 Transformer Encoder 和 CNN 并运用扩大决策边界的损失函数 AAM-Loss(additive angular margin loss)的掌静脉特征编码识别网络 PVCodeNet。

2、Related Work

特征提取传统方法

  • 基于结构特征的方法
  • 基于子空间的方法
  • 是基于纹理特征的方法

基于深度学习的特征提取

3、Advantages / Contributions

贡献:

  • 提出新的掌静脉识别网络PVCodeNet
  • 实现高精度识别
  • 验证网络泛化性能

创新点

  • 首次将Transformer Encoder应用于掌静脉识别
  • 使用深度超参数化卷积(Do-Conv)
  • 引入规一化的注意力机制(NAM)
  • 使用扩大决策边界的损失函数(AAM-Loss)

4、Method

手掌关键点定位+ROI提取

在这里插入图片描述
选取食指与中指间隙 A、中指与无名指间隙 B 以及无名指与小指间隙 C 作为手掌关键点

L 设置为 20 个像素


图像增强

在这里插入图片描述
使用 CLAHE 对比度增强后,图像噪声也得到了增强,噪声对后续的掌静脉特征提取及匹配会产生影响,本文运用中值滤波图像去噪方法来降低图像噪声的干扰


在这里插入图片描述
在 resnet18 的基础上修改,网络结构由 1 个Transformer Encoder 模块和 4 个改进的 BasicBlock 组成

在这里插入图片描述
在这里插入图片描述

  • 首次把 Transformer Encoder 模块应用于掌静脉识别任务中(Transformer Encoder拥有全局的感受野和矩阵并行运算的能力,本文把Transformer Encoder 应用于主干网络初始阶段进行特征提取可以快速获取全局的掌静脉特征信息,提取的特征信息更加充分和全面。)

  • 使用改进的残差块 ImprovedBlock(本文在传统的卷积层基础上增加一个额外的深度卷积构成深度超参数化卷积Do-Conv,使网络呈现一种过参数化状态,增加了网络可学习的参数,因此提取出的静脉特征区分度更大,特征质量更高。)

  • 使用扩大决策边界的损失函数 Additive Angular Margin Loss 取代 softmax


Transformer Encoder
在这里插入图片描述

在这里插入图片描述


ImprovedBlock

在这里插入图片描述

深度超参数化卷积 Do-Conv(Depthwise Over-parameterized Convolutional Layer)

核心思想:在训练阶段使用额外的深度卷积来增强传统的卷积层。具体来说,每个输入通道都与不同的二维卷积核进行卷积操作,这两个卷积的组合构成了一个过参数化结构,因为它增加了可学习的参数。然而,在推理阶段,这些额外的深度卷积会被折叠到传统的卷积层中,使得最终的计算量与没有过参数化的卷积层完全相同。

在这里插入图片描述
在这里插入图片描述
不同的是,Do-Conv 比传统卷积层 Conv 在训练时多了一次深度卷积,这样就会使网络呈现出一种过参数化状态,保证了足够的参数量,用更多的参数训练不但可以提升训练速度,而且可以使网络收敛到更好的参数组合使提取静脉特征更加具有区分性,尤其是对于纹理高度相似难以区分的困难样本提取出来的特征向量区分度更大。

来自

Cao J, Li Y, Sun M, et al. Do-conv: Depthwise over-parameterized convolutional layer[J]. IEEE Transactions on Image Processing, 2022, 31: 3726-3736.
在这里插入图片描述

注意力机制 NAM

在这里插入图片描述


Additive Angular Margin Loss

在这里插入图片描述

在这里插入图片描述

5、Experiments

5.1、Datasets and Metrics

  • PolyU
  • SEPAD-PV(该数据集是自己用红外相机采集的 108人的手掌静脉图像,每个人左右手在旋转不同角度下在两个时期分别采集10张,左右手视为不同的类,共 216 类 4320 张图像)
  • Tongji
  • SDUMLA(山东大学)

在这里插入图片描述
在这里插入图片描述

评价指标 EER(equal error rate)

5.2、Hyper-parameters

首先使用基准网路在 PolyU 数据集上探究了不同的超参数起始学习率 LR 和批次 Batchsize 组合对精度的影响,
在这里插入图片描述


特征向量维度对比实验
在这里插入图片描述

512 维最好


AAM-Loss 对比实验

在这里插入图片描述

AAM-loss 有两个超参,s 和 m

s 被固定设置为 30,实验 m 的值对结果的影响

结论:AAM-Loss 的参数设置 s 和 m 分别设置为 30 和 0.45

5.3、Ablation Experiments

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

AAM-Loss 的引入提升很大

Transformer Encoder 的引入在 EER 评价指标上表现的最明显

在这里插入图片描述
在这里插入图片描述

绘制出了余弦相似度分布图,静脉图像特征向量之间的夹角越小,余弦值就越大,对应的余弦相似度就越高。

本文的方法类内相似度分布更加集中

本文算法类内余弦相似度分布在 0.8~1 之间,更加接近于理想情况下同类样本余弦相似度为1的分布,降低了在匹配阶段类内与类间模板出现交集,导致类内样本被误识为类间样本的风险。

5.4、Compare with other methods

在这里插入图片描述


看看在其它数据集上的表现

在这里插入图片描述
在这里插入图片描述

拉满


与其他算法的对比

在这里插入图片描述

6、Conclusion(own) / Future work

  • Do-ConV,直观上感觉是,1x1 = 1,(1x10) x (10x1) = 1,Flops 明显会增加,网络的参数量还是没有变化的
  • AAM-loss,基于 softmax 改进

更多论文解读,请参考 【Paper Reading】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/80643.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《企业级 Java EE 架构设计精深实践》内容详解

《企业级 Java EE 架构设计精深实践》内容详解 1. 书籍核心主题 《企业级 Java EE 架构设计精深实践》是一本深入探讨Java EE 企业级架构设计的实战指南,涵盖分层架构、设计模式、分布式系统、微服务、性能优化、安全与监控等核心内容,结合 Java EE 技术…

Ragflow新建的知识库完成后刷新却没有显示,报错MethodNotAllowed: 405 Method Not Allowed:

环境: Ragflow17.2 debian12.8 问题描述: Ragflow新建的知识库完成后刷新却没有显示,报错MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL. 后台日志: 2025-04-25 13:54:25,988 ERROR 235204 405 Method Not Allowed:…

使用 LangChain + Higress + Elasticsearch 构建 RAG 应用

RAG(Retrieval Augmented Generation,检索增强生成) 是一种结合了信息检索与生成式大语言模型(LLM)的技术。它的核心思想是:在生成模型输出内容之前,先从外部知识库或数据源中检索相关信息&…

3dmax模型怎么处理3dtiles,制作制作B3DM格式文件

1咱们先打3dmax,或su或者其他软件建模型 2记住面一定一定要少,面一定不能多,也不要是VR材质,可以用插件一键处理 3导出fbx 4使用cesium把fbx转换 5这里可以坐标,因为要对地图位置 6转换出来了,3dtiles格式…

Vue2-指令语法

v-bind和v-model <a v-bind:href"url">笔记1</a> <a :href"url">笔记2</a><input type"text" v-model:value"name"/> <input type"text" v-model"name"/>data(){return {ur…

mac brew 无法找到php7.2 如何安装php7.2

mac brew 无法找到php7.2 如何安装php7.2 原因是升级过高版本的brew后已经不支持7.2了&#xff0c;但可以通过第三方工具来安装 brew tap shivammathur/php brew install shivammathur/php/php7.2标题安装完成后会提示以下信息&#xff1a; The php.ini and php-fpm.ini fil…

想要从视频中提取背景音乐怎么搞?其实视频提取音频非常简单

在日常生活中&#xff0c;我们经常遇到这样的情况&#xff1a;有一段非常精彩的视频&#xff0c;而其中的背景音乐或对话正是你所需要的。这时&#xff0c;如果能将这段音频单独提取出来&#xff0c;就可以方便地在其他场合使用了。通过一些专业的软件工具&#xff0c;如 Video…

第十六届蓝桥杯网安初赛wp

解题列表 根据提示一步一步走&#xff0c;经过猜测&#xff0c;测试出app.py 经过仔细研读代码&#xff0c;找到密钥 编写python代码拿到flag key secret_key9828 flagd9d1c4d9e0d6c29e9aad71696565d99bc8d892a8979ec7a69b9a6868a095c8d89dac91d19ba9716f63b5 newbytearray(…

【leetcode100】单词拆分

1、题目描述 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。如果可以利用字典中出现的一个或多个单词拼接出 s 则返回 true。 注意&#xff1a;不要求字典中出现的单词全部都使用&#xff0c;并且字典中的单词可以重复使用。 示例 1&#xff1a; 输入: s "l…

机器人项目管理新风口:如何高效推动智能机器人研发?

在2025年政府工作报告中&#xff0c;“智能机器人”首次被正式纳入国家发展战略关键词。从蛇年春晚的秧歌舞机器人惊艳亮相&#xff0c;到全球首个人形机器人马拉松的热议&#xff0c;智能机器人不仅成为科技前沿的焦点&#xff0c;也为产业升级注入了新动能。而在热潮背后&…

k8s学习记录(四):节点亲和性

一、前言 在上一篇文章里&#xff0c;我们了解了 Pod 中的nodeName和nodeSelector这两个属性&#xff0c;通过它们能够指定 Pod 调度到哪个 Node 上。今天&#xff0c;我们将进一步深入探索 Pod 相关知识。这部分内容不仅信息量较大&#xff0c;理解起来也有一定难度&#xff0…

NeRF:原理 + 实现 + 实践全流程配置+数据集测试【Ubuntu20.04 】【2025最新版】

一、引言 从三维建模、虚拟现实到电影级渲染&#xff0c;真实感建模一直是计算机视觉和图形学的核心目标。 在传统方法中&#xff0c;我们往往依赖&#xff1a; 多视角立体&#xff08;MVS&#xff09;点云重建 网格拟合显式建模&#xff08;如多边形、体素、TSDF&#xff0…

ASP.NET MVC​ 入门指南三

16. 安全性 16.1 身份验证和授权 身份验证&#xff1a;确认用户的身份。ASP.NET MVC 支持多种身份验证方式&#xff0c;如表单身份验证、Windows 身份验证和 OAuth 等。 表单身份验证&#xff1a;用户通过输入用户名和密码登录&#xff0c;服务器验证后颁发一个身份验证票证&…

佳博票据和标签打印:Web网页端与打印机通信 | iOS

文章目录 引言I Web网页端与打印机通信webSDK(包含示例页)打印测试II iOS与佳博打印机通信引言 佳博工具下载ESC是票据打印指令,TSC是标签打印指令 工业打印机:佳博GP-H430F工业机标签条码打印机物流快递电子面单条码机碳带机 应用场景:打印商品价格标签、打印交易小票 I…

c语言初识

学c注意事项 我写了很多服务器的代码&#xff0c;我怕有些人看不懂所以就写了这篇入门篇。 学习c语言要多动手&#xff0c;多练习&#xff0c;其实语法就几个,你了解了就会写出自己想要的代码&#xff0c;你不要怕不会写不出程序&#xff0c;因为大部分代码都有人写好&#xf…

请求参数、路径参数、查询参数、Spring MVC/FeignClient请求相关注解梳理

目录 1 请求分类1.1 URL参数--查询参数1.2 URL参数--路径参数 2 请求相关注解2.1 RequestParam--查询参数2.2 PathVariable--路径参数2.3 RequestBody2.4 Param & RequestLine2.5 SpringMVC请求参数注解用在FeignClient里 使用SpringMVC处理http请求或使用FeignClient进行请…

智能指针之设计模式3

这次我们看一下智能指针是如何使用策略模式来释放资源的&#xff0c;同时又是如何扩展功能&#xff0c;管理更多的资源对象类型的。 3、策略模式 策略模式作为一种软件设计模式&#xff0c;指对象有某个行为&#xff0c;但是在不同的应用场景中&#xff0c;该行为有不同的实现…

华为盘古OS深度评测:构建AI自进化系统的实践密码

华为盘古OS通过分布式AI内核与自适应学习框架的深度耦合&#xff0c;重新定义操作系统级智能能力。实测显示其AI任务调度效率较传统系统提升17倍&#xff0c;本文从智能体编排、持续学习机制、端云协同架构三个维度&#xff0c;解析如何基于DevKit 3.0打造具备认知进化能力的下…

精益数据分析(28/126):解读商业模式拼图与关键指标

精益数据分析&#xff08;28/126&#xff09;&#xff1a;解读商业模式拼图与关键指标 在创业和数据分析的探索旅程中&#xff0c;每一次深入研究都可能带来新的启发和突破。今天&#xff0c;我们依旧带着共同进步的初心&#xff0c;深入解读《精益数据分析》中关于商业模式的…

GitLab Runner配置并行执行多个任务

检查并修改方法&#xff1a; 打开 Runner 的配置文件&#xff08;通常位于 /etc/gitlab-runner/config.toml 或 ~/.gitlab-runner/config.toml&#xff09;。 确保 concurrent 值大于 1&#xff0c;例如&#xff1a; concurrent 4 # 允许最多 4 个任务同时运行重启 Runner…