【发布时间】:2013-09-08 12:06:03
【问题描述】:
我使用k-means对面部表情进行分类的方法是:
- 使用opencv检测图片中的人脸
- 使用ASM和stasm获取面部特征点
- 计算面部特征之间的距离(如图所示)。会有5个距离。
- 计算每个面部表情的每个距离的质心(exp:在距离 D1 中,每个表情“快乐、愤怒...”有 7 个质心)。
- 使用 5 个 k-means,每个 k-means 表示一个距离,每个 k-means 将具有由最接近第一步计算的质心的距离显示的表达式。
- 最终表达式将是出现在 k-means 结果中最多的表达式
但是,使用这种方法我的结果是错误的? 我的方法是正确的还是某处有问题?
【问题讨论】:
-
考虑使用分类而不是聚类。
-
我也会进行分类,但如果你想尝试一下,你可以看看 k-means 是如何使用这 5 个特征并在 5 维空间中找到质心的。
-
您是否曾经绘制过数据以查看它是否可分离?由于很难绘制 5 维数据,我建议运行 PCA 并绘制不同表达式的前三个主成分,以便查看它们是否实际上是可分离的。如果它们重叠,您必须考虑一种新的方式来表示您的数据。真的很难说表达面部表情的最佳方式是什么,那么为什么不使用深度信念算法来找到这个问题的答案呢?
标签: machine-learning data-mining face-detection feature-detection