Серверная часть проекта FaceDoor состоит из двух приложений, реализованных на языках Java и Python. Сервер на Java использует фреймворк SmartActors, реализующий акторную модель.
Когда пользователь отправляет фотографию для авторизации в системе, она передается на сервер на Python. Сервер использует нейросети для распознавания лица и проверки его совпадения с изображениями, сохраненными в базе данных на сервере на Java. Если совпадение найдено, сервер на Java возвращает сигнал для открытия двери.
ResNet trained on VGG Face
Сервер на Python использует библиотеки PyTorch, OpenCV, Dlib, Pillow и Numpy для обработки изображений и распознавания лиц. Он представляет собой REST API, реализованный на FastAPI, который обрабатывает HTTP-запросы на распознавание лиц. Python-сервер использует нейронную сеть ResNet, обученную на наборе данных VGG Face, чтобы сравнивать фотографии, отправленные пользователем, с изображениями сотрудников, сохраненными в базе данных.