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