使用Modelarts快速开发Hilens Kit实现人脸识别功能

2023-11-15

导语:在华为云平台上线的Modelarts模型训练平台结合华为智能终端产品Hilens kit。对Hilens Kit进行开发,实现产品的快速使用以及功能的实现。

        自从2020年疫情开始,使得人与人的接触变得更加不方便,间接促使了人工智能产业与互联网技术的发展。在许多人与人之间交互的工作变得不易,而人机交互的发展前景变得更加的开阔。许多事情无法面对面进行交流完成,智能终端的出现变得尤为重要。

        华为推出的智能终端Hilens Kit能实现很多功能,结合ModelArts云模型训练平台使得终端识别准确率更高,以及用户的上手难度变得更为简单。使用华为云的在线云训练平台对用户的电脑的配置要求变得更为宽泛。并且用户准备的数据集的数量越多,识别精度就会就会更加准确。同时使用华为云模型训练平台,在AI Gallery中有很多物体检测算法,可以直接订阅使用不需要用户自行编写,使得受众人群更加广泛。同时华为云平台也退出很多的已经训练后的模型,建立项目,导入Hilens Kit中即可直接使用。大大方便了用户。同时华为云平台也支持在线编程。内置Hilens studio编译器,支持在线编译,同时支持网络通信协议,使得终端与PC端可以实时同步日志,了解设备的运行情况。

        接下来简单介绍一下使用华为云模型训练平台ModelArts进行模型训练以及模型导入的步骤及注意事项:

ModelArts开发使用流程

        本次使用华为云平台提供的人脸识别的样例,介绍从模型训练到查看技能效果,新建一个全新技能的全流程。

一、ModelArts模型训练

(1)准备工作

        1.已注册华为云账号,且账号不能处于欠费或冻结状态。

        2.手边已有Hilens Kit 终端设备,且成功注册至华为Hilens控制台。

        3.登录OBS服务,创建通和文件夹,用于存放样例的训练数据。

(2)准备数据

        在华为云平台中的公共OBS桶中已经提供了用于人脸识别的训练数据,可用来进行模型训练,如若想开发各自集体的特殊人脸数据,可自行使用Hilens Kit 进行数据的采集与整理。数据采集的代码需要自行编写。

        若使用公共数据集,可单击示例数据下载链接,将人脸识别的示例数据下载至本地。同时解压压缩包。

        然后可参考华为云平台提供的参考文档。利用OBS Browser+工具将解压后的文件夹中的数据上传至在OBS中提前建立好的桶。

(3)创建数据集

        1.登录ModelArts管理控制台,完成访问权限配置。

        2.在左侧栏中选择“数据管理>数据集”;

        3.在数据集管理页面,单击“创建数据集”。在“创建数据集”页面,“数据集输入位置”选择数据中上传的数据存储目录(OBS路径),需选择到具体图片存储的父目录。“数据集输出位置”,请指定一个空目录,且此目录不能是数据来源目录下的子目录。“标注类型”选择“图像分类”。

        4.参数配置好后,点击创建,完成数据集的创建。

        在管理页面中,等待数据同步。之后就要进行数据集的标注,有两种标注方式,人工标注和智能标注。

 

图 数据信息人工标注

        用户完成数据标注后返回数据集概览页面,当显示图片已全部标注时,表示数据已同步完成。

 

图 标注进度展示

(4)发布数据集

        在数据集管理页面,单击“发布”,在弹出窗口与中,根据页面提示进行配置,由于本样例使用的算法,必须使用切分的数据集进行训练,因此训练验证比例的参数必须设置,建议设置为0.8或0.9,表示训练集与验证集的比例为8:2或9:1.建议选中“开启难例属性”,方便算法自动针对难例自动调优,提升难例筛选结果。

 

图 发布数据集

(5)订阅算法

        ModelArts模型训练平台为物体检测提供大量算法,用户可前往AI Gallery,订阅所需算法,然后同步至ModelArts中。下面所使用的人脸检测算法为“YOLO3_ResNet18”为例进行介绍。

        注意:若模型需要导入Hilens Kit进行使用,所订阅的算法为物体检测并带有“Ascend310推理”字样。

        1.登录ModelArts管理控制台,在左侧菜单栏中选择“AI Gallery”。进入新版的AI Gallery。

        2.在AI Gallery的搜索框中输入“YOLO3_ResNet18”,查找对应算法。

 

