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类分类)
采用轻量化CNN架构,分别处理掌纹和掌静脉图像。每个支流包含5个卷积阶段,逐步提取特征并降低空间分辨率。
为每种模态构建独立的专家网络池,包含三个并行专家:
- 高频专家 (HighFreqExpert):使用拉普拉斯核和深度可分离卷积提取边缘、纹理等高频特征
- 中频专家 (MidFreqExpert):采用多尺度空洞卷积和方向感知卷积提取上下文信息
- 低频专家 (LowFreqExpert):通过编码器-解码器结构和低通滤波提取整体轮廓
门控网络根据输入特征动态生成权重,加权融合三个专家的输出。
构建跨模态交互专家池,包含三个异构专家:
- 跨注意力融合专家:基于Transformer架构,利用双向交叉注意力机制捕捉双模态特征的全局语义关联
- 多尺度卷积融合专家:采用不同感受野的并行卷积核,聚焦局部微观特征的互补性
- 通道交互融合专家:通过通道注意力机制实现模态间的特征交互
采用多层感知机架构,包含全局平均池化、全连接层和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
如需引用本项目,请参考相关学术论文。。