Python的MS Face API牛津身份/分组

时间:2016-06-23 08:55:41

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

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

首先,我想按照MSDN“如何识别脸部”的说明进行操作 该指令基于C#,但我想引用并转换为python

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

根据我的分析,为了识别面部,程序是这样的。

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

Person - 创建Person API

人 - 添加人脸 3.培训人员小组  人员组 - 培训人员组API。      人员组 - 获取人员组培训状态

  1. 确定

    面部 - 识别。

  2. 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代码,那将是非常好的。

    感谢您的帮助,我非常感激。

1 个答案:

答案 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一个用于识别的示例,我们将很乐意审查一个拉取请求: - )