The backend of the FaceDoor project consists of two applications implemented in Java and Python. The Java server uses the SmartActors framework, which implements the actor model.
When a user submits a photo for authorization in the system, it is transmitted to the server in Python. The server uses neural networks to recognize a face and check if it matches the images stored in the database on the server in Java. If a match is found, the Java server returns a signal to open the door.
ResNet trained on VGG Face
The Python server uses PyTorch, OpenCV, Dlib, Pillow and Numpy libraries for image processing and face recognition. It is a REST API implemented on FastAPI that handles HTTP requests for face recognition. The Python server uses a ResNet neural network trained on the VGG Face dataset to compare user-submitted photos with employee images stored in the database.