Microsoft Azure 认知服务 - 人脸检测在横向(人脸)模式下失败

我正在通过它的 API 使用 MS 认知服务来分析图像,并注意到当图像处于横向模式(“面部未垂直对齐”)时,它返回一个空结果。我很困惑,想知道是我做错了什么,还是 MS 服务的工作方式。这是一个重现问题的简单示例。


您应该拥有 MS Face 订阅密钥才能使用该服务!


import requests

# If you are using a Jupyter notebook, uncomment the following line.

#%matplotlib inline

import matplotlib.pyplot as plt

from PIL import Image

from matplotlib import patches

from io import BytesIO


# send request to MS, use YOUR subscription key

subscription_key = "982374kwhXXXxxxx"

assert subscription_key


face_api_url ='https://westus.api.cognitive.microsoft.com/face/v1.0/detect'

header = {'Ocp-Apim-Subscription-Key': face_api_url }

headers  = {'Ocp-Apim-Subscription-Key': subscription_key, "Content-Type": "application/octet-stream" }


params = {

    'returnFaceId': 'true',

    'returnFaceLandmarks': 'false',

    'returnFaceAttributes': 'age,gender,headPose,smile,facialHair,glasses,' +

    'emotion,hair,makeup,occlusion,accessories,blur,exposure,noise'

}


# get a random image and convert to numpy array

image_url = 'https://how-old.net/Images/faces2/main007.jpg'

image = Image.open(BytesIO(requests.get(image_url).content))

image_np = np.array(image)

这是图像:

http://img.mukewang.com/60ffc2ea0001d38204900489.jpg

胡子哥哥
浏览 207回答 1
1回答

牧羊人nacy

它实际上在这里指出,在某些情况下可能无法检测到人脸,包括错误的图像方向。人脸检测器更喜欢正面和近正面的人脸。在某些情况下可能无法检测到人脸,例如异常大的人脸角度(头部姿势)或被遮挡,或错误的图像方向。你可以在你身边处理,通过检测人脸的方向,据此旋转图片,然后发送!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python