ocr 識別 github 源碼


參考

[1] https://github.com/eragonruan/text-detection-ctpn

[2] https://github.com/senlinuc/caffe_ocr

[3] https://github.com/YCG09/chinese_ocr  感謝作者!

[4] https://github.com/xiaomaxiao/keras_ocr

 

認真看源碼!

基於Tensorflow和Keras實現端到端的不定長中文字符檢測和識別

  • 文本檢測:CTPN
  • 文本識別:DenseNet + CTC

環境部署

  • Bash
    sh setup.sh
    ```
    * 注:CPU環境執行前需注釋掉for gpu部分,並解開for cpu部分的注釋

  • Demo

    將測試圖片放入test_images目錄,檢測結果會保存到test_result中

    ``` Bash
    python demo.py
    ```

  • 一定在終端運行demo.py 代碼,另外,因不能連接外網,所以在進行依賴時,需要用公司鏡像完成安裝。
  • 釋放占用的顯存時,只需要kernel,restart重啟即可。在jupyter notebook中加!命令,相當於終端執行的命令。
  • 切換python環境 source activate base 即可切換到常用的,安裝有許多依賴庫的 anaconda2 python2環境。這樣才能運行demo.py.

Demo

將測試圖片放入test_images目錄,檢測結果會保存到test_result中

python demo.py

模型訓練

CTPN訓練

詳見ctpn/README.md

DenseNet + CTC訓練

1. 數據准備

數據集:https://pan.baidu.com/s/1QkI7kjah8SPHwOQ40rS1Pw (密碼:lu7m)

  • 共約364萬張圖片,按照99:1划分成訓練集和驗證集
  • 數據利用中文語料庫(新聞 + 文言文),通過字體、大小、灰度、模糊、透視、拉伸等變化隨機生成
  • 包含漢字、英文字母、數字和標點共5990個字符
  • 每個樣本固定10個字符,字符隨機截取自語料庫中的句子
  • 圖片分辨率統一為280x32

圖片解壓后放置到train/images目錄下,描述文件放到train目錄下

2. 訓練

cd train
python train.py

3. 結果

val acc predict model
0.983 8ms 18.9MB
  • GPU: GTX TITAN X
  • Keras Backend: Tensorflow

4. 生成自己的樣本

可參考SynthText_Chinese_versionTextRecognitionDataGeneratortext_renderer

效果展示

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM