Privacy-Preserving Biometric Verification with Handwritten Random Digit String
IEEE Transactions on Pattern Analysis and Machine Intelligence (TPAMI), 2025
⭐Official code of the PAVENet model and the release of the HRDS4BV dataset.
This paper proposes using Random Digit String (RDS) for privacy-preserving handwriting verification. Users can perform identity authentication by writing a digit sequence of arbitrary content rather than signing signatures that contains personal information, effectively protecting privacy.
To this end, we first propose the HRDS4BV dataset, consisting of handwritten RDS acquiring from 402 writers. Second, we propose the Pattern Attentive VErification Network (PAVENet) to extract discriminative handwriting patterns, enhancing writing style representation.
HRDS4BV dataset is a handwriting verification benchmark dataset that contains 16080 RDS samples from 402 users, with 20 genuine samples and 20 skilled forgeries per user. Each RDS is composed of random digits in a length of 7~11. The dataset is acquired in two separate sessions, in which 10 genuine samples and 10 skilled forgeries per user are collected in each session. More details are presented in the below table.
| Content | Length | Modality | Session | User | Genuine Sample | Skilled Forgery | Features |
|---|---|---|---|---|---|---|---|
| Random Digit String | 7~11 | Online | 2 | 402 |
The HRDS4BV dataset is available for non-commercial research purposes only. To request access, please follow these steps:
Step 1: Download and complete both agreement documents:
Have both documents signed and stamped by your institution. Please also prepare 1–2 recent publications (within the last 6 years) as evidence that you or your team conduct research in handwriting verification, handwriting analysis and recognition, document image processing, or related fields.
Step 2: Submit your application online:
Upload both signed documents through the portal and fill out the "Recent Publications" block. Your application will be reviewed manually and you will be notified by email once a decision has been made (typically within 1–5 business days).
Step 3: Download the dataset:
After approval, you will receive the download link and decompression password via email.
⚠️ All users must comply with the use conditions at all times; failure to do so will result in revocation of access.
The dataset is organized in the following directory format:
HRDS4BV
├─session1
│ ├─0
│ │ ├─f_0_0.txt
│ │ ├─f_0_1.txt
│ │ ├─...
│ │ ├─g_0_0.txt
│ │ ├─g_0_1.txt
│ │ └─...
│ ├─1
│ │ ├─f_0_0.txt
│ │ ├─f_0_1.txt
│ │ ├─...
│ │ ├─g_0_0.txt
│ │ ├─g_0_1.txt
│ │ └─...
│ ├─...
├─session2
│ ├─...- Data of two sessions is stored in
session1andsession2. - The users are arranged from
0to401, with online dynamic time series and offline static images provided inseriesandimages. The time series are saved as.txtfiles and the images are in.pngformat. - The naming of each file follows the same format:
flag_user_index. -
flagisforg.findicates that this file is a skilled forgery, whilegindicates that it is a genuine sample.
-
userindicates the number of user of this file.
-
indexindicates the number of this file in the current folder.
-
- For example,
f_0_0.txtrepresents the first file (time series) of all skilled forgeries of the user0.
- For example,
HRDS4BV should be used and distributed under Creative Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0) License for non-commercial research purposes.
git clone https://github.com/SCUT-DLVCLab/PAVENet.git
cd PAVENet
conda create -n pavenet python=3.8.16
conda activate pavenet
pip install -r requirements.txtDownload the HRDS4BV dataset and unzip it using the following commands (7z is recommended for the unzipping; please ensure that 7z is installed and available):
mkdir data
7z x HRDS4BV.zip -odataYou can enter the decompression password here.
Run process.py for data preprocessing and data splitting:
python process.pyNow the data should be all preprocessed and splitted. The final data directory should look like:
data
├── HRDS4BV
├── hrds4bv-across-test.pkl
└── hrds4bv-across-train.pklpython test.py --weights weights/model.pth
@ARTICLE{pavenet2025zhang,
author={Zhang, Peirong and Liu, Yuliang and Lai, Songxuan and Li, Hongliang and Jin, Lianwen},
journal={IEEE Transactions on Pattern Analysis and Machine Intelligence (TPAMI)},
title={{Privacy-Preserving Biometric Verification With Handwritten Random Digit String}},
year={2025},
volume={47},
number={4},
pages={3049-3066}
}Peirong Zhang: eeprzhang@mail.scut.edu.cn
Copyright 2025, Deep Learning and Vision Computing (DLVC) Lab, South China China University of Technology.
