【问题标题】:MS Face API oxford Identity/Grouping by PythonMS Face API oxford 身份/Python 分组
【发布时间】:2016-10-25 12:00:28
【问题描述】:

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

首先,我想按照 MSDN 上的说明“如何识别人脸” 这条指令是基于C#的,但我想参考并转换成python

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

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

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

Person - 创建 Person API

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

  1. 识别

    人脸 - 识别。

第一季度。如何创建子组,例如示例? 下面的代码基本上是创建人员组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))

第二季度。如何添加多个用户面部数据而不是 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))

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

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

【问题讨论】:

    标签: python image-recognition face-recognition microsoft-cognitive


    【解决方案1】:

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

    Q2:Adding Faces 每次只需要一个人脸,所以如果你有 5 个人脸要添加到 Person 对象,则需要 5 次调用添加人脸。虽然它在 C# 中,但在这个 How-To doc

    中有一个遍历文件夹来执行此操作的示例

    还有一个 python notebook 展示了如何在此处使用 Face API 的检测,这可能很有趣:https://github.com/Microsoft/ProjectOxford-ClientSDK/blob/master/Face/Python/Jupyter%20Notebook/Face%20Detection%20Example.ipynb

    我们一直在寻求扩展这些示例,如果您想通过一个示例来扩展这个 Python 示例以进行识别,我们很乐意审查一个拉取请求:-)

    【讨论】:

    • 感谢您的回答。但是我仍然不明白如何一次添加几张图片与人物组并使用面部识别或分组。没有任何解释有这些细节,我已经通过 github 尝试了面部检测示例,这很容易,因为它不必上传图片。 如果您能通过 python 代码或在哪里找到信息,我非常感谢(Face API Doc.没有足够的详细信息)
    • 每个 API 调用都会添加一张图片(参见上面的 Q2),因此添加 5 个人脸需要 5 次 API 调用来添加人脸。如果您可以发布您尝试运行的代码示例,我可以提供更多帮助。 Face API 文档展示了如何使用标准 HTTP 调用来实现,然后您可以使用 Requests 或您最喜欢的 python http 库进行调用。
    猜你喜欢
    • 1970-01-01
    • 2019-10-28
    • 1970-01-01
    • 2023-01-26
    • 2021-04-18
    • 2019-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-19
    相关资源
    最近更新 更多