簡體   English   中英

OpenCV中的SVM:具有RBF內核的低精度OCR

[英]SVM in OpenCV: low accuracy OCR with RBF kernel

我正在使用MS Visual Studio 2008,OpenCV,C ++和SVM繼續我的OCR項目。 我已經生成了一個> 2000個機器打印字符樣本的數據集。 當我使用線性內核進行測試時,我總是獲得96,36%的准確率。

我如何在OpenCV中使用SVM可以在這個線程中引用。

現在我嘗試使用RBF內核並遇到這兩個問題:

(1)無論我使用什么參數(C和gamma),所有字符總是被分類為0(零)。 如果我用MNIST測試,所有數字都是9。

我希望有OpenCV和SVM經驗的人可以向我解釋。 我知道還有一些其他好的框架用於機器學習和圖像處理,比如ACCORD.NET,但我已經使用過C ++,將整個程序變成C#會很麻煩(OCR只是其中的一部分)。

OpenCV的版本是2.3.1。

(2)我把這個問題轉移到另一個問題作為etarion的建議。 如果你有時間請檢查出來: Visual Studio在openCV中使用SVM的訓練方法報告錯誤C2664

該理論表明,在正確的參數下,RBF內核至少與線性內核一樣有效。 因此,我將列出常見的問題來源:

  • 您可能遇到數字困難。 你有規范化數據嗎? 每個功能是否介於0和1之間? 或-1和1? 實際決策值的數值范圍是多少? 功能值的范圍是多少?

  • 您是否有可能高估線性分類器的性能(即測試和訓練相同的數據?)

  • 可能是你的多類表示有點瑕疵。 對於兩類問題而不是十類問題,是否存在相同的性能差異?

至於第一部分,您的參數很可能已關閉。 有一個用於自動參數估計的train_auto方法 ,如果通過將自定義參數網格傳遞給方法(但首先嘗試默認參數)不會產生好的結果,可以擴展使用的參數范圍。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM