PCE-Palm: Palm Crease Energy based Two-stage Realistic Pseudo-palmprint Generation | Paper
- Python 3
- NVIDIA GPU + CUDA CuDNN
- Clone this repo:
git clone https://github.com/Ukuer/PCE-Palm.git
cd PCE-Palm
- Install dependencies:
pip install -r requirements.txt
- More details: This code borrows heavily from the RPG-Palm repository. You can find more details about the original code in the RPG-Palm.
-
Download pce-checkpoints, unzip it and place it in
./checkpoints
. -
Download CUT-checkpoints, unzip it and place it in
./CUT/checkpoints
. -
Then
bash ./inference.sh
. Noted that you should modify some contents in./inference.sh
to meet you requirements.
- The proposed PCEM can be found in
./PCEM_numpy.py
. You can use it to get the PCE images from palmprint ROIs. - The propsoed LFEB can be found in
./LFEM_pytorch.py
. You can add it in your network. - The improved bezier curves can be found in
./syn_bezier.py
.
Our proposed method is a two-stage method. The first stage is train a modified CUT model with bezier curves images and PCE images. The second stage is to train a generation model with paired PCE images and real palmprints.
-
To train a modified CUT model:
- Firstly, extract PCE images from palmprint ROIs using
./PCEM_numpy.py
. - Then, genrate bezier curves images using
./syn_bezier.py
, with a equal number of PCE images. - Finally, train a modified CUT model. You can find more details from CUT origin repository.
- Noted that set
--netG resnet_9blocks_lfeb
.
- Firstly, extract PCE images from palmprint ROIs using
-
To train a generation model:
- Perpare dataets: paired PCE images and real palmprints.
- Then,
bash run.sh
. - To view training results and loss plots, run
python -m visdom.server
and click the URL http://localhost:8097. To see more intermediate results, check out./checkpoints/NAME/web/index.html
. See RPG-Palm for more details. - Noted that we use the augmentation module from Stylegan2-ADA. If you have any dependencies issues, please refer to the Stylegan2-ADA repository.
If you find this useful for your research, please use the following.
@inproceedings{jin2024pce,
title={PCE-Palm: Palm Crease Energy Based Two-Stage Realistic Pseudo-Palmprint Generation},
author={Jin, Jianlong and Shen, Lei and Zhang, Ruixin and Zhao, Chenglong and Jin, Ge and Zhang, Jingyun and Ding, Shouhong and Zhao, Yang and Jia, Wei},
booktitle={Proceedings of the AAAI Conference on Artificial Intelligence},
volume={38},
number={3},
pages={2616--2624},
year={2024}
}
@inproceedings{shen2023rpg,
title={RPG-Palm: Realistic Pseudo-data Generation for Palmprint Recognition},
author={Shen, Lei and Jin, Jianlong and Zhang, Ruixin and Li, Huaen and Zhao, Kai and Zhang, Yingyi and Zhang, Jingyun and Ding, Shouhong and Zhao, Yang and Jia, Wei},
booktitle={Proceedings of the IEEE/CVF International Conference on Computer Vision},
pages={19605--19616},
year={2023}
}
If you have any questions or encounter any issues with the this code, please feel free to contact me (email: [email protected]). I would be more than happy to assist you in any way I can.
This code borrows heavily from the RPG-Palm repository, CUT repository, BicycleGAN repository, and Stylegan2-ADA.