Searching Identity details across Local-Global Features for Generalized Cross-Domain ECG Recognition [IJCB'25]
This is the code repository for the paper "Searching Identity details across Local-Global Features for Generalized Cross-Domain ECG Recognition".
Identity details within an ECG is jointly situated within local and global features. The current methods for ECG recognition emphasize only on local or global details. They have also paid limited attention to unseen and cross-domain scenarios. Furthermore, there exists a lack of consensus on evaluation strategies. Thus, this paper introduces LGTraNet, a generalized architecture designed to establish baselines for securing personal identity using ECG biometrics in cross-domain scenarios. Our proposed model firstly extracts identity details at local temporal levels. The extracted features are then calibrated with globally details using a Self-Calibrated Normalizing Residual Network (SCNRNet). Finally, the refined local details are aggregated using a transformer model to formulate robust global identity representations. We evaluate LGTraNet over challenging cross-domain scenarios, such as cross-session and cross-database. To mitigate challenges in domain-shift, we also introduce an incremental learning based training strategy. Experimental study conducted on three benchmark datasets, ECG1D, MIT-BIH, and PTB, shows that the LGTraNet achieves significant performance in cross-domain settings, and outperforms state-of-the-art.
python: 3.9/3.10/3.11
tensorflow: 2.5.0/2.6.0/2.8.0/2.8.2
We have provided requirements.txt
. Use: pip install -r requirements.txt
.
- We have provided the architecture and trainer/tester files. Please refer
SCConv.py
,Transformer.py
, andtrainer.py
. - Preprocessing and data file creation in
preprocessing.py
- Processed data can be passed in
trainer.py
: We have left space to pass in path of the data files. - For reproducibility, we have provided data, models, embeddings, and code for cross database experiment. Please go inside
./cross database
folder. - For testing in cross database, use
ArcFaceTest
class, instead ofArcFace
. This is present insideArcFace.py
. - Data files for cross database experiments are available at: Data .
Link to supplementary material: Link
If you find this code useful in your research, please consider citing us:
@article{kafley2025searching,
title={Searching Identity details across Local-Global Features for Generalized Cross-Domain ECG Recognition},
author={Sabin Kafley and Aman Verma and Gaurav Jaswal and Arnav Bhavsar and Raghavendra Ramachandran and Aditya Nigam},
journal={IEEE International Joint Conference on Biometrics (IJCB)},
year={2025},
publisher={IEEE}
}