我會與我的使用MS Visual Studio 2008中,OpenCV的,C++和SVM OCR的項目。我已經生成了> 2000個機器打印字符樣本的數據集。當我用線性內核測試時,我總是得到96.36%的準確率。SVM在OpenCV中:低精度的OCR與RBF內核
如何在OpenCV中使用SVM可以this thread被稱爲。
現在我嘗試使用RBF內核和遇到這2個問題:
(1)無論我用什麼參數(C和γ),所有的角色都總是被歸類爲0(零)。如果我用MNIST測試所有的數字是9.
我希望有經驗的人在OpenCV & SVM可以向我解釋。我知道有一些是其他好的框架,機器學習像ACCORD.NET &圖像處理,但我已經使用C++,這將是麻煩的把整個程序到C#(OCR只是它的一部分)。
的OpenCV的版本是2.3.1。
(2)我將此問題作爲etarion的建議提出了另一個問題。如果您有時間,請查看:Visual Studio reports error C2664 with train method of SVM in openCV。
多部分類似這樣的問題不適合的計算器格式 - 這是更好,如果你......嗯,張貼每個問題一個問題。 – etarion 2012-03-21 12:52:30
有些東西肯定是錯誤的,如果線性內核執行得很好,RBF內核應該執行得相當好。當你說'不管C&gamma的什麼值'時,你能說出你使用的是哪個值?您通常會將這些數值按數量級進行變化,因此C = 0.0001 0.001 0.01 0.1 1 5 10與伽瑪類似。我見過人們認爲他們在改變它,因爲他們嘗試了5,10,15,20當他們需要嘗試0.0001等等。線性內核的C值不一定適用於rbf內核。 – karenu 2012-03-21 13:30:58
@etarion:呃,他們都是關於openCV和SVM的,甚至認爲問題的根源是不同的,但是如果我發佈了2個連續的分離問題,我覺得我是垃圾郵件:P – Risa 2012-03-21 14:21:17