在金融服务、电信和医疗保健等各个行业中,客户使用数字身份流程,该流程通常涉及在在线入职或逐步身份验证期间验证最终用户的几个步骤。可以使用的一个步骤的示例是面部搜索,它可以帮助确定新最终用户的面部是否与与现有帐户关联的面部匹配。
构建准确的人脸搜索系统涉及几个步骤。该系统必须能够检测图像中的人脸,将人脸提取为矢量表示,将人脸矢量存储在数据库中,并将新人脸与现有条目进行比较。 亚马逊重新认识 通过为您提供通过简单的 API 调用来调用的预先训练的模型,可以轻松实现这一点。
Amazon Rekognition 使您能够通过单个人脸图像实现非常高的人脸搜索准确性。在某些情况下,您可以使用同一个人脸部的多个图像来创建用户向量并进一步提高准确性。当图像的光照、姿势和外观存在变化时,这尤其有用。
在本文中,我们演示如何将 Amazon Rekognition 人脸搜索 API 与用户向量结合使用,以提高真实匹配的相似度得分并降低真实不匹配的相似度得分。
我们比较了使用和不使用用户向量执行面部匹配的结果。
Amazon Rekognition 人脸匹配
Amazon Rekognition 人脸匹配可以测量从一幅图像中提取的人脸向量与从另一幅图像中提取的人脸向量的相似度。据说一对人脸图像是 真正的匹配 如果两个图像都包含同一个人的脸部,并且 真正的不匹配 否则。 Amazon Rekognition 返回源面孔和目标面孔相似度的分数。最小相似度分数为 0,表示相似度非常小,最大相似度分数为 100。
为了将源人脸与目标人脸集合进行比较(1:N 匹配),Amazon Rekognition 允许您创建一个 Collection 对象,并使用 API 调用将图像中的人脸填充到其中。
将面部添加到集合时,Amazon Rekognition 不会存储面部的实际图像,而是存储面部向量(面部的数学表示形式)。随着 搜索面孔 API,您可以将源面孔与一个或多个目标面孔集合进行比较。
2023六月份, AWS推出用户向量这一新功能,可显着提高人脸搜索准确性 通过使用用户的多个面部图像。现在,您可以创建用户向量,聚合同一用户的多个面部向量。用户向量提供了更高的人脸搜索精度和更稳健的描述,因为它们包含不同程度的照明、清晰度、姿势、外观等。与搜索单个人脸向量相比,这提高了准确性。
在以下部分中,我们概述了使用 Amazon Rekognition 用户向量的过程。我们指导您创建一个集合,在该集合中存储人脸向量,将这些人脸向量聚合到用户向量中,然后将搜索结果与这些单独的人脸向量和用户向量进行比较。
解决方案概述
对于此解决方案,我们使用 Amazon Rekognition 用户集合,每个用户都有来自每个用户的许多不同面部图像的关联索引面部向量。
让我们看一下构建包含用户和面孔的集合的工作流程:
- 创建 Amazon Rekognition 集合。
- 对于每个用户,在集合中创建一个用户。
- 对于用户的每张图像,将面部添加到集合中(索引面,它返回与每个人脸向量对应的人脸 ID)。
- 将所有索引的面部 ID 与用户相关联(这对于用户向量来说是必需的)。
然后,我们将比较以下工作流程:
使用新的给定输入图像针对我们集合中的各个人脸向量进行搜索:
使用新的给定输入图像针对我们集合中的用户向量进行搜索:
现在我们来详细描述一下解决方案。
先决条件
将以下策略添加到您的 AWS身份和访问管理 (IAM) 用户或角色。该策略向您授予相关 Amazon Rekognition API 的权限,并允许访问 亚马逊简单存储服务 (Amazon S3) 用于存储图像的存储桶:
创建 Amazon Rekognition 集合并添加用户和面孔
首先,我们创建一个S3存储桶来存储用户的图像。我们通过为每个用户创建一个包含其个人图像的文件夹来组织存储桶。我们的 图片文件夹 看起来像下面的结构:
我们的 S3 存储桶为每个用户提供一个存储其图像的目录。当前有两个文件夹,每个文件夹包含多个图像。您可以为用户添加更多文件夹,每个文件夹包含一张或多张要索引的图像。
接下来,我们创建 Amazon Rekognition 集合。我们已提供 助手.py,其中包含我们使用的不同方法:
- 创建集合 – 创建一个新集合
- 删除集合 – 删除集合
- 创建用户 – 在集合中创建新用户
- 添加面到集合 – 将面孔添加到集合中
- 关联面孔 – 将face_ids关联到集合中的用户
- 获取子目录 – 获取S3前缀下的所有子目录
- 获取文件 – 获取S3前缀下的所有文件
以下是创建 Amazon Rekognition 集合的示例方法:
使用以下代码创建集合:
接下来,让我们将面部向量添加到我们的集合中,并将它们聚合成用户向量。
对于 S3 目录中的每个用户,我们在集合中创建一个用户向量。然后,我们将每个用户的面部图像作为单独的面部向量索引到集合中,从而生成面部 ID。最后,我们将面部 ID 与适当的用户向量相关联。
这在我们的集合中创建了两种类型的向量:
- 个人脸向量
- 用户向量,基于使用该方法提供的人脸向量 ID 构建
associate_faces
请参见以下代码:
我们使用以下方法:
- 获取子目录 – 返回所有用户目录的列表。在我们的示例中,该值为 [Swami,Werner]。
- 获取文件 – 为用户返回 S3 前缀下的所有图像文件。
- 面容 ID – 这是包含属于用户的所有面部 ID 的列表。我们在调用时使用这个列表 关联面孔 API。
如前所述,您可以通过为用户添加文件夹(文件夹指示用户 ID)来添加更多用户,并在该文件夹中添加图像(文件不需要排序)。
现在我们的环境已经建立,并且我们有了单独的人脸向量和用户向量,让我们将我们的搜索质量与它们中的每一个进行比较。为此,我们使用一张有多个人的新照片,并尝试将他们的脸部与我们的集合进行匹配,首先与个人脸部向量进行匹配,然后与用户向量进行匹配。
针对单个人脸向量集合的图像人脸搜索
为了搜索我们的个人面部向量,我们使用 Amazon Rekognition 按图像搜索人脸 API。该函数使用源面部图像来搜索我们集合中的各个面部向量,并返回与我们定义的相似度分数阈值匹配的面部。
一个重要的考虑因素是 SearchFacesByImage
API 只会对图像中检测到的最大脸部进行操作。如果存在多个人脸,则需要裁剪每个单独的人脸并将其单独传递给识别方法。
为了从图像中提取人脸细节(例如它们在图像上的位置),我们使用 Amazon Rekognition 检测人脸 API。
下列 检测图像中的人脸 方法检测图像中的人脸。对于每个面,它执行以下操作:
- 打印其边界框位置
- 从图像中裁剪脸部并检查集合中是否存在该脸部并打印用户或“未知”
- 打印相似度分数
示例 Python 代码使用 枕头 用于执行图像操作(例如打印、绘图和裁剪)的库。
我们使用 99% 的相似度阈值,这是身份验证用例的常见设置。
运行以下代码:
file_key
是我们想要与我们的集合匹配的 S3 对象键。我们提供了一个示例图像(photo.jpeg
)在图像文件夹下。
下图显示了我们的结果。
使用 99% 的阈值,仅识别出一个人。 Werner Vogels 博士被标记为未知。如果我们使用较低的阈值 90(设置阈值 = 90)运行相同的代码,我们会得到以下结果。
现在我们看到Werner Vogel博士的脸部相似度为96.86%。接下来,让我们检查是否可以通过使用用户向量获得高于我们定义的阈值的相似度分数。
针对用户向量集合进行图像人脸搜索
为了搜索我们的用户向量,我们使用 Amazon Rekognition 按图片搜索用户 API。该函数使用源面部图像来搜索我们集合中的用户向量,并返回与我们定义的相似度分数阈值匹配的用户。
同样的考虑因素在这里也适用—— SearchUsersByImage
API 只会对图像中检测到的最大脸部进行操作。如果存在多个人脸,则需要裁剪每个人脸并将其单独传递给识别方法。
为了从图像中提取人脸细节(例如它们在图像上的位置),我们使用 Amazon Rekognition 检测人脸 API。
下列 检测图像中的用户 方法检测图像中的人脸。对于每个面,它执行以下操作:
- 打印其边界框位置
- 从图像中裁剪脸部并检查我们的集合中是否存在此类用户脸部并打印用户或“未知”
- 打印相似度分数
请参见以下代码:
该函数返回修改后的图像,其结果可以保存到 Amazon S3 或打印。该函数还将有关面部估计年龄的统计数据输出到终端。
运行以下代码:
下图显示了我们的结果。
我们集合中存在的用户被正确识别,相似度很高(超过 99%)。
我们能够通过每个用户向量使用三个面部向量来增加相似度得分。随着我们增加使用的人脸向量数量,我们预计真实匹配的相似度得分也会增加。每个用户向量最多可以使用 100 个人脸向量。
端到端的示例代码可以在 GitHub存储库。它包括详细的 Jupyter笔记本 你可以在上面运行 亚马逊SageMaker Studio (或其他替代方案)。
清理
要删除集合,请使用以下代码:
结论
在这篇文章中,我们介绍了如何使用 Amazon Rekognition 用户向量对用户面部集合实施面部搜索。我们演示了如何通过为每个用户使用多个面部图像并将其与单个面部向量进行比较来提高面部搜索准确性。此外,我们还介绍了如何使用不同的 Amazon Rekognition API 来检测人脸。提供的示例代码为构建功能性人脸搜索系统奠定了坚实的基础。
有关 Amazon Rekognition 用户向量的更多信息,请参阅 在集合中搜索面孔。如果您是 Amazon Rekognition 的新手,可以使用我们的免费套餐,该套餐持续 12 个月,包括每月处理 5,000 张图像和每月存储 1,000 个用户矢量对象。
作者简介
阿里克·波拉特 是 Amazon Web Services 的高级初创公司解决方案架构师。他与初创公司合作,帮助他们在云中构建和设计解决方案,并且对机器学习和基于容器的解决方案充满热情。业余时间,Arik 喜欢下棋和电子游戏。
埃里兰·埃夫隆 是 Amazon Web Services 的初创公司解决方案架构师。 Eliran 是一位数据和计算爱好者,帮助初创公司设计其系统架构。在业余时间,Eliran 喜欢制造汽车并参加巡回赛,以及构建物联网设备。
- :具有
- :是
- $UP
- 000
- 1
- 10
- 100
- 12
- 12个月
- 17
- 2023
- 28
- 30
- 7
- 9
- a
- Able
- 关于
- 以上
- ACCESS
- 账号管理
- 精准的
- 操作
- 行动
- 实际
- 加
- 添加
- 另外
- 驳
- 年龄
- 骨料
- 汇总
- 所有类型
- 让
- 允许
- 已经
- 还
- 替代品
- Amazon
- 亚马逊重新认识
- 亚马逊网络服务
- an
- 和
- 另一个
- API
- APIs
- 外貌
- 露面
- 适当
- 架构
- 保健
- 排列
- AS
- 协助
- 律师
- 相关
- At
- 尝试
- 认证
- AWS
- 基于
- BE
- 因为
- 属于
- 之间
- 身体
- 都
- 盒子
- 箱
- 建立
- 建
- 但是
- by
- 计算
- 呼叫
- 调用
- 呼叫
- CAN
- 可以得到
- 能力
- 汽车
- 例
- 查
- 棋
- 客户
- 云端技术
- 码
- 采集
- 收藏
- 相当常见
- 比较
- 相比
- 比较
- 计算
- 考虑
- 构建
- 包含
- 包含
- 兑换
- 正确地
- 相应
- 创建信息图
- 创建
- 创造
- 作物
- 目前
- 合作伙伴
- data
- 数据库
- 减少
- 定义
- 演示
- 证明
- 描述
- 描述
- 设计
- 设计
- 详细
- 详情
- 检测
- 检测
- 确定
- 设备
- 使然
- 不同
- 数字
- 数字身份
- 目录
- 目录
- 屏 显:
- do
- 不会
- 做
- 完成
- dr
- 画
- 画
- ,我们将参加
- 每
- 此前
- 效果
- 毫不费力
- 其他
- 使
- 端至端
- 爱好者
- 环境
- 特别
- 估计
- 甚至
- 例子
- 除
- 存在
- 现有
- 存在
- 退出
- 期望
- 解释
- 提取
- 面部彩妆
- 面孔
- 档
- 金融
- 金融服务
- 找到最适合您的地方
- 姓氏:
- 已标记
- 浮动
- 以下
- 针对
- 格式
- 发现
- 基金会
- Free
- 止
- 功能
- 实用
- 进一步
- Games
- 产生
- 得到
- 特定
- 给予
- 补助金
- 指南
- 有
- he
- 医疗保健
- 高度
- 帮助
- 佣工
- 有帮助
- 相关信息
- 高
- 更高
- 他的
- 创新中心
- How To
- HTML
- HTTP
- HTTPS
- 人
- ID
- 鉴定
- 确定
- 身分
- 身份验证
- IDS
- if
- 图片
- 图片
- 实施
- 进口
- 重要
- 改善
- 提高
- in
- 包括
- 增加
- 指数
- 索引
- 个人
- 行业
- 信息
- 输入
- 成
- 调用
- 涉及
- 物联网
- 物联网设备
- IT
- 它的
- JPEG
- 六月
- 键
- 最大
- 最后
- 推出
- 学习
- 左
- 自学资料库
- 照明
- 喜欢
- 喜欢
- 清单
- 小
- 加载
- 圖書分館的位置
- 看
- LOOKS
- 低
- 降低
- 机
- 机器学习
- 制作
- 操作
- 匹配
- 火柴
- 匹配
- 数学
- 数学的
- 最多
- 测量
- 方法
- 方法
- 最低限度
- 模型
- 改性
- 月
- 个月
- 更多
- 多
- 必须
- 姓名
- 必要
- 需求
- 全新
- 下页
- 没有
- 现在
- 数
- 对象
- 对象
- of
- 提供
- 老
- on
- 前期洽谈
- 一
- 在线
- 仅由
- 操作
- or
- 其他名称
- 除此以外
- 我们的
- 轮廓
- 输出
- 超过
- 对
- 通过
- 多情
- 员工
- 为
- 执行
- 施行
- 允许
- 人
- 个人
- 照片
- 柏拉图
- 柏拉图数据智能
- 柏拉图数据
- 播放
- 点
- 政策
- 提出
- 构成
- 帖子
- 当下
- 呈现
- 打印
- 印刷
- 过程
- 处理
- 提供
- 蟒蛇
- 质量
- 种族
- 种族
- 宁
- 参考
- 相应
- 表示
- 必须
- 资源
- 响应
- 成果
- 回报
- 回报
- 健壮
- 角色
- 运行
- sagemaker
- 说
- 同
- 保存
- 得分了
- 搜索
- 搜索
- 部分
- 看到
- 前辈
- 服务
- 特色服务
- 会议
- 集
- 设置
- 几个
- 作品
- 显著
- 简易
- 单
- 尺寸
- 固体
- 方案,
- 解决方案
- 一些
- 来源
- 初创企业
- 个人陈述
- 统计
- Status
- 步
- 步骤
- 存储
- 商店
- 商店
- 存储
- 流
- 结构体
- 这样
- 提供
- 系统
- 目标
- 电信
- 终端
- 这
- 其
- 他们
- 然后
- 那里。
- 他们
- Free Introduction
- 那些
- 三
- 门槛
- 通过
- 一线
- 次
- 至
- 最佳
- 旅游
- true
- 尝试
- 二
- 类型
- 下
- 不明
- 使用
- 用过的
- 用户
- 用户
- 使用
- 运用
- 平时
- 折扣值
- 变化
- 各个
- 变化
- 企业验证
- 确认
- 版本
- 非常
- 通过
- 视频
- 视频游戏
- 想
- 是
- we
- 卷筒纸
- Web服务
- 为
- ,尤其是
- 是否
- 这
- 宽度
- 将
- 也完全不需要
- 工作流程
- 工作流程
- 合作
- 将
- 年
- 完全
- 您一站式解决方案
- 和风网