你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

人脸检测、特性和输入数据

注意

为了支持我们负责任的 AI 原则,基于资格和使用标准对人脸服务访问进行限制。 人脸服务仅适用于 Microsoft 托管客户和合作伙伴。 使用人脸识别引入表单来申请访问。 有关详细信息,请参阅人脸受限访问页面。

重要

人脸属性是使用统计算法预测的, 不一定准确。 根据特性数据做出决策时请小心。 请避免使用这些属性进行反欺骗。 我们建议改用人脸活体检测。 有关详细信息,请参阅教程:检测人脸活性

本文解释人脸检测和人脸属性数据的概念。 人脸检测是在图像中定位人脸,并有选择地返回不同类型的人脸相关数据的过程。

可以使用人脸 - 检测 API 在图像中检测人脸。 若要开始使用 REST API 或客户端 SDK,请遵循快速入门。 或有关更深入的指南,请参阅调用检测 API

人脸矩形

检测到的每个人脸对应于响应中的 faceRectangle 字段。 这是一组像素坐标,用于检测脸部的左边缘、顶部、宽度和高度。 使用这些坐标可以获取人脸的位置及大小。 在 API 响应中,人脸按照从大到小的顺序列出。

快速轻松地使用 Vision Studio 试用人脸检测功能。

人脸 ID

人脸 ID 是在图像中检测到的每个人脸的唯一标识符字符串。 Face ID 需要有限访问批准,你可以通过填写受理表单进行申请。 有关详细信息,请参阅人脸受限访问页面。 可以在人脸 - 检测 API 调用中请求人脸 ID。

人脸特征点

人脸特征点是人脸上的一组易于查找的点,例如瞳孔或鼻尖。 默认情况下,有 27 个预定义的特征点。 下图显示了所有 27 个点:

A face diagram with all 27 landmarks labeled

以像素为单位返回的点坐标。

Detection_03 模型目前具有最准确的地标检测能力。 此模型返回的眼睛和瞳孔地标足够精确,可以对面部进行注视跟踪。

属性

注意

Microsoft 已停用面部识别功能,这些功能可用于尝试推断情绪状态和身份属性,如果滥用,可能会使人们遭受刻板印象、歧视或受到不公平的拒绝服务攻击。 这些包括预测情绪、性别、年龄、微笑、面部毛发、头发和化妆的能力。 在此处阅读有关此决定的更多信息。

属性是可由人脸 - 检测 API 选择性地检测到的一组特征。 以下属性可以检测到:

  • 配饰。 指示给定的人脸是否戴有配饰。 此属性会返回可能的配饰,包括头饰、眼镜和口罩,每个配饰的置信度分数介于 0 到 1 之间。

  • Blur: 图像中人脸的模糊度。 此属性返回 0 到 1 的值,以及非正式分级:low、medium 或 high。

  • Exposure: 图像中人脸的曝光度。 此属性返回 0 到 1 的值,以及非正式的分级:underExposure、goodExposure 或 overExposure。

  • Glasses: 给定的人脸是否戴有眼镜。 可能的值为 NoGlasses、ReadingGlasses、Sunglasses 和 Swimming Goggles。

  • Head pose: 人脸在 3D 空间中的摆向。 此属性由按右手规则定义的翻滚角、偏航角和俯仰角(以度为单位)描述。 三角度的顺序是翻滚角-偏航角-俯仰角,每个角度的值范围是从 -180 度到 180 度。 按翻滚角、偏航角、俯仰角的顺序估算面部的三维朝向。 有关角度映射,请参阅以下示意图:

    A head with the pitch, roll, and yaw axes labeled

    有关如何使用这些值的更多信息,请参阅头部姿势操作指南

  • 口罩。 指示人脸是否佩戴口罩。 此属性会返回可能的口罩类型,以及一个布尔值,用于指示鼻子和嘴巴是否被覆盖。

  • Noise: 在人脸图像中检测到的视觉噪点。 此属性返回 0 到 1 的值,以及非正式分级:low、medium 或 high。

  • Occlusion: 指示是否存在遮挡人脸部位的物体。 此属性返回 eyeOccluded、foreheadOccluded 和 mouthOccluded 的布尔值。

  • QualityForRecognition 是与检测中使用的图像是否具有足够高的质量尝试人脸识别有关的整体图像质量。 非正式评级值为低、中或高。 仅建议将“高”质量图像用于人员注册,“中”或以上质量用于识别方案。

    注意

    每种属性的可用性取决于指定的检测模型。 QualityForRecognition 属性还取决于识别模型,因为它目前仅在结合使用检测模型 detection_01 或 detection_03 和识别模型 recognition_03 或 recognition_04 时可用。

输入要求

使用以下提示来确保输入的图像提供最准确的检测结果:

  • 支持的输入图像格式为 JPEG、PNG、GIF(第一帧)和 BMP。
  • 图像文件不得大于 6 MB。
  • 在不大于 1920 x 1080 像素的图像中,最小可检测人脸大小是 36 x 36 像素。 在大于 1920 x 1080 像素的图像中,最小人脸大小相应更大。 缩小人脸大小可能会导致无法检测到某些人脸,即便它们大于可检测的人脸大小下限。
  • 最大可检测人脸大小为 4096 x 4096 像素。
  • 大小在 36 x 36 至 4096 x 4096 像素大小范围之外的人脸将不会被检测到。

输入包含方向信息的数据:

JPEG 格式的某些输入图像可能包含可交换图像文件格式 (EXIF) 的方向信息元数据。 如果 EXIF 方向可用,则在发送人脸检测之前,图像会自动旋转到正确的方向。 将基于旋转的图像估算检测到的每张人脸的面部矩形、特征点和头部姿势。

若要正确显示人脸矩形和特征点,需要确保图像旋转正确。 默认情况下,大多数图像可视化工具会根据其 EXIF 方向自动旋转图像。 对于其他工具,可能需要使用自己的代码来应用旋转。 下面的示例演示旋转图像(左)和位旋转图像(右)上的面部矩形。

Two face images with and without rotation

视频输入

若要检测视频源中的人脸,则可通过调整视频摄像头上的某些设置来改进性能:

  • 平滑处理:许多视频摄像头应用平滑处理效果。 在可能的情况下,应将此关闭,因为它会在帧之间产生模糊,降低清晰度。

  • 快门速度:更快的快门速度会减少帧之间的移动量,使每个帧更清晰。 建议将快门速度设置为 1/60 秒或更快。

  • 快门角度:某些摄像头指定快门角度而不是快门速度。 应该尽可能使用较低的快门角度。 这会增加视频帧的清晰度。

    注意

    摄像头的快门角度较低时,每个帧收到的光线较少,因此图像会更黑。 需确定适合使用的级别。

后续步骤

熟悉人脸检测的概念后,接下来请了解如何编写一个可在给定图像中检测人脸的脚本。