ModelArts基于计算机视觉的钢筋条数检测【玩转华为云】
前言
ModelArts 是面向开发者的一站式 AI 开发平台,为机器学习与深度学习提供海量数据预处理及交互式智能标注、大规模分布式训练、自动化模型生成,及端-边-云模型按需部署能力,帮助用户快速创建和部署模型,管理全周期 AI 工作流。
背景
中国的各施工工地每年都要使用大量的钢筋,一车钢筋运到工地现场需要工作人员进行盘点,通常的做法是靠人工一根根数的方式,非常耗时费力。
为了提高钢筋盘点效率,业界提出了对钢筋图片进行拍照,然后使用AI算法检测图片中的钢筋条数,实践证明,该方案不仅准确率高,而且可以极大提高效率。
本实操基于目标检测的方法,使用250张已经人工标注好的图片进行AI模型的训练,训练25分钟,即可检测出图片中钢筋的横截面,从而统计出钢筋的条数。
基础环境准备
在使用 ModelArts 进行 AI 开发前,需先完成以下基础操作哦(如有已完成部分,请忽略),主要分为4步(注册–>实名认证–>服务授权–>领代金券):
-
使用手机号注册华为云账号:点击注册
-
点此去完成实名认证,账号类型选"个人",个人认证类型推荐使用"扫码认证"。
-
点此进入 ModelArts 控制台数据管理页面,上方会提示访问授权,点击【服务授权】按钮,按下图顺序操作:
-
进入 ModelArts 控制台首页,如下图,点击页面上的"彩蛋",领取新手福利代金券!后续步骤可能会产生资源消耗费用,请务必领取。
以上操作,也提供了详细的视频教程,点此查看:ModelArts环境配置
ModelArts基于计算机视觉的钢筋条数检测具体步骤
1.点击进入 【基于计算机视觉的钢筋条数检测】的案例页面,并完成基础配置。
本次实践使用的是AI框架:PyTorch-1.0,在GPU下面均可运行,GPU环境运行预计花费25分钟;
点击 Run in ModelArts,进入 JupyterLab 页面:
稍等30s左右,等待项目初始化完毕......
由于需要GPU下运行,所以我们需要进行规格切换,并选择 [限时免费]GPU: 1*V100|CPU: 8核 64GB ,点击切换规格。
稍等一会就切换完成,如下所示:
2.下载代码和数据集
3.加载需要的python模块
4.查看训练数据样例
5.显示原图和标注框
从我们刚刚下载的数据集里提取数据,并显示在控制台
6.定义训练超参,模型、日志保存路径
7.构建模型,定义优化器及损失函数
注意:此模型只能在GPU环境下跑,在CPU下会出现报错
8.定义自适应学习率函数
9.定义训练函数
10.开始训练
每个epoch训练耗时约60秒,耐心等待即可!
11.测试模型
已完成训练,下面开始测试模型,首先需定义目标检测类
12.定义推理网络
并加载前面训练的loss最低的模型
13.验证结果
测试图片,输出每条钢筋的位置和图片中钢筋总条数
通过识别钢筋的尾部节点进行计数,可以看出是65根,旁边阴影部分由于模糊识别不到,故没有计数,存在一定误差;
不过总体来说,已经非常精准了,现部门城市的工地已经应用起来了,将AI应用部署到移动设备上,真是科技改善生活呀!
总结
使用AI算法检测图片中的钢筋条数,实践证明,该方案不仅准确率高,而且可以极大提高效率,真可谓是科技改善生活!此项目已经应用到实际生活中了,工人通过部署到移动设备的AI应用进行拍照,一键计算钢筋数,方便又快捷。
到此,全文结束。
感恩能与大家在华为云遇见!希望能与大家一起在华为云社区共同成长。
- 点赞
- 收藏
- 关注作者
评论(0)