人脸对比示例
引导式阅读
Python
人脸对比示例
作者
c***r
上架时间
2023-11-14 08:18:06

使用函数实现人脸对比

1.功能介绍

使用FunctionGraph和AI 人脸识别服务FRS服务结合,快速实现人脸对比应用。人脸比对是将两个人脸进行比对,来判断是否为同一个人,返回比对置信度。如果传入的图片中包含多个人脸,选取最大的人脸进行比对。 一般来说置信度大于0.93可以被判定为同一个人。

2.准备工作

  1. 开通人脸识别服务

    请确保您在所在region已开通人脸识别服务 ,具体操作方法请参见申请服务

  2. 开通服务授权 人脸识别开通后,需要在【云上服务订阅】的控制台委托服务里开通授权

  3. 创建委托

    由于华为云各服务之间存在业务交互关系,一些云服务需要与其他云服务协同工作,需要您创建云服务委托,将操作权限委托给该服务,让该服务以您的身份使用其他云服务,代替您进行一些资源运维工作。 本实践中,在创建函数前,您需要为函数设置拥有FRS访问权限的委托,登录统一身份认证服务控制台 ,按下图创建委托。

    frs 图1 创建FRS委托

3.构建程序

  1. 创建函数

登录函数工作流控制台 ,创建函数,函数名称自定义,委托选择创建的委托,运行时选择“Python3.6”。

创建函数

图2 创建函数

  1. 导入函数代码

下载codelabs中的示例代码,导入至控制台。

导入函数

图3 导入函数

  1. 添加依赖包

示例代码依赖sdkcore和frs依赖包,在公共依赖包仓库中选择运行所需的依赖包。

  1. 配置函数

    1. 常规设置
    • 内存选择:“256”

    • 超时时间输入:“40”

    • 配置委托 在权限中选择开通了FRS服务的委托

    • 设置环境变量 键region指定开通FRS服务的region,region的值参考地区和终端节点

      环境变量 图4 设置环境变量

4.场景验证

使用函数测试事件验证结果,事件数据作为event参数传入入口函数,配置后保存可以持久化,以便下次测试使用。

  1. 参照下图创建一个空白模板的测试事件

    测试事件

    图5 创建测试事件

    说明:本实践读取的是函数服务本地的人脸图像,所以直接使用空白测试模板触发测试函数执行

  2. 执行测试事件,验证人脸对比结果

    结果

    图6 结果 可以看到返回结果是39.6%,证明两张人脸图像不是同一个人。

5.参考

更多信息请参考函数工作流FunctionGraph