在python中使用Microsoft的FaceApi比较面部

时间:2018-01-17 08:45:34

标签: python python-3.x microsoft-cognitive face-api

我是python编程的新手,只是想知道我们是否可以使用Python(3.6)中的Microsoft FaceApi来比较两个面,使用他们的faceIds或facelandmarks?如果是,请举例说明如何使用它。非常感谢你。

1 个答案:

答案 0 :(得分:1)

如果您想知道两张图片是否属于同一个人,可以为每个图片调用detect,然后拨打verify。您可以像这样使用cognitive_face包:

import cognitive_face as CF

key = 'YOUR_KEY_HERE'  # Replace with a valid Subscription Key here.
CF.Key.set(key)

base_url = 'https://westus.api.cognitive.microsoft.com/face/v1.0/'  # Replace with your regional Base URL
CF.BaseUrl.set(base_url)

img_urls = [
    'https://images-na.ssl-images-amazon.com/images/M/MV5BMTczNzE3Njk4MV5BMl5BanBnXkFtZTcwOTU1ODk5NQ@@._V1_UY317_CR7,0,214,317_AL_.jpg',
    'https://images-na.ssl-images-amazon.com/images/M/MV5BMzIwMDgzMTE5M15BMl5BanBnXkFtZTcwNTg4OTgwOA@@._V1_UY317_CR15,0,214,317_AL_.jpg' ]

faces = [CF.face.detect(img_url) for img_url in img_urls]

# Assume that each URL has at least one face, and that you're comparing the first face in each URL
# If not, adjust the indices accordingly.
similarity = CF.face.verify(faces[0][0]['faceId'], faces[1][0]['faceId'])
print similarity