【发布时间】:2014-05-08 15:58:51
【问题描述】:
我正在尝试使用 WEKA 来进行手势识别。我是这个程序的新手,所以任何帮助都将不胜感激。
更具体地说,我在步骤中做了什么:
- 安装 WEKA
- 安装 HMMWeka 库
- 我的数据包含旋转形式的传感器,我尝试以“简单”格式和“多实例”格式创建 .arff
我已经记录了 4 个手势,每个手势重复了 3 次。因此,我使用“简单”格式的初始想法是使用第一次重复中的手势 1 训练模型,并使用其余两次重复中的手势 1 对其进行测试(识别它)。 使用“多实例”格式,在每个 .arff 文件中,我都有来自每次重复的所有四个手势。
所以我的问题是:
- 我不确定我的“多实例”格式的文件是否正确。这是它的结构示例
:
@relation rotation
@attribute bag_ID {1, 2, 3, 4, 5, 6, 7, 8, 9}
@attribute bag relational
@attribute rotation { rot1 , rot2 , rot3 }
@attribute x_left_hand numeric
@attribute y_left_hand numeric
@attribute z_left_hand numeric
@attribute x_right_hand numeric
@attribute y_right_hand numeric
@attribute z_right_hand numeric
@end bag
@attribute gesture { g1, g2, g3, g4}
@data
1,"rot1, 1.394962, 19.704826, 0.536432, 1.594745, 7.511097, 0.269678", g1
2,"rot1, 1.337786, 19.681709, 0.468583, 1.63736, 7.536188, 0.35687", g1
3,"rot1, 1.280635, 19.658672, 0.400756, 1.679905, 7.561322, 0.443999", g1
4,"rot1, 2.217022, 15.327432, -1.997938, 0.256819, 10.011353, 2.300805", g2
5,"rot1, 2.304201, 15.276058, -2.076832, 0.161013, 9.993914, 2.351273", g2
6,"rot1, 2.271477, 22.43351, 3.477951, 1.245202, 5.531068, -1.06918", g3
7,"rot1, 2.218041, 22.370411, 3.506101, 1.299245, 5.590856, -1.078336", g3
8,"rot1, 1.557125, 16.531981, 4.000765, 3.098644, 5.841918, -3.751997", g4
9,"rot1, 1.557125, 16.531981, 4.000765, 3.116652, 5.932492, -3.760822", g4
虽然 WEKA 读取这两种格式,但当我选择 HMM 进行训练时,它会选择(这也是默认的)名义类手势,而我想使用关系属性或所有其他属性作为一群。 trainig中正确分类的结果也很低..22%
根据我作为输入提供给 WEKA 的所有属性,测试结果将是哪个手势。
你知道这是否可能吗?我可以使用所有数字属性进行训练吗?我的格式有问题吗?
我在谷歌搜索了很多,找到了http://weka.8497.n7.nabble.com/Relational-attributes-vs-regular-attributes-td29946.html 之类的东西并尝试了很多组合..但我仍然有问题! 我也尝试使用两个分类器,高斯过程和 HMM,但它弹出一个错误(weka.classifiers.meta.Stacking: cannot handle binary class)。
任何帮助将不胜感激!
提前谢谢你!! 最好的问候,
【问题讨论】:
标签: weka gesture-recognition hidden-markov-models