提升 Amazon Rekognition 面部搜索的准确性与用户向量 机器学习博客
提升 Amazon Rekognition 面部搜索准确性
关键要点
在本篇文章中,我们探讨了如何通过用户向量在 Amazon Rekognition 中提升面部搜索的准确性。我们介绍了面部搜索的流程,并通过示例代码展示如何使用多个面部图像创建用户向量,以增强面部识别的准确性。此外,我们对比了使用单个面部向量与用户向量的搜索结果,展示用户向量在面部匹配上的显著优势。
在各个行业中,例如金融服务、电信和医疗保健,客户通常会使用数字身份验证流程,这个过程通常包括多步骤,以在在线注册或提高身份验证时验证最终用户的身份。其中一个步骤就是面部搜索,它能够帮助确定新用户的面部是否与现有账户关联的面部相匹配。
亚马逊 Rekognition 面部匹配
Amazon Rekognition 面部匹配使得可以测量从一张图像中提取的面部向量与另一张图像中提取的面部向量的相似度。当两张图像包含同一个人的面部时,它们被称为“真实匹配”;否则为“真实不匹配”。Amazon Rekognition 会返回源面部和目标面部的相似度分数,分数范围从 0 到 100。
Amazon Rekognition 允许您创建一个集合对象,并通过 API 调用将图像中的面部存储到集合中。当将面部添加到集合时,Amazon Rekognition 并不存储实际图像,而是存储面部向量,这是一种数学表示。通过 SearchFaces API,您可以将源面部与目标集合中的一个或多个面部进行比较。
2023年6月,AWS推出了用户向量,这是一种新功能,通过使用多个用户面部图像显著提高了面部搜索的准确性。用户向量聚合多个同一用户的面部向量,从而提供更高的面部搜索准确性。
接下来,我们分别介绍如何使用 Amazon Rekognition 用户向量,创建集合、存储面部向量、聚合面部向量为用户向量,并对比使用个别面部向量和用户向量的搜索结果。
解决方案概述
在本解决方案中,我们使用一个 Amazon Rekognition 用户集合,每个用户都有一个与多个不同面部图像关联的索引面部向量。以下是建立用户面部集合的工作流程:
创建一个 Amazon Rekognition 集合。为每个用户在集合中创建一个用户。针对每个用户的图像,将面部添加到集合中。将所有索引的面部 ID 与用户关联。接下来,我们将比较两个工作流:
使用新输入图像查找我们集合中的单个面部向量。使用新输入图像查找我们集合中的用户向量。以下是创建 Amazon Rekognition 集合及添加用户和面部的示例代码。
创建 Amazon Rekognition 集合并添加用户和面部
首先,我们创建一个 S3 桶来存储用户的图像。我们通过为每个用户创建一个文件夹来组织该桶,文件夹内存放用户的个人图像。
plaintext images photojpeg Swami Swami1jpeg Swami2jpeg Werner Werner1jpeg Werner2jpeg Werner3jpeg
接下来,我们会创建我们的 Amazon Rekognition 集合并添加面部向量。以下是创建集合的示例方法:
pythonimport boto3session = boto3Session()client = sessionclient(rekognition)
def createcollection(collectionid) try print(Creating collection collectionid) response = clientcreatecollection(CollectionId=collectionid) print(Collection ARN response[CollectionArn]) except clientexceptionsResourceAlreadyExistsException print(Resource already exists)
飞鱼加速器app下载然后,使用以下代码创建集合:

pythonimport helperscollectionid = facescollectionhelperscreatecollection(collectionid)
之后,我们将面部图像索引到集合中,并将它们聚合为用户向量。详细步骤和代码请参见 GitHub。
清理
要删除集合,请使用以下代码:
pythonhelpersdeletecollection(collectionid)
总结
在本篇文章中,我们展示了如何使用 Amazon Rekognition 用户向量来实现面部搜索。我们讲解了如何通过使用多个用户面部图像来提升面部搜索的准确性,并与单个面部向量进行了比较。通过这篇文章您可以构建一个功能完善的面部搜索系统。
了解更多有关 Amazon Rekognition 用户向量的信息,请参考 在集合中搜索面部。如果您是 Amazon Rekognition 的新用户,您可以使用我们的免费套餐,该套餐持续 12 个月,包括每月处理 5000 张图像和存储 1000 个用户向量对象。