人脸检测技能开发
针对业务开发者,华为HiLens提供了导入(转换)模型功能和开发技能的功能,您可以自行开发模型并导入华为HiLens,根据业务诉求编写逻辑代码,然后基于您自定义的算法模型和逻辑代码新建技能。
本章节提供了一个人脸检测技能的样例,介绍从模型导入到查看技能效果,新建一个全新技能的全流程,帮助您快速熟悉华为HiLens技能开发的使用过程。
开始使用样例前,请仔细阅读准备工作罗列的要求,提前完成准备工作。具体技能开发的步骤如下所示:
准备工作
- 已注册华为云帐号,且在使用华为HiLens前检查帐号状态,帐号不能处于欠费或冻结状态。
- 已购买HiLens Kit设备,并准备好网线,电脑,路由器,HDMI线,显示屏。
- 成功注册设备HiLens Kit设备至华为HiLens控制台,详情请参见注册HiLens Kit。
- 登录OBS服务,创建桶和文件夹,用于存放样例的模型数据。创建名称为“hilens-test1”OBS桶,创建名称为“face-detection”文件夹和名称为“face-detection-output”的文件夹。
创建OBS桶和文件夹的操作指导请参见创建桶和新建文件夹。为保证模型数据能正常访问,请务必保证创建的OBS桶与华为HiLens在同一区域。
占用OBS资源的操作均会收取一定费用,收费规则请参见对象存储服务 OBS。
步骤1:准备数据
华为HiLens在公共OBS桶中提供了人脸检测技能的示例模型,命名为“face_detection_model”,因此本文的操作示例使用此示例模型进行技能开发。您需要执行如下操作,将模型文件上传至您的OBS目录下,即准备工作中您创建的OBS目录“hilens-test1/face-detection”。
- 单击模型下载链接,将人脸检测案例示例模型“face_detection_model”下载至本地,在文件存放目录完成签名校验(Windows系统推荐使用Git工具),验证成功将返回OK。执行命令如下:
echo ec5160c48f5ba6025dac696d7ff8b827f1902f6aa712b6969609cb5f290d149a face_detection_model.zip | sha256sum -c
- 在本地,将“face_detection_model”压缩包解压。例如解压至本地“face_detection_model”文件夹下,包括两个子文件夹“caffemodel+transfer”和“logic_code”。
- 参考上传文件,将“caffemodel+transfer”文件夹下的3个文件上传至“hilens-test1/face-detection”OBS路径下,包含caffe模型文件“.caffemodel”和“.prototxt”和配置文件“.cfg”。
步骤2:导入(转换)模型
导入的模型可为“.om”格式、“.pb”格式或“.caffemodel”格式,其中“.om”格式的模型才可以在HiLens Kit上运行,“.pb”格式或“.caffemodel”格式的模型在“导入(转换)”过程中,华为HiLens平台会自动将模型转换为“.om”格式。
- 登录华为HiLens管理控制台,在左侧导航栏中选择“技能开发>模型管理”,进入“模型管理”页面。
- 在“模型管理”页面,单击右上角的“导入(转换)模型”。
- 在“导入模型”页面,按表1填写参数,信息确认无误后单击“确定”完成导入。
图1 导入模型
表1 导入模型参数 参数
推荐填写
“名称”
输入“face-detection-demo”。
“版本”
输入“1.0.0”。
“描述”
输入导入模型的描述。
“模型来源”
单击“从OBS导入”,在“选择模型地址”右侧单击,进入模型上传至OBS的存储路径“/hilens-test1/face-detection/”,选中“face_detection.caffemodel”文件,单击“确定”,如图2所示。
“转换类型”
选择“Caffe 转 Ascend”。
“转换输入目录”
在选择“模型来源”后默认输入路径。
“转换输出目录”
单击选择转换输出目录为“/hilens-test1/face-detection-output/”。
“高级选项”
包括输入张量形状、转换输出节点等参数选项,详情请见高级选项。此样例可保持默认参数。
图3 导入模型
模型导入后,将进入“模型管理”页面,您导入的模型可从列表中查看模型导入(转换)的状态,包括“转换中”、“转换失败”、“转换成功”、“导入失败”、“导入成功”,当状态为“导入成功”时,您可以在华为HiLens管理控制台新建技能。
步骤3:新建技能
- 在华为HiLens管理控制台的左侧导航栏中选择“技能开发>技能管理”,进入技能列表。
- 在“技能管理”页面,单击右上角“新建技能”,进入“创建技能”页面。
- 在“创建技能”页面,在“技能模板”中选择“使用空模板”后,填写“基本信息”和“技能内容”。此样例可不填“运行时配置(可选)”、“难例上传设置(可选)”和“弹性技能参数(可选)”。
基本信息
按表2填写基本信息,如图4所示。表2 基本信息参数 参数
推荐填写
“技能模板”
选择“使用空模板”。
“技能名称”
输入“Face_Detection”。
“技能版本”
输入“1.0.0”。
“适用芯片”
默认为“Ascend310”。
“检验值”
根据步骤1:准备数据所下载的文件“face_detection_model>logic_code”中的“main.py”文件中init函数参数值,这里检验值应输入“test”。此处的检验值和init函数参数值应保持一致。
“应用场景”
选择“其他”,然后在文本框中输入“人脸检测”。
“技能图标”
上传技能图标。
“OS平台”
选择“Linux”系统。
“描述”
输入技能的描述。
技能内容
- 基本信息和技能内容填写完成后,您可以在界面右侧查看其配置参数值,如果某个字段填写错误,在右侧会显示一个小红叉。
确认信息无误后,单击“确定”完成技能创建。
图6 确认信息并完成新建技能
创建完成后,您的技能将进入“技能开发>技能管理”页面,且状态为“未发布”,您可以执行发布操作,将技能发布至技能市场;您也可以安装技能至设备,并查看设备使用技能效果。
发布后,技能将处于“审核中”状态,华为HiLens工作人员将在3个工作日内完成审核,请您耐心等待。当审核通过后,状态将变更为“审核通过,已发布”。
步骤4:(可选)发布技能
- 在华为HiLens管理控制台,单击左侧导航栏“技能开发>技能管理”,进入“技能管理”页面。
- 选择需要发布的技能,单击右边的“发布”。
- 在弹出的“发布技能”对话框中,按表4设置相关信息,单击“确定”。
图7 发布技能至技能市场
表4 发布技能参数说明 参数字段
说明
发布服务
技能发布的服务位置。本样例选择“HiLens技能市场”。
计费策略
技能发布在HiLens技能市场的计费策略。可选择“免费”和“收费”。
计费模式
技能发布后的计费模式。
- 若选择“免费”计费策略,仅可选择“一次性”计费模式。
- 若选择“收费”计费策略,可选择“包年/包月”和“一次性”两种计费模式。
计量单位
表示可用在设备上的规格。有“路数”和“并发量”两种计量方式。若以“路数”规格,可安装在设备上使用一路视频。
规格限制
技能在同一设备上最多可以处理视频的路数,或最大并发量。
隐私声明
技能涉及到的用户隐私声明。
提交之后,将发送至华为HiLens后台,由工作人员进行审核,3个工作日之内完成审核,请您耐心等待。
步骤5:安装技能
- 在“技能开发>技能管理”页面,选择已开发的的技能,单击右侧“安装”。
- 勾选已注册且状态显示在线的设备,单击“安装”,安装成功后单击“确定”,完成安装技能操作,如图8所示。
安装成功后,您可以启动技能查看技能输出数据。