Image Quality API Response Scheme
Haut.AI provides an AI algorithm that analyzes the quality of selfie images for the consequent skin analysis. Only high-quality selfie images allow for reliable skin analysis.
Description
The algorithm analyzes the overall quality of an input image for the consequent skin analysis, which is done through an API. The algorithm returns the evaluation of quality properties and human-readable feedback with an explanation of why an image is of high or low quality.
You can select the result of this algorithm by selecting:
main_metric
main_metric
The main metric is an overall score that indicates the quality of a selfie image.
value
the image quality score ranges from[0,100]
. The higher the value, the better the image quality"widget_type": "bad_good_line"
this indicates that a higher value is bettername
metric name (may change)tech_name
metric technical name (does not change)widget_meta
empty, ignoreunits
empty, ignore
sub_metrics
sub_metrics
Sub-metrics are a set of features that define an image's quality. There are 2 types of sub-metrics:
scores: sub-metrics with
"tech_name"
property ending with"_score"
raw metrics: other sub-metrics
Scores
Structure
value
the image quality score ranges from[0,100]
. The higher the value, the better the image quality"widget_type": "bad_good_line"
this indicates that a higher value is bettername
metric name (may change)tech_name
metric technical name (does not change)widget_meta
empty, ignoreunits
empty, ignore
Meaning
tech_name | description | interpretation |
---|---|---|
full_face_score | This parameter describes the degree of face presence on image, necessary for analysis | A higher value is better.
We suggest using 50 as a threshold to separate high- and low-quality images |
rotation_score | This parameter describes the deviation of a head position from looking straight into the camera. | A higher value is better.
We suggest using 50 as a threshold to separate high- and low-quality images. |
occlusion_score | This parameter describes the degree of face skin areas occlusion by a non-skin objects | A higher value is better.
We suggest using 50 as a threshold to separate high- and low-quality images |
resolution_score | This parameter describes the sufficiency of resolution of a part of an image related to the detected face | A higher value is better.
We suggest using 50 as a threshold to separate high- and low-quality images |
focus_score | This parameter describes the degree of image distortions similar to motion/misfocus blur that usually prevent correct small-feature extraction. | A higher value is better.
We suggest using 50 as a threshold to separate bad and good quality images |
lightness_score | This parameter describes the sufficiency of face illumination (exposition) | A higher value is better. Interpretation:
We suggest using 50 as a threshold to separate high- and low-quality images |
shadows_score | This parameter describes the degree of side illumination as a uniformness of face illumination | A higher value is better.
We suggest using 50 as a threshold to separate high- and low-quality images |
colortone_score | This parameter describes the degree of color tone of the face illumination. | A higher value is better.
We suggest using 50 as a threshold to separate high- and low-quality images |
Raw Metrics
Structure
value
float or int value"widget_type":
different types, describing the exact logic of value reading. The most common are:"numeric"
- just a number"bad_good_line"
- indicates that a higher value is better
name
metric name (may change)tech_name
metric technical name (does not change)widget_meta
empty, ignoreunits
empty, ignore
problems
problems
problems
is a list of all detected issues with image quality, returned as a short codenames. The list can contain from 0 (no problems) to N (several problems):
Meaning
Every codename reflect exact case, described in a table below:
codename | description |
---|---|
no_detection | No face detected |
out_of_frame | Face is not fully visible |
far_from_camera | Face is too far from camera |
wrong_angle | Head is rotated at the wrong angle |
skin_occlusion | Skin is partially not visible |
low_resolution | Low face resolution |
misfocus_or_distortion | Image is distorted or blurred |
compression_artifacts | Image compression artifacts are visible |
noise | Noisy image |
too_dark | Image is too dark |
too_bright | Image is too bright |
strong_shadows | Front facing light required |
colored_illumination | Incorrect white balance |
⚠️ [DEPRECATED] feedback
feedback
This field will be removed in the nearest update. Use problems
instead
feedback
is a message with information about the image quality in form of 2 objects:
overlay - short summary
tooltip - more verbose list of issues, split to critical / warning / good condition
overlay
is an informal message about the overall image quality. It returns an informal rating of the image quality:"Good quality image"
- image quality is suitable for skin analysis"Low-quality image"
- image quality is low for skin analysis"No face detected"
- face is not detected. Image can't be processed by skin assessment algorithms"Not full face"
- image is not fully presented in the image. Image is not suitable for skin analysis"Face is rotated"
- face is extremely rotated in the image. Image is not suitable for skin analysis
tooltip
is an informal message about image quality and warningspositive
possible feedback values are:Good face resolution
Good face illumination
warn
possible feedback values are:Poor face resolution
Poor face illumination
negative
possible feedback values are:Face is not detected
Face is not fully presented
Face is rotated
Misfocus or distortion
Noisy image
Unacceptable face resolution
Unacceptable face illumination
Example (JSON)
Last updated