Error and success codes¶
The success codes are prefixed with s_ and the error codes with e_.
Our web demo at https://www.doubango.org/webapps/face-liveness/ and SDK on Github will return one of these codes:
s_avantgarde: The image was caught by the avant-garde module and the processing was aborted. All faces in the image are considered as spoofs.
s_genuine: The face was analyzed and is most likely genuine.
s_spoof: The face was analyzed and is most likely spoof.
s_disputed: The face was analyzed but we are not sure if it’s genuine. It’s most likely spoof. Ask the user to try again or reject it.
s_disguise: The face was analyzed and is most likely a disguise. It could be a 3D mask or you have your face partially hidden.
s_pending: The operation is pending. This code is returned when parallel processing is enabled. The final response will be sent asynchronously using the registered callback function.
s_inject: The face is from an image that comes from a virtual camera. The injected face may be from an image (jpg, png, bitmap…), a video file (mp4, webm…) or a superimposed deepfake.
s_impaired: The stream injection (virtual camera) module requires a stereo image (2 images). These 2 images must respect some rules (e.g. same face, pre-defined size…). This response code is returned when the stereo image doesn’t respect these rules.
e_back: The image contains multiple faces and this one is considered as being at the background and no liveness check was done on it.
e_too_small: The face is too small (width or height is < 64px). No liveness analyze was done on it.
e_not_selfie: The face is not a selfie (front facing). For now we don’t check if a face is a selfie or not. No liveness analyze was done on it.
e_nolicense: The operation you’re trying to perform is not permited.
e_noface: The stream injection (virtual camera) module requires a stereo image (2 images). Both images must face a face. This error is returned if one of the images doesn’t have a face.
Warnings¶
The stream injection (virtual camera) detection module have some well-defined warning codes to provide feedback about the stereo image. The codes are single digit numbers. These codes may be concatenated for multiple warnings. Example: “stereo impaired(42)” means code 4 and code 2.
stereo impaired(0): the stereo image doesn’t respect the size constraint.
stereo impaired(1): confidential. Used by us for debugging. You may have this warning if there is too much low delay/motion in the stereo image. This warning may lead to rejection if aggressive mode is enabled.
stereo impaired(2): the stereo image has 2 images. Each image must contain at least one face. The largest face on each image is extracted and they are compared. The largest faces must match (same person). You get this warning when the faces do not match.
stereo impaired(3): the camera intrinsics estimated from the stereo image are out of bounds. You may have such warning on desktops but must not have it on mobile devices (Android or iOS) unless the face is too far away.
stereo impaired(4): confidential. Used by us for debugging. You may have this warning if there is too much low delay/motion in the stereo image. This warning may lead to rejection if aggressive mode is enabled.
stereo impaired(5): confidential. Used by us for debugging.
stereo impaired(6): confidential. Used by us for debugging.
stereo impaired(7): the injection score is slightly lower than the genuine threshold but the smart-pass module promoted it to “genuine” status.