ModelArts自动学习之手势识别
1.将gesture_recognition_data.zip下载至本地并解压
2.下载OBS browser+,注册acess ID key,成功登录
创建桶(wx-gesture)
3.上传gesture-data文件夹并新建其他文件夹
4.创建数据集
(此处在先前的实验过程中反复出现同种问题,建议把桶下面的直属文件夹直接设为gesture-data文件夹,而不是将gesture-data文件夹包含在其他文件夹内)
因为这里填的需要是OBS路径,所以最好填的是桶下面的直属路径(如下图)
选择图像分类
数据同步完成
5.发布数据集,注:这里一定要设置训练验证比例
6.订阅modelarts发布的算法并使用这个算法创建训练作业
遇到困难:因为在选择数据集的OBS路径时没有选择gesture-data(直接包括了图片数据的文件夹)而是选择了在创建数据集时数据集输出的文件夹(经过查看后发现这个文件夹里面并未直接包含照片数据),所以实际上在训练模型时没有直接上传用于训练模型的图片数据,导致失败,以下采用“自动学习”的方法,并且成功训练出了模型能进行手势识别,无需按照繁琐的官方教程按部就班地进行实验,且不会遇到其他突发情况和问题。
以下介绍自动学习的过程:
1.进入自动学习界面,填写参数,将数据集输入位置和输出位置填写桶里面直属的文件夹路径,这里gesture-data文件夹里面存的是需要标注的图片数据,model-output文件夹是空的,需要用来存储数据集训练成功后的模型。(这一步没有使用已有的数据集来进行训练,而是新建了数据集来进行训练)
2.等待数据同步并且完成数据标注
3.进行模型训练,首先进行训练设置
4.部署上线,提交部署任务
注:此处出现异常,但是刷新重新启动服务时便恢复正常,服务状态处于“运行中“
5.上传需要进行预测的样例照片,这里我采用yeah手势进行预测识别,预测匹配度结果是0.924,证明模型识别效果好,实验较为成功
添加自定义手势:
1.采集样本,将微信上传的图片下载添加至本地的gesture-data文件夹内
2.再次创建一个桶,命名为wx-gesture-plus
3,同上,上传gesture-data文件夹并新建其他文件夹用于放置数据集的输出
4.开始自主学习(这里同样采用的是新建数据集方法)
(a)首先创建图像分类项目,填写好相应的参数,数据集输入输出的OBS路径
(b)进行数据标记(此处出现问题):由于原先的图片数据都有对应的数据标签,依次为background,great,ok,rock,other,yeah,自己在一开始做实验的使用仅仅是将需要用来训练的图片全部上传,并不知道添加训练模型的时候需要在“未标注”一栏上传需要贴上自定义的手势“one“标签,所以在没有添加标签之前,自己拍的照片全部被分为“other”标签一栏下面了,所以像下图所示,标签依然只有原来六个:background,great,ok,rock,other,yeah,显然训练失败,在后面仔细研究的时候才发现需要在创建训练作业的时候就需要设置好原来6个标签加上自定义的“one”标签,并且在原来gesture-data文件夹内所有的图片都被标注完之后,再在未标注的一栏下上传需要贴上自定义标签的图片,在这里由于只能一张一张上传,我只上传了22张图片,并且把这些新上传的照片添加“one”标签
5.吸取了前面一次失败的经验,再次创建图像分类项目
(a)填写参数和数据集输入输出的OBS路径
注意此处添加标签one,并将原来的标签也填上
(b)在数据标注环节中,将新添加的图片上传至“未标注”栏内,并且将这些照片贴上自定义的“one”标签,这样就可以开始训练了
(c)等待模型训练
自定义手势“one”精确值和召回值偏高,可能与实验样本数据少有关
(d)进行部署上线,上传图片进行预测,验证模型识别能力
多次拍照上传进行预测(这里照片是重新拍的,并非用来训练地图片数据),多次进行预测,预测结果地匹配值竟然达到了1.000,这一处值得反思和注意,真正实践得时候一定要多多采集数据样本,不能使样本过于单一,要随机采样,这样训练出来的模型在生活中手势识别过程中才能具有普适性和真正地准确性
- 点赞
- 收藏
- 关注作者
评论(0)