我有几个专家多次执行相同的特定动作(例如,蹲下或向前跳跃)。假设 5 个人每人做 100 次深蹲。他们有一个加速度计连接到相同的身体部位。我记录加速度计读数并获得 100*5 = 500 个数据样本。他们为多种不同的动作(下蹲、俯卧撑、向前跳跃等)做这件事。他们记录动作的方式如下:
- 开始录制(按钮)
- 做动作
- 停止录制(按钮)
现在我需要看到另一个人正在以正确的顺序执行操作。例如下蹲、向前跳跃、站起来、下蹲、上推。我获取他的加速度计数据并不断将其提供给分类器,该分类器需要告诉我他现在是否做了一个深蹲动作,而不是一个跳跃或俯卧撑。因此,当确定第一个动作,即深蹲时,我会检查跳跃等。
这有几个问题:
- 这些数据样本具有不同数量的值,因为有人蹲得慢一点,而其他人蹲得快一点。因此,一些数据样本有 250 个 XYZ 值,其他有 220 或 270 等(在 +-50 范围内)。我现在要做的是制定更严格的规则。我丢弃了所有超过 250 个读数的数据样本,对于那些值少于 250 的数据样本,我将值从头到尾附加,这样它总共给出了 250 个。工作正常,因为在执行动作之前,人在短时间内静止不动的每个动作都有一个结束。这不是最优的,因为如果专家太慢(结束时间太长),他们需要重做操作+我附加了假数据。有什么更好的解决方案来处理这个问题?
- 现在我正在使用随机森林、AdaBoost 分类器和低/高通滤波加速度计数据,我映射到 750 列(250 X、250 Y、250 Z)和 1 个类列。所以预测告诉我70%的跳跃,25%的深蹲,5%的俯卧撑。分类有时是错误的或不够精确。因此,我正在考虑从我的信号系列中提取一些特征并将它们提供给算法。我的问题是我不知道要提取什么特征。
我发现的大多数论文都集中在人类活动识别上,以区分步行、跑步、上楼梯和下楼梯。在他们有一个人步行/跑步数小时的连续数据流并且他们使用更多的样本数据方面,它们并不是很有帮助。相比之下,在我的任务中,我有彼此分开的数据集实例。
我不是要求为我解决所有这些任务,只是引导我进入某个方向,并很好地解释为什么它可能有用。