本文介绍人脸识别的概念、其相关操作和基础数据结构。 大致而言,人脸识别是通过人脸验证或识别个人的过程。 人脸识别对于实现识别方案非常重要,企业和应用可使用该方案来验证(远程)用户的身份。
人脸识别操作
注意
为了支持我们负责任的 AI 原则,基于资格和使用标准对人脸服务访问进行限制。 人脸服务仅适用于 Microsoft 托管客户和合作伙伴。 使用人脸识别引入表单来申请访问。 有关详细信息,请参阅人脸受限访问页面。
创建和训练 PersonGroup
需要创建 PersonGroup 或 LargePersonGroup 来存储要匹配的人员集。 PersonGroup 保存 Person 对象,每个对象表示单个人员,并保存属于该人员的一组人脸数据。
训练操作准备要用于人脸数据比较的数据集。
标识
识别操作采用一个或多个源人脸 ID(来自 DetectedFace 或 PersistedFace 对象)和一个 PersonGroup 或 LargePersonGroup。 它返回每个源人脸可能属于的 Person 对象的列表。 返回的 Person 对象包装为具有预测置信度值的 Candidate 对象。
验证
验证操作采用单个人脸 ID(来自 DetectedFace 或 PersistedFace 对象)和一个 Person 对象。 它确定人脸是否属于同一人员。 验证是一对一匹配,可用于对识别 API 调用的结果进行最终检查。 但是,可以选择传入候选 Person 所属的 PersonGroup 以提高 API 性能。
相关数据结构
识别操作主要使用以下数据结构。 这些对象存储在云中,可按其 ID 字符串引用。 ID 字符串在订阅中始终是唯一的,但名称字段可能是重复的。
请参阅人脸识别数据结构指南。
输入要求
使用以下提示来确保输入的图像提供最准确的识别结果:
支持的输入图像格式为 JPEG、PNG、GIF(第一帧)和 BMP。
图像文件不得大于 6 MB。
由于照片合成,某些人脸可能无法识别,例如:
具有极端照明(例如严重的背光)的图像。
有障碍物挡住了一只或两只眼睛。
发型或胡须的差异。
年龄使面貌发生变化。
极端的面部表情。
使用适用的检测模型作为一般准则来判断图像质量是否足以尝试进行人脸识别时,可以在qualityForRecognition操作中使用 属性。 建议仅将 "high" 质量图像用于人员登记,将 "medium" 或以上质量的图像用于识别方案。
后续步骤
熟悉人脸识别的概念后,接下来请编写一个可以针对训练的 PersonGroup 识别人脸的脚本。
人脸快速入门