【发布时间】:2016-11-18 05:27:55
【问题描述】:
我是机器学习和 openCV 的新手。我从 Cohn-Kanade 面部数据库中为每种情绪(中性和快乐)拍摄了一组 10 张图像。然后我从每张图像中提取面部特征并将它们放入我的训练数据矩阵中,并为各自的情绪分配标签(例如:0 表示中性,1 表示快乐)。
我使用了 gamma = 0.1 和 C = 1 的 RBF 内核。训练后,我将从智能手机摄像头的实时摄像头帧中提取的面部特征传递给预测。预测总是返回 1。
如果我增加中性表情的训练样本数量(例如:15 张中性表情图像和 10 张快乐表情图像),那么预测总是返回 0,并且如果训练样本中每个表情的图像数量相等,那么 SVM 预测总是返回 1。
为什么 SVM 会这样?如何检查我是否使用了正确的 gamma 和 C 值?另外,SVM 是否依赖于训练图像和测试图像的分辨率?
【问题讨论】:
标签: opencv machine-learning computer-vision svm