【发布时间】:2011-01-04 02:41:57
【问题描述】:
我有一个应用程序可以决定一个人是在挥手、跑步还是走路。 这个想法是我已经分割了一个动作,比如手波,到它的姿势。比方说
示例;
for human1:pose7-pose3-pose7-..... represents handwave
for human3:pose1-pose7-pose1-..... represents handwave
for human7:pose1-pose1-pose7-..... represents handwave
for human20:pose3-pose7-pose7-..... represents handwave
for human1 pose11-pose33-pose77-..... represents walking
for human2 pose31-pose33-pose77-..... represents walking
for human3 pose11-pose77-pose77-..... represents walking
for human20 pose11-pose33-pose11-..... represents walking
我使用上述向量在 Matlab 中训练 SVM 和神经网络。
现在我用它测试图像。我再次为测试图像分割了姿势。
对于 MATLAB 中测试集和训练集的向量大小; SVM 和神经网络需要相同的向量大小。
让它发挥作用;
如果我附加 0(假设它像 pose0-这是一个无效的姿势),为了使尺寸相等,我的性能非常好。
如果我在开头复制初始姿势并将它们附加到末尾,直到大小相等,性能就会下降。
例如;
train set: pose1-pose2-pose4-pose7-pose2-pose4-pose7
(1st method)test set: pose3-pose1-pose4-0-0-0-0 or
(2nd method)test set: pose3-pose1-pose4-pose3-pose1-pose4-pose3
我希望使用第二种方法有更好的分类,因为附加值是姿势的实际值。但pose0 不是真正的姿势。
你有什么想法吗? 问候
【问题讨论】:
-
无论如何,当涉及到这类东西时,我只是一个业余爱好者,但这样填充你的数据向量似乎有点奇怪。我会确保填充在理论上是合理的或改变方法。对于这种时间分类,我首先想到的是使用马尔可夫模型。
标签: matlab machine-learning neural-network svm