Face Analytics

Zia Face Analytics performs facial detection in images, and analyzes the facial features to provide information such as the gender, age, and emotion of the detected faces.

You must provide .jpg/.jpeg or .png files as the input. Refer to the API documentation for the request and response formats.

The analyseFace() method accepts the input image as its argument. You can also specify the analysis mode as basic, moderate, or advanced. You can also specify the attributes age, smile, or gender as true to detect or false to not detect. These values are optional. All attributes are detected and the advanced mode is processed by default.

The response returns the prediction of the enabled attributes, the coordinates and landmarks of facial features of each face, and the confidence score of each analysis.

The zia reference used below is defined in the component instance page. The promise returned here is resolved to a JSON object.

Copiedvar zia = app.zia();
//Pass the input file, the mode, and the features to detect
zia.analyseFace(fs.createReadStream('./face.png'), {
            mode: 'moderate',
            age: true,
            emotion: true,
            gender: false
	}).then((result) => {
		console.log(result);
	})
	.catch((err) => console.log(err.toString())); //Push errors to Catalyst Logs

A sample response that you will receive for each version is shown below:

Copied{
   "faces_count":1,
   "faces":[
      {
         "co_ordinates":[
            401,
            193,
            494,
            313
         ],
         "emotion":{
            "confidence":{
               "smiling":"0.75",
               "not_smiling":"0.25"
            },
            "prediction":"smiling"
         },
         "gender":{
         },
         "confidence":1,
         "id":0,
         "landmarks":{
            "right_eye":[
               [
                  467,
                  230
               ]
            ],
            "nose":[
               [
                  451,
                  264
               ]
            ],
            "mouth_right":[
               [
                  474,
                  278
               ]
            ],
            "left_eye":[
               [
                  426,
                  239
               ]
            ],
            "mouth_left":[
               [
                  434,
                  283
               ]
            ]
         },
         "age":{
            "confidence":{
               "20-29":"0.73",
               "30-39":"0.08",
               "0-2":"0.0",
               "40-49":"0.0",
               "50-59":"0.0",
               ">70":"0.0",
               "60-69":"0.0",
               "10-19":"0.17",
               "3-9":"0.0"
            },
            "prediction":"20-29"
         }
      }
   ]
}
Copied{
   "faces_count":1,
   "faces":[
      {
         "co_ordinates":[
            "401",
            "193",
            "494",
            "313"
         ],
         "emotion":{
            "confidence":{
               "smiling":"0.75",
               "not_smiling":"0.25"
            },
            "prediction":"smiling"
         },
         "gender":{
         },
         "confidence":1,
         "id":"0",
         "landmarks":{
            "right_eye":[
               [
                  "467",
                  "230"
               ]
            ],
            "nose":[
               [
                  "451",
                  "264"
               ]
            ],
            "mouth_right":[
               [
                  "474",
                  "278"
               ]
            ],
            "left_eye":[
               [
                  "426",
                  "239"
               ]
            ],
            "mouth_left":[
               [
                  "434",
                  "283"
               ]
            ]
         },
         "age":{
            "confidence":{
               "20-29":"0.73",
               "30-39":"0.08",
               "0-2":"0.0",
               "40-49":"0.0",
               "50-59":"0.0",
               ">70":"0.0",
               "60-69":"0.0",
               "10-19":"0.17",
               "3-9":"0.0"
            },
            "prediction":"20-29"
         }
      }
   ]
}