ID-System is a simple tk GUI with 2 functionalities :
-
Checking similarity between ID photo and DB embeddings
-
Checking Real Time captured picture similarity with ID photo (if ID photo embeddings 'True' in the DB)
CUDA 11.3 Python 3.9.7 scipy 1.11.1 tqdm 4.65.0 conda 23.5.0 docker 6.1.3
There are much more packages, please check requirements.txt.
-
Python tkis used to make user GUI -
RetinaFace- model to Face Detection task -
ArcFace- model to Face Recognition -
Google Real Time DB- database used to save photo embeddings. -
Single-GPU RTX 3060- used to train models
Note : All models and Tools are used with PyTorch (Python) implementation.
-
There are 2 main user GUI python files:
real_time_checker_gui.pyandid_checker_gui.py -
Core_detector.pyis the main python file with Retinaface implementation to face detection -
Core_recognizer.pyis the another python file with Arcface implementation to face recognition task of Computer Vision. -
subprocess_files.pyandsubprocess_real_time_files.pyfiles are responsible to connect multiple python files. -
server_connect.pyfile helps to connect to DB (Google Real time). -
ID_card_delete_resources.pyanddelete_files_real_time.pyfiles are responsible to delete all unnecessary img and npy files. (recommended to run every time)
Note: Some codes in python files may not work or (private information) may be missed (deleted on purpose bcz of privacy. )
-
conv_npy,data, ID_picure,Real_time_imageandGUI_srcare folders with bunch of images (id, user real time captured image, etc.) and .npy (db saved numpy embeddings or some ArcFace calculation .npy files) -
Detectorfolder consists of resources of RetinaFace FD codes. -
Recognizeris another folder with Arcface FR task modules and codes.
Note: Some folders may not work or (private information) may be missed (deleted on purpose bcz of privacy. )
Note : Most model implementation codes are open-source but have copyrights to certain authors, so I decided not to delete authors'
names in codes and also in the final similarity percentage is ~ 69 %, it is because there is no any image augimentations or pre-processing
before comaparing the image (if it is possible, try with them and hopefully you will get higher score, why not?). In the future projects of
Face Recognition, you can use that codes with modifications. I trained RetinaFace and ArcFace with my `custom dataset + WiderFace(RetinaFace)
and CelebA(ArcFace)`. So, I can't provide models and weights directly (privacy issues). If you want to use them, please contact with me first
uacoding01@gmail.com.
