MS Face API 牛津 Identity/Grouping 作者 Python

MS Face API oxford Identity/Grouping by Python

我正在尝试使用 python 创建基于 MS API 的图像分类器。

首先,我想按照 MSDN 上的说明进行操作 "How to identify Face" 这条指令是基于C#的,但我想参考并转换成python

https://msdn.microsoft.com/en-us/library/mt605327.aspx

而根据我的分析,为了识别人脸,过程是这样的。

2。 人员组 - 创建人员组 API

人 - 创建一个人 API

人——添加人脸 3. Train Person组 人组-训练人组API。 人员组 - 获取人员组培训状态

  1. 识别

    面部 – 识别。

Q1。如何像示例一样创建子组? 下面的代码基本上创建人员组 ID,我不确定如何添加 在本例中为 "Anna"、"Bill"、"Claire" 等子组。

#Person Group - Create a Person Group API
group_id = 'myfriend'
params = urllib.urlencode({ 'personGroupId': group_id})

body = '{"name": "myfriend1","userData": "user_profivde_data"}'
print(body)

try:
conn = httplib.HTTPSConnection('api.projectoxford.ai')
conn.request("PUT", "/face/v1.0/persongroups/{personGroupId}?%s" % params, body, headers)
response = conn.getresponse()
data = response.read()
print(data)
conn.close()
except Exception as e:
print("[Errno {0}] {1}".format(e.errno, e.strerror))

Q2。如何添加多个用户面部数据而不是url? 似乎它需要 url 的正文,它只能提供一个数据。 我想通过我的磁盘上传一些数据。

# Person - Add a Person Face

params = urllib.urlencode({
# Request parameters
'personGroupId': 'myfriend1',
'personId': "f50119eb-5a61-479f-9c57-d2af4eb99c48",
'userData': '{r/media/ryan/Windows_D/xx/xx.jpg}',
#'targetFace': '{string}',
})

body = '{ "url": "" }'

try:
conn = httplib.HTTPSConnection('api.projectoxford.ai')
conn.request("POST", "/face/v1.0/persongroups/{personGroupId}/persons/{personId}/persistedFaces?%s" % params, body, headers)
response = conn.getresponse()
data = response.read()
print(data)
conn.close()
except Exception as e:
print("[Errno {0}] {1}".format(e.errno, e.strerror))

如果有人有 python 用于按 ms api 进行图像分组的代码,那就太好了。

感谢您的帮助,我真的很感激。

Q1:成功创建 PersonGroup 后,您可以使用创建人员 POST 调用 API Reference | How-To doc 创建 Person 对象作为该组的一部分。您可以有多个人员组,每个人员组可以有多个人员对象。人员对象必须存在于人员组中。

Q2:Adding Faces takes only a single face each time, so if you have 5 faces to add to a Person object it will require 5 calls of adding a person face. Though its in C#, there's an example of iterating through a folder to do this in this How-To doc

这里还有一个 python 笔记本,展示了如何使用人脸 API 的检测,您可能会感兴趣:https://github.com/Microsoft/ProjectOxford-ClientSDK/blob/master/Face/Python/Jupyter%20Notebook/Face%20Detection%20Example.ipynb

我们一直在寻求扩展示例,如果您想扩展此 Python 示例并提供用于识别的示例,我们很乐意查看拉取请求:-)