我正在实现一个面部表情识别,并使用SVM对给定的表情进行分类。 当我训练,我用这个命令行阅读svm数据并重新训练更多数据?
svm.train(myFeatureVector,myLabels,Mat(),Mat(), myParameters);
svm.save("myClassifier.yml");
这将在稍后的时候我会预测使用
response = svm.predict(incomingFeatureVector);
但是当我要训练不止一次(退出程序,并重新开始) ,它似乎覆盖了我以前的svm文件。有没有什么办法可以读取以前的svm文件并向其中添加更多数据(然后重新保存它等)?我抬头一看on this openCV documentation,什么都没发现。但是,当我读on this page;有一种称为CvSVM :: read的方法。我不知道该做什么/如何实施它。
希望有人能帮助我:(
没有,再培训的SVM是不可能的。有提供在线支持向量机不同的库,但OpenCV中的不是其中之一 – 2014-10-06 16:56:53
Are you sure?所以这没有任何解决方案? ( – 2014-10-06 17:15:51
就像我提到的,一些在线学习库可用。 OpenCV的SVM不支持这一点,它所基于的LibSVM也不支持。 – 2014-10-06 20:24:01