本發(fā)明涉及圖像處理技術(shù)領(lǐng)域,具體地說是一種基于深度學(xué)習(xí)的漢字識(shí)別系統(tǒng)的實(shí)現(xiàn)方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)和人工智能的迅猛發(fā)展,交流和信息傳遞方式從文字向圖片和語音的方式轉(zhuǎn)變,圖片文字信息的識(shí)別的成為一個(gè)重要需求。
傳統(tǒng)的文字信息識(shí)別方法,通過計(jì)算圖片像素、圖片中文字的外圍結(jié)構(gòu)、筆劃方向等,生成單個(gè)文字特征庫,識(shí)別環(huán)節(jié)通過與特征庫比對(duì)找出最小距離,從而判斷文字類別,對(duì)于不同字號(hào)、橫縱拉伸及旋轉(zhuǎn)的文字圖片識(shí)別能力差。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的技術(shù)任務(wù)是針對(duì)以上不足之處,提供一種基于深度學(xué)習(xí)的漢字識(shí)別系統(tǒng)的實(shí)現(xiàn)方法,使用圖像處理技術(shù)完成灰度化、二值化,泛化能力強(qiáng),抗干擾能力強(qiáng)。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
一種基于深度學(xué)習(xí)的漢字識(shí)別系統(tǒng)的實(shí)現(xiàn)方法,將包含文字的圖片進(jìn)行預(yù)處理、切分、識(shí)別,重組成一段文本,從而實(shí)現(xiàn)圖片到文本的轉(zhuǎn)換;包括:
1)圖片預(yù)處理:用于對(duì)輸入的原始圖片灰度化、二值化、傾斜校正,得到一張比較規(guī)整的圖片;
2)圖片切分:用于對(duì)輸入的大篇幅文字的圖片切分,先切分成行,然后對(duì)每一行切分出單個(gè)的字;
3)圖片識(shí)別:用于識(shí)別切分出的單個(gè)字,將每個(gè)單字圖片調(diào)用識(shí)別模塊,得出識(shí)別文字結(jié)果;
4)文本重組:用于對(duì)得到的單個(gè)字識(shí)別結(jié)果按照順序組合,并進(jìn)行校正,最終產(chǎn)出識(shí)別結(jié)果文本段。
漢字識(shí)別系統(tǒng),使用圖像處理技術(shù)完成灰度化、二值化,使用圖片像素統(tǒng)計(jì)、分析,實(shí)現(xiàn)傾斜校正和行、字切分,引入深度學(xué)習(xí),實(shí)現(xiàn)文字圖片識(shí)別,引入自然語言處理,實(shí)現(xiàn)文本重組和校正。
使用技術(shù):基于漢字識(shí)別的圖片質(zhì)量和性能要求,整個(gè)識(shí)別系統(tǒng)采用C/C++編寫,圖像處理模塊部分調(diào)用opencv的處理接口,深度學(xué)習(xí)模型采用C++版本的Caffe開源框架的Lenet模型的改進(jìn)版本。
圖像預(yù)處理:輸入的文字圖像多為多通道、有噪聲和有傾斜的圖片,在識(shí)別前對(duì)圖片做歸一化。首先將多通道圖片轉(zhuǎn)化為單通道的灰度圖片,然后將其通過閾值轉(zhuǎn)化為只有0和1的二值化圖片,接著分析圖片中的文字區(qū)域,將其切割出來,對(duì)切割圖片進(jìn)行傾斜校正,盡量保證行是水平的,最后對(duì)文字區(qū)域進(jìn)行行切割,對(duì)每行進(jìn)行字切割。其中切割部分采用投影方法,行切割中,對(duì)每行進(jìn)行投影,根據(jù)行間的空白部分,統(tǒng)計(jì)切割出每一行;對(duì)于每行文字,采用列投影,根據(jù)字間隔統(tǒng)計(jì)字的大致寬度及字之間的間隔距離,然后在切割中對(duì)每個(gè)字寬和左右部首寬度做具體策略,先統(tǒng)計(jì)后切割,根據(jù)輸入圖片動(dòng)態(tài)調(diào)整閾值,最終實(shí)現(xiàn)窄字符及左右或左中右結(jié)構(gòu)漢字不被切割錯(cuò),完成字切割。
圖像識(shí)別:圖像識(shí)別指單個(gè)文字圖像的識(shí)別,包括訓(xùn)練和模型使用兩部分。訓(xùn)練過程中,先生成訓(xùn)練和測(cè)試兩個(gè)數(shù)據(jù)集合,本發(fā)明主要針對(duì)印刷體的宋體、仿宋、黑體和楷體四種類型,字號(hào)采用小四,掃描后切割出單個(gè)字符圖像,通過橫縱向拉伸、角度傾斜和縮放等變換產(chǎn)出400*3755個(gè)樣本集合,組合北郵的手寫樣本1000*3755,最后將1400*3755放入樣本集合分成測(cè)試集和訓(xùn)練集。調(diào)用深度網(wǎng)絡(luò)Lenet模型對(duì)3755類的漢字進(jìn)行訓(xùn)練和預(yù)測(cè),通過模型調(diào)節(jié)和測(cè)試,最終產(chǎn)出網(wǎng)絡(luò)模型和參數(shù)權(quán)重文件。
漢字識(shí)別系統(tǒng)流程實(shí)現(xiàn):前端部分為圖片輸入,后端對(duì)輸入的圖像進(jìn)行預(yù)處理、行字切割,調(diào)用深度網(wǎng)絡(luò)模型識(shí)別單個(gè)圖像漢字類別,并按照原始圖像的段落重新組合出文本段,然后調(diào)用自然語言處理的相關(guān)接口,完成文本校正,并將其返回到前端。對(duì)于用戶使用,只需將待檢測(cè)圖片上傳,服務(wù)器經(jīng)過一系列運(yùn)算,將識(shí)別結(jié)果返回給用戶。
使用時(shí),用戶只需要將待識(shí)別的文字圖片上傳,通信服務(wù)器將圖片轉(zhuǎn)發(fā)至后端服務(wù)器。后端服務(wù)器首先將圖片進(jìn)行灰度化、二值化、傾斜校正、行字切分,調(diào)用深度網(wǎng)絡(luò)模型,計(jì)算得到分類預(yù)測(cè)。然后將單字圖片的預(yù)測(cè)文字按照行和段組合,并調(diào)用自然語言處理詞庫進(jìn)行文本校正,最后將校正后的文本段返回給用戶。
本發(fā)明的一種基于深度學(xué)習(xí)的漢字識(shí)別系統(tǒng)的實(shí)現(xiàn)方法和現(xiàn)有技術(shù)相比,具有以下有益效果:
用戶使用移動(dòng)端或web端上傳待識(shí)別文字圖片后,后端服務(wù)器實(shí)時(shí)計(jì)算,完成圖片預(yù)處理、分割和識(shí)別,文本校正后返回給用戶。整個(gè)后端多任務(wù)并發(fā)執(zhí)行,快速反饋結(jié)果,并且可以同時(shí)響應(yīng)多個(gè)用戶的請(qǐng)求;
前端提供用戶編輯接口,用戶可以標(biāo)注版面、調(diào)整圖片傾斜等,滿足自主編輯,同時(shí)提供一鍵化識(shí)別;
引入深度網(wǎng)絡(luò)結(jié)構(gòu),使識(shí)別準(zhǔn)確率比傳統(tǒng)方法提升,同時(shí)降低開發(fā)者對(duì)圖像及文字相關(guān)專業(yè)知識(shí)的大量學(xué)習(xí)成本。
具體實(shí)施方式
下面結(jié)合具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步說明。
一種基于深度學(xué)習(xí)的漢字識(shí)別系統(tǒng)的實(shí)現(xiàn)方法,將包含文字的圖片進(jìn)行預(yù)處理、切分、識(shí)別,重組成一段文本,從而實(shí)現(xiàn)圖片到文本的轉(zhuǎn)換;使用技術(shù):基于漢字識(shí)別的圖片質(zhì)量和性能要求,整個(gè)識(shí)別系統(tǒng)采用C/C++編寫,圖像處理模塊部分調(diào)用opencv的處理接口,深度學(xué)習(xí)模型采用C++版本的Caffe開源框架的Lenet模型的改進(jìn)版本。
包括:
1)圖片預(yù)處理:用于對(duì)輸入的原始圖片灰度化、二值化、傾斜校正,得到一張比較規(guī)整的圖片。輸入的文字圖像多為多通道、有噪聲和有傾斜的圖片,在識(shí)別前對(duì)圖片做歸一化。首先將多通道圖片轉(zhuǎn)化為單通道的灰度圖片,然后將其通過閾值轉(zhuǎn)化為只有0和1的二值化圖片,接著分析圖片中的文字區(qū)域,將其切割出來,對(duì)切割圖片進(jìn)行傾斜校正,盡量保證行是水平的,最后對(duì)文字區(qū)域進(jìn)行行切割,對(duì)每行進(jìn)行字切割。其中切割部分采用投影方法,行切割中,對(duì)每行進(jìn)行投影,根據(jù)行間的空白部分,統(tǒng)計(jì)切割出每一行;對(duì)于每行文字,采用列投影,根據(jù)字間隔統(tǒng)計(jì)字的大致寬度及字之間的間隔距離,然后在切割中對(duì)每個(gè)字寬和左右部首寬度做具體策略,先統(tǒng)計(jì)后切割,根據(jù)輸入圖片動(dòng)態(tài)調(diào)整閾值,最終實(shí)現(xiàn)窄字符及左右或左中右結(jié)構(gòu)漢字不被切割錯(cuò),完成字切割。
2)圖片切分:用于對(duì)輸入的大篇幅文字的圖片切分,先切分成行,然后對(duì)每一行切分出單個(gè)的字。
3)圖片識(shí)別:用于識(shí)別切分出的單個(gè)字,將每個(gè)單字圖片調(diào)用識(shí)別模塊,得出識(shí)別文字結(jié)果。圖像識(shí)別指單個(gè)文字圖像的識(shí)別,包括訓(xùn)練和模型使用兩部分。訓(xùn)練過程中,先生成訓(xùn)練和測(cè)試兩個(gè)數(shù)據(jù)集合,本發(fā)明主要針對(duì)印刷體的宋體、仿宋、黑體和楷體四種類型,字號(hào)采用小四,掃描后切割出單個(gè)字符圖像,通過橫縱向拉伸、角度傾斜和縮放等變換產(chǎn)出400*3755個(gè)樣本集合,組合北郵的手寫樣本1000*3755,最后將1400*3755放入樣本集合分成測(cè)試集和訓(xùn)練集。調(diào)用深度網(wǎng)絡(luò)Lenet模型對(duì)3755類的漢字進(jìn)行訓(xùn)練和預(yù)測(cè),通過模型調(diào)節(jié)和測(cè)試,最終產(chǎn)出網(wǎng)絡(luò)模型和參數(shù)權(quán)重文件。
漢字識(shí)別系統(tǒng)流程實(shí)現(xiàn):前端部分為圖片輸入,后端對(duì)輸入的圖像進(jìn)行預(yù)處理、行字切割,調(diào)用深度網(wǎng)絡(luò)模型識(shí)別單個(gè)圖像漢字類別,并按照原始圖像的段落重新組合出文本段,然后調(diào)用自然語言處理的相關(guān)接口,完成文本校正,并將其返回到前端。對(duì)于用戶使用,只需將待檢測(cè)圖片上傳,服務(wù)器經(jīng)過一系列運(yùn)算,將識(shí)別結(jié)果返回給用戶。
4)文本重組:用于對(duì)得到的單個(gè)字識(shí)別結(jié)果按照順序組合,并進(jìn)行校正,最終產(chǎn)出識(shí)別結(jié)果文本段。
漢字識(shí)別系統(tǒng),使用圖像處理技術(shù)完成灰度化、二值化,使用圖片像素統(tǒng)計(jì)、分析,實(shí)現(xiàn)傾斜校正和行、字切分,引入深度學(xué)習(xí),實(shí)現(xiàn)文字圖片識(shí)別,引入自然語言處理,實(shí)現(xiàn)文本重組和校正。
使用時(shí),用戶只需要將待識(shí)別的文字圖片上傳,通信服務(wù)器將圖片轉(zhuǎn)發(fā)至后端服務(wù)器。后端服務(wù)器首先將圖片進(jìn)行灰度化、二值化、傾斜校正、行字切分,調(diào)用深度網(wǎng)絡(luò)模型,計(jì)算得到分類預(yù)測(cè)。然后將單字圖片的預(yù)測(cè)文字按照行和段組合,并調(diào)用自然語言處理詞庫進(jìn)行文本校正,最后將校正后的文本段返回給用戶。
通過上面具體實(shí)施方式,所述技術(shù)領(lǐng)域的技術(shù)人員可容易的實(shí)現(xiàn)本發(fā)明。但是應(yīng)當(dāng)理解,本發(fā)明并不限于上述的具體實(shí)施方式。在公開的實(shí)施方式的基礎(chǔ)上,所述技術(shù)領(lǐng)域的技術(shù)人員可任意組合不同的技術(shù)特征,從而實(shí)現(xiàn)不同的技術(shù)方案。
除說明書所述的技術(shù)特征外,均為本專業(yè)技術(shù)人員的已知技術(shù)。