【发布时间】:2019-06-11 19:31:54
【问题描述】:
我构建了一个基于带有一些传感器的微控制器的设备,其中一个是方向传感器,它目前提供有关 x、y、z 的俯仰、偏航、滚动和加速度的信息。我希望能够在设备运行良好时检测到移动“事件”......移动。
例如,我想检测一个“重新定位”事件,该事件基本上由一系列其他事件组成 - “向上”(捡起)、“移动”(在空中移动到其他点)、“向下”(设备放回)。
由于我刚刚开始弄清楚如何使它成为可能,所以我想问一下我是否得到了正确的想法或浪费了我的时间。
我目前的想法是,我使用我探测到的数据来创建一个数据集,并尝试使用机器学习来检测每个元素是否属于我要检测的事件之一。所以基本上我拿了这个设备,先在桌子上转了几圈,然后拿起了几圈,然后在空中移动了几下,最后放下了几圈。这生成了一组具有如下结构的数据:
yaw,pitch,roll,accelx,accely,accelz,state
-140,178,178,17,-163,-495,stand
110,-176,-166,-212,-97,-389,down
118,-177,178,123,16,-146,up
166,-174,-171,-375,-145,-929,up
157,-178,178,4,-61,-259,down
108,177,-177,-55,76,-516,move
152,178,-179,35,98,-479,stand
175,177,-178,-30,-168,-668,move
100,177,178,-42,26,-447,stand
-14,177,179,42,-57,-491,stand
-155,177,179,28,-57,-469,stand
92,-173,-169,347,-373,-305,down
[...]
最后一个“状态”列是我添加的 - 我在每个测试运动类型之后添加了这个,然后重新排列了行。
我通过这种方式获得了大约 450 条记录,我的想法是使用机器学习来预测来自正在运行的设备的每条记录的“状态”列,然后我可以将结果排队,如果在短时间内“ up" 事件占多数,我可以认为设备正在被拾取。
也许不是将每个读数用作数据行,我宁愿取最后 10 个读数(假设)并尝试预测每列会发生什么 - 即,如果我知道最后 10 个偏航读数是我移动期间的变化device up 我宁愿使用这些数据 - 因此 6 列中每一列的 10 个读数作为行处理,然后我有 6 个结果 - 结果类型的比率再次可以检测在这些过程中发生的“运动”事件10 个读数。
我目前大约 30% 参加了在线 ML 课程并且很享受它,但我真的很想听听更有经验的人的一些 cmets。
我的想法是一个合理的解决方案,还是我完全不了解如何使用 ML?如果是这样,我应该使用哪些资源来开始自己的工作?
【问题讨论】:
标签: python machine-learning sensors