【发布时间】:2014-10-07 01:23:28
【问题描述】:
我正在实现面部表情识别并使用 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 是不可能的。在线 SVM 有不同的库可用,但 OpenCV 不是其中之一。
-
你确定吗?所以没有任何解决方案吗? :(
-
就像我提到的,一些在线学习库是可用的。 OpenCV 的 SVM 不支持这一点,它所基于的 LibSVM 也不支持。