Tabellarius is a Face Recognition engine to learn new faces and later detect them on unknown pictures.
- Ubuntu 16.04 LTS
- Python 3
- face_recognition module
- Pyrebase
Note: The supported image files that can be used are: jpg, png, jpeg, JPG.
- Clone this repository by using the following command:
git clone https://github.com/sebasrivera96/tabellarius
- To start the system, run this command:
python3 main.py
- A menu with the different functionalities of the system will be shown.
************************************************
Please type a CHARACTER to execute an action:
- [C] ==> Register people from a directory
- [D] ==> Print the registered people
- [F] ==> Erase a person given his/her name
- [G] ==> Look for known people in pictures of a given directory
- [H] ==> Remove the paths to images of ALL the registered users
- [I] ==> Remove ALL people registered
- [exit] ==> Exit
************************************************
- Organize all the images on a single folder. The image must contain exactly one face, otherwise the registration wouldn't be completed successfully. Following, an example of the organization of the files is shown.
- facesToRegister/
- Manuel_Almazan.jpg
- Aaron_Fernandez.jpg
- Irasema_Hernandez.jpg
- Alejandra_Juarez.jpg
-
The name of the image must correspond to the name of the person you want to register. For instance, if the name of the person is Juan de la Cruz the name of the image must be Juan_de_la_Cruz.jpg (or any other file extension from the supported ones).
-
Look for the complete path to the directory. It must be copied once the option [C] - Register people from a directory is selected from the interactive menu.
Since the system is not 100% reliable, there will be some cases in which the user would like to delete the information created. For this reason, the interactive menu offers two options to delete this information.
As the name suggests, this function will delete all the information in the Firebase Realtime Database. It is suggested to use this command only when the information was corrupted or a fatal error ocurred. If that is not the case, it is recommended to check the next function.
This command will delete all the paths to images associated to the users. For instance, if the face recognition algorithm performed poorly on a set of images, the information stored will not be useful anymore. Therefore, it is recommended to remove the paths, tune the algorithm and rerun it on the dataset.
In the file called TODO, one can find the features that could be added to this system.