1

我已经建立了一个由 8 个加速度计组成的身体传感器网络。在每个样本(大约 30 Hz)处,每个加速度计都会给我一个 XY 和 Z 值。

我使用了 jahmm java 库对由一个加速度计组成的数据流进行分类。这工作正常。但现在我很困惑如何扩展我的代码,以便可以使用多个加速度计。

单个数据流如下所示:

 [-4.976763 7.096352 1.3488603]; [-4.8699903 7.417777 1.3515397];...

该库允许定义特征向量的维度。在上面的流中,维度是 3。我想将维度提高到 3 x 8 = 24,然后简单地将所有加速度计连接成一个 24D 特征向量。

这是要走的路还是会恶化我的结果?

编辑:

我现在已经收集了我的数据,它看起来像这样(对于一位参与者):

"GESTURE A",[{407 318 425};...{451 467 358};{427 525 445};][{440 342 456}...;{432 530 449};]
"GESTURE A",[{406 318 424};...{450 467 357};{422 525 445};][{440 342 456}...;{428 531 449};]
"GESTURE B",[{407 318 424};...{449 466 357};{423 524 445};][{440 342 456}...;{429 530 449};]
"GESTURE B",[{380 299 399};...{424 438 338};{404 500 426};][{433 337 449}...;{429 529 449};]

{... ... ...} 之间的值代表一个加速度计。每个样本(在 30hz 左右)我有 8 个加速度计。一个样本在 [...] 内。每个手势示例我有大约 40 个 [...]

您是否建议我采用第一个传感器([] 的每个块的第一个 {})并使用结果序列创建一个模型,并且第二个直到第八个都相同?

这将为每个手势提供 8 个模型。比一个测试序列产生 8 个概率。所以我需要某种复数投票来获得覆盖类。这是你的意思吗?

谢谢

4

1 回答 1

1

我建议每个加速度计使用一个 HMM,因此在您的情况下使用 8 个并行模型。然后,您可以单独评估每个通道并将所有内容放在一起以获得您的结果。所以你必须围绕库编写一些代码。

如果您想在一个 HMM 中处理所有内容,则必须编写自己的观察类型,它可以处理所有 8 个输入流,例如MyObservation extends Observation.

于 2012-07-17T21:08:03.687 回答