hand_dataset开源数据集的处理及标注
步骤1:点击链接,下载hand_dataset开源数据集,如下图所示:下载成功后,得hand_date.rar压缩包,解压此压缩包,其数据内容如下图所示:由于开源数据集数据标注部分采用的M语言开发,这里开发者需下载Matlab,本文使用的Matlab 2019b版本,关于Matlab的下载和安装这里自行下载安装即可。步骤2:下载成功后,打开Matlab,如下图所示:步骤3:接下来进行训练数据的制作
·
- 步骤1:点击链接,下载hand_dataset开源数据集,如下图所示:
- 下载成功后,得hand_date.rar压缩包,解压此压缩包,其数据内容如下图所示:
由于开源数据集数据标注部分采用的M语言开发,这里开发者需下载Matlab,本文使用的Matlab 2019b版本,关于Matlab的下载和安装这里自行下载安装即可。 - 步骤2:下载成功后,打开Matlab,如下图所示:
- 步骤3:接下来进行训练数据的制作,进入Matlab点击打开按钮,进入hand_dataset数据集,选择相应training_dateset/displaydata.m文件,如下图所示:
- 步骤4:利用已经标注好的数据集,点击运行按钮,即可显示原始手势框,imshow结果如下图所示:
由于darknet只支持矩形框,不能存在旋转的情况,当存在不是矩形的情况时,需进行转换,通常用外接矩形来作为手部框,如下图所示:
- 步骤5:下载下面的代码,并对里面的hand_dataset_mcoding.rar进行解压缩,进入hand_dataset_mcoding目录下,将下载的/traing_dataset/displaydata.m代码替换原始开源代码,该代码设计的思想通过外接矩形的思想,从向量的角度,重新拟合手部框,并按照darknet接受的数据格式进行制作。
链接:https://pan.baidu.com/s/1qJfgRDNgeSDTVtrhEcHIYg 提取码:d7t9
darknet标注信息的数据格式如下:
Class id center_x center_y w h
对数据格式解释如下:
Class id:表示标注框的类别,从0开始计算,当前只要手部1类检测物体,故Class id全为0;
center_x:表示归一化后的手部框中心点坐标的X值。归一化坐标 = 实际坐标 / 整个图片宽
center_y:表示归一化后的手部框中心点坐标的Y值。归一化坐标 = 实际坐标 / 整个图片高
w:表示归一化后的手部框的宽。归一化长度 = 实际长度 / 整个图片宽
h:表示归一化后的手部框的高。归一化长度 = 实际长度 /整个图片高
- 步骤6:运行displaydata.m之前需要仔细检查代码路径是否跟实际路径相匹配,更改成功后,在运行此代码,命令行窗口会出现日志信息,如下图所示:
- 由于数据量较大,需稍等几分钟,等待转换完成。
- 转换完成后,即可在创建的目录下生成标注的txt格式文件,如下图所示:
- 步骤7:在跟labels的平齐文件夹下新建一个JPEGImages文件夹,将原始.jpg复制到该文件下,如下图所示:
其中要保证标注文件的文件名与JPEGImages中的图片名一一对应,且标注的数据量与原始图片需保持一致,这里需要仔细检查。
- 生成成功后,点开任意的标注文件,如Poselet_159.txt,如下图所示:
- 步骤8:在training_dataset目录下,新建一个list文件夹,并在里面创建一个hand_train.txt文件,该文件存放训练JPEGImages中的所有图片的全局路径,如下图所示:
- 步骤9:进入hand_dataset_mcoding目录下,/traing_dataset/listcode.m代码放到跟displaydata.m平级目录下,如下图所示:
- 步骤10:分析listcode.m代码,其中相对路径需根据实际路径进行修改,可参考下图进行修改:
- 步骤11:点击运行按钮,稍等片刻,即可完成自动转换,如下图所示:
至此,训练集制作完毕,同理test_dataset以及validation_dataset转换方式跟训练集一样,这里不再详细,转换代码可参考test_dataset文件夹下的.m文件及validation_dataset文件夹下的.m文件,如下图所示:
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献1条内容
所有评论(0)