图 搜索并选择算法

        3.单击算法进入详情页,单击订阅,更具页面提示完成订阅。此算法有ModelArts官方提供,且目前免费开放。订阅算法完成后,页面会显示已订阅。

        4. 单击商品详情页的“前往控制台”,此时弹出“选择云服务区域”对话框,选择 ModelArts 对应的区域,然后再单击“确定”。页面将自动跳转至 ModelArts 的“算法管理>市场订阅”中同步对应的算法。

 

图 选择云服务区域

        5.在ModelArts管理控制台的算法管理页面,算法将自动同步至ModelArts中。

        6.若需要使用其他算法可重复前面的步骤,未同步的算法无法直接用于创建训练作业。

(6)使用订阅算法创建训练作业

        1. 进入 ModelArts 管理控制台,单击左侧导航栏“训练管理>训练作业”, 进入“训练作业”页面。

        2. 单击“创建”,进入“创建训练作业”页面。

        3. 在“创建训练作业”页面,填写训练作业相关参数,然后单击“下一步”。

          a. 在基本信息区域,“计费模式”和“版本”为系统自动生成,不需修改。用户可自行更改“名称”及“描述”。

 

图 训练作业信息

          b. 在“算法来源”,选择“算法管理”,单击“算法名称”右侧的“选 择”,在弹出框中,选择“我的订阅”的算法中“YOLOv3_ResNet18”算法。

          c. 按表 4 设置“训练输入”、“训练输出”、“调优参数”。

 

图 训练作业详细参数

         d. 在资源设置区域,选择“公共资源池”,并选择一个“规格”,建议选择一个 GPU 规格,运行效果更佳,“计算节点个数”设置为“1”。

         e. 完成信息填写,可选择是否保存作业参数,并单击“下一步”。

        4. 在“规格确认”页面,确认填写信息无误后,单击“提交”。

        5. 在“训练作业”管理页面,可以查看新建训练作业的状态。训练作业的创建和运行需要一些时间,当状态变更为“运行成功”时,表示训练作业创建完成。

        用户可以单击训练作业的名称,可进入此作业详情页面,了解训练作业的“配置信息”、“日志”、“资源占用情况”和“模型评估”等信息,帮助用户改进模型。在“训练输出位置”所在的 OBS 路径中,可以获取到生成的模型文件。

(7)模型转换

        1. 在 ModelArts 管理控制台中,选择左侧导航栏的“模型管理>压缩/转换”,进入模型转换列表页面。

        2. 单击左上角的“创建任务”,进入任务创建任务页面。

        3. 在“创建任务”页面,按表 6 填写相关信息,如图 21 所示。在算法描述页面会有各参数的推荐值。

 

图 官方提供的模型转换参数

        4. 任务信息填写完成后,单击右下角“立即创建”。

        创建完成后,系统自动跳转至“模型压缩/转换列表”中。刚创建的转换任务将呈现在界面中,其“任务状态”为“初始化”。任务执行过程预计需要几分 钟到十几分钟不等,请耐心等待,当“任务状态”变为“成功”时,表示任务运行完成并且模型转换成功。

        如果“任务状态”变为“失败”,建议单击任务名称进入详情页面,查看日志信息,根据日志信息调整任务的相关参数并创建新的转换任务;若因网络不稳而导致转换失败,重新转换即可

二、模型导入至华为Hilens

(1)模型导入

        1. 登录华为 Hilens 管理控制台,在左侧导航栏中选择“技能开发>模型管理”,进入“模型管理”页面。

说明:华为 Hilens 控制台技能开发所在的区域应和在 ModelArts AI Gallery 订阅算法 的区域一致。

        2. 在“模型管理”页面,单击右上角的“导入(转换)模型”。

        3. 在“导入模型”页面,填写参数,信息确认无误后单击“确定”完成导入。

        4. 模型导入后,将进入“模型管理”页面,您导入的模型可从列表中查看模型状态,导入成功后模型“状态”为“导入成功”。

(2)新建技能

        1. 在华为 Hilens 管理控制台左侧导航栏中选择 HiLens Studio(Beta)。

        2. 点击新建技能。

 

