Siamese Network for Hand-written Signature Verification [Final Year]
We recommend using python3 and a virtual environment.
The default venv should be used, or virtualenv with python3.
python3 -m venv .env
source .env/bin/activate
pip install -r requirements_cpu.txtIf you are using a GPU, you will need to install tensorflow-gpu so do:
pip install -r requirements_gpu.txtDownload our dataset and extract it into the directory data/input/. Any other dataset that may be used shoud be put in the same directory and structured like the one described here.
To run a new training session, do:
python train.pyTo evaluate the performance of the model on new data, do:
python evaluate.pyA notenook is included if it is preferred that the code be run in any python notebook environment. Check out a ran version on kaggle
Our sincere gratitude to oor project supervisor Mr Jephthah Yankey, and the entire computer engineering faculty of the Kwame Nkrumah University of Science and Technology
- Blog post explaining this project.
- Source code for the built-in TensorFlow function for semi hard online mining triplet loss:
tf.contrib.losses.metric_learning.triplet_semihard_loss. - Facenet paper introducing online triplet mining
- Detailed explanation of online triplet mining in In Defense of the Triplet Loss for Person Re-Identification
- Blog post by Brandom Amos on online triplet mining: OpenFace 0.2.0: Higher accuracy and halved execution time.
- Source code for the built-in TensorFlow function for semi hard online mining triplet loss:
tf.contrib.losses.metric_learning.triplet_semihard_loss. - The coursera lecture on triplet loss