Issue with AWS Rekognition QualityFilter not Filtering Low-Quality Faces

0

We are only adding new users into our collection when IndexFaces QualityFilter passing 'HIGH' threshold. However, we noticed recently that low quality photos are also getting accepted by this level of filtration.

For example, from the output below, the photo (and face) quality is so low, even 'Sharpness' equals to 3. But despite that, the face on the photo is passed through and accepted by QualityFilter High.

[cloudshell-user@ip-10-130-84-170 ~]$  aws rekognition index-faces --collection-id "test_01" --quality-filter "HIGH" --detection-attributes "ALL" --image "S3Object={Bucket="<bucket-name>",Name="<image-name>.jpg"}" --max-faces 1
<snippet>
                "Quality": {
                    "Brightness": 74.86048126220703,
                    "Sharpness": 3.3018569946289062 <--------------------------
                },
                "Confidence": 99.87649536132812,
                "FaceOccluded": {
                    "Value": false,
                    "Confidence": 87.64056396484375
                },
                "EyeDirection": {
                    "Yaw": -6.743906021118164,
                    "Pitch": -12.818127632141113,
                    "Confidence": 9.133011189987883e-06
                }
            }
        }
    ],
    "FaceModelVersion": "6.0",
    "UnindexedFaces": []
}

We have conducted various tests on FaceModelVersion 6.0 (eu-central-1) and 7.0 (eu-west-1), but the results are the same - QualityFilter is not working correctly.

Why QualityFilter input parameter is not filtering out detected faces, even if they don’t meet a required quality bar?

Regards, Almaz

Almaz
asked 2 months ago144 views
1 Answer
0

It is possible for a face to pass the QualityFilter threshold of 'HIGH' but still appear low quality. The QualityFilter evaluates two factors - sharpness and brightness. As long as the face meets or exceeds the thresholds for those factors, it will pass.

These may be the reasons:

  • The sharpness of the particular face was rated a 3, which may have met the internal threshold even though it looks blurry to a human. Sharpness is evaluated on a scale of 0 to 1.
  • Other factors like pose, size or lighting could have negatively impacted appearance but not affected the sharpness/brightness metrics enough to fail the filter.
  • The thresholds that determine 'HIGH' quality may need to be adjusted higher for your specific use case and image characteristics.

To ensure only high quality faces are indexed, some options are:

  • Manually review faces added to verify quality meets needs
  • Experiment with increasing the QualityFilter threshold
  • Add multiple reference images per person in various conditions to improve matching ability despite some lower quality samples
profile picture
EXPERT
answered 2 months ago
  • Hi Giovanni,

    Actually Sharpness returns a value between 0 and 100 (inclusive). Also it seems you are describing 'ImageQuality'. But in my understanding QualityFilter and ImageQuality are two different things. ImageQuality is a composition of Sharpness and Brightness, while QualityFilter can cover these cases:

    • The number of faces detected exceeds the value of the MaxFaces request parameter.
    • The face is too small compared to the image dimensions.
    • The face is too blurry.
    • The image is too dark.
    • The face has an extreme pose.
    • The face doesn’t have enough detail to be suitable for face search.

    Can you confirm the same?

    From documentation: The QualityFilter input parameter allows you to filter out detected faces that don’t meet a required quality bar. The quality bar is based on a variety of common use cases.

    Regards, Almaz

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions