【代码实现和训练】OCR技术——引入了Attention机制的crnn的印刷体汉字识别
前言
這里先是參考了這個代碼:加入attention的crnn印刷體識別,on pytorch
然后我訓練了大概3個小時,loss從72出發稍微下降后維持在62.xxx 左右,就很迷。
測試效果全部識別為“的的的的的的”,
不過看到他的訓練結果,感覺也并不是很感人,他的訓練大概得到88%左右的正確率,loss 大約2.xx
可能加入數據集去訓練或者是增加迭代次數和修改學習率以及網絡的optimizer可以達到想要的95%以上效果。
這里有個解釋和分析了上述代碼的博客,但是也沒放出訓練效果,
估計這個代碼還是有點問題,需要魔改(寫代碼是一天的事,改代碼才是真愛!!!)另外他提供的數據集,給的對應char字符上,有6個是重復且多余的。
我看了下網絡,沒啥問題,但是針對其評論區的評論的沒有回復和一些魔性訓練效果,我退縮了*0*,沒有 任何信息就比較難改了!
于是我開始改其他的代碼,例如一些seq2seq和英文的seq2seq加上attention機制的代碼,而且還有圖形化,例如這個attention代碼,按照作者提供的sample稍微跑了下:
可以看到對齊做的還是可以的,
但是遇到L這種比較細長的字符,還是有點問題,多識別出一個L,另外注意力位置也有點飄,這也是注意力硬編碼存在的一個問題*0*。
模型和訓練
自己改了些參數和結構
訓練了半個epoch(469312個文本行,大約4,700,000個字形),訓練了8小時+,電腦算力:電腦全套硬件在此,準確率穩定在97.5左右
測試看看效果(為啥您注意力都漂移了,您還是這么能認??):
原圖:
識別結果:
測試了下,正確率大概在這個數:
一些訓練相關的注意事項:
cnn+bilstm+lstm 訓練的一些技巧
測試模型下載地址:
雖然傳的這個不是最好的,但也不差,可以達到上面描述的精度,94%以上。
pan鏈接: https://pan.baidu.com/s/1BK5XQsyImAjU6xF3EEzPhg
密碼: rftq。
總結
以上是生活随笔為你收集整理的【代码实现和训练】OCR技术——引入了Attention机制的crnn的印刷体汉字识别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 交易记录表设计注意点
- 下一篇: plsql32位链接64位oracle,