Passive versus Active liveness detection¶
A single selfie-like image is needed to compute a liveness score (within [0 - 100]%). The decision is solely based on intrinsic elements like the micro textures on your skin, the light reflection on your eyes, the direction of the edges…
Active liveness detector will ask the user to perform some actions like: smile, blink your eyes, turn your head left/right/top/bottom… It requires active user cooperation and take time to validate. You’ll probably end with low conversion rates as most of your customers will exit the application before the end of process.
Why passive is better?¶
This section explain why passive detectors are better.
Passive liveness is more accurate because it’s solely based on intrinsic information. Intrinsic information is almost invariant and easy to predict.
Try our online web demo at https://www.doubango.org/webapps/face-liveness/ with your mobile phone using your camera to take selfies.
As explained above, a passive liveness detector needs a single selfie-like image while active detector will ask the user to perform multiple actions. Our passive liveness detector can run at 45 frames per second (server-side) which means it takes only 22 milliseconds per user.
Unlike the active liveness detectors, passive detectors will just ask for a single selfie-like image. You can use the same image as the one already used by your facial recognition system to authenticate the user.
Harder to break¶
As explained above, active liveness detector will ask you to perform some actions and this makes it easy to break as you’re already giving fraudsters information on how spoofs are detected.
On the other side, passive liveness detector will not ask the user to perform any action. So, no indication on how to break the system. Even better, the fraudsters don’t know that it exists. Passive liveness detection is based on micro texture analysis and very hard to break even with high resolution cameras (4K+) and displays (Retina+).
Easier to integrate to an existing application¶
Passive liveness detector needs a single image to compute a score. You don’t need to change your user interface to integrate the SDK. Put the SDK on the server side, the image used by your facial recognition system to authenticate the user is a good candidate for the liveness detector.
Less bandwidth and CPU usage¶
Active liveness detector requires multiple frames to compute a score. This is CPU intensive if the frames are analyzed on the mobile device itself. Some active liveness detectors run on a remote server which means each frame is sent over the network, in such scenario the issues are multiple: bandwidth usage, scability, costs… A passive liveness detector needs a single image.