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

人脸识别数据结构

本文介绍人脸服务中用于人脸识别操作的数据结构。 这些数据结构保存人脸和人员的数据。

注意

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

使用识别的数据结构

人脸识别 API 使用容器数据结构保存 Person 对象中的人脸识别数据。 有三种类型的容器,从最早到最新依次列出。 建议始终使用最新的容器。

PersonGroup

PersonGroup 是最小的容器数据结构。

  • 创建 PersonGroup 时,需要指定识别模型。 向该 PersonGroup 添加任何人脸时,它将使用此模型来处理它们。 此模型必须与检测 API 中带有人脸 ID 的模型版本相匹配。
  • 必须调用训练 API,以使任何新的人脸数据反映在识别 API结果中。 这包括添加/删除人脸和添加/删除人员。
  • 免费级订阅最多可以容纳 1000 人。 S0 付费订阅最多可以有 10000 人。

PersonGroupPerson 表示要标识的人员。 它可以容纳最多 248 张人脸。

Large Person Group

LargePersonGroup 是较晚引入的数据结构,支持多达 100 万个实体(对于 S0 级订阅)。 它经过优化以支持大规模数据。 它有 PersonGroup 的大多数功能:创建时需要指定识别模型,并且必须在使用前调用训练 API。

PersonDirectory

PersonDirectory 是最新的此类数据结构。 它支持规模更大,准确度更高。 每个 Azure 人脸资源都有一个默认 PersonDirectory 数据结构。 它是 PersonDirectoryPerson 对象的简单列表,最多可以容纳 7500 万个对象。

PersonDirectoryPerson 表示要标识的人员。 从 PersonGroupPerson 模型更新而来,可以将不同识别模型的人脸添加到同一个人。 但是,“识别”操作只能匹配使用相同的识别模型获取的人脸。

DynamicPersonGroup 是一种轻量级数据结构,可用于动态引用 PersonGroupPerson。 它不需要“训练”操作:更新数据后,即可与识别 API 一起使用。

还可以对“识别”操作使用“就地人员 ID 列表”。 这样就可以指定一个更窄的组来从中识别。 可以手动执行此操作,以提高大型组中的识别性能。

上述数据结构可以一起使用。 例如:

  • 在访问控制系统中,PersonDirectory 可能代表公司的所有员工,但较小的 DynamicPersonGroup 可能只代表有权访问大楼某一层的员工。
  • 在航班登机系统中,PersonDirectory 可以代表航空公司的所有客户,但 DynamicPersonGroup 仅代表特定航班上的乘客。 就地人员 ID 列表 可以代表最后一刻做出更改的乘客。

有关详细信息,请参阅 PersonDirectory 操作指南

使用查找相似的数据结构

与识别 API 不同,查找相似 API 设计用于难以设置人员注册的应用程序(例如从视频分析或相册分析中捕获的人脸图像)。

FaceList

FaceList 表示持续存在的人脸的简单列表。 它可以容纳 1,000 张人脸。

LargeFaceList

LargeFaceList 是一个更高版本,最多可以容纳 1000000 张人脸。

后续步骤

现在你已经熟悉人脸数据结构,请编写一个脚本在“标识”操作中使用这些结构。