计导产学实验 2:利用 ModelArts 进行手势识别

举报
yd_259034615 发表于 2023/11/07 21:11:11 2023/11/07
【摘要】 计导产学实验2

​ 产学实验 2:利用 ModelArts 进行手势识别

  1. 实验内容

1) 参与 华为云“云上先锋”·AI 学习赛,完成基本流程。

2) 训练一个手势识别模型。

1 参考学习赛的流程,利用数据集(gesture_recognition_data.zip), 在 ModelArts 开发平台中训练一个可以识别不同的手势模型(Yeah、Rock、 OK、Great、Other)。 2 自定义一个自己的专属手势,加到数据集中重新训练模型。

3 在线部署并进行预测自己的专属手势。

  1. 实验过程
  2. 华为云“云上先锋”· AI 学习赛

第一步,先注册一个华为云账号。然后登录OBS管理控制台https://storage.huaweicloud.com/obs/?&region=cn-north-4&locale=zh-cn#/obs/buckets。

img

点击右上角的创建桶。

img

命名:自定义

数据冗余存储策略:单AZ储存

创建完成后,点击桶,选择”对象“,然后根据提示下载OBS Broswer+图形化管理工具。

img

安装OBS Broswer+后,登录华为云账号,即可上传文件。

img

接下来,将下载好的Garbage baseline压缩包解压,上传至OBS中,

img

接下来进入ModelArts环境中,先配置访问授权:

点击”全局配置->添加授权”,然后给你账户添加全局授权即可。

img

接下来,开始创建作业。在 ModelArts 左侧导航栏中选择“训练管理”,单击“训练管理 > 训练作业 > 创 建”按钮进入到“创建训练作业”配置页面,都在算法选择页面点击”创建”。

img

在创建算法中,AI引擎选择”显示旧版引擎”,选择”TensorFlow”,代码目录选择刚才上传的文件夹中的…code/,启动文件选择code/文件夹中的run.py文件。

在底下”输入数据配置”内代码路径参数输入data_url,在”输出数据配置”的代码路径中,输入train_url,提交,完成算法创建。

img

返回训练作业创建页面,选择创建新的训练作业,选择刚才创建的算法,在训练输入中,”选择数据存储位置”选择上传文件中的train_url/文件夹。在训练输出中,”选择”model_output/文件夹。下面的超参中,添加一个参数,参数名为deploy_script_path,其值为s3://obs-hand/codes/code/deploy_scripts/。即为s3://+OBS储存中的deploy_scripts文件夹的路径。信息确认无误后,提交

img

等待大概5分钟训练完成

img

训练完成后,在左侧的AI应用管理中,点击AI应用,点击创建:

img

在元数据来源中,选择”从对象存储OBS中选择”,选择刚才的model_output文件夹下的model文件夹。确认无误后,点击创建。

创建完成后,点击应用名,点击左上角的部署->在线服务,

img

选择默认参数,点击下一步

img

点击服务详情,查看部署进度。

img

部署完毕后,选择预测,上传图片进行预测。

img

img

img

img

可以看到,该模型对垃圾的识别准确率还挺高的。

  1. 手势识别

手势识别的代码可以从垃圾识别的代码中修改得到。首先,分析代码,发现在deploy_script/customize_service.py文件中,有关于垃圾分类代码,

img

在这里,我们把这个字典里的内容修改一下,改成手势识别的分类

img

这里我自己定义了一个新的手势,比心,取名为Love,在这里修改了代码之后,、再找到garbage_classify_rule.json文件

img

将分类规则修改为以下内容

img

最后,再修改数据集中的数据对应关系。通过观察,可以发现垃圾分类的数据集的txt文件与图片名称相同,其内容为 图片名+”, ”+图片类别

img

而手势识别里的数据集中的txt文件内容为该图片对应的含义,

img

数据格式并不相同,所以我得自己写一个py脚本来批量更改txt文件的内容:

img

跑了十几秒,几百个txt文件就被修改好了。

img

接下来,添加自己的专属手势,这里我选择的手势是比心,手势的键为6:

img

拍了十张图片,并写好txt文件。

img准备工作到此结束,剩下的步骤和上文的垃圾分类训练相同。训练出来的效果:

img

img

img

img

img

img

可以看到,对手势的识别,倒没有垃圾分类那样准确,对手势的标准度要求比较高。

  1. 出现的问题及解决办法

1) 在网页端上传不了大量的图片

解决方法:下载OBS Broswer+图形化管理工具,就可以本地上传大量的图片

2) 找不到文件

img

解决方法:该问题是因为使用了新版AI引擎,换成旧版的TensorFlow即可解决

3) 训练过程中出现HTTP 404错误

img

解决方法:该问题是deploy_script文件夹中的resnet50.py文件中有条链接挂了。

img只要把这条链接换成可以用的链接就好。通过文件中的一条链接,我在github上找到了该文件

img

我把它上传到了OBS上,并复制它的分享链接

把它加到resnet50.py文件中

img

问题解决

4) deploy_script_path is not exist

解决方法: 教程中的链接挂了,换成自己的OBS桶的deploy_script文件夹链接即可。

5) 手势识别数据集中txt文件内容与要求格式不同

解决方法:自己修改几百个txt文件显然不太现实,就写一个py脚本自动帮我修改成我需要的格式即可。

  1. 心得体会

这次实验,虽然难度比小车低一点点,但还是很难。这次训练人工智能,从数据处理开始,到模型配置和部署,都操作了一遍,让我体验的比较完整的人工智能训练过程,而且通过训练,让我了解华为云这个平台的使用方式,了解到了华为云这个功能强大的平台。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。