[经验分享] 【LSM6DSOX的MLC机器学习理解】--训练数据集修正小工具

justd0   2020-5-2 11:26 楼主

【LSM6DSOX的MLC机器学习理解】--机器学习使用教程分享中,我详细介绍了LSM6DSOX机器学习模块的详细使用配置流程。

 

机器学习模块训练学习的第一步就是使用Unico进行动作数据集收集。

 

首先根据自己的需求配置好传感器的输出量程和采样频率,点击start开始监测传感器数据(在Bars或Plot或Data界面可以看到输出)。

 

然后我们切换到Load/Save界面,按照下图配置设置好

1.png

在官方UnicoMLC的使用.pdf文档中10页底部写着这么一个注意事项:

“注意:正确地启动和停止数据日志记录是很重要的,这样才能在日志文件中获得所需的类(例如,当要记录某个移动时,必须在单击【Start】之前启动该移动,在移动停止之前必须按下【Stop】)”

 

当我们按照这个要求收集数据时,会发现存在以下问题:

  • 如果运动周期短暂,那么单击【Start】按下【Stop】的难度将不亚于淘宝抢购…(反正我挥羽毛球拍子,做不到…)
  • 那么就会出现个问题,我们或多或少会提前或滞后点击StartStop,也就会在数据集中保留了一部分空白无用数据,需要我们删减掉这些数据。
  • 当我们点击了一次StartStop后,数据会保存在所设置的路径文件中,但是再次采集时,Unico写入文件的方式是追加式,也就是在上一个数据文件末尾直接增加本次数据。但问题是,MLC学习时的数据集每个动作数据集 独立的,这就需要我们依次分离数据集

 

Emmmmm…..问题就是,Unico没有给我们提供修正数据的方法….

 

于是乎,我便自己写了个工具…专门解决这个问题~~~

 

简单粗暴地命名它“MLC数据修正工具

2.png

使用方法也很简单,下面我将仔细讲解下如何使用本工具。

 

会到上文中提到的数据保存的地方,有了这个工具呢,大家就可以很方便的采集自己的数据了。具体怎么操作呢?

 

依旧按照上述设置,仅选择AccelerationAngularRate这两个选项(如果你多选了其他的,在导入工具时,会提示数据错误哦),然后设置好数据保存的地址和文件名,建议以动作名称的英文命名,如下图:

3.png

 

然后我们每执行动作前点击Start,执行完之后点击stop,一组数据便保存好了。

 

每一次动作重复上述操作,直到采集够足够多的数据样本,该动作的数据集便收集好啦~

 

收集第二类动作时,请新建个新的数据集txt文件,再重复上述操作~

 

以我上一贴中静坐和起身两个动作为例,我每个收集了10个左右的数据样本,得到的数据集文件如下图所示:

4.png

 

得到这个样本之后呢,就可以应用“MLC数据修正工具”来对数据集进一步处理啦。

首先请下载好MLC数据修正工具.exe,下载链接在帖子尾部的链接中(由于打包了库文件,34mb有点大)

 

MLC数据修正工具.exe和数据集文件放到一个空文件夹下,像下图这样:

5.png

 

然后打开MLC数据修正工具.exe,由于需要解包,打开速度会有点慢,耐心等待20秒左右,然后你将会看到下面这个提示框:

6.png

 

点击确定后,再看软件所在目录下会生成一个空的FeatureConfig.txt文件,这个文件是用来设置保存特征类型的,在对不同动作类型进行处理之前都要设置好这个文件,设置的方法也很简单。

 

比如我要修正静坐(standup)的数据时,在FeatureConfig.txt文件中写入standup,如下图所示:

7.png

 

保存后关闭即可,再次打开MLC数据修正工具.exe,将会看到如下提示框:

8.png

 

此时,点击确定后,会出现预览文件的窗口,选择我们要处理的standup_data.txt,确认打开

9.png

 

如果数据文件没问题,则会出现如下提示框:

