我是机器学习和openCV的新手。我从Cohn-Kanade人脸数据库中为每种情绪拍摄了10张图像(中性和快乐)。然后,我从每幅图像中提取面部特征,并将它们放入我的训练数据矩阵中,并为相应的情感分配标签(例如:0表示中性,1表示高兴)。OpenCV4Android SVM没有给出正确的预测
我已经使用了gamma = 0.1和C = 1的RBF内核。一旦训练完毕,我将通过智能手机相机中的实时相机帧提取的面部特征进行预测。预测总是返回1.
如果我增加中性表达式的训练样本的数量(例如:15个中性表达图像和10个快乐表情图像),则预测总是返回0,并且如果有相同数量的图像训练样本中的每个表达式,则SVM预测总是返回1.
为什么SVM的行为如此?如何检查我是否使用正确的gamma和C值?另外,SVM是否依赖于训练图像和测试图像的分辨率?