This is an implemntation of UniquePrintV1. UniquePrintV1 can synthesize the fingerprint from pattern type analysis features (e.g. left, whorl, right, tent arch, arch) using conditional GAN.
Synthesizing Fingerprint from Pattern Type Analysis Features using cGAN
Samuel Lee, Jae-Gab Choi, Jin-Ho Park and Gye-Young Kim
School of Software, Soongsil University
World IT Congress 2019 Jeju (WITC 2019)
- Python 3.6.7
- OpenCV-Python 3.4.4.19
- TensorFlow 1.10.0
Decompress regularized NIST Special Database 4.
$ cd Resources/nist-sd4/
$ unzip nistsd4.part1.zip
$ unzip nistsd4.part2.zip
$ unzip nistsd4.index.zip
Change opt
variable to train
in UniquePrintV1.py
file.
# Parameters
os.environ['CUDA_VISIBLE_DEVICES'] = '0'
database_path = r'Resources/nist-sd4'
name = 'UniquePrintV1_FingerNet'
opt = 'demo' # Change this to 'train' to train UniquePrintV1
checkpoint_epoch = None
batch_size = 150
epoch = 2000
D_learning_rate = 0.0005
G_learning_rate = 0.0005
max_to_keep = 999
And, Run UniquePrintV1.py
$ python3 UniquePrintV1.py
Change opt
variable to demo
in UniquePrintV1.py
file after training.
# Parameters
os.environ['CUDA_VISIBLE_DEVICES'] = '0'
database_path = r'Resources/nist-sd4'
name = 'UniquePrintV1_FingerNet'
opt = 'demo' # Change this to 'demo' to demonstrate UniquePrintV1
checkpoint_epoch = None
batch_size = 150
epoch = 2000
D_learning_rate = 0.0005
G_learning_rate = 0.0005
max_to_keep = 999
And, Run UniquePrintV1.py
$ python3 UniquePrintV1.py
Trained 2,000 epoch with NIST Special Database 4.
Output images per epoch (Left) and final output images (Right)
I referenced some codes from https://github.com/YadiraF/GAN