我正在尝试使用python创建基于MS API的图像分类器。
首先,我想按照MSDN“如何识别脸部”的说明进行操作 该指令基于C#,但我想引用并转换为python
https://msdn.microsoft.com/en-us/library/mt605327.aspx
2。 人员组 - 创建人员组API
Person - 创建Person API
人 - 添加人脸 3.培训人员小组 人员组 - 培训人员组API。 人员组 - 获取人员组培训状态
Q1。如何创建子组像示例? 下面的代码基本上创建了人组ID,我不知道如何添加 在这种情况下,诸如“安娜”,“比尔”,“克莱尔”等子组。
#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? 看起来它需要身体的网址,只能数据一个。 我希望通过我的磁盘上传几个数据。
# 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))
如果有人使用ms api进行图像分组的python代码,那将是非常好的。
感谢您的帮助,我非常感激。
答案 0 :(得分:0)
Q1:成功创建PersonGroup后,使用Create Person POST调用API Reference |创建Person对象作为该组的一部分。 How-To doc。您可以拥有多个人员组,每个人员组可以拥有多个人员对象。人物对象必须存在于人员组中。
Q2:Adding Faces每次只占一个面,所以如果你有5个面添加到一个Person对象,则需要5次添加人脸的调用。虽然它在C#中,但是有一个迭代文件夹的示例在How-To doc
中执行此操作还有一个python笔记本显示了如何在这里使用Face API的检测,这可能是有趣的:https://github.com/Microsoft/ProjectOxford-ClientSDK/blob/master/Face/Python/Jupyter%20Notebook/Face%20Detection%20Example.ipynb
我们总是希望扩展这些示例,并且如果您想扩展这个Python一个用于识别的示例,我们将很乐意审查一个拉取请求: - )