PersonID计算(Azure Face API)

时间:2019-12-03 14:19:13

标签: azure microsoft-cognitive face-recognition face-api

我想知道如何计算PersonID字符串(在调用PersonGroup Person – Face API的Create方法之后获得)。特别是,我想知道是否可以从其中恢复任何信息(例如字段“ name”和“ userData”),而无需调用特定的API函数Person Group Person – Get。

谢谢。

2 个答案:

答案 0 :(得分:0)

PersonID字符串在这里只是GUID。如果创建一个Persion,Azure Face服务将为您提供GUID作为该人的ID。作为标识符,PersonID与任何个人详细信息(例如“ name”和“ userData”)无关。

如果您想获取有关perper的一些信息,恐怕使用API function Person Group Person – Get是唯一的方法。

答案 1 :(得分:0)

如果您要获取返回到create()方法参数中的信息,可以从client.person_group_person.create()结果中获取信息。

PersonGroupPerson的create()方法具有以下字段作为参数:person_group_idnameuser_datacustom_headersrawoperation_config。因此,您可以在创建新的PersonGroupPerson时为其添加值。调用此方法后,将返回具有以下属性的Person对象:nameuser_dataperson_idpersisted_face_ids。因此,例如,这是您可以做的:

# Create a new Person object and add that image to it.
new_person = client.person_group_person.create(person_group_id, name)
img = open(image_name, 'rb')
# Add the new person to your Person object and your person group
face_client.person_group_person.add_face_from_stream(person_group_id, new_person.person_id, img)
print('New Person Created:', new_person.name)

在上面的示例中,您从person_id调用的结果中获得了namecreate()。因此,您可以在结果中检索在create()中添加的任何参数。

但是,这只是一般的Person信息,除非您调用add_face_from_stream()add_face_from_url(),否则您还没有将此人的图像(面部)添加到此Person对象。

如果您想知道个人ID如何创建,Microsoft在Github中提供了一些源代码。

人员小组人员操作:https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/cognitiveservices/azure-cognitiveservices-vision-face/azure/cognitiveservices/vision/face/operations/_person_group_person_operations.py

人员分类(第1213行):https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/cognitiveservices/azure-cognitiveservices-vision-face/azure/cognitiveservices/vision/face/models/_models.py