我建立了一个由8个加速度计组成的人体传感器网络。在每个样品(约30Hz)下,每个加速度计给出X Y和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 orso)我有8个加速度计。一个样本在[...]内。根据手势示例,我有大约40个[...]
块您的建议是我采用第一个传感器([]的每个块的第一个{}并创建一个带有结果序列的模型,并且相同的第二个传感器直到第八个?
这将为每个手势提供8个模型。比测试序列产生8个概率。所以我需要进行某种多元投票才能得到重叠的课程。这是你的意思吗?
谢谢
答案 0 :(得分:1)
我建议每个加速度计使用一个HMM,因此在您的情况下使用8个并行模型。然后,您可以单独评估每个频道,并将所有内容放在一起以获得结果。所以你必须在库周围编写一些代码。
如果你想处理一个HMM中的所有内容,你必须编写自己的观察类型,它可以处理所有8个输入流,例如: MyObservation extends Observation
。