As a result we got a system, which recognized the employee at the door and, if access was permitted, opened the door, made photo and recorded the time in the attendance log. The system could recognize and log several faces simultaneously.
First of all, the system could not recognize "unknown people". Since employees of contracting entities came to our office, we wanted to control their attendance.
Secondly, photo quality in Bitrix24 limited the recognition process. When the face in the photo was blurred, the recognition process was slow or was blocked.
Nevertheless, there was the need for improvement of the system.
Therefore, it was necessary to realize functionality on the user creation, which further would be identified from the record of the attendance log about the unknown person. In order to increase operating speed, the system was to learn on successful and unsuccessful recognitions.
All in all, the system was changed radically. Dlib became the basis for building faces models.
Unlike the previous version, in which data on models of known employees was stored in random access memory and data updating could not do without the reset of the service with the new data, the current system stores all data in PostgreSQL database system and any data change on employee is applied instantly.
Thus, background tasks change the user data in a real time mode. The system has got a module architecture on the basis of unix philosophy. Each module of the system carries out its own task and forwards the result to another module. In such a way, we have formed several standard modules, which can be replaced or improved according to the needs.