2016-11-13 73 views
-2

我正在通過使用tensorflow爲打印文檔構建OCR來學習神經網絡。針對印刷文檔的體系結構神經網絡OCR

你介意給我一些建議,哪些架構神經網絡可以識別字符。 我很混亂,因爲我是一個新手,並且有很多神經網絡設計

我發現MNIST CLASSIFIER,但他們的體系結構只是大約數字。 我不知道他們的架構可以與人物一起工作嗎?

謝謝

回答

1

正如你正確指出的,認識的文件是從識別單個字符不同的事情。這是一個複雜的系統,需要時間從頭開始實施。首先,存在預處理的問題。你需要找到文本的位置,或許稍微旋轉一下,等等。這可以用啓發式技術和類似OpenCV這樣的庫來完成。您還必須檢測頁碼,頁眉/頁腳,表格/數字等內容。

然後,在某些情況下,您可以採用「簡單」路線並使用啓發式將文本分割爲字符。這適用於塊字符,但不適用於草書腳本。

如果分割,並給出你不必去猜測它,你必須解決多個相關問題,每一個都像MNIST但該決定是不是獨立的,他們是相關英寸你可以看一下MEMM(最大熵馬爾可夫模型)對HMM(Hidden Markov ModelsHidden Conditional Random FieldsSegmental Conditional Random Fields,並研究它們之間的區別。你也可以閱讀有關seq2seq

所以,如果你正在做簡單的自己,你可以基本上運行MNIST分類器多次,一旦分割被揭示(通過opencv中的一些啓發式)。最重要的是,你必須運行一個dynamic program,它根據每個決定的分數找到最佳的最終序列, 「語言模型」,其指定的字母出現的可能性接近對方。

如果你是從頭開始,這不是一件容易的事情,這可能需要幾個月˚F或者你有一個基本的瞭解。快樂黑客!

+0

謝謝您的建議。 我的目標是使用神經網絡並識別每個字母(例如:a,b ... x,y,z,A,B ..)。 現在,我可以從細分圖片每一封信,我從這個教程https://github.com/nlintz/TensorFlow-Tutorials運行例子,那麼閱讀這本書http://www.deeplearningbook.org/學習tensorflow我現在困惑的是如何找到一個好的模型或架構來讓tensorflow識別。謝謝 –

+0

您可以使用相同的MNIST分類器來處理字母。該架構沒有任何固有的內容,只有數字。 – drpng

+0

謝謝,那我會選擇錯誤率最低的分類器。 關於訓練數據集的字母。然後我打印然後掃描這個文件https://github.com/shaolinkhoa/tensorflow/blob/master/print.pdf 然後我將這些掃描圖片中的每個字母分割,這樣我就會爲每個字母有很多訓練數據圖片。我的解決方案正確嗎? –