图 新建Hilens技能项目

        3. 在“创建技能”页面,在“技能模板”中选择“使用空模板”后,填写基本信息和技能内容。

 

图 基本信息

        基本信息填写完成后,您可以在界面右侧查看其配置参数值,如果某个字段填写错误,在右侧会显示一个小红叉。

        4. 确认信息无误后,单击“确定”完成技能创建。

        5. 代码编辑。使用某些算法训练的模型转换完成后会生成 hilens 文件夹,其中包含相应的程序框架。在 HiLens Studio 中打开技能后,将此文件夹中的文件导入相应位置。

 

图 代码文件位置

        完成后,您可以执行发布操作,将技能发布至技能市场;您也可以安装技能至设备,并查看设备使用技能效果。

        同时你可以在技能市场发布你创建好的技能,供他人使用。同时你也可以在技能市场中选择你想要使用的已经做好的技能,这样能更好更快的完成你的开发任务。

(3)安装技能

        1. 在“技能开发>技能管理”页面,选择已开发的的技能并用 Studio 打开。

        2. 勾选右侧已注册且状态在线的设备,单击“安装”,安装成功后单击“确定”,完成安装技能操作。

        安装过程中,华为 Hilens 管理控制台会将技能包下发到设备。下发技能包需要一段时间,可以从进度条中看到技能安装进度,下发完成后“进度”栏会提示“安装成功”。

安装成功后,您可以启动技能查看技能输出数据。

(4)启动技能

        1. 使用 HDMI 视频线缆连接 Hilens Kit 视频输出端口和显示器。

        2. 单击左侧导航栏“设备管理>设备列表”,进入“设备列表”页面。

        3. 单击已注册设备的“技能管理”,查看技能状态已安装的人脸检测技能状态为“停止”,单击操作列的“启动”,并单击“确定”,确定启动技能运行在端侧设备上。等待一会,当状态变为“运行中”,则技能成功运行在端侧设备上。

        技能处于“运行中”状态时,您可以通过显示器查看技能输出的视频数据,此样例所开发的人脸检测技能可识别人员信息,技能输出的视频中会用方框标记出人像位置,并标记出人员信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用Modelarts快速开发Hilens Kit实现人脸识别功能 的相关文章

