PersonID 计算(Azure Face API)

PersonID computation (Azure Face API)

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

提前致谢。

PersonID 字符串在这里只是一个 GUID。如果您创建一个人,Azure Face 服务将为您提供一个 GUID 作为该人的 ID。作为标识符,PersonID 与“name”和“userData”等个人详细信息有 none 业务。

如果你想获得某个人的一些信息,恐怕使用 API function Person Group Person – Get 是唯一的方法。

如果您的意思是取回您输入 create() 方法参数的信息,是的,您可以从 client.person_group_person.create() 结果中获取。

PersonGroupPerson的create()方法有以下字段作为参数:person_group_idnameuser_datacustom_headersraw , 和 operation_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)

在上面的示例中,您从 create() 调用的结果中得到 person_idname。因此,无论您在 create() 中添加什么参数,都可以从结果中检索出来。

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

如果您想知道个人 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

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