前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >App Inventor 2 人脸识别App开发 - 第三方API接入的通用方法

App Inventor 2 人脸识别App开发 - 第三方API接入的通用方法

作者头像
用户10956490
发布2024-07-15 19:16:36
940
发布2024-07-15 19:16:36

App效果图,可以识别人脸,推断出性别及年龄:

App原理介绍

通过调用第三方人脸识别api,按照指定格式上传图片及必要的参数,然后api进行云端识别,

识别成功/失败后,会返回json格式的数据结果,使用AppInventor2解析json结果,显示到App上即可。

当然,也可以采用原生的自行训练本地人脸识别模型的方式去完成这个人脸识别需求,可以参考:《自行训练AI图像识别模型,开发图像识别分类App》。

下面简单对比一下两种方式的优缺点:

对比项

调用第三方API

自己训练AI识别模型

学习成本

简单,学习成本低。

适合AI相关专业人士,学习成本高。

识别速度

速度稍慢,几秒。

速度极快,毫秒级。

使用限制

调用次数有限制,不过学习及演示用足够了。

训练好模型后,调用不受限制,且越用识别越准确。

数据安全

数据在第三方云端,敏感数据不建议。

数据全本地,自主可控。

当然了,我们这里仅讨论第一种调用API的方式实现人脸识别

第三方API介绍

第三方人脸识别的api平台特别多,这里仅以“旷视Face++”作为演示,因为它提供足够多的免费调用次数,其他平台的使用方法都是几乎一样的。

这些第三方平台除了提供人脸识别功能外,还有其他AI相关的识别功能,比如文字识别、图像识别、证件识别等等,其核心都是调用相关api,按其文档传入指定格式的数据即可。对我们而言api类调用的App开发原理都是通用的!

平台的注册及登录步骤请自行完成,登录后需要创建一个应用以获得API调用时必要的api_keyapi_secret

如何理解api_keyapi_secret:可以类比为 API Key是用户ID(用于标识用户),Secret Key是密码(用于鉴权)。“你需要两个不同的密钥,一个告诉他们你是谁,另一个证明你就是你所说的“。

创建一个API Key应用

填写必要的参数

查看已创建的应用

这时,我们就能得到了api_keyapi_secret,后续步骤会用到这两个关键的数据。

查看API文档,确定我们需要准备的数据

通过文档可知,我们需要填入api_keyapi_secret、上传一张图片、指定识别的属性:gender,age(这里以性别和年龄为例)。

第三方API的调用

使用”Web客户端“组件调用第三方API,代码如下:

注:这里图片采用Base64的方式,压缩后进行Base64编码。用到 SimpleBase64 拓展 和 TaifunImage 拓展。

JSON结果的解析

请求成功返回JSON示例

代码语言:javascript
复制
{
    "image_id": "Dd2xUw9S/7yjr0oDHHSL/Q==", 
    "request_id": "1470472868,dacf2ff1-ea45-4842-9c07-6e8418cea78b", 
    "time_used": 752, 
    "faces": [
        {
            "landmark": {
                "mouth_upper_lip_left_contour2": {
                    "y": 185, 
                    "x": 146
                }, 
                "contour_chin": {
                    "y": 231, 
                    "x": 137
                }, 
               .........省略关键点信息
                "right_eye_pupil": {
                    "y": 146, 
                    "x": 205
                }, 
                "mouth_upper_lip_bottom": {
                    "y": 195, 
                    "x": 159
                }
            }, 
            "attributes": {
                "gender": {
                    "value": "Female"
                }, 
                "age": {
                    "value": 21
                }, 
                "glass": {
                    "value": "None"
                }, 
                "headpose": {
                    "yaw_angle": -26.625063, 
                    "pitch_angle": 12.921974, 
                    "roll_angle": 22.814377
                }, 
                "smile": {
                    "threshold": 30.1, 
                    "value": 2.566890001296997
                }
            }, 
            "face_rectangle": {
                "width": 140, 
                "top": 89, 
                "left": 104, 
                "height": 141
            }, 
            "face_token": "ed319e807e039ae669a4d1af0922a0c8"
        }
    ],
	"face_num":1
}

请求失败返回JSON示例

代码语言:javascript
复制
{
    "time_used": 3, 
    "error_message": "MISSING_ARGUMENTS: image_url, image_file, image_base64", 
    "request_id": "1470378968,c6f50ec6-49bd-4838-9923-11db04c40f8d"
}

JSON解析参考代码

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • App原理介绍
  • 第三方API介绍
    • 创建一个API Key应用
      • 填写必要的参数
        • 查看已创建的应用
          • 查看API文档,确定我们需要准备的数据
          • 第三方API的调用
          • JSON结果的解析
            • 请求成功返回JSON示例
              • 请求失败返回JSON示例
                • JSON解析参考代码
                相关产品与服务
                人脸识别
                腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档