10.png

点击确定,即可进入MLC数据修正工具全屏数据修正页面

11.png

 

界面很简洁,上半部分为加速度数据区域,横坐标为采样次数,纵坐标为加速度值,单位为g(图中标注错误,程序中已修改)

下半部分为角速度数据区域,横坐标为采样次数,纵坐标为角速度值,单位为dps

 

有一根红色竖线会跟随鼠标移动而移动,这跟竖直的选择线便可以根据我们的需求,选择数据图形中 动作的起始点终止点信息。

 

点击第一下的时候会选择波形的起始点,点击第二下的时候会选择波形的终止点,如果终止点超前于起始点,则会弹出如下错误提示:

12.png

 

如果正确选择了波形的起始点和终止点后,程序会自动保存该数据,并提示:

13.png

点击确定,即可进入下一个动作数据集的标注修正,如此操作直到所有数据都修正完成,会提示如下信息:

14.png

 

我们的数据便都修正完成,并且保存在程序目录下的对应动作名目录内,如下图:

15.png

 

将所有动作都按照上述操作,修正后,便可得到所有动作数据集~~是不是很方便呢?

 

当然,像我这里的静坐stationary数据本身就是一直动作中,我不想挨个标定起始点和终止点,只想把它们分开,该怎么操作呢?

 

很简单,按照上述方法,首先在FeatureConfig.txt文件中写入stationary,然后用MLC数据修正工具.exe打开,stationary_data.txt文件后,显示

16.png

 

点击确定后,会进入全屏的标注页面,只需要双击鼠标右键,便会显示退出确定的界面:

17.png

 

点击,退出小工具,即可看到根目录下已经产生了stationary目录,其中保存了所有静坐数据集。

18.png

 

小注:

任意图表界面任意位置双击鼠标右键都可以退出工具。

在图表界面中,如果遇到提示框不小心跑到背景了,无法点击的情况,可以在英文输入法情况下,点击"F"键退出全屏,或者点击"win"键,显示出状态栏,继续操作即可~

 

希望小工具可以帮助到大家~~~

 

祝各位5-1劳动节快乐

 

附件中是 MLC数据修正工具.exe~

 

游客,如果您要查看本帖隐藏内容请回复

 

本帖最后由 justd0 于 2020-5-2 12:46 编辑

回复评论 (15)

厉害了!

点赞  2020-5-4 08:50

我也遇到过这种问题,下载你的工具试一下

点赞  2020-5-4 15:18

这个工具不错,我下载再按照你介绍的方式使用了一下,还是很方便的,数据很快就出来了;开始使用有些蒙,运行软件没有细致的步骤提示,稀里糊涂就把数据整理好了!

点赞  2020-5-4 15:43
引用: wushuisheng 发表于 2020-5-4 15:43 这个工具不错,我下载再按照你介绍的方式使用了一下,还是很方便的,数据很快就出来了;开始使用有些蒙,运 ...

写界面太麻烦了,就用简单实现了功能~

我感觉应该用动图来写使用说明~抽空优化下

 

MLC机器学习本身就相对繁琐,还是希望Unico能够更加人性化些

点赞  2020-5-4 16:06

GOOD!!!

点赞  2020-5-8 16:05

太好了,非常感谢

点赞  2020-6-5 15:51

厉害

点赞  2020-10-4 10:54

不錯喲

点赞  2021-3-8 11:11

“借”软件工具一用

点赞  2021-3-25 15:31
感谢分享
点赞  2023-2-17 16:59

这么多东西,该怎么入手呢,真的是非常的感到困惑。

点赞  2023-3-14 17:58

厉害了,一天写出一个程序,学习学习

点赞  2023-4-17 16:17

谢谢分享

点赞  2023-4-24 16:52

大佬太强了,值得学习

点赞  2024-5-5 19:59

MLC修正工具链接在哪里呀 


点赞  2024-5-5 22:01
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复