使用ModelArts Standard自动学习实现口罩检测
该案例是使用华为云一站式AI开发平台ModelArts的新版“自动学习”功能,基于华为云AI开发者社区AI Gallery中的数据集资产,让零AI基础的开发者完成“物体检测”的AI模型的训练和部署。依据开发者提供的标注数据及选择的场景,无需任何代码开发,自动生成满足用户精度要求的模型。可支持图片分类、物体检测、预测分析、声音分类等场景。可根据最终部署环境和开发者需求的推理速度,自动调优并生成满足要求的模型。
费用说明:本案例使用过程中,从AI Gallery下载数据集免费,但是数据集存储在OBS桶中会收取少量费用,具体计费请参见OBS价格详情页。
在ModelArts上运行训练作业、将模型部署为在线服务会收取计算资源费用。案例使用完成后请参考后续操作:清除相应资源及时清除资源和数据。
步骤一:准备工作
- 注册华为账号并开通华为云、实名认证
- 配置委托访问授权
步骤二:创建训练数据集
- 单击口罩检测小数据集进入数据集详情页,单击右侧“下载”。
- 在弹出的窗口中选择云服务区域,例如该案例选择云服务区域为“华北-北京四”,单击“确定”进入下载详情页。
- 在“下载详情”页面,填写参数。
- 下载方式:ModelArts数据集。
- 目标区域:华北-北京四,目标区域须与上一步中选择的云服务区域保持一致。
- 数据类型:图片。
- 数据集输入位置:用来存放源数据集信息,例如本案例中从Gallery下载的数据集。单击图标选择您的OBS桶下的任意一处目录,但不能与输出位置为同一目录。
- 数据集输出位置:用来存放输出的数据标注的相关信息,或版本发布生成的Manifest文件等。单击图标选择OBS桶下的空目录,且此目录不能与输入位置一致,也不能为输入位置的子目录。
- 名称:创建数据集名称,为方便后续创建物体检测项目选择对应的数据集,建议您的数据集名称具有可识别性。
- 描述:描述数据集详细信息。
图1 下载详情
- 确认无误后单击右下角“确定”。
- 系统会跳转到我的下载页面,单击按钮,查看下载进度,等待数据集下载完成(下载完成大约需要5分钟,请耐心等待)。单击展开下载详情,可以查看该数据集的“目标位置”。
- 查看数据集是否已导入ModelArts。
返回ModelArts管理控制台,在左侧导航栏选择 ,默认进入数据集新版页面。在新版数据集列表页,单击数据集名称左侧的,展开数据集,查看“导入状态”,导入状态为“导入完成”代表示数据集导入成功,且数据集正常。
数据集下载完成后,请务必先检查数据集是否已经导入成功,如果数据集还未成功导入,创建自动学习物体检测项目后数据标注节点会报错。图2 数据标注节点报错
步骤三:创建自动学习物体检测项目
步骤四:运行工作流
在自动学习的运行总览页面,会产生一条工作流。工作流会自动从数据标注节点开始,依次运行数据集版本发布、数据校验、物体检测、模型注册、服务部署等节点,直至工作流全部运行完成。您需要做的是:
- 在数据标注节点,待数据标注节点变为橘色即为“等待操作”状态,双击数据标注节点,打开数据标注节点的运行详情页面。前往实例详情页确认所有图片是否都标注完成,确认无误后,回到工作流页面单击“继续运行”。
- 在“确认是否继续允许”的弹窗中,单击“确定”,工作流会继续从数据标注节点依次运行到服务部署节点。该段时间不需要用户做任何操作。
- 当工作流运行到“服务部署”节点,“服务部署”节点会变成橙色,双击“服务部署”节点。在服务部署页签中,可以看到状态变为了“等待输入”。
- 需要选择填写以下两个参数,其他参数均为默认值,保持不变。
- 计算节点规格:根据您的实际需求选择相应的规格。
- 是否自动停止:为避免资源浪费,建议打开自动停止开关,根据您的实际需要,选择自动停止时间,也可以自定义自动停止的时间。
图3 选择计算节点规格
图4 设置自动停止
- 参数填写完毕之后,单击运行状况右边的“继续运行”,单击确认弹窗中的“确定”即可继续完成工作流的运行。
步骤五:预测分析
运行完成的工作流会自动部署为相应的在线服务,您只需要在相应的服务详情页面进行预测即可。
- 在服务部署节点单击“实例详情”直接跳转进入在线服务详情页,或者在ModelArts管理控制台,选择“模型部署 > 在线服务”,单击生成的在线服务名称,即可进入在线服务详情页。
- 在服务详情页,选择“预测”页签。
图5 上传预测图片
- 单击“上传”选择上传一张需要预测的图片,单击“预测”,即可在右边的预测结果显示区查看您的预测结果。
图6 查看预测结果(1)--没戴口罩
图7 查看预测结果(2)--戴口罩
后续操作:清除相应资源
在完成预测之后,建议关闭服务,以免产生不必要的计费。
- 停止运行服务
- 预测完成后,单击页面右上角的“停止”,即可停止该服务。
- 单击左上角返回在线服务,在对应的服务名称所在行,单击选择操作列的“更多>停止”,停止该服务。
图8 停止服务
- 清除OBS中的数据。
- 在控制台左侧导航栏的服务列表,选择“对象存储服务OBS”,进入OBS服务详情页面。
- 在左侧导航栏选择“桶列表”,在列表详情,找到自己创建的OBS桶,单击桶名称,进入OBS桶详情。
- 在桶的详情页,左侧导航栏选择“对象”,在右侧“名称”列选中不需要的存储对象,单击操作列的“更多>删除”,即可删除相应的存储对象。
常见问题
- 创建数据集时找不到创建的OBS桶,请查看OBS桶与ModelArts是否在同一个区域。
- 数据校验节点失败。
请查看您的数据集是否符合规范,数据集规范请参考数据集要求与上传规范。