chinese-ocr中文字行檢測+OCR識別訓練自己的數據以及pb文件轉換實戰

GitHub地址:https://github.com/YCG09/chinese_ocr

該項目檢測使用ctpn,識別使用cnn+lstm形式,通過GitHub給出的readme可以直接運行demo.py看到作者訓練好的檢測加識別的最終結果。

此處將該項目在自己的數據集上訓練過程加以記錄,並將最終識別結果轉爲pb文件。

檢測模型:進入ctpn/prepare_training_data目錄下,修改split_label_new.py文件。(先將自己的數據存放到一個目錄,每個圖像對應一個同名的.txt文件,txt文件中對應圖片中文字行座標信息,可以是四點座標,也可以是八點座標,圖片中有多少行文字信息,txt中就有多少行label,label按照【xmin ymin xmax ymax】的形式,或者【左上 右上 右下 左下】的八點座標存放,我有兩種數據格式,所以四點座標和八個點座標都有),註釋掉第一行gt_path,將path變量指向數據目錄,將原始的file變量更改爲數據目錄下所有的圖片,自己改就行,我的代碼爲files = [os.path.join(path,e) for e in os.listdir(path) if e.endswith('.jpg')],後面的for循環讀取圖片對應的label的時候,做一個判斷,因爲ctpn檢測網絡是自然場景下的文字行檢測,所以label都是八個點座標,這裏判斷如果label爲四個點座標,那就計算出八個點座標就行,很簡單的,然後執行split_label_new.py文件,在當前目錄就能產生兩個目錄label_tmp和re_image.

然後將數據轉出voc格式,修改ToVoc.py 文件,將_outdir修改爲chinese_ocr-master/ctpn/data/VOCdevkit2007/VOC2007,然後執行文件,修改的目錄爲指定輸出目錄

修改ctpn/tex文件中EXP_DIR變量,隨便起一個名字如end001,修改最後一行checkpoints_path,

執行python ./ctpn/train_ne

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章