随机推荐

  • 转载--Windows下比较两个不同版本的二进制文件

    接手前人的软件 发现主程序依赖的动态库文件的源码没有包含在工程里面 花了好长时间找到了源代码 但是不知道它是不是最新版本的源代码 发现现有用到的动态库有两个版本的 其中一个修改时间旧一点的动态库文件在源代码的Release目录中可以找到 可
  • C# 自定义Label实现 指定字符串(关键词)高亮显示(字体、颜色)

    C 自定义Label实现 指定字符串 关键词 高亮显示 字体 颜色 原来是搞android的 本来自己就菜 现在由于项目需要开始着手弄C WPF 虽然了解一些 毕竟只是皮毛 唉 苦不堪言啊 还是得倚靠万能的互联网啊 需求 提示用户的文字 但
  • 机器学习--支持向量机(sklearn)

    机器学习 支持向量机 1 1 线性可分支持向量机 硬间隔支持向量机 训练数据集 T x 1 y 1 x 2 y 2 x N y N 当 y i 1 y i 1
  • Flutter页面不流畅,难道是使用姿势有问题?

    作者 檀婷婷 三莅 出品 阿里巴巴新零售淘系技术部 背景 高性能高流畅度一直是Flutter团队宣传的一大亮点 也是当初闲鱼选择Flutter的重要因素之一 但是随着复杂业务的应用落地 通过Flutter页面和原生页面滑动流畅度对比 我们开
  • 使用Azure Data Factory REST API和

    题解 给数组加一 class Solution public 代码中的类名 方法名 参数名已经指定 请勿修改 直接返回方法规定的值即可 题解 统计每种性别的人数 字符串子串函数的使用 substring index profile 1 SE
  • listView闪烁的问题

    用了一个ListView来实时的显示数据传输情况 于是问题就来了 当数据量比较大 而且处理速度很快时 这该死的界面闪得人眼花 废话不多说 直接上代码 首先 自定义一个类ListViewNF 继承自 System Windows Forms
  • stata 数据处理

    目录 按类别求均值 然后创建一个新的变量 缩尾处理 日期处理 连续变量处理成虚拟变量 按条件删除数据 按类别求均值 然后创建一个新的变量 bysort year industry egen meanvariable mean variabl
  • MySQL系列---事务与锁详解

    table of contents 1 背景 2 事务隔离级别 2 1 事务及其ACID属性 2 2 并发事务带来的问题 2 3 数据库事务隔离级别 3 锁机制 3 1 定义 3 2 分类 3 2 1 性能上划分 悲观乐观 3 2 2 从对
  • 解决微信小程序button的hover-class不生效问题

    在小程序开发过程中我们会遇到button添加style样式后即使添加hover class样式也没有点击效果的问题 产生该问题的原因为 在css中 内联样式style的优先级要高于class选择器的优先级 所以在我们添加style标签后即使
  • RabbitMq 报 An unexpected connection driver error occured和socket close异常处理

    进入rabbitMQ后台 1 后台地址为http localhost 15672 如果state状态为无法访问 那么我们就需要把这个链接给关掉 2 点击地址 找到close this connection 选择force close强制关闭
  • Centos7配置静态IP

    Centos7配置服务器静态IP 1 使用 ip addr 查看当前网卡信息 通过执行结果我们可以看到我们使用的网卡名称为ens33 2 配置服务器静态IP vi etc sysconfig network scripts ifcfg en
  • STL list

    文章目录 一 list 类的模拟实现 list 是一个带头双向循环链表 可以存储任意类型 模板参数 T 表示存储元素的类型 Alloc 是空间配置器 一般不用传 一 list 类的模拟实现 iterator 和 const iterator
  • 傅里叶图像相关性匹配-《医学图像处理》小作业五-Python代码/Matlab代码

    天津中医药大学 20级医学信息工程 教师 王翌 学生 邓集亲 学长我是用的python写的 matlab同样可以参考 实验五 相关性匹配 作业要求 参考 傅里叶变换 课的内容 采用快速傅里叶变换 FFT 进行相关性匹配 如下图示例输出结果图
  • 数据结构(第2版)陈越主编课后习题_【课后习题答案】离散数学(第2版)—课后习题答案...

    资 源 介 绍 本次分享内容为课程课后习题答案 教材名称 离散数学 第2版 主编作者 屈婉玲 耿素云 张立昂 出版社 高等教育出版社 ISBN 9787040419085 课后习题答案 01 习题一 02 习题二 03 习题三 04 习题四
  • java.io.IOException: Connection reset by peer

    接口要是返回的是字节 1 首先查看本地调用是否能正常返回 2 其次判断同样的参数测试环境是否正常返回 3 本地要是正常 测试环境异常的话 很大可能就是http协议版本不一致导致 解决办法 在nginx conf的location里加上 pr
  • Angular4基础开发文档

    Angular4基础开发文档
  • netstat命令详解

    命令介绍 netstat命令用于显示与IP TCP UDP和ICMP协议相关的统计数据 一般用于检验本机各端口的网络连接情况 netstat是在内核中访问网络及相关信息的程序 它能提供TCP连接 TCP和UDP监听 进程内存管理的相关报告
  • java/php/net/pythonMES生产线控制系统设计

    本系统带文档lw万字以上 答辩PPT 查重 如果这个题目不合适 可以去我上传的资源里面找题目 找不到的话 评论留下题目 或者站内私信我 有时间看到机会给您发 生产线控制系统 的设计主要是为了满足生产线管理员的实际需求 因此 它需要通过Int
  • 移动应用开发期末总结

    移动应用开发 什么是intent 问答题 Intent是一个动作的完整描述 包含了动作的产生组件 接收组件和传递的数据信息 Intent为Activity Service和BroadcastReceiver等组件提供交互能力 将一个组件的数
  • 使用Modelarts快速开发Hilens Kit实现人脸识别功能

    导语 在华为云平台上线的Modelarts模型训练平台结合华为智能终端产品Hilens kit 对Hilens Kit进行开发 实现产品的快速使用以及功能的实现 自从2020年疫情开始 使得人与人的接触变得更加不方便 间接促使了人工智能产业