Modelarts自动学习之旅,实现智慧食堂的人脸识别提示优化

news2024/11/22 19:28:45

前言

最近公司食堂进行了升级,不但餐盘更换为智能餐盘,且结账的时候可以刷脸支付。

这些升级让排队结账的速度提升了很多,且食堂员工效率也随之提高了很多。果然,科技改变世界。

我观察了一下,智能餐盘基本没有卡顿,99%的准确率,偶尔有极少数识别不出来的情况。

但是刷脸支付出现卡顿的情况相对多一些,主要是有遮挡的情况下,需要去掉遮挡。每次出现类似情况,需要食堂员工人工提醒。

这种情况,我觉得还是不够智能。

智慧食堂

智能餐盘

虽然本期重点不是它,但是还是做一下简单了解,百度百科给的介绍是:

智能餐盘(RFID service plate)是一种在餐盘底部植入RFID射频芯片的可被自动识别餐具。它通过射频信号自动识别餐盘并获取相关数据,识别工作无须人工干预,并可同时识别多个餐盘,操作快捷方便。

智能餐盘主要是为了解决食堂结算慢、易出错、成本高等问题。

智能餐盘通常是跟智盘结算台配套使用,餐具进入结算区后(射频天线感应区),通过对餐具底部RFID射频芯片进行读写操作,借助于计算机及其通讯技术,实现对餐具底部RFID射频芯片的通信和管理,实现快速结算。

智能结算系统

智能餐盘可以快速到食物的价值,这个时候还有一个重要环节就是支付。

食堂提供的刷脸支付,十分便利,省去了拿出手机提供支付凭证的环节。

人脸识别技术的关键在于精确识别的程度,接下来可以做的事情主要是二选一:

  • 提升人脸精确识别度;
  • 遮挡物识别的智能提示,由刷脸机器提供。

借力ModelArts

华为云ModelArts中有一个实验是:口罩检测(使用新版自动学习实现物体检测应用)。

这个实验可以:

依据开发者提供的标注数据及选择的场景,无需任何代码开发,自动生成满足用户精度要求的模型。可支持图片分类、物体检测、预测分析、声音分类等场景。可根据最终部署环境和开发者需求的推理速度,自动调优并生成满足要求的模型。

从这个实验介绍中提取到的关键信息,我觉得可以拿来参考做遮挡物的测试。

真是,踏破铁鞋无觅处,全靠华为云的帮助

接下来,让我们一起来一场ModelArts的实验之旅。

口罩检测实验

前置工作

首先确保已经完成了华为云账号的开通与认证。

配置委托访问授权

  1. 登录ModelArts管理控制台;
  2. 在ModelArts管理控制台的左侧导航栏,找到“全局配置”并单击进入;

  1. 在“全局配置”页面,单击“添加授权”。
  • “授权对象”:选择需要授权的“用户名”。
  • “委托类型”:新增委托。
  • “权限配置”:普通用户。

其他选择项默认即可,然后勾选“我已经详细阅读并同意《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畅想」系列作者,华夏美食、国漫、古风重度爱好者,刑侦、无限流小说初级玩家。
如果看完文章有所收获,欢迎点赞👍 | 收藏⭐️ | 留言📝。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1425146.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

最新2024如何解决谷歌浏览器Chrome谷歌翻译无法使用问题

快速恢复谷歌浏览器一键翻译功能在Chrome 中安装好【翻译】插件 Macbook 操作步骤: 1点击“前往”,打开“前往文件夹” 2 在对话框中输入“/etc” 囝找到“hosts”文件,复制粘贴到桌面 3 在复制的文件最后新起一行,输入并保存&am…

UnityShader(十二)实现标准光照模型中的高光反射

目录 基本光照模型中的高光反射公式: 逐顶点光照 逐像素光照 基本光照模型中的高光反射公式: 从公式可以看出 要计算高光反射需要知道四个参数:入射光线的颜色和强度clight,材质的高光反射系数mspecular,视角方向v以…

怿星科技荣膺星河智联“2023年度卓越供应商”,共创智能座舱新未来

1月19日,在星河智联2023年度卓越供应商评选活动中,怿星科技凭借卓越的产品和优质的服务,以及在项目管理、设计开发和成本控制等多方面的出色表现,荣获了“年度卓越供应商”的荣誉称号。 添加图片注释,不超过 140 字&am…

UML/SysML建模工具更新情况(截至2024年1月)(2)Papyrus 6.6.0

工具最新版本:drawio-desktop 23.0.2 更新时间:2024年1月25日 工具简介 开源绘图工具,用Electron编写,跨平台,支持UML。桌面版和在线版现在版本号已统一。在线版:Flowchart Maker & Online Diagram S…

oracle数据库慢查询SQL

目录 场景: 环境: 慢SQL查询一: 问题一:办件列表查询慢 分析: 解决方法: 问题二:系统性卡顿 分析: 解决方法: 慢SQL查询二 扩展: 场景: 线…

Uniapp登录页面获取头像、昵称的最新方法的简单使用

前言 写小程序写到登录页面的时候,发现官方文档中原来的wx.getUserInfo和wx.getUserProfile不太能用了,学习了相对比较新的方法,这种方法的文档链接如下: https://developers.weixin.qq.com/miniprogram/dev/framework/open-abil…

免费的ChatGPT网站 ( 7个 )

