实验手册
腾讯云AI开发实战
实验预计耗时:60分钟
前置实验教程:小程序云开发实战
1. 课程背景
1.1 课程目的
人工智能是一种引发诸多领域产生颠覆性变革的前沿技术,当今的人工智能技术以机器学习,特别是深度学习为核心,在视觉、语音、自然语言等应用领域迅速发展,已经开始像水电煤一样赋能于各个行业。
本次实验我们将利用腾讯云提供的AI平台一起来构建一个智能系统,可以通过用微信扫码体验。通过结合小程序端作为展示,搭建在线智能借阅系统。通过小程序云开发平台,我们极大的简化了后端的开发工作,同时利用腾讯云提供的小程序AI云开发模板,省去了 AI 相关云函数的开发部署工作,极大的提高了开发效率。
1.2 课前知识准备
学习本课程前,学员需要了解以下前置知识:
- Python 基础:掌握 Python 环境安装,Python 基本命令。
- 小程序云开发:开发者可以使用云开发开发微信小程序、小游戏,无需搭建服务器,即可使用云端能力。
- 云开发提供了几大基础能力支持:
- 云数据库:无需自建数据库,小程序云开发提供一个既可在小程序前端操作,也能在云函数中读写的 JSON 数据库。
- 云存储:无需自建存储,小程序云开发结合 CDN 在小程序前端直接上传/下载云端文件,在云开发控制台可视化管理。
- 云函数:云函数是一段运行在云端的代码,无需管理服务器,在开发工具内编写、一键上传部署即可运行后端代码,同时微信私有协议天然鉴权,开发者只需编写自身业务逻辑代码。
- 云调用:原生微信服务集成。小程序云开发基于云函数免鉴权使用小程序开放接口的能力,包括服务端调用、获取开放数据等能力,比如发送模板消息、获取小程序码等操作都可以在云函数中完成,详情可见具体开发指引。
2.实验环境
2.1 实验操作环境
本课程需要以下实验操作环境:
- 可以接入互联网的笔记本电脑或者台式机(本实验使用 Windows 系统);
- 要求有腾讯云账号,能够访问腾讯云官网 https://cloud.tencent.com;
- 电脑已经安装 Python3,配置 Python 环境变量;
- 电脑已安装微信开发者工具;
2.2 实验架构图
本实验案例以一个简单的在线书城为例,主要功能包括图书借阅、拍照打卡和信息识别录入功能,实验架构图如下:
2.3 实验的数据规划表
资源名称 | 数据 | 说明 |
---|---|---|
腾讯云账号 | 账号:XXXXXXXX、密码:XXXXXXXX | 涉及产品如下:CAM、小程序·云开发 |
tencent_cloud_ai | 调用AI接口代码包 | 使用 Python3 |
online-library | 图书的图片信息 | 存储到云存储 |
3. 实验流程
本实验案例在在线书城项目基础上,借助腾讯云 AI 相关 SDK 获取人脸识别和文字图像识别能力。本实验任务可划分为两个部分:
- 腾讯云 AI 相关 SDK 使用,在本地使用 Python 体验 SDK 接口调用;
- 在云开发项目在线书城小程序中集成 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);
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)。
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. 注意事项
如实验资源无需保留,请在实验结束后及时销毁,以免产生额外费用。
学员评价