Interaction of LUNA PASS components#
The interaction of the LUNA PASS components is presented in the diagram (Figure 4), a description of the component interaction is given below (Table 3).
Table 3. Description of the process of interaction LUNA PASS components during frame processing and Liveness estimation
Step |
Description |
---|---|
(0) |
The user accesses LUNA PASS UI by opening the corresponding page in a web browser. LUNA PASS UI requests access to the webcam |
(1) |
The browser displays an appropriate message requesting permission from the user. The user grants access to continue using LUNA PASS |
(2– 3) |
LUNA PASS UI establishes a WebSocket connection to the LUNA PASS API using the LPProto protocol, which sends a CONNECT request |
(4) |
LUNA PASS API checks the received data, assigns a session-id and opens a WebSocket connection |
(5) |
LUNA PASS UI connects to the webcam and captures the image from the webcam |
(6) |
Video stream frames from the webcam are sent to the LUNA PASS UI |
(7) |
LUNA PASS UI displays the video stream received from the webcam in near real-time mode |
(8) |
LUNA PASS UI sends frames of the video stream, on which, for example, it was possible to detect a face, to the server in the LUNA PASS API using a secure Web Socket protocol |
(9) |
LUNA SDK 5 as part of the LUNA PASS API performs face detection, determines attributes, and performs Liveness estimation |
(10) |
If the Liveness estimation was not successful, the LUNA PASS API returns the results of the checks in the LUNA PASS UI |
(11) |
LUNA PASS UI displays appropriate prompts based on the data obtained in step 10. If the LUNA PASS API detects poor quality on the received frames or fails to checkup (the user is sitting far away from the camera or his/her head is turned at too large an angle), the web browser will display instructions in the form of prompts on how the user should change the position of his/her face relative to the webcam |
(12) |
If the Liveness estimation was successful, the LUNA PASS API analyzes the current frame. If the current frame is a bestshot (successfully passed all checks), it is sent in a signed JWT token |