SDB:Install RealSenseID
The IntelĀ® RealSenseā¢ ID Solution F450 module integrates the optical components and processing hardware necessary to integrate high performance, local face authentication capabilities into new and existing product types.The IntelĀ® RealSenseā¢ ID Solution F455 is a peripheral device that incorporates the IntelĀ® RealSenseā¢ ID Solution F450 module.
The IntelĀ® RealSenseā¢ ID Solution F450 can be implemented as a peripheral or host. If the IntelĀ® RealSenseā¢ ID Solution F450 is implemented as a peripheral, the embedded host module or external host system will be responsible for defining the enrollment and authentication flows using the IntelĀ® RealSenseā¢ ID Solution F450 software programming interface. The host will also be responsible for manageability, power delivery,and connectivity to the outside world..
Highlights
- Fast : Authenticates in less than a second.
- Accurate 1:1 Million False Acceptance Rate.
- Secure On-device encrypted transactions with the use of embedded Secure Element.
- User control Takes a few seconds to enroll and you are always in control.
Package Requirements
Install CMake*, pkg-config, and GNU* Dev Tools to Build Samples.The compilers utilize the existing GNU build toolchains to provide a complete C/C++ development environment. If your distribution of Linux does not include the complete suite of GNU development tools, you need to install these tools. To install the GNU development tools on your Linux system, open a terminal session and enter the following commands:
$ sudo zypper update $ sudo zypper --non-interactive install cmake pkg-config $ sudo zypper --non-interactive install pattern devel_C_C++
Verify the installation by displaying the installation location with this command:
$ which cmake pkg-config make gcc g++
One or more of these locations will display:
/usr/bin/cmake /usr/bin/pkg-config /usr/bin/make /usr/bin/gcc /usr/bin/g++
Build and Run the SDK/Examples Using the Command Line
Following the example below, use the command git clone to download the source code from the github repository.
$ git clone https://github.com/IntelRealSense/RealSenseID Cloning into 'RealSenseID'... remote: Enumerating objects: 2805, done. remote: Counting objects: 100% (2805/2805), done. remote: Compressing objects: 100% (1841/1841), done. remote: Total 2805 (delta 1179), reused 2424 (delta 834), pack-reused 0 Receiving objects: 100% (2805/2805), 7.35 MiB | 6.07 MiB/s, done. Resolving deltas: 100% (1179/1179), done.
Now enter the newly created folder, create a folder with the name build, use the command cmake and make as in the example below.
$ cd RealSenseID $ mkdir build $ cd build $ cmake .. -DRSID_SECURE=1 -DRSID_SAMPLES=1 $ make
If everything worked correctly, enter the bin folder and run the rsid-cli binary
$ cd bin $ ./rsid-cli /dev/ttyACM0 Please select an option: 'e' to enroll. 'a' to authenticate. 'd' to delete all users. 'p' to pair with the device (enables secure communication). 'i' to unpair with the device (disables secure communication). 'c' to capture images from device. 's' to set authentication settings. 'g' to query authentication settings. 'u' to query ids of users. 'n' to query number of users. 'b' to save device's database before standby. 'v' to view additional information. 'x' to ping the device. 'q' to quit. server mode options: 'E' to enroll with faceprints. 'A' to authenticate with faceprints. 'U' to list enrolled users 'D' to delete all users. >
Select the "p" option to pair with the device.
> p [2021-05-19 03:47:30.601] [debug] [LinuxSerial] Opening serial port /dev/ttyACM0 baudrate 115200 Connected to device [2021-05-19 03:47:30.602] [info] [FaceAuthenticatorImpl] Pairing start [2021-05-19 03:47:30.602] [debug] [PacketSender] Sending packet 'a' [2021-05-19 03:47:30.604] [debug] [PacketSender] Waiting packet.. [2021-05-19 03:47:30.764] [debug] [PacketSender] Received packet 'b' after 160 millis [2021-05-19 03:47:30.764] [info] [FaceAuthenticatorImpl] Pairing Ok Final status:Ok [2021-05-19 03:47:30.770] [debug] [SecureSession] Close session
Now select the e option to process the enroll biometric function. This action, Starts device, runs neural network algorithm and stores encrypted faceprints on database. A faceprint is a set number of points which is represented as mathematical transformation of the userās face. saves encrypted facial features to secured flash on Intel RealSense ID F450 / F455. Stored encrypted faceprints are matched with enrolled faceprints later during authentication. For best performance, enroll under normal lighting conditions and look directly at the device. During the enrollment process, device will send a status hint to the callback provided by application.
> e User id to enroll: cabelo-suse [2021-05-19 03:49:51.977] [debug] [LinuxSerial] Opening serial port /dev/ttyACM0 baudrate 115200 Connected to device [2021-05-19 03:49:51.977] [debug] [SecureSession] Start session [2021-05-19 03:49:51.984] [debug] [PacketSender] Sending packet 'c' [2021-05-19 03:49:51.986] [debug] [PacketSender] Waiting packet.. [2021-05-19 03:49:52.765] [debug] [PacketSender] Received packet 'd' after 779 millis [2021-05-19 03:49:52.773] [debug] [PacketSender] Sending packet 'E' [2021-05-19 03:49:52.775] [debug] [PacketSender] Waiting packet.. [2021-05-19 03:49:53.240] [debug] [PacketSender] Received packet 'g' after 464 millis [2021-05-19 03:49:53.240] [debug] [FaceAuthenticatorImpl] Detected face 512,810 250x316 [2021-05-19 03:49:53.240] [info] [Enroll] OnFaceDetected 1 faces [2021-05-19 03:49:53.240] [debug] [PacketSender] Waiting packet.. [2021-05-19 03:49:53.513] [debug] [PacketSender] Received packet 'P' after 272 millis *** Detected Pose Center *** Please Look To The Left [2021-05-19 03:49:53.513] [debug] [PacketSender] Waiting packet.. [2021-05-19 03:49:53.611] [debug] [PacketSender] Received packet 'g' after 98 millis [2021-05-19 03:49:53.611] [debug] [FaceAuthenticatorImpl] Detected face 504,790 258x340 [2021-05-19 03:49:53.611] [info] [Enroll] OnFaceDetected 1 faces [2021-05-19 03:49:53.611] [debug] [PacketSender] Waiting packet.. [2021-05-19 03:49:53.707] [debug] [PacketSender] Received packet 'g' after 96 millis [2021-05-19 03:49:53.707] [debug] [FaceAuthenticatorImpl] Detected face 502,796 260x336 [2021-05-19 03:49:53.707] [info] [Enroll] OnFaceDetected 1 faces [2021-05-19 03:49:53.707] [debug] [PacketSender] Waiting packet.. [2021-05-19 03:49:53.807] [debug] [PacketSender] Received packet 'g' after 99 millis [2021-05-19 03:49:53.807] [debug] [FaceAuthenticatorImpl] Detected face 502,794 260x338 [2021-05-19 03:49:53.807] [info] [Enroll] OnFaceDetected 1 faces [2021-05-19 03:49:53.807] [debug] [PacketSender] Waiting packet.. [2021-05-19 03:49:53.944] [debug] [PacketSender] Received packet 'g' after 136 millis [2021-05-19 03:49:53.944] [debug] [FaceAuthenticatorImpl] Detected face 496,794 256x340 [2021-05-19 03:49:53.944] [info] [Enroll] OnFaceDetected 1 faces [2021-05-19 03:49:53.944] [debug] [PacketSender] Waiting packet.. [2021-05-19 03:49:54.223] [debug] [PacketSender] Received packet 'P' after 279 millis *** Detected Pose Left *** Please Look To The Right [2021-05-19 03:49:54.224] [debug] [PacketSender] Waiting packet.. [2021-05-19 03:49:54.322] [debug] [PacketSender] Received packet 'g' after 98 millis [2021-05-19 03:49:54.322] [debug] [FaceAuthenticatorImpl] Detected face 498,800 256x332 [2021-05-19 03:49:54.322] [info] [Enroll] OnFaceDetected 1 faces [2021-05-19 03:49:54.322] [debug] [PacketSender] Waiting packet.. [2021-05-19 03:49:54.419] [debug] [PacketSender] Received packet 'g' after 96 millis [2021-05-19 03:49:54.419] [debug] [FaceAuthenticatorImpl] Detected face 496,798 256x334 [2021-05-19 03:49:54.419] [info] [Enroll] OnFaceDetected 1 faces [2021-05-19 03:49:54.419] [debug] [PacketSender] Waiting packet.. [2021-05-19 03:49:54.517] [debug] [PacketSender] Received packet 'g' after 98 millis [2021-05-19 03:49:54.517] [debug] [FaceAuthenticatorImpl] Detected face 496,800 254x332 [2021-05-19 03:49:54.517] [info] [Enroll] OnFaceDetected 1 faces [2021-05-19 03:49:54.517] [debug] [PacketSender] Waiting packet.. [2021-05-19 03:49:54.613] [debug] [PacketSender] Received packet 'g' after 95 millis [2021-05-19 03:49:54.613] [debug] [FaceAuthenticatorImpl] Detected face 494,792 262x342 [2021-05-19 03:49:54.613] [info] [Enroll] OnFaceDetected 1 faces [2021-05-19 03:49:54.613] [debug] [PacketSender] Waiting packet.. [2021-05-19 03:49:54.749] [debug] [PacketSender] Received packet 'g' after 136 millis [2021-05-19 03:49:54.749] [debug] [FaceAuthenticatorImpl] Detected face 494,798 256x334 [2021-05-19 03:49:54.749] [info] [Enroll] OnFaceDetected 1 faces [2021-05-19 03:49:54.749] [debug] [PacketSender] Waiting packet.. [2021-05-19 03:49:54.996] [debug] [PacketSender] Received packet 'P' after 246 millis *** Detected Pose Center *** Please Look To The Right [2021-05-19 03:49:54.996] [debug] [PacketSender] Waiting packet.. [2021-05-19 03:49:55.357] [debug] [PacketSender] Received packet 'R' after 361 millis *** Result Success [2021-05-19 03:49:55.357] [debug] [PacketSender] Waiting packet.. [2021-05-19 03:49:55.358] [debug] [PacketSender] Received packet 'Y' after 0 millis [2021-05-19 03:49:55.358] [debug] [SecureSession] Close session
Now select the a option to authenticate user with face biometric function. Right now, runs neural network algorithm, generates faceprints and compares them to all enrolled faceprints in database. Finally, returns whether the authentication was forbidden or allowed with enrolled user id. During the authentication process, device will send a status hint to the callback provided by application.
> a [2021-05-19 03:54:03.896] [debug] [LinuxSerial] Opening serial port /dev/ttyACM0 baudrate 115200 Connected to device [2021-05-19 03:54:03.896] [debug] [SecureSession] Start session [2021-05-19 03:54:03.902] [debug] [PacketSender] Sending packet 'c' [2021-05-19 03:54:03.904] [debug] [PacketSender] Waiting packet.. [2021-05-19 03:54:04.523] [debug] [PacketSender] Received packet 'd' after 619 millis [2021-05-19 03:54:04.531] [debug] [PacketSender] Sending packet 'A' [2021-05-19 03:54:04.533] [debug] [PacketSender] Waiting packet.. [2021-05-19 03:54:04.929] [debug] [PacketSender] Received packet 'g' after 395 millis [2021-05-19 03:54:04.929] [debug] [FaceAuthenticatorImpl] Detected face 584,766 232x306 [2021-05-19 03:54:04.929] [info] [Autenticate] OnFaceDetected 1 faces [2021-05-19 03:54:04.929] [debug] [PacketSender] Waiting packet.. [2021-05-19 03:54:05.435] [debug] [PacketSender] Received packet 'R' after 506 millis [2021-05-19 03:54:05.435] [info] [Autenticate] OnResult status=Success(0), user_id="cabelo01" ******* Authenticate success. user_id: cabelo-suse ******* [2021-05-19 03:54:05.435] [debug] [PacketSender] Waiting packet.. [2021-05-19 03:54:05.435] [debug] [PacketSender] Received packet 'Y' after 0 millis [2021-05-19 03:54:05.435] [info] [Autenticate] Done [2021-05-19 03:54:05.435] [debug] [SecureSession] Close session
Use the v option for see more information about your device.
> v [2021-05-19 03:59:14.262] [debug] [LinuxSerial] Opening serial port /dev/ttyACM0 baudrate 115200 Additional information: * S/N: 10656228083099A27FM10464-100 * Firmware: DNET:4.5.20.0|YOLO:25.4.21.0|RECOG:28.2.21.0|AS2DLR:23.2.21.0|OPFW:2.6.0.74|NNLED:2.22.21.0|NNLAS:2.12.21.0 * Host: 0.17.1
This text was built by Official oneAPI Innovator Intel and openSUSE member Alessandro de Oliveira Faria based on Intel tutorials. More information see the official page HERE