Modelarts自动学习之旅,实现智慧食堂的人脸识别提示优化【玩转华为云】
前言
最近公司食堂进行了升级,不但餐盘更换为智能餐盘,且结账的时候可以刷脸支付。
这些升级让排队结账的速度提升了很多,且食堂员工效率也随之提高了很多。果然,科技改变世界。
我观察了一下,智能餐盘基本没有卡顿,99%的准确率,偶尔有极少数识别不出来的情况。
但是刷脸支付出现卡顿的情况相对多一些,主要是有遮挡的情况下,需要去掉遮挡。每次出现类似情况,需要食堂员工人工提醒。
这种情况,我觉得还是不够智能。
智慧食堂
智能餐盘
虽然本期重点不是它,但是还是做一下简单了解,百度百科给的介绍是:
智能餐盘(RFID service plate)是一种在餐盘底部植入RFID射频芯片的可被自动识别餐具。它通过射频信号自动识别餐盘并获取相关数据,识别工作无须人工干预,并可同时识别多个餐盘,操作快捷方便。
智能餐盘主要是为了解决食堂结算慢、易出错、成本高等问题。
智能餐盘通常是跟智盘结算台配套使用,餐具进入结算区后(射频天线感应区),通过对餐具底部RFID射频芯片进行读写操作,借助于计算机及其通讯技术,实现对餐具底部RFID射频芯片的通信和管理,实现快速结算。
智能结算系统
智能餐盘可以快速到食物的价值,这个时候还有一个重要环节就是支付。
食堂提供的刷脸支付,十分便利,省去了拿出手机提供支付凭证的环节。
人脸识别技术的关键在于精确识别的程度,接下来可以做的事情主要是二选一:
- 提升人脸精确识别度;
- 遮挡物识别的智能提示,由刷脸机器提供。
借力ModelArts
华为云ModelArts中有一个实验是:口罩检测(使用新版自动学习实现物体检测应用)。
这个实验可以:
依据开发者提供的标注数据及选择的场景,无需任何代码开发,自动生成满足用户精度要求的模型。可支持图片分类、物体检测、预测分析、声音分类等场景。可根据最终部署环境和开发者需求的推理速度,自动调优并生成满足要求的模型。
从这个实验介绍中提取到的关键信息,我觉得可以拿来参考做遮挡物的测试。
真是,踏破铁鞋无觅处,全靠华为云的帮助。
接下来,让我们一起来一场ModelArts的实验之旅。
口罩检测实验
前置工作
首先确保已经完成了华为云账号的开通与认证。
配置委托访问授权
- 登录ModelArts管理控制台;
- 在ModelArts管理控制台的左侧导航栏,找到“全局配置”并单击进入;
- 在“全局配置”页面,单击“添加授权”。
- “授权对象”:选择需要授权的“用户名”。
- “委托类型”:新增委托。
- “权限配置”:普通用户。
其他选择项默认即可,然后勾选“我已经详细阅读并同意《ModelArts服务声明》”,单击“创建”。
图3-1:授权配置
4.授权成功之后,返回“全局配置”列表,可查看到此帐号新增的委托授权数据。
图3-2:“全局配置”列表
创建OBS桶
OBS是ModelArts提供的使用对象存储服务,目的是为了进行数据存储以及模型的备份和快照。
该实验在创建训练数据集之前,需要创建一个OBS桶,然后在OBS桶中创建文件夹用于存放数据。
1、登录OBS管理控制台,在桶列表页面右上角单击“创建桶”,创建OBS桶。
填写参数:
- "区域":华北-北京四,后续区域需要选择和OBS桶一致。
- "桶名称":创建桶名称,建议创建的桶名称具有可识别性,本次实验以“obs-respirator”为例。
其他使用默认值即可,确认无误后单击右下角“立即创建”。
图2-1:创建OBS桶
2、在桶列表页面,单击桶名称,进入该桶的概览页面。
图2-2:桶列表
3、单击概览页面的左侧导航的“对象”,在“对象”页面单击新建文件夹,创建OBS文件夹。
图2-3:新建文件夹
新建一个名为“respirator”的文件夹,存放数据集输出的数据。
图2-3:新建文件夹配置
新建一个名为“respirator-resource”的文件夹,用于存放数据集输入的数据。
新建一个名为“respirator-result”的文件夹,用于存放数据集输出结果的数据。
进入实验
步骤1:创建训练数据集
1、进入模型详情页
进入模型详情页有两种方式:
- 单击口罩检测小数据集链接,进入模型详情页。
- 单击AI Gallery链接,在“资产集市>数据”下,选择“数据集”,进入AI Gallery数据集页面,搜索口罩检测小数据集,进入模型详情页。
图3-1:模型详情页的下载入口
2、在弹出的“选择云服务区域”页面选择ModelArts所在的云服务区域,单击“确定”。
图3-2:选择云服务区域
3、在“下载详情”页面,填写参数。
- "下载方式":ModelArts数据集
- "目标区域":华北-北京四,目标区域须与步骤2中选择的云服务区域保持一致。
- "数据集输出位置":选择您的OBS路径下的空目录,用来存放输出的数据标注的相关信息,如版本发布生成的Manifest文件等。且此目录不能与输入位置一致,也不能为输入位置的子目录。
- "数据集输入位置":选择您的OBS路径。用来存放源数据集信息。
- "名称":创建数据集名称,建议创建的数据集名称具有可识别性,本次实验以“dataset-respirator”为例。
其他选择默认值即可,确认无误后单击右下角“确定”。
图3-3:下载配置
4、系统会跳转到“我的数据”页面,等待数据集下载完成(需等待大概5分钟左右)。单击进入“目标位置”可以在对象存储服务(OBS)中查看数据集储存位置。
图3-4:查看数据集
步骤2:创建自动学习物体检测项目
1、进入ModelArts管理控制台,在左侧导航栏选择“自动学习”默认进入新版自动学习页面,选择物体检测项目,单击“创建项目”,进入“创建物体检测项目”页。
2、进入“创建物体检测项目”页面后,填写相关参数。
- “计费模式”:默认按需计费。
- “名称”:“ExeML_respirator”。
- “数据集”:下拉选择已下载的数据集-“dataset-respirator”。
- “输出路径”:选择前置工作中创建的OBS桶下的路径。
- “训练规格”:本案例选择“[限时免费]GPU: 1*NVIDIA-V100(32GB) | CPU: 8 核 64GB”。
其他选择默认值即可,确认无误后单击右下角“创建项目”。
图3-5:创建物体检测
3、项目创建成功之后,会自动跳转至新版自动学习的运行总览页面。
运行总览页中,工作流会依次运行数据标注、数据集版本发布、数据校验、物体检测、模型注册、服务部署节点。
图3-6:工作流
步骤3:运行工作流
1、项目创建成功之后,工作流会自动运行,等待“服务部署”前的全部节点变为绿色的“运行成功”。
图3-7:工作流节点
2、节点到达“服务部署”,状态会变为“等待输入”,需要填写输入参数:
- “计算节点规格”:选择“[限时免费]CPU: 1 核 4GB”。
- “是否自动停止”:打开自动停止开关,设置停止时间为“1小时后”。
其他选择默认值即可,确认无误后单击右下角“继续运行”。
图3-8:输入
3、单击确认弹窗中的“确定”即可继续完成工作流的运行。
步骤4:预测分析
1、点击控制台左侧“部署上线>在线服务”,进入“在线服务”列表页。单击服务列表上的“预测”,进入“服务详情”页
图3-9:“在线服务”列表的“预测”入口
2、在“服务详情”页,单击选择“预测”页签。
图3-10:“预测”页签
上传一张需要预测的图片,单击预测,最终的预测结果会在右边区域中展示。
图3-11:预测结果
步骤5:清除相应资源
实验完成之后,清除相应的资源,避免产生额外的费用。
1、删除运行服务
在“在线服务”页,单击当前正在运行的服务的右侧的“删除”按钮,即可删除运行该服务,计费终止。
图3-12:删除运行服务
2、清除OBS中的数据。
将OBS中的桶和桶下的文件都删除。
体验及建议
首先来说体验感受,ModelArts的预测结果还是很准确的,无论是单个还是群体,口罩检查,能检查到全部,且标注对应的口罩位置。预测的速度也很快。
但还是有些阻塞的地方:
1、工作流到达“物体检测”节点,运行时间有点长。
图4-1:“物体检测”节点
2、工作流切换节点的灵敏度有些低
每次进行节点切换的时候,都需要点几次,才能切换到正确的节点,希望能优化一下。
3、工作流的“服务部署”节点布局有些错乱
图4-2:“服务部署”节点
4、“自动学习”页的服务列表中标签列的展示数据有些错位
图4-3:服务列表
总结
完成口罩检测(使用新版自动学习实现物体检测应用)的实验之后,对华为云ModelArts提供的自动学习功能有了初步的了解。
华为云ModelArts提供的自动学习功能,即便是零AI基础的开发者按照实验步骤,便可以轻松完成“物体检测”的AI模型的训练和部署。
开发者无需任何代码开发,便能够自动生成满足用户精度要求的模型。且支持图片分类、物体检测、预测分析、声音分类等多种场景。可根据最终部署环境和开发者需求的推理速度,自动调优并生成满足要求的模型。
借助华为云ModelArts提供的功能,可以帮助我们的智慧食堂实现人脸识别的提示优化。
未来,也期待与华为云ModelArts一起实现更多的可能。
作者:非职业「传道授业解惑」的开发者叶一一
简介:「趣学前端」、「CSS畅想」系列作者,华夏美食、国漫、古风重度爱好者,刑侦、无限流小说初级玩家。
如果看完文章有所收获,欢迎点赞👍 | 收藏⭐️ | 留言📝。
- 点赞
- 收藏
- 关注作者
评论(0)