【发布时间】:2016-11-28 18:28:45
【问题描述】:
我正在使用 svm 进行人类动作识别。我使用“kth”数据库,它有 25 个人在 4 个不同的场景中做 6 种不同的动作(走路、慢跑、跑步、拳击、拍手和挥手)。所以我有 600 个数据样本(运动历史图像)(每个动作 100 个样本)。
我为 6 个动作训练了 6 个不同的 one-vs-all svm,例如:
--用于训练我使用的跑步类:
--80 个来自运行样本的样本;
--500 个其他类的样本;
所以我从运行中保存了 20 个样本来测试分类。 但是我的结果是如此之好,以至于我确信我在测试中犯了一个错误(90% 的成功,而其他论文的最佳镜头为 63.5%)。
我应该如何测试 svm 分类器?
附加信息:
每个视频: 30秒,20帧,每帧大小160*120
算法:
1) 从所有视频(25 个人,4 个场景,6 个动作,每个视频 30 秒)中提取 MHI 特征,因此收集了 360000 个样本。
2) 选择 600 个样本(每个视频 1 个)
3) 重塑所有样本(1*19200)
培训: 每堂课做 4 到 6 次
4) 80 个样本作为 +1 类
5) 500 个样本作为 -1 类
6) 使用 libsvm 计算每个类的“w”和“bias”
测试: 现在我们每 6 个类有 1 个“w”和“bias”。
7) 使用未经训练的 MHI 特征作为输入
8) 计算每个类的“W * input + bias”
9) 获胜者类是符号(W * input + bias) >0
的类【问题讨论】:
-
也许,与其训练多个一对多分类器,不如尝试使用单个多类 SVM 模型同时对所有六个动作进行训练和测试。
-
谢谢。多类支持向量机?我认为 svm 是一个二元分类器,我应该使用一对一或一对一的 svm 使其成为一个多类分类器。你能给我更多的线索吗?
-
libsvm (csie.ntu.edu.tw/~cjlin/libsvm) 能够为您处理多类 SVM 训练和分类。另外,我认为您仍然对术语特征和数据样本感到困惑。正如 Parag 所指出的,阅读一本书或参加机器学习课程以更好地理解这些概念。
-
非常感谢。这个问题来自我的英语而不是我的知识:我会纠正那个
-
我想我的问题已经解决了。我会收集更多样本然后重新运行我的程序。20 个样本不足以进行测试,特别是当我手动选择最佳特征时。
标签: matlab classification libsvm