使用 python+flask CNN PIL 50,000 3,755 3755
搭建的一個網站,然後從網頁的寫字闆上擷取滑鼠手寫的漢字經過轉碼後傳回背景,并經過圖檔裁剪處理之後傳入
手寫中文識别的模型中進行識别,最後通過
将識别結果生成圖檔,最後異步回傳給web端進行識别結果展示。中文總共
多漢字,常用的有
個。這裡主要對常見的
個漢字進行識别。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnLwQzYzQzYzUzNykDN4IjZ5UWO3YGN0YGMzgTOlVWO3IDOjN2N1MWZh9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.png)
一、資料集
目前國内有很多優秀的中文手寫識别資料集。例如:北京郵電大學模式識别實驗室釋出的資料
(HCL2000)
,它是目前最大的脫機手寫漢字庫,共有
1,000
個人書寫,除了漢字樣本庫外,還有一個對應的書寫者資訊庫,記錄了書寫者的年齡、職業、教育程度等資訊,用于研究相關影響因素。目前此資料庫免費向研究者公開。本文使用的是中科院自動研究所的分享的中文手寫資料集
CASIA-HWDB
(下載下傳位址http://www.nlpr.ia.ac.cn/databases/handwriting/Home.html ),由187個人通過
Wacom
筆線上輸入的手寫漢字。
二、CNN結構:
用
tensorflow
庫來實作【三個卷積層+三個池化層+兩個全連接配接層】的卷積神經網絡,結構如下圖所示:
訓練圖檔都修整成64x64大小,這裡我隻訓練常見的3755個漢字,在CNN識别數字的模型結構上再添加了一個卷積層和池化層,其他結構差不多。
将下載下傳好的HWDB資料集解壓處理好開始訓練,這個訓練過程比較長,我最終在
GPU:GTX1050Ti
上疊代了12,000次花費幾個小時,最終取最可能的前三個預測值
三、加載模型
我訓練模型疊代了12,000次之後,将訓練參數儲存在
checkpoint
檔案夾中,不過因為單個檔案大小的限制,訓練好的模型檔案從百度雲上下載下傳:
連結: https://pan.baidu.com/s/1eSWBIyI
密碼: kv2r
下載下傳之後直接覆寫
checkpoint
檔案夾。
四、環境
● python 3.6.1;
● flask 0.12.2;
● tensorflow 1.3.0;
● pillow 4.2.1;
● pickleshare 0.7.4;
● numpy 1.13.1;
五、運作
1、克隆項目,然後按照環境要求安裝好相應的庫(使用
pip
安裝);
2、從百度雲下載下傳訓練好的模型檔案,放到相應的
checkpoint
檔案夾下;
3、使用
python run.py
運作;
4、打開本地浏覽器輸入
localhost:5000
進行檢視;
原文釋出時間為:2018-10-14
本文來自雲栖社群合作夥伴“
大資料挖掘DT機器學習”,了解相關資訊可以關注“
”。