引言
文字識別是一項十分必要的技術(shù)。我們的計算機處理計算的能力強大,但強大的計算能力導致需要的輸入量也隨之增大,而對于原始數(shù)據(jù)錄入的水平則相形見絀,大量的人力為此消費,有時即便浪費人力也不能達到目的,因此有了文字識別的發(fā)展。從20世紀50年代到今天,人們已經(jīng)從最開始簡單的光學識別發(fā)展到了現(xiàn)在基于深度學習的自然文字識別。
深度學習屬于機器學習的新領域,根據(jù)建立類似于人腦的層次性的模型,輸入數(shù)據(jù)通過高層一步一步的信息提取,可以通過潛在的信息映射出場景建立之間的聯(lián)系。近些年來,人工智能應用于各產(chǎn)業(yè)的自動生產(chǎn),逐漸代替了人工,開辟了新紀元。在人工生成及制作領域,如何識別自然場景之下的文字也成為了研究的熱點。
自然場景中的文本識別不同于普通的文本識別。普通的文本識別具有排列簡單、背景單一等特點,識別起來比較方便,識別的算法比較簡單。自然場景中的文字識別,譬如書寫體文字及自然生活中的文字,具有背景復雜、文字出現(xiàn)比較雜亂的特點,普通算法無法完成此類文字識別。所以,采用基于CNN的文字識別算法抽取文字信息進行識別成為了現(xiàn)在比較流行的趨勢,那么增加預訓練也可以一定程度上幫助提高精確度。
RPN是區(qū)域提取網(wǎng)絡,此類網(wǎng)絡可以抽取圖片的部分區(qū)域(此區(qū)域包含需要判別的文字)。RPN區(qū)域具有分離圖片中的背景及文字的作用,通過RPN可以提取出文字信息,從而進行單個文字識別。區(qū)域分為9個前景/背景的可能性,通過不同的長寬比得出感興趣區(qū)域,從而簡單快捷地分離圖片文字及背景信息。
下面通過圖1分析文本文字識別及自然場景下文字識別的區(qū)別,如圖1左邊所示:文本下的文字識別可以看出文字排列非常工整,字與字之間的距離也有明顯的標定,字的大小比較固定,字體比較單一。如圖1右邊所示:文本比較雜亂,出現(xiàn)順序的毫無規(guī)律,字的大小不一致,字體不單一,背景也較為雜亂,相對于文本中的文字識別,難度大大提升,需要先提取文字區(qū)域再進行文字識別,最終進行語言文字內(nèi)容的語義判斷,從而完成整個識別過程,相對來說較為復雜。
本文主要描述:(1)卷積神經(jīng)網(wǎng)絡的意義及主要實現(xiàn)過程;(2)區(qū)域提取網(wǎng)絡如何進行前景/背景的識別,以及訓練的方式方法和參數(shù);(3)整體流程,如何通過卷積神經(jīng)網(wǎng)絡及區(qū)域提取網(wǎng)絡進行自然場景下的文字識別;(4)總結(jié)場景文字識別的挑戰(zhàn)及未來前景展望。
1卷積神經(jīng)網(wǎng)絡(CNN)
對卷積神經(jīng)網(wǎng)絡的研究可追溯至20世紀90年代,日本學者福島邦彥提出的基于生物視覺皮層的neocognition模型,這是一個具有深度結(jié)構(gòu)的神經(jīng)網(wǎng)絡,并且是最早被提出的深度學習算法之一。其中的設計能夠進行特征提取和篩選,部分實現(xiàn)了卷積神經(jīng)網(wǎng)絡中卷積層和池化層的功能,被認為是啟發(fā)了卷積神經(jīng)網(wǎng)絡的開創(chuàng)性研究。
現(xiàn)在的卷積神經(jīng)網(wǎng)絡由輸入層、隱含層和全連接層組成,輸入層完成對所需數(shù)據(jù)的采集,隱含層完成對數(shù)據(jù)的提取和整理,全連接層將提取到的特征綜合進行判斷,完成最終的輸出。隱含層承擔了整個網(wǎng)絡的核心提取任務,其中包含了卷積層和池化層,在卷積層中,包含卷積核的大小、步長和填充,這三點決定了輸出的特征,因此可針對我們需要處理的數(shù)據(jù)采用不同的參數(shù)進行處理,以達到更好的效果;在初步提取到數(shù)據(jù)特征后,輸出的數(shù)據(jù)會被傳遞至池化層進行特征的選擇及信息的篩選,這一步可為全連接層極大地減少計算量,雖然可能會影響精度,但更加便捷:當數(shù)據(jù)經(jīng)過池化層處理后,會送入全連接層處理,全連接層會將數(shù)據(jù)特征進行分類,完成最終的特征分類,并最后輸出結(jié)果。
圖2所示為卷積神經(jīng)網(wǎng)絡,可以看出卷積神經(jīng)網(wǎng)絡是通過滑動窗口(H,W區(qū)域滑動)對于二維信息進行提取,最后抽取信息得到具體的文字類別。圖2左側(cè)VGG16是具體的卷積網(wǎng)絡的框架,16表示具有16層,VGG還包括VGG9、VGG11、VGG13等等。VGG是一種深度卷積神經(jīng)網(wǎng)絡的構(gòu)架,是牛津大學在2014年提出的,具有提取深度特征的能力。從圖2右側(cè)可以看到第五層卷積網(wǎng)絡的特征提取過程。
2區(qū)域提取網(wǎng)絡(RPN)
區(qū)域提取網(wǎng)絡是一種全卷積神經(jīng)網(wǎng)絡,此類網(wǎng)絡通過sGD(隨機提取下降法)進行訓練。RPN通過圖片中心及采樣策略訓練進行小批量訓練,樣本中包含各種均勻的正樣本和負樣本。更新所有待選區(qū)域的損失函數(shù),則會趨向于負樣本,因為負樣本會占據(jù)較大比例,因此我們隨機選擇圖片中的256個區(qū)域,小批量學習計算損失函數(shù),其中正樣本及負樣本比例為1:1。
每個中心點包含9個區(qū)域,其中9個待選區(qū)域包含4個參數(shù)(長寬及中心點(%,y))。對應9個待選區(qū)域還對應具有2個參數(shù)(0或1對應是背景還是前景)。
圖3表示感興趣區(qū)域提取的具體過程,通過模糊文字以及連續(xù)文字,對于文字周邊進行畫框,找到文字的具體位置,并確定方向畫出矩形框圖。經(jīng)過選擇的區(qū)域標定不一致,有的選擇單個字母作為選擇框,有的選擇單詞作為選擇框,但同樣都能得到較好的選擇區(qū)域及文字識別結(jié)果。
3方法應用過程
在識別書寫文字的過程中,首先訓練網(wǎng)絡,在前向傳播過程中,輸入的圖形數(shù)據(jù)經(jīng)過多層卷積層的卷積和池化處理,提取出特征向量,將特征向量傳入全連接層中,得出分類識別的結(jié)果。當輸出結(jié)果與我們的期望值相符時,則輸出。由于采用梯度下降的訓練方式,同時為使訓練效果更好,對用作原始數(shù)據(jù)的圖片進行預處理,預處理主要包括文本朝向判斷調(diào)整、排噪、版面分析、降噪、行列分割、字符識別、循環(huán)神經(jīng)網(wǎng)絡(RNN)語義檢測這些方面。圖片的模糊、低精度等問題很可能造成網(wǎng)絡訓練的錯誤,讓識別難以進行:調(diào)整文字順序,使文字在同一朝向,給圖片進行降噪處理,調(diào)整版面等,可以使圖片更精確,網(wǎng)絡提取的特征更精確,同時可以減少訓練時間,提高準確度。RNN語義檢測的輔助訓練也讓我們的網(wǎng)絡識別更加高效。
基于卷積神經(jīng)網(wǎng)絡及區(qū)域提取網(wǎng)絡的有機結(jié)合,先通過卷積神經(jīng)網(wǎng)絡進行特征壓縮以及信息抽取,繼而通過區(qū)域提取網(wǎng)絡提取前景信息,再通過提取出的前景信息判斷具體的文字,最后通過RNN進行語義檢測進而改善網(wǎng)絡的識別效率,防止連筆字及不清晰的文字難以通過單個字判斷出文字的類別。
為減少我們的工作,圖片經(jīng)處理后進行數(shù)據(jù)增強以獲得更多初始數(shù)據(jù),主要采用的方法是將現(xiàn)有圖片數(shù)據(jù)進行反轉(zhuǎn)、對稱、旋轉(zhuǎn)、放縮、平移等操作后作為新的圖片,神經(jīng)網(wǎng)絡對于處理后的圖片會作為新的數(shù)據(jù)進行處理,起到訓練的效果。此處有一點需要注意:對于二次處理的新照片一定要保證對識別過程有貢獻,不能修改成為在識別過程中一定無法看到的情況,防止給網(wǎng)絡增加無關(guān)數(shù)據(jù),浪費計算資源。數(shù)據(jù)沒有問題后,網(wǎng)絡的輸出值和我們的期望不符時,則進行反向傳播過程,求出結(jié)果與期望值的誤差,再將誤差一層一層返回,計算出每一層的誤差,然后進行權(quán)值更新。該過程的主要目的是通過訓練樣本和期望值來調(diào)整網(wǎng)絡權(quán)值。當網(wǎng)絡參數(shù)經(jīng)修改,成功輸出我們對輸入的期望時,網(wǎng)絡訓練完成,投入使用。
4結(jié)語
自然場景下的文字識別,對于生活中抓拍圖片的文字識別、物流單子信息的輸入等復雜場景下的文字識別都具有極大的貢獻,可以減少人力、物力的消耗。自然場景下的文字識別具有背景復雜、文字雜亂等特點,所以識別起來比較復雜,準確率比不上文本中的文字識別。本文所述基于卷積神經(jīng)網(wǎng)絡及區(qū)域提取網(wǎng)絡的文字識別,能通過循環(huán)神經(jīng)網(wǎng)絡進行自然語言的處理(進一步精修文字,譬如文字中有個別字模糊或識別不出,可通過循環(huán)神經(jīng)網(wǎng)絡進行自然語言處理,理解上下文進行文字的猜測),因而具有較大的現(xiàn)實意義。此類文字識別不只是簡單地進行文字識別,同樣進行文字的語言精確度的檢測。在未來的發(fā)展中,文字識別會在各行各業(yè)得到應用,從而大大減少人力、物力的消耗,具有巨大的、潛在的建設性價值。





