在集合中搜索人脸 - Amazon Rekognition

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在集合中搜索人脸

Amazon Rekognition 可让您使用输入人脸在存储人脸集合中搜索匹配的人脸。首先,将检测到的人脸信息存储在称为“集合”的服务器端容器中。收藏夹存储个人面孔和用户(同一个人的几张面孔)。单张人脸以人脸向量的形式存储,人脸向量是人脸的数学表示(不是人脸的实际图像)。同一个人的不同图像可用于在同一个集合中创建和存储多个人脸矢量。然后,您可以聚合同一个人的多个面部矢量来创建用户向量。用户向量可以提供更高的人脸搜索精确度,并提供更可靠的描绘,包括不同程度的光照、锐度、姿势、外观等。

创建集合后,您可以使用输入面容在集合中搜索匹配的用户向量或人脸向量。与针对单个人脸向量进行搜索相比,根据用户向量进行搜索可以显著提高准确性。您可以使用在图像、存储视频和流视频中检测到的人脸来搜索存储的人脸向量。您可以使用在图像中检测到的人脸来搜索存储的用户向量。

要存储人脸信息,您需要执行以下操作:

  1. 创建收藏夹-要存储面部信息,您必须先在账户中的一个 AWS 区域中创建 (CreateCollection) 面部集合。在调用 IndexFaces 操作时指定此人脸集合。

  2. 人脸索引-该IndexFaces操作可检测图像中的人脸,提取人脸矢量并将其存储在集合中。您可使用此操作检测图像中的人脸,并将有关检测到的人脸特征的信息保存到集合中。这是基于存储的API操作的示例,因为该服务将人脸矢量信息存储在服务器上。

要创建用户并将多个人脸向量与用户关联,您需要执行以下操作:

  1. 创建用户-必须先使用创建用户CreateUser。您可以通过将同一个人的多个人脸向量汇总到一个用户向量中来提高人脸匹配的准确性。您最多可以将 100 个人脸向量与一个用户矢量相关联。

  2. 关联面孔-创建用户后,您可以通过AssociateFaces操作向该用户添加现有人脸矢量。人脸向量必须与用户向量位于同一个集合中,才能与该用户向量相关联。

创建集合并存储人脸和用户向量后,您可以使用以下操作来搜索匹配的人脸:

注意

集合存储人脸向量,这些向量是人脸的数学表示。集合不存储人脸图像。

下图根据您使用集合的目标显示了调用操作的顺序:

为了最大限度地提高与用户向量匹配的精度:

该图描绘了在集合中存储和搜索用户面部向量,列出了诸如 CreateCollection、、、 IndexFaces CreateUser AssociateFaces SearchUsersByImage、和 SearchUsers之类的操作。

要与单个面部矢量进行高精度匹配:

该图描绘了在集合中存储和搜索人脸,列出了诸如 CreateCollection、、、 IndexFaces StartFaceSearch CreateStreamProcessor SearchFacesByImage、和 SearchFaces之类的操作。

在许多情况下都可以使用集合。例如,您可以使用和AssociateFaces操作创建一个人脸集合,用于存储从扫描的员工徽章图像中检测到的人脸和IDs政府签发的人脸。IndexFaces当员工进入大楼时,将捕获员工的人脸图像,并将此图像发送到 SearchUsersByImage 操作。如果人脸匹配得到了足够高的相似度得分(例如 99%),则可对员工进行身份验证。