Face detection with Image Analysis

Image Analysis can detect human faces within an image and generate rectangle coordinates for each detected face.

Note

This feature is also offered by the dedicated Face service. Use this alternative for more detailed face analysis, including face identification and head pose detection.

Important

Microsoft will be retiring facial recognition capabilities that can be used to try to infer emotional states and identity attributes which, if misused, can subject people to stereotyping, discrimination or unfair denial of services. These include capabilities that predict emotion, gender, age, smile, facial hair, hair and makeup. Existing customers have until June 30, 2023 to discontinue use of these capabilities before they are retired. Read more about this decision here.

Try out the face detection features quickly and easily in your browser using Vision Studio.

Face detection examples

The following example demonstrates the JSON response returned by Analyze API for an image containing a single human face.

Vision Analyze Woman Roof Face

{
    "faces": [
        {
            "age": 23,
            "gender": "Female",
            "faceRectangle": {
                "top": 45,
                "left": 194,
                "width": 44,
                "height": 44
            }
        }
    ],
    "requestId": "8439ba87-de65-441b-a0f1-c85913157ecd",
    "metadata": {
        "height": 200,
        "width": 300,
        "format": "Png"
    }
}

The next example demonstrates the JSON response returned for an image containing multiple human faces.

Vision Analyze Family Photo Face

{
    "faces": [
        {
            "age": 11,
            "gender": "Male",
            "faceRectangle": {
                "top": 62,
                "left": 22,
                "width": 45,
                "height": 45
            }
        },
        {
            "age": 11,
            "gender": "Female",
            "faceRectangle": {
                "top": 127,
                "left": 240,
                "width": 42,
                "height": 42
            }
        },
        {
            "age": 37,
            "gender": "Female",
            "faceRectangle": {
                "top": 55,
                "left": 200,
                "width": 41,
                "height": 41
            }
        },
        {
            "age": 41,
            "gender": "Male",
            "faceRectangle": {
                "top": 45,
                "left": 103,
                "width": 39,
                "height": 39
            }
        }
    ],
    "requestId": "3a383cbe-1a05-4104-9ce7-1b5cf352b239",
    "metadata": {
        "height": 230,
        "width": 300,
        "format": "Png"
    }
}

Use the API

The face detection feature is part of the Analyze Image API. You can call this API through a native SDK or through REST calls. Include Faces in the visualFeatures query parameter. Then, when you get the full JSON response, simply parse the string for the contents of the "faces" section.