captcha-12306基于深度學(xué)習(xí)的 12306 驗(yàn)證碼識(shí)別程序
基于深度學(xué)習(xí)的12306驗(yàn)證碼識(shí)別程序。
1.1 準(zhǔn)備工作
-
下載caffe并編譯, 具體可參考官方文檔, 此處不再贅述.
-
修改
src/config.py中的caffe根目錄和項(xiàng)目根目錄. -
pip安裝easydict, skimage等.
1.2 數(shù)據(jù)
-
通過(guò)運(yùn)行
src/tools/download_image.py, 會(huì)將12306驗(yàn)證碼下載至data/download/all目錄. -
下載完成后, 通過(guò)運(yùn)行
src/tools/cut_image.py, 會(huì)將其裁剪為圖片和文字兩部分, 分別放在data/download/image目錄和data/download/words目錄. -
修改
src/image/scripts/words.py文件main方法中cut方法的參數(shù)(其參數(shù)為data/download/words中子目錄的words_*中的數(shù)字), 它的目的是處理data/download/words中的所有子文件, 對(duì)多個(gè)詞語(yǔ)進(jìn)行分割并調(diào)整大小為固定值. -
然后手工對(duì)其進(jìn)行分類(lèi), 分別放至
data/image和data/words目錄. 可以將其分為兩部分,分別放在對(duì)應(yīng)的train和test目錄.比如,一個(gè)示例目錄如下:-image --test ---蠟燭 ----1-1.jpg ---沙漠 ----2-1.jpg --train ---蠟燭 ----1-2.jpg ---沙漠 ----2-2.jpg
圖片部分
-
運(yùn)行
src/image/scripts/create_data.py, 將會(huì)生成圖片部分對(duì)應(yīng)的train.txt和test.txt, 里面包含著訓(xùn)練和測(cè)試文件及其類(lèi)別列表. -
運(yùn)行
src/image/scripts/create_lmdb.sh, 將會(huì)生成圖片部分對(duì)應(yīng)的lmdb文件.
文字部分
-
運(yùn)行
src/words/scripts/create_data.py, 將會(huì)生成文字部分對(duì)應(yīng)的train.txt和test.txt, 里面包含著訓(xùn)練和測(cè)試文件及其類(lèi)別列表. -
運(yùn)行
src/words/scripts/create_lmdb.sh, 將會(huì)生成文字部分對(duì)應(yīng)的lmdb文件.
1.3 參數(shù)
可以根據(jù)實(shí)際情況對(duì)src/image/model/image_solver.prototxt和src/words/model/words_solver.prototxt文件進(jìn)行修改.具體修改方法可參考其他模型.
1.4 開(kāi)始訓(xùn)練
src/image/scripts/image_train.sh和src/image/scripts/image_finetune_train.sh腳本分別用來(lái)進(jìn)行從頭訓(xùn)練/微調(diào)訓(xùn)練, 訓(xùn)練方法可參考caffe模型訓(xùn)練方法.
同理:
src/words/scripts/words_train.sh和src/words/scripts/words_finetune_train.sh腳本分別用來(lái)進(jìn)行從頭訓(xùn)練/微調(diào)訓(xùn)練, 訓(xùn)練方法可參考caffe模型訓(xùn)練方法.
測(cè)試
src/web提供了一個(gè)web測(cè)試界面, 運(yùn)行index.py即可. 運(yùn)行前, 可以更改對(duì)應(yīng)的模型文件名稱. 一個(gè)簡(jiǎn)單示例如下:
