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
질문됨 3달 전154회 조회
1개 답변
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
전문가
답변함 3달 전
  • 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

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