Operation Results
During biometric operation capturing, callback with intermediate results are returned. The results can be interpreted graphically to make the UI smoother, or for the user to perform liveness and ICAO related actions. For each processed frame Janus returns a JSON object through WebRTC connection, i.e.:
{
"operationFinished": true,
"status": 1,
"yaw": -1.4272499084472656,
"roll": 2.770369529724121,
"pitch": 4.6590986251831055,
"livenessTargetYaw": 0,
"livenessScore": 254,
"quality": 85,
"errorMessage": "",
"boundingRect": {
"x": 260,
"y": 197,
"width": 195,
"height": 201,
"fullImageWidth": 640,
"fullImageHeight": 480
},
"icaoWarnings": [],
"livenessAction": []
}
Element | Type | Glossary |
---|---|---|
operationFinished | bool | Indicates if operation was finished and this is the last result returned |
status | Status | Current operation status |
yaw | float | Yaw angle on last processed frame |
roll | float | Roll angle on last processed frame |
pitch | float | Pitch angle on last processed frame |
livenessTargetYaw | float | To what angle face should be tuned. Used on Active liveness mode |
livenessScore | int | What is the current liveness score. Used in Passive liveness modes |
quality | int | What is the current face quality |
errorMessage | string | Error string if and exception has occurred |
icaoWarnings | ICAOWarning | ICAO warnings. Empty array means there are no ICAO warnings |
livenessAction | LivenessAction | Indicates which liveness actions to perform if Liveness is checked. Empty array means that no liveness actions need to be performed |
boundingRect | Rect | Face bounding rectangle. If face is not detected, rectangle is not returned. |
Yaw
Shows current face yaw angle.
Liveness target yaw
Shows what angle face should be turned.
Liveness score
Show liveness progress. Used in Passive, PassiveWithBlink and Simple liveness modes. Liveness is considered passed when this score becomes higher than the LivenessThreshold.
Status
Status | Int representation | Glossary |
---|---|---|
NONE | 0 | None of status values were returned |
SUCCESS | 1 | Operation completed successfully |
TIMEOUT | 2 | Operation has timeout out |
CANCELED | 3 | Operation was cancelled |
BAD_QUALITY | 4 | Not used (in align with MegaMatcher ID SDK) |
MATCH_NOT_FOUND | 5 | Verified subjects did not match |
CAMERA_NOT_FOUND | 6 | Not used (in align with MegaMatcher ID SDK) |
FACE_NOT_FOUND | 7 | Face was not found during extraction |
LIVENESS_CHECK_FAILED | 8 | Face was not detected as alive |
BAD_SHARPNESS | 9 | Face image was not sharp enough |
TOO_NOISY | 10 | Face image was too noisy |
BAD_LIGHTING | 11 | Indicates bad lighting or lighting artifacts |
OCCLUSION | 12 | Indicates face occlusion |
BAD_POSE | 13 | Indicates bad face position |
TOO_MANY_OBJECTS | 14 | Indicates that more than one face was detected |
MASK_DETECTED | 15 | Indicates that mask was detected |
DUPLICATE_FOUND | 16 | Indicates that duplicate was found if MMABIS integration is true |
DUPLICATE_ID | 17 | Indicates that duplicate id was found if MMABIS integration is true |
MOTION_BLUR | 18 | Indicates bad image quality because of motion blur |
COMPRESSION_ARTIFACTS | 19 | Indicates bad image quality because of compression artifacts |
TOO_DISTANT | 20 | Indicates bad image quality because the subject is too far |
TOO_CLOSE | 21 | Indicates bad image quality because the subject is too close |
FAILED | 22 | Indicates a general failure |
RESOLUTION_INSUFFICIENT | 995 | Indicates that even after waiting for StrictQualityTimeout the pixel count did not reach StrictQualityImageSize |
CHUNK_RECEIVE_TIMEOUT | 996 | Indicates that the server stopped receiving audio/frame chunks, this is usally due to a dropped session (e.g. a browser refresh) |
STREAM_DECODE_FAILED | 997 | Indicates that the decoder failed to decode audio/frame chunks, this is usually due to a very poor internet connection or some other packet loss |
ADJUSTING_QUALITY | 998 | Indicates that image quality is being adjusted in order to receive good frames. This status is returned when FramesToSkip setting is used |
INTERNAL_ERROR | 999 | Internal error has occurred |
Bad sharpness
Is returned when face image sharpness is poor.
Too noisy
Is returned when face image is too noisy (occurs most likely due to poor camera).
Bad lighting
Is returned when face cannot be extracted due to poor lighting conditions.
Occlusion
Is returned when part of the face is covered (for example, hand is touching the face). If face is covered by a mask, separate Mask detected status is returned.
Bad pose
Is returned when face is turned too much.
Too many objects
Is returned when there is more than one face facing the camera.
Mask detected
Is returned when face is wearing a mask.
Duplicate found
Is returned when a duplicate subject is found in MMABIS, can only occur if MMABIS integration is configured.
Duplicate id
Is returned when a duplicate id is found in MMABIS, can only occur if MMABIS integration is configured.
LivenessAction
Action | Int representation | Glossary |
---|---|---|
NO_ACTION | 0 | No actions are required from the user |
KEEP_STILL | 1 | The user should keep still as possible |
BLINK | 2 | The user should blink at least once |
ROTATE_YAW | 4 | The user should rotate his/hers face according instructions |
KEEP_ROTATING_YAW | 8 | The user should keep turning face from side to side |
TURN_TO_CENTER | 16 | The user should center out his/hers face |
TURN_LEFT | 32 | The user should turn his/hers face left |
TURN_RIGHT | 64 | The user should turn his/hers face right |
TURN_UP | 128 | The user should turn his/hers face up |
TURN_DOWN | 256 | The user should turn his/hers face down |
MOVE_CLOSER | 512 | The user should move his/hers face closer to the camera |
MOVE_BACK | 1024 | The user should move his/hers face further away from the camera |
Keep still
When this action occurs, it is advised to display the liveness score, in order for the user to know that something is actually happening. During this action, user should keep still as possible until the liveness reaches LivenessThreshold.
Blink
During this action user should blink at least one time.
Rotate yaw
During this action, user should rotate his yaw according LivenessTargetedYaw. During this action MegaMatcher ID UI uses yaw angle to show user current position with an arrow, and livenessTargetYaw as target in order to show the user where to rotate his head.
Keep rotating yaw
During this action user should keep rotating his yaw from left to right until the livenessScore is above the LivenessThreshold.
Turn to center
During this action user should center out his face.
Turn left
During this action user should turn his head from the center to the left.
Turn right
During this action user should turn his head from the center to the right.
Turn down
During this action user should lower his head.
Turn up
During this action user should raise his head.
Move closer
During this action user should move closer to the camera.
Move back
During this action user should move further away from the camera.
ICAOWarning
Warning | Int representation | Glossary |
---|---|---|
NO_WARNINGS | 0 | Indicates that no warnings were detected |
FACE_NOT_DETECTED | 1 | Indicates that was not detected |
ROLL_LEFT | 2 | Indicates face roll left |
ROLL_RIGHT | 3 | Indicates face roll right |
YAW_LEFT | 4 | Indicates face yaw left warning |
YAW_RIGHT | 5 | Indicates face yaw right warning |
PITCH_UP | 6 | Indicates pitch up |
PITCH_DOWN | 7 | Indicates pitch down |
TOO_NEAR | 8 | Indicates that face is too near |
TOO_FAR | 9 | Indicates that face is too far |
TOO_NORTH | 10 | Indicates that face is too north |
TOO_SOUTH | 11 | Indicates that face is too south |
TOO_EAST | 12 | Indicates that face is too east |
TOO_WEST | 13 | Indicates that face is too west |
SHARPNESS | 14 | Indicates that face sharpness was insufficient |
BACKGROUND_UNIFORMITY | 15 | Indicates background uniformity |
GRAYSCALE_DENSITY | 16 | Indicates grayscale density |
SATURATION | 17 | Indicates that saturation was detected |
EXPRESSION | 18 | Indicates non neutral face expression |
DARK_GLASSES | 19 | Indicates that dark glasses detected |
EYES_CLOSED | 20 | Indicates that eyes were closed |
MOUTH_OPEN | 21 | Indicates that mouth was open |
LOOKING_AWAY | 22 | Indicates that eyes were looking away |
RED_EYE | 23 | Indicates that red eyes were detected |
FACE_DARKNESS | 24 | Indicates that the face was too dark |
UNNATURAL_SKINTONE | 25 | Indicates that unnatural face skin tone was detected. |
WASHED_OUT | 26 | Indicates that face colors were washed out (blurry) |
PIXELATION | 27 | Indicates that pixelation was detected |
SKIN_REFLECTION | 28 | Indicates that there was skin reflection on the face |
GLASSES_REFLECTION | 29 | Indicates that there was glasses reflection |
HEAVY_FRAME | 30 | Indicates that glasses have a thick frame |
OCCLUSION_WARNING | 32 | Indicates that the face is occluded by something |
RESOLUTION_WARNING | 33 | Indicates that the resolution is not acceptable |
MOTION_BLUR_WARNING | 34 | Indicates that motion blur has been detected |
COMPRESSION_ARTIFACTS_WARNING | 35 | Indicates that compression artifacts have been detected |
OVEREXPOSURE | 36 | Indicates that overexposure was detected |
UNDEREXPOSURE | 37 | Indicates that underexposure was detected |
GLASSES | 38 | Indicates that glasses have been detected |
HAT | 39 | Indicates that some sort of headware is on the persons head |
HEAD_MOVEMENT | 40 | Indicates that subject's head is currently moving |
IMAGE_RESOLUTION | 41 | Indicates that stream resolution is below threshold |
No warnings
Indicates that no warnings were detected
Face not detected
Indicates that face is not detected.
Roll left/right
Indicates that face is rolled too left/right. Arrows show the user to roll his face left/right.
Yaw left
Indicates that face is turned too left. Arrows show the user to turn his face right.
Yaw right
Indicates that face is turned too right. Arrows show the user to turn his face left.
Pitch up
Indicates that face is raised too much. Arrows show the used to lower his face.
Pitch down
Indicates that face is too low. Arrows show that face should be raised.
Too near
Indicates that face is too near the camera. Face should be moved back.
Too far
Indicates that face is too far from the camera. Face should be moved closer.
Too north
Indicates that face is position too close to the upper side of the image. Face should be moved towards the center.
Too south
Indicates that face is position too close to the bottom side of the image. Face should be moved towards the center.
Too east
Indicates that face is position too close to the right side of the image. Face should be moved towards the center.
Too west
Indicates that face is position too close to the west side of the image. Face should be moved towards the center.
Sharpness
Indicates that image is blurry. User should keep still, or camera should be adjusted.
Background uniformity
Indicates that backgroud is too colorful. User should move to a more solid backgroud.
Grayscale density
Indicates that image is gray scale. Camera settings should be adjusted.
Saturation
Indicates that image is saturated too much. Camera settings should be adjusted.
Expression
Indicates that face expression is not neutral. User should maintain neutral face expression during capturing.
Dark glasses
Indicates that face is captured with dark glassed. Dark glasses should be removed. This status may also occur when normal glasses have hard reflections.
Eyes closed
Indicates that face has closed eyes. User should keep his eyes open and blink as minimal as possible during capturing.
Mouth open
Indicates that face has an open mouth. User should have his mouth closed and maintain neutral face expression.
Looking away
Indicates that face is looking away from the camera. User should look directly into the camera.
Red eye
Indicates that image has red eyes. Camera flash should be adjusted.
Face darkness
Indicates that part of the face is not lip up appropriately. Lighting should be adjusted.
Unnatural skintone
Indicates that skin tone seems unnatural. Lighting should be adjusted.
Washed out
Indicates that colors are washed out. Camera should be adjusted.
Pixelation
Indicates that image is pixelated. Camera should be adjusted.
Skin reflection
Indicates that face skin is reflecting light. Lighting should be adjusted.
Glasses reflection
Indicates that there is a reflection on users glasses. User should capture without glasses or adjust the lighting.
Heavy frame
Indicates that user's glasses have a thick frame. User should capture without glasses.
Occlusion
Indicates that the face is occluded by something
Resolution
Indicates that the resolution is not acceptable
Motion blur
Indicates that motion blur has been detected
Compression artifacts
Indicates that compression artifacts have been detected
Too distant
Indicates bad image quality because the subject is too far.
Too close
Indicates bad image quality because the subject is too close.
Overexposure
Indicates that overexposure was detected
Underexposure
Indicates that underexposure was detected
Glasses
Indicates that glasses have been detected
Hat
Indicates that some sort of headware is on the persons head
Head movement
Indicates that subject's head is currently moving
Image resolution
Requires a minimum resolution and prioritizes frames that meet or exceed this threshold when stream contains multiple resolutions.