We are using age-gender-recognition-retail-0013 model for age and gender estimation and while the age estimations are ok, the accuracy of gender estimations is bad. Almost all subjects in our test are recognized as males. Even females are recognized as male with high probability score (approx. 90%).
Input device for our recognition is OAK_1 lite and there are approx. 10 detected persons on scene.
We're using older version of the already compiled model (2022.1), with parameters set as in examples of openvino.
Model initialization code snipet:
ie = Core()
model = ie.read_model("../gateway_server/models/age-gender-recognition-retail-0013.xml")
compiled_model = ie.compile_model(model=model, device_name="CPU")
input_keys = compiled_model.input(0)
gender_model_output = compiled_model.output(0)
age_model_output = compiled_model.output(1)
Converting detected face:
blob = cv2.dnn.blobFromImage(face_patch, 1.0, (62, 62), model_mean, swapRB=False)
gender_preds = compiled_model([blob])[gender_model_output]
gender = gender_preds.argmax()
print("Gender: ", gender, "|", genders[gender], "|", gender_preds)
Are we doing anything wrong? According to advertised accuracy of this model, we shouldn't get such bad results.