ChatGPT的核心功能是基于用户在输入时的语言或文本生成相应的回复或继续内容。此外,它还能够完成多种任务,如撰写邮件、视频脚本、文案、翻译、代码编写以及撰写论文等。 博主归纳总结了7个国内非常好用,而且免费的chatGPT网站,AI…

Camunda ScriptTask SendTask ReceiveTask操作

文章目录 开始脚本任务(ScriptTask)发送任务(SendTask)接收任务(ReceiveTask)流程图xml 开始 前面我们已经介绍了Camunda最基本的操作和常见的监听器,如果不熟悉Camunda,可以先看一下,方便搭建环境,亲手测试。 Camunda组件与服务…

轻量式RPC调用日志链路设计方案

导语: 调用链跟踪系统,又称为tracing,是微服务设计架构中,从系统层面对整体的monitoring和profiling的一种技术手 背景说明 由于我们的项目是微服务方向,中后台服务调用链路过深,追踪路径过长,其中某个服务报错或者异…

YOLOv5改进芒果首发:24年最新论文Shift-ConvNets:稀疏/移位操作让小卷积核也能达到大卷积核效果,来打造新颖YOLOv5检测器

💡本篇内容:YOLOv5改进芒果首发:24年最新论文Shift-ConvNets:稀疏/移位操作让小卷积核也能达到大卷积核效果,来打造新颖YOLOv5检测器 💡附改进源代码及教程,用来改进作为 🚀改进Shift-ConvNets 深圳大学出品!!24年最新论文 Shift-ConvNets地址:https://arxiv.o…

c/c++串的链式操作

文章目录 1.链式串的定义2.初始化3.赋值为04.赋值操作5.打印操作6.源码 本篇博客中都是带头结点的串。 1.链式串的定义 这里的数据域是4个字节,是为了节省空间。 typedef struct StringNode{char ch[4]; //按串长分配存储区,ch指向串的基地址struct S…

史诗级详细离线更新centos系统的openssh,升级到9.3p1!!

离线更新openssh步骤 文章目录 前言一、openssh是什么?二、更新步骤 1.查看相关组件版本是否存在(代码包已全部打包)2.进行openssh离线更新总结(安装时可能出现的问题等)前言 对于可能很多人在离线更新openssh时都没找到一篇能解决实际问题的文章,那么今天它来了,请往下看…

安卓相对布局RelativeLayout

<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"150dp"><TextViewandroid…

PostgreSql和Oracle的事务机制区别以及对程序的影响

前言 几年前IT信息产业的一些核心技术包括架构、产品以及生态都是国外制定&#xff0c;然而自从“遥遥领先”公司被制裁后&#xff0c;国家开始大力支持信息产业“新基建”&#xff0c;自2020年开始市场上涌现出了大量的国产化软件&#xff0c;就国产化数据库而言我所在的公司…

vue2+html2pdf下载PDF,PDF分页切割

问题: PDF下载下来后,文档内容被暴力分割。 解决方案: HTML <!-- 打印按钮 --> <el-button type="primary" size="small" class="el-icon-download right_btn" @click="downloadPDF">PDF</el-button><!-- …

Windows存储空间不足局域网文件共享 Dism备份系统空间不足

问题情景 在日常使用中难免遇到Windows的空间不足的情况&#xff0c;常用办法是清理垃圾释放空间&#xff0c;部分场景例如我们需要使用Dism备份完整系统&#xff0c;所以需要非常大的存储空间不够&#xff0c;如果空间不够什么才是最有效的方案呢&#xff1f; 我们假设身边没有…

字符串转换const char* , char*,QByteArray,QString,string相互转换,支持中文

文章目录 1.char * 与 const char * 的转换2.QByteArray 与 char* 的转换3.QString 与 QByteArray 的转换4.QString 与 string 的转换5.QString与const string 的转换6.QString 与 char* 的转换 在开发中&#xff0c;经常会遇到需要将数据类型进行转换的情况&#xff0c;下面依…

伪原创生成器手机版,移动端上写文章更方便!

伪原创生成器虽然不少&#xff0c;但我们大家见到最多的还是电脑使用版&#xff0c;然而提及到伪原创生成器手机版的资源却不是那么多&#xff0c;特别是对于现在手机端也成为了大家办公的一大途径&#xff0c;这主要也是因为手机的便携性&#xff0c;它可以做到让大家随时随地…

【图例】直观的感受MySQL事务的隔离级别分别解决了什么问题?以及如何查看和设置事务隔离级别!

目录 前言一、读未提交&#xff08;Read Uncommitted&#xff09;二、读已提交&#xff08;Read Committed&#xff09;三、可重复读&#xff08;Repeatable Read&#xff09;四、串行化&#xff08;Serializable&#xff09; 前言 在MySQL中&#xff0c;事务的隔离级别决定了…

如何本地搭建Emby影音管理服务并结合内网穿透实现远程访问本地影音库

文章目录 1.前言2. Emby网站搭建2.1. Emby下载和安装2.2 Emby网页测试 3. 本地网页发布3.1 注册并安装cpolar内网穿透3.2 Cpolar云端设置3.3 Cpolar内网穿透本地设置 4.公网访问测试5.结语 1.前言 在现代五花八门的网络应用场景中&#xff0c;观看视频绝对是主力应用场景之一&…