60分钟

实验手册

腾讯云AI开发实战

实验预计耗时:60分钟

前置实验教程:小程序云开发实战

1. 课程背景

1.1 课程目的

人工智能是一种引发诸多领域产生颠覆性变革的前沿技术,当今的人工智能技术以机器学习,特别是深度学习为核心,在视觉、语音、自然语言等应用领域迅速发展,已经开始像水电煤一样赋能于各个行业。

本次实验我们将利用腾讯云提供的AI平台一起来构建一个智能系统,可以通过用微信扫码体验。通过结合小程序端作为展示,搭建在线智能借阅系统。通过小程序云开发平台,我们极大的简化了后端的开发工作,同时利用腾讯云提供的小程序AI云开发模板,省去了 AI 相关云函数的开发部署工作,极大的提高了开发效率。

1.2 课前知识准备

学习本课程前,学员需要了解以下前置知识:

  • Python 基础:掌握 Python 环境安装,Python 基本命令。
  • 小程序云开发:开发者可以使用云开发开发微信小程序、小游戏,无需搭建服务器,即可使用云端能力。
  • 云开发提供了几大基础能力支持:
    • 云数据库:无需自建数据库,小程序云开发提供一个既可在小程序前端操作,也能在云函数中读写的 JSON 数据库。
    • 云存储:无需自建存储,小程序云开发结合 CDN 在小程序前端直接上传/下载云端文件,在云开发控制台可视化管理。
    • 云函数:云函数是一段运行在云端的代码,无需管理服务器,在开发工具内编写、一键上传部署即可运行后端代码,同时微信私有协议天然鉴权,开发者只需编写自身业务逻辑代码。
    • 云调用:原生微信服务集成。小程序云开发基于云函数免鉴权使用小程序开放接口的能力,包括服务端调用、获取开放数据等能力,比如发送模板消息、获取小程序码等操作都可以在云函数中完成,详情可见具体开发指引。

2.实验环境

2.1 实验操作环境

本课程需要以下实验操作环境:

  1. 可以接入互联网的笔记本电脑或者台式机(本实验使用 Windows 系统);
  2. 要求有腾讯云账号,能够访问腾讯云官网 https://cloud.tencent.com
  3. 电脑已经安装 Python3,配置 Python 环境变量;
  4. 电脑已安装微信开发者工具;

2.2 实验架构图

本实验案例以一个简单的在线书城为例,主要功能包括图书借阅、拍照打卡和信息识别录入功能,实验架构图如下:

2.3 实验的数据规划表

资源名称

数据

说明

腾讯云账号

账号:XXXXXXXX、密码:XXXXXXXX

涉及产品如下:CAM、小程序·云开发

tencent_cloud_ai

调用AI接口代码包

使用 Python3

online-library

图书的图片信息

存储到云存储

下载tencent_cloud_ai

下载online-library

3. 实验流程

本实验案例在在线书城项目基础上,借助腾讯云 AI 相关 SDK 获取人脸识别和文字图像识别能力。本实验任务可划分为两个部分:

  1. 腾讯云 AI 相关 SDK 使用,在本地使用 Python 体验 SDK 接口调用;
  2. 在云开发项目在线书城小程序中集成 AI 能力;

4. 实验步骤

任务1 腾讯云 AI 相关 SDK 使用

【任务目标】

在本任务中,您将了解如何开通并使用腾讯云 AI 产品。

【任务步骤】

1、腾讯云人脸分析服务使用

1.登录腾讯云官网,进入人脸识别控制台,选择人脸检测与分析页签,开通相关服务:

2.利用 Python3 安装腾讯云 SDK 依赖

Windows 用户启动 CMD 黑窗口后在命令行运行下面命令,MacOS 用户在终端(Terminal)中执行(如图,可知本实验使用SDK版本为3.0.176):

pip install tencentcloud-sdk-python

如上述命令找不到pip指令,可换 pip3 再次尝试(确保配置 Python 环境变量):

pip3 install tencentcloud-sdk-python

3.使用 VSCode 打开提供的代码包(tencent_cloud_ai);

下载tencent_cloud_ai

4.在 demo_face_ai.py 内调用人脸识别接口,对上传的图片进行人脸识别和分析。注意密钥配置需要修改为本人密钥,如下图所示:

密钥信息可以前往腾讯云 CAM 控制台 查看。

5.在控制台运行 Python 脚本:

python demo_face_ai.py

或使用如下命令(苹果电脑用户):

python3 demo_face_ai.py

分析控制台输出对 faceFuse.jpg 图片中人脸的分析数据(人脸图片不建议超过500kb):

您也可以使用 API 3.0 Explorer 进行内容的在线调试(可将图片存储在对象存储)。

其中,图像识别的结果的每个字段对应的意义如下(更详细的信息可以参考https://cloud.tencent.com/document/api/867/32807#FaceAttributesInfo)。

  • ImageWidth:请求的图片宽度。
  • ImageHeight:请求的图片高度。
  • FaceInfos:人脸信息列表。
  • RequestId:唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。

2、腾讯云身份证分析服务使用

1.登录腾讯云官网,进入智能图像控制台,选择文字识别->身份证识别,开通相关服务:

2.在 demo_ocr_ai.py 内调用 ocr 识别接口,对上传的身份证图片进行识别和分析。同人脸识别一样需要修改密钥信息,如下图所示:

3.在控制台运行 Python 脚本:

python demo_ocr_ai.py

或使用如下命令(苹果电脑用户):

python3 demo_ocr_ai.py

控制台输出分析 idCard.jpg 的数据(图片不建议超过500kb):

您也可以使用 API 3.0 Explorer 进行内容的在线调试(可将图片存储在对象存储)。

其中,身份证识别结果的每个字段对应的意义如下(更详细的信息可以参考https://cloud.tencent.com/document/api/867/32807#FaceAttributesInfo):

  • Name:姓名(人像面)
  • Sex:性别(人像面)
  • Nation:民族(人像面)
  • Birth:出生日期(人像面)
  • Address:地址(人像面)
  • IdNum:身份证号(人像面)
  • Authority:发证机关(国徽面)
  • ValidDate:证件有效期(国徽面)
  • AdvancedInfo:扩展信息,根据请求的可选字段返回对应内容,不请求则不返回。目前支持的扩展字段为:
    • IdCard,身份证照片,请求 CropIdCard 时返回;
    • Portrait,人像照片,请求 CropPortrait 时返回;
    • WarnInfos,告警信息(Code - 告警码,Msg - 告警信息内容),识别出翻拍件或复印件时返回。
    • Code 告警码列表和释义:
      • 9103 身份证翻拍告警
      • 9102 身份证复印件告警
  • RequestId:唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。

任务2 在小程序中集成AI能力

【任务目标】

在本任务中,您将了解如何在云开发小程序项目中集成 AI 能力。

【任务步骤】

1、导入项目并修改配置

1.使用微信开发者工具打开提供好的实验源码(代码包为 online-library)。

下载online-library

2.在根目录下的 project.config.json 文件,填写您的小程序 appid。

3.登录开通了 AI 服务的腾讯云 CAM 控制台(网址为https://console.cloud.tencent.com/cam/capi),点击新建密钥:

4.新建密钥对后记录该密钥,然后填写到 DetectFace 和 IDCardOCR 两个云函数的配置中,如下图所示:

5.在小程序云平台分别新建 user-info 和 lend-books 数据库集合,books 集合数据请参考【云开发实战】小程序云开发实战。

6.进入cloud/functions|环境名,右键每一个已有的云函数文件夹,点击创建并部署:云端安装依赖(不上传node_modules)创建并部署:所有文件

2、对准备好的项目进行联调

1.在进行项目的体验是可以使用如下功能,首页如下;

2.点击【借书入口】,可以查询图书,并可点击【借阅】(若借阅成功则快速闪过“借阅成功”字样);

3.借书后,可以在借阅历史内查看到借书记录;

4.拍照打卡可以对图片内的开心指数进行打分

上传人脸完成后,点击【进行分析】即可检测人脸并对开心指数进行打分。

5.身份证智能录入,识别身份

上传身份证图片后,点击【识别身份证】即可识别身份证内文字信息。

6.身份识别后,点击【保存信息】;

7.展示用户信息;

至此,您已完成了小程序云开发的全部任务。

5. 注意事项

如实验资源无需保留,请在实验结束后及时销毁,以免产生额外费用。