Skip to content

Latest commit

 

History

History
141 lines (106 loc) · 4.32 KB

File metadata and controls

141 lines (106 loc) · 4.32 KB

VIBE 双模态生物特征识别网络

项目概述

VIBE(Vein and Palm Print Biometric Enhancement)网络是一个基于掌纹和掌静脉双模态的生物特征识别系统。该网络采用双层递进式混合专家(Mixture of Experts, MoE)架构,通过多频域特征提取和跨模态融合机制,实现高精度的个人身份识别。

主要特性

  • 双模态融合:同时处理掌纹图像和掌静脉图像
  • 多频域特征提取:通过高频、中频、低频三个专家网络分别提取不同频率的特征信息
  • 跨模态交互:利用注意力机制实现掌纹和掌静脉特征的深度交互
  • 轻量化设计:采用深度可分离卷积和空洞卷积等技术降低计算复杂度

训练结果

CUMT: 训练100% 测试99.59% CUMT2: 训练100% 测试99.40% QH: 训练100% 测试99.83% TJ: 训练100% 测试99.93% (第170轮)

网络结构

整体架构

输入层
    │
    ├── 掌纹图像 (190×217, 可见光)
    └── 掌静脉图像 (180×180, 红外光)
    │
    ▼
双支流骨干网络 (DualStreamBackbone)
    ├── 掌纹骨干网络 (独立参数)
    └── 掌静脉骨干网络 (独立参数)
    |
    ▼
MoE特征增强模块 (MoEEnhancement)
    ├── 高频专家 - 提取边缘、纹理等细节特征
    ├── 中频专家 - 提取多尺度上下文信息
    └── 低频专家 - 提取整体轮廓和光照分布
    |
    ▼
MoE融合模块 (MoEFusion)
    ├── 跨注意力融合专家 - 全局语义关联
    ├── 多尺度卷积融合专家 - 局部特征互补
    └── 通道交互融合专家 - 通道维度融合
    |
    ▼
分类网络 (Classifier)
    │
    ▼
输出层 (290类分类)

模块详细说明

1. 双支流骨干网络

采用轻量化CNN架构,分别处理掌纹和掌静脉图像。每个支流包含5个卷积阶段,逐步提取特征并降低空间分辨率。

2. MoE特征增强模块

为每种模态构建独立的专家网络池,包含三个并行专家:

  • 高频专家 (HighFreqExpert):使用拉普拉斯核和深度可分离卷积提取边缘、纹理等高频特征
  • 中频专家 (MidFreqExpert):采用多尺度空洞卷积和方向感知卷积提取上下文信息
  • 低频专家 (LowFreqExpert):通过编码器-解码器结构和低通滤波提取整体轮廓

门控网络根据输入特征动态生成权重,加权融合三个专家的输出。

3. MoE融合模块

构建跨模态交互专家池,包含三个异构专家:

  • 跨注意力融合专家:基于Transformer架构,利用双向交叉注意力机制捕捉双模态特征的全局语义关联
  • 多尺度卷积融合专家:采用不同感受野的并行卷积核,聚焦局部微观特征的互补性
  • 通道交互融合专家:通过通道注意力机制实现模态间的特征交互

4. 分类网络

采用多层感知机架构,包含全局平均池化、全连接层和Dropout正则化。

数据规格

模态 图像尺寸 光源类型 类别数
掌纹 190×217 可见光 290
掌静脉 180×180 红外光 290

项目结构

.
├── models/
│   ├── __init__.py
│   ├── backbone.py          # 双支流骨干网络
│   ├── classifier.py       # 分类网络
│   ├── moe_enhancement.py   # MoE特征增强模块
│   ├── moe_fusion.py        # MoE融合模块
│   └── vibe_net.py          # VIBE主网络
├── utils/
│   └── __init__.py
├── config.py                # 配置文件
├── dataset.py              # 数据集加载
├── main.py                  # 主程序入口
├── train.py                 # 训练脚本
├── test.py                  # 测试脚本
├── test_model.py
├── network_architecture.md  # 网络架构详细文档
└── README.md                # 项目说明文档

使用方法

训练

python main.py --mode train --dataset <dataset_name>

测试

python main.py --mode test --dataset <dataset_name>

演示

python main.py --mode demo

依赖环境

  • Python 3.7+
  • PyTorch 1.8+
  • NumPy
  • Matplotlib

论文引用

如需引用本项目,请参考相关学术论文。。