苗小愛(ài)
(青島酒店管理職業(yè)技術(shù)學(xué)院,山東 青島 266100)
隨著CRNN[1]的誕生,文本識(shí)別相關(guān)應(yīng)用越來(lái)越多,當(dāng)前很多研究者在CRNN 模型基礎(chǔ)上,針對(duì)損失函數(shù)[14]、學(xué)習(xí)率下降方法[15]、數(shù)據(jù)加載方法[16],以及骨干網(wǎng)絡(luò)[17]選擇、優(yōu)化[18]方法選擇等做了很多調(diào)整,模型效果不斷變好。但是在處理特定場(chǎng)景下的數(shù)據(jù)集時(shí),由于無(wú)法使用固定寬、高的圖像數(shù)據(jù)進(jìn)行訓(xùn)練,訓(xùn)練數(shù)據(jù)量有限且圖片中需要識(shí)別的文本過(guò)于模糊,背景也復(fù)雜多樣(見(jiàn)圖1),因此常常無(wú)法通過(guò)改變骨干網(wǎng)絡(luò)、損失函數(shù)和優(yōu)化方法以有效提高CRNN 識(shí)別準(zhǔn)確率。
復(fù)雜背景下模糊文本圖片實(shí)例如圖1 所示,圖1(a)和圖1(b)有3 個(gè)字,圖1(c)有4 個(gè)字(在現(xiàn)實(shí)數(shù)據(jù)集中數(shù)據(jù)文字?jǐn)?shù)量從1 到15 不等),而且“收貨方”文本被印章覆蓋,“合同號(hào)”文本缺少筆畫(huà),“存貨名稱(chēng)”則十分模糊,數(shù)據(jù)集中圖片的寬高比從1~12(經(jīng)處理后)不等。因此,為得到更好的訓(xùn)練效果和模型,需修改數(shù)據(jù)集加載部分。
圖2 是在背景填充后作灰度化處理后進(jìn)行放縮的效果,可以看出,使用近似背景填充幾乎分辨不出填充部分。圖3 是進(jìn)行補(bǔ)0 的填充放縮操作,可以發(fā)現(xiàn),填充部分像素值與文本相近,與背景相差較大。圖4 是直接放縮效果,可以看出,放縮后的圖片文本變形,不利于訓(xùn)練計(jì)算。由此可知,圖2(本文提出的數(shù)據(jù)加載方法)模型計(jì)算最好。
Fig.1 Example of blurred text picture under complex background圖1 復(fù)雜背景下模糊文本圖片實(shí)例
Fig.2 Scaled rendering of grayscale after approximate background filling圖2 近似背景填充后灰度化放縮效果
Fig.3 Scaled rendering of grayscale after filling with 0圖3 補(bǔ)0填充后灰度化放縮效果
Fig.4 Directly zoom the rendering after grayscale圖4 灰度化后直接放縮效果
基于CRNN 的模型經(jīng)常使用兩種常見(jiàn)的數(shù)據(jù)加載方法:①直接對(duì)圖片進(jìn)行指定比例的放縮,依靠骨干網(wǎng)絡(luò)強(qiáng)大的擬合能力映射到指定文本,但是由于同一文本在不同維度下放縮后的圖像發(fā)生形變,模型最終效果相對(duì)較差;②將圖片進(jìn)行減均值的標(biāo)準(zhǔn)化操作后填充0,使圖片在相同的放縮比例下進(jìn)行操作,這樣訓(xùn)練時(shí)模型會(huì)將填充部分作為負(fù)樣本,但是填充的數(shù)據(jù)十分突兀,對(duì)負(fù)樣本的像素值十分接近需要時(shí)的文本,導(dǎo)致部分負(fù)樣本向正樣本傾斜。這種填充方式在文本文數(shù)據(jù)大小相差不是很大時(shí)效果很好,但數(shù)據(jù)相差較大時(shí)就會(huì)產(chǎn)生較差的效果。在本文數(shù)據(jù)中,由于短文本過(guò)多,且一些合同中協(xié)議部分文本較長(zhǎng),需訓(xùn)練一個(gè)可以識(shí)別長(zhǎng)文本又能很好處理短文本的模型。因此,本文在數(shù)據(jù)加載過(guò)程中進(jìn)行修改如下:
修改加載數(shù)據(jù)的放縮比例,平衡正負(fù)樣本。對(duì)短樣本使用近似背景填充后放縮到指定寬高比例,對(duì)接近指定寬高比(設(shè)置超參數(shù)進(jìn)行指定)的樣本進(jìn)行放縮時(shí)不進(jìn)行背景填充。在進(jìn)行推理時(shí),直接進(jìn)行識(shí)別便可以得到很好的效果。最后,通過(guò)實(shí)驗(yàn)對(duì)比發(fā)現(xiàn),本文設(shè)計(jì)的數(shù)據(jù)加載方法相比常用的數(shù)據(jù)加載方法有更高的識(shí)別準(zhǔn)確率和更快的訓(xùn)練收斂速度。
本文主要貢獻(xiàn)有兩個(gè):①通過(guò)構(gòu)建近似背景填充的方式進(jìn)行數(shù)據(jù)加載,提高模型識(shí)別準(zhǔn)確率并提高訓(xùn)練收斂速度;②設(shè)定不填充比例加強(qiáng)文本圖像的多樣性(還原真實(shí)場(chǎng)景下的文本形狀變化)以輔助模型識(shí)別準(zhǔn)確率提升。
目前,國(guó)內(nèi)文本識(shí)別領(lǐng)域中效果最好、速度最快的是百度的PPOCR[2]項(xiàng)目,通過(guò)閱讀PPOCRv2 的源碼發(fā)現(xiàn)它在數(shù)據(jù)加載時(shí)默認(rèn)使用將圖片進(jìn)行標(biāo)準(zhǔn)化后填充0 的數(shù)據(jù)加載方式。目前,文本識(shí)別方法主要分為兩種類(lèi)型。一種是語(yǔ)義上下文無(wú)關(guān)方法,其中以CRNN 最為典型,它是結(jié)合CNN 和RNN 的網(wǎng)絡(luò)主體,用CTC[3]解碼器計(jì)算損失構(gòu)建的文本識(shí)別模型。Xie 等[4]提出匯聚交叉熵(aggregation crosentropy,ACE)損失,優(yōu)化了每個(gè)字符在時(shí)間維度上的統(tǒng)計(jì)頻率,提高了識(shí)別效率。另一種是上下文感知方法,主要有效果突出的SRN[13]模型,該模型利用并行Transformer[5]和CNN 結(jié)合的方式作為主體,使用FPN[6]進(jìn)一步提取特征,在兼顧檢測(cè)速度的同時(shí)獲得很好的識(shí)別效果。ASTER[7]同樣針對(duì)Attention 模型進(jìn)行優(yōu)化,并提高了模型識(shí)別效果。上述模型在進(jìn)行研究和建模過(guò)程中均會(huì)廣泛使用到標(biāo)準(zhǔn)化后填充0 的數(shù)據(jù)加載方式或者直接放縮的數(shù)據(jù)加載方式。在處理模糊文本時(shí),直接使用現(xiàn)有的模型和產(chǎn)品效果均不佳,因此本文提出針對(duì)模糊文本、復(fù)雜背景的近似背景填充數(shù)據(jù)加載方法。
OCR 識(shí)別主要包括文本檢測(cè)和文本識(shí)別。在檢測(cè)出文本行或文本區(qū)域后截取文本區(qū)域數(shù)據(jù),識(shí)別文本特征,進(jìn)而識(shí)別出文本內(nèi)容。目前流行的檢測(cè)模型有DBNet[8]、PAN[9]、craft[10]等,檢測(cè)出的文本一般有傾斜或者彎曲等多種形態(tài)。針對(duì)本文場(chǎng)景,主要檢測(cè)單據(jù)文本,并識(shí)別文本行數(shù)據(jù),但由于低像素值的問(wèn)題導(dǎo)致文本識(shí)別難度變大。因此,本文設(shè)計(jì)一種更好的數(shù)據(jù)加載方式,在均衡正負(fù)樣本的同時(shí),能夠突出有效的文本數(shù)據(jù),從而極大減小文本檢測(cè)難度,提高文本檢測(cè)準(zhǔn)確率。
在構(gòu)建近似背景填充時(shí),首先計(jì)算在不同寬高比時(shí)正、負(fù)樣本的比例。因現(xiàn)實(shí)場(chǎng)景中存在長(zhǎng)文本,模型的輸出大小不能太小,故選取了寬高比為4~12 比例范圍。本文數(shù)據(jù)集中數(shù)據(jù)的正負(fù)樣本占比如表1所示。
Table 1 Proportion of positive samples表1 正樣本占比
正負(fù)樣本占比是正樣本(文本所在部分)占據(jù)圖像的比例,負(fù)樣本(無(wú)文本部分)占據(jù)圖像的比例。由表1 可知,在寬高比為9 時(shí),數(shù)據(jù)集的正、負(fù)比例分布最為均勻,近似為1∶1,因此固定放縮的寬高比例為9。此外,為證明正負(fù)樣本均衡能使識(shí)別模型取得更好的效果,在下文進(jìn)行實(shí)驗(yàn)對(duì)比(結(jié)果見(jiàn)圖6)。
不填充比例設(shè)置是指當(dāng)某些圖像原始的寬高比在指定寬高比(本文為9)附近時(shí),將圖片直接放縮到指定的寬高比不會(huì)影響圖中文字的質(zhì)量,使圖像中文本明顯變形,避免相同文本特征大小不同而出現(xiàn)偏差的問(wèn)題。因此,這部分?jǐn)?shù)據(jù)可以直接進(jìn)行放縮以豐富正樣本空間,進(jìn)而加強(qiáng)特征提取。
通過(guò)觀察不同指定寬高比下,圖片放縮不會(huì)影響文本質(zhì)量,選取合適的不填充比例。經(jīng)過(guò)實(shí)驗(yàn)表明,當(dāng)指定寬高比為9 時(shí),原始寬高比為7、8、11、12 的圖片放縮到9 之后都不會(huì)產(chǎn)生肉眼可見(jiàn)的變形,經(jīng)計(jì)算得出,選擇向下不填充比例為7.8,向上不填充比例為11。
為證明設(shè)置不填充比例效果,本文在直接放縮對(duì)比實(shí)驗(yàn)的基礎(chǔ)上,添加向下不填充比例為7、7.2、7.5、8 的對(duì)比實(shí)驗(yàn)以證明本文指定的不填充比例效果。根據(jù)數(shù)據(jù)的獨(dú)特性,在指定寬高比減一到指定寬高比減二之間進(jìn)行選擇,若數(shù)據(jù)指定寬高比較大,則可適當(dāng)擴(kuò)大不填充比例設(shè)置范圍。
采用近似背景填充是為避免使用一個(gè)突兀的背景填充圖像。雖然用一個(gè)全0 或全255 的像素值進(jìn)行背景填充能達(dá)到構(gòu)建負(fù)樣本的目的,但會(huì)產(chǎn)生兩個(gè)問(wèn)題:①樣本本身會(huì)存在少量負(fù)樣本,若使用統(tǒng)一為0/255 進(jìn)行填充則會(huì)在計(jì)算時(shí)忽略真實(shí)負(fù)樣本的特征;②由于文本本身背景與負(fù)樣本是近似或相同,若全為0/255 填充背景則會(huì)導(dǎo)致文本背景分離效果差。
針對(duì)上述問(wèn)題,本文構(gòu)建一個(gè)近似背景填充的方法,步驟如下:①將原圖像按照指定高度,原始寬高比放縮;②獲取當(dāng)前圖片中前16 個(gè)像素(從左上角開(kāi)始)組成的正方形區(qū)域中像素值最大的像素(所需檢測(cè)的文本顏色較深,像素值較小,因而取最大值為背景填充);③計(jì)算放縮后圖片的寬度與指定寬度的差,當(dāng)原始圖片寬度小于指定寬度時(shí)則進(jìn)行背景填充,將步驟②獲取到的像素填充到指定寬度。算法設(shè)計(jì)如下:
算法1 近似背景填充
其中,r表示指定寬高比,selectFromTop16 表示從前16個(gè)像素的正方形區(qū)域中獲取填充像素值,max 表示獲取最大的像素值,resize 表示對(duì)圖片進(jìn)行放縮,filling 表示對(duì)圖片使用指定像素值進(jìn)行填充。將在下文實(shí)驗(yàn)證明,本文設(shè)計(jì)的近似背景填充收斂速度更快、識(shí)別準(zhǔn)確率更高。
設(shè)計(jì)好數(shù)據(jù)加載方法后,構(gòu)建識(shí)別模型進(jìn)行效果驗(yàn)證。本文實(shí)驗(yàn)選用CRNN 模型,識(shí)別準(zhǔn)確率和訓(xùn)練收斂速度都在CRNN 模型上通過(guò)對(duì)比分析得到。本文沒(méi)有使用較為復(fù)雜的ResNet18[19]或更復(fù)雜的ResNet31、ResNet50 等骨干網(wǎng)絡(luò),使用CRNN 原文中建議的VGG16[11]。VGG16網(wǎng)絡(luò)結(jié)構(gòu)層數(shù)較少、復(fù)雜度較低、訓(xùn)練較快,便于實(shí)驗(yàn)對(duì)比。模型設(shè)計(jì)步驟如下:
(1)構(gòu)建配置文件。配置所使用的骨干網(wǎng)絡(luò)層,指定模型使用的寬和高,指定數(shù)據(jù)加載方式,配置學(xué)習(xí)率以及學(xué)習(xí)率的調(diào)整方法,指定優(yōu)化函數(shù)對(duì)損失函數(shù)進(jìn)行優(yōu)化,最后配置超參數(shù)。
(2)數(shù)據(jù)處理與加載。數(shù)據(jù)處理與加載是模型計(jì)算之前的必要步驟,由于收集到的數(shù)據(jù)不規(guī)范且不利于模型計(jì)算,因此需要進(jìn)行一定的圖像處理后再將其加載到內(nèi)存中進(jìn)行計(jì)算。首先將數(shù)據(jù)進(jìn)行指定比例的放縮,這里采用本文提出的近似背景填充方法;然后對(duì)圖像進(jìn)行減均值和除以255 的操作,將圖形標(biāo)準(zhǔn)化到一定范圍內(nèi),便于網(wǎng)絡(luò)計(jì)算;最后根據(jù)文本圖像特點(diǎn)進(jìn)行灰度化處理,將處理后的數(shù)據(jù)加載到計(jì)算機(jī)內(nèi)存中。
(3)模型設(shè)計(jì)。構(gòu)建好配置文件并做好數(shù)據(jù)處理與加載之后,對(duì)模型進(jìn)行設(shè)計(jì),用設(shè)計(jì)出的模型對(duì)數(shù)據(jù)進(jìn)行計(jì)算,訓(xùn)練出能夠進(jìn)行文本識(shí)別的模型參數(shù),CRNN 模型的主要架構(gòu)包括VGG16 和BiLSTM[20]。VGG16 是一個(gè)16 層的CNN 網(wǎng)絡(luò)模型,能夠提取深度圖像特征映射,對(duì)圖像中的文本進(jìn)行有效的向量表示,然后根據(jù)文本的語(yǔ)言特征使用循環(huán)神經(jīng)網(wǎng)絡(luò)中的BiLSTM 進(jìn)行下一步計(jì)算。本文構(gòu)建了一個(gè)兩層的BiLSTM,根據(jù)文本的時(shí)序特征預(yù)測(cè)每一個(gè)文本字符。
(4)CTCLoss 損失。由于本文使用的數(shù)據(jù)是一個(gè)不定長(zhǎng)的圖像文本數(shù)據(jù)集,因此需要在計(jì)算過(guò)程中對(duì)文本進(jìn)行自動(dòng)對(duì)齊,以防止識(shí)別出的文本出現(xiàn)多一個(gè)字符或少一個(gè)字符的情況,CTC 算法采用動(dòng)態(tài)規(guī)劃方法對(duì)文本圖像進(jìn)行有效的對(duì)齊操作。計(jì)算出的CTCLoss 就是文本識(shí)別的損失,得到損失函數(shù)后使用Adam 算法進(jìn)行梯度下降以?xún)?yōu)化權(quán)重矩陣[12]。
在訓(xùn)練過(guò)程中根據(jù)超參數(shù)中的批次大小加載數(shù)據(jù),執(zhí)行上述步驟(1)—步驟(4),在指定的epochs 內(nèi)進(jìn)行一次又一次的網(wǎng)絡(luò)訓(xùn)練,并在訓(xùn)練中保存最優(yōu)結(jié)果,算法設(shè)計(jì)如下:
算法2模型構(gòu)建算法
Model_Weight 是最終計(jì)算的模型參數(shù),也稱(chēng)為文本識(shí)別模型,ABF 表示算法1,即近似背景填充算法,means表示圖象均值,dataLoader 表示數(shù)據(jù)加載器,images.next()表示獲取下一個(gè)批次的圖像數(shù)據(jù)。
將本文的近似背景填充方法與填充0 的方法以及不填充只放縮的方法進(jìn)行比較,評(píng)價(jià)標(biāo)準(zhǔn)是校驗(yàn)準(zhǔn)確率和訓(xùn)練收斂速度。在數(shù)據(jù)集上保證相同的實(shí)驗(yàn)設(shè)置,通過(guò)實(shí)驗(yàn)證明了本文所設(shè)計(jì)方法的有效性。
本文使用的數(shù)據(jù)集有兩種:①自行收集的單據(jù)數(shù)據(jù),由于數(shù)據(jù)未經(jīng)過(guò)其他形式的清洗,因而存在清晰模糊數(shù)據(jù)并存、背景復(fù)雜多樣、像素值跨度大等問(wèn)題,使得收集的樣本數(shù)據(jù)十分復(fù)雜;②百度收集并處理的360k 數(shù)據(jù)集,數(shù)據(jù)樣式多,但數(shù)據(jù)樣式規(guī)整。本文針對(duì)中文數(shù)據(jù)進(jìn)行建模,主要收集中文文本數(shù)據(jù)集。
本文收集拍照的單據(jù)、pdf 合同圖像數(shù)據(jù),pdf 樣式的合同易于計(jì)算分析,文字為黑色、背景為白色,特征明顯,易于區(qū)分。主要分析單據(jù)數(shù)據(jù),按照背景劃分為3 種:①如圖1(c)所示模糊的灰色背景;②如圖1(a)所示藍(lán)色的存單;③如圖1(b)所示帶有紅印覆蓋的單據(jù)。此外,如圖1(a)約100 份單據(jù)中幾乎每張單據(jù)都會(huì)存在文本部分缺失的情況,如圖1(b)約100 多張單據(jù)中部分文本會(huì)被紅蓋住影響識(shí)別。剩余100 余張數(shù)據(jù)中都是文字模糊與背景像素接近的情況,在這類(lèi)數(shù)據(jù)中也存在部分文本清晰的圖像數(shù)據(jù)。由于已經(jīng)訓(xùn)練好文本檢測(cè)模型,因此使用設(shè)計(jì)好的文本檢測(cè)模型截取數(shù)據(jù)集。在收集好數(shù)據(jù)集之后,將數(shù)據(jù)按照80%的訓(xùn)練集和20%的測(cè)試集進(jìn)行劃分。最后訓(xùn)練集有文本圖片2 176 張,測(cè)試集有480 張,在百度360k 的預(yù)訓(xùn)練模型上進(jìn)行微調(diào)。
本文針對(duì)手機(jī)拍照上傳的模糊圖像(尤其像素較低的手機(jī)),因此數(shù)據(jù)場(chǎng)景有限,但是為證明模型在標(biāo)準(zhǔn)數(shù)據(jù)集上的有效性,本文還使用了百度整理的360k 中文數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)分析。其訓(xùn)練數(shù)據(jù)集有80%,測(cè)試數(shù)據(jù)集有20%,都是從各種書(shū)本上截取的文本數(shù)據(jù),經(jīng)過(guò)百度技術(shù)人員的處理,所有圖片數(shù)據(jù)寬高分別為280 和32,每個(gè)圖片10個(gè)文本。
本文的識(shí)別模型為CRNN,骨干網(wǎng)絡(luò)是VGG16[11],訓(xùn)練輪次為5 000 次,批次大小為32,初始學(xué)習(xí)率為0.000 1,優(yōu)化方法為Adam[12](其中betas 為(0.9,0.999)),學(xué)習(xí)率下降方法為按步下降[21],每500 輪下降為上一輪的80%。為保證實(shí)驗(yàn)對(duì)比的公平性,在所有實(shí)驗(yàn)中采用相同的設(shè)置。
首先構(gòu)建基于VGG16 骨干網(wǎng)絡(luò)和BiLSTM 的CRNN 模型并進(jìn)行訓(xùn)練,在訓(xùn)練過(guò)程中分別使用3 種數(shù)據(jù)集加載方法計(jì)算模型識(shí)別準(zhǔn)確率和訓(xùn)練收斂速度,并進(jìn)行比較。實(shí)驗(yàn)設(shè)置如下:①CRNN 模型使用數(shù)據(jù)標(biāo)準(zhǔn)化填充0 的數(shù)據(jù)加載方式;②CRNN 模型[1]使用不填充的直接放縮數(shù)據(jù)加載方式;③PPOCR 模型[2]使用數(shù)據(jù)標(biāo)準(zhǔn)化填充0 的數(shù)據(jù)加載方式;④CRNN 模型使用近似背景填充的數(shù)據(jù)集加載方式。
本文每訓(xùn)練500輪記錄一次實(shí)驗(yàn)準(zhǔn)確率以進(jìn)行準(zhǔn)確率和收斂速度比較。實(shí)驗(yàn)結(jié)果如圖5所示。
在本文數(shù)據(jù)集上,如圖5(a)所示,使用背景填充的數(shù)據(jù)加載方式不論是訓(xùn)練準(zhǔn)確度還是收斂速度都快于使用0填充的數(shù)據(jù)加載方式以及不進(jìn)行填充的數(shù)據(jù)放縮加載方式。圖5 中訓(xùn)練輪數(shù)乘以10 是真實(shí)訓(xùn)練輪數(shù),準(zhǔn)確率是百分比。從圖5(a)中可知,基于背景填充的方法在5 000 輪之前就已達(dá)到收斂,其準(zhǔn)確率為85.89%,基于填充0 的數(shù)據(jù)加載方法的CRNN 模型在第8 000 輪之前收斂準(zhǔn)確率為84.22%,基于不填充直接放縮的CRNN 模型在10 000 輪之前收斂準(zhǔn)確率為83.15%。實(shí)驗(yàn)結(jié)果表明,均衡正負(fù)樣本后的數(shù)據(jù)加載方式不僅能夠更好地表現(xiàn)數(shù)據(jù)特征、有更高的準(zhǔn)確率,還能加快模型收斂速度。在百度360k 數(shù)據(jù)集上,如圖5(b)所示,所有設(shè)置與圖5(a)相同,表明使用本文數(shù)據(jù)加載方式準(zhǔn)確率高達(dá)99.37%,取得與PPOCR 極為相近的效果。但是,仍然比其他數(shù)據(jù)加載方式訓(xùn)練模型效果高,這表明在標(biāo)準(zhǔn)數(shù)據(jù)集上,面對(duì)大量清晰的文本圖片,本文模型仍然具有魯棒性。
本文設(shè)計(jì)的數(shù)據(jù)加載方式主要面向中文、模糊文本、復(fù)雜背景情況下的不定長(zhǎng)文本數(shù)據(jù)識(shí)別,以下實(shí)驗(yàn)結(jié)果是在收集的單據(jù)、合同數(shù)據(jù)集上進(jìn)行比較分析得到。
在證明近似背景填的數(shù)據(jù)加載方法均衡正負(fù)樣本后能夠提高模型識(shí)別準(zhǔn)確率后,正負(fù)樣本比例即填充背景后數(shù)據(jù)寬高比的選擇極為重要。本文選擇的是9(正負(fù)樣本比例為1∶1),為證明寬高比為9 時(shí)模型效果最佳,本文分別選擇寬高比為7、8、10、11、12 時(shí)的近似背景填充方法進(jìn)行比較。這里仍進(jìn)行5 000 次實(shí)驗(yàn),每500 次記錄一次準(zhǔn)確率。
如圖6 所示,寬高比為9 時(shí),正負(fù)樣本比例1∶1,此時(shí)最為均衡,實(shí)驗(yàn)效果最好,模型收斂速度也最快。寬高比為8和10 時(shí)識(shí)別準(zhǔn)確率分別達(dá)83.69%和83.57%,效果與寬高比為9 時(shí)最相近,寬高比再變大或者變小時(shí)準(zhǔn)確率效果相對(duì)較差。實(shí)驗(yàn)證明,正負(fù)樣本最為均衡時(shí)(寬高比為9)模型識(shí)別準(zhǔn)確率最高。因此,固定寬高比大小設(shè)置為9,正負(fù)樣本均衡為1∶1時(shí)在實(shí)驗(yàn)和理論上效果最好。
Fig.5 CRNN accuracy comparison圖5 CRNN準(zhǔn)確度對(duì)比
Fig.6 Approximate background filling effect under different aspect ratios圖6 不同寬高比下近似背景填充效果
設(shè)置不填充比例的原因有兩個(gè):①盡量保證初始的正樣本數(shù)量,減少因?yàn)榻铺畛鋷?lái)的數(shù)據(jù)誤差;②由于較小比例差距的放縮不會(huì)使文字發(fā)生明顯形變,并且這種放縮屬于現(xiàn)實(shí)中存在的正常文本樣式,也會(huì)使數(shù)據(jù)集包含更多的文字樣本。但是不同程度的不填充比例,會(huì)得到不同程度的放縮樣本,因此針對(duì)不同的數(shù)據(jù)集可能會(huì)有不同的效果,對(duì)于不同的寬高比、不同的不填充比例也會(huì)有影響。因此,本文針對(duì)復(fù)雜背景下的不定長(zhǎng)模糊文本數(shù)據(jù)進(jìn)行實(shí)驗(yàn),針對(duì)不同的不填充比例進(jìn)行比較,實(shí)驗(yàn)結(jié)果如圖7所示。
Fig.7 Comparison of the realization effects of different unfilled ratios圖7 不同不填充比例的實(shí)現(xiàn)效果比較
由于本文設(shè)定的寬高比為9,以上下比例范圍2 作為不填充比例,這里以不填充比例為7、7.2、7.5、8 的實(shí)驗(yàn)進(jìn)行比較。同樣地,訓(xùn)練5 000 輪,每500 輪記錄一次結(jié)果。如圖7 所示,在填充比例為7.8 時(shí)最快達(dá)到最高識(shí)別準(zhǔn)確率,在放縮比為7 時(shí)則效果最差,因?yàn)椴惶畛浔壤x固定寬高比越大,則識(shí)別準(zhǔn)確度越低。在7.2 和7.5 時(shí)效果最為接近,再繼續(xù)訓(xùn)練得到的結(jié)果與不填充比7.8 的實(shí)驗(yàn)結(jié)果極為相近。當(dāng)不填充比為8 時(shí)由于引入的原始數(shù)據(jù)量減少導(dǎo)致最后結(jié)果變差,因此本文針對(duì)收集的數(shù)據(jù)選取不填充比例在(7,8)之間,選定為7.8。
(1)近似背景填充有效性分析。本文設(shè)計(jì)的數(shù)據(jù)加載方式旨在解決模糊文本的識(shí)別問(wèn)題,因?yàn)槲谋鞠鄬?duì)模糊甚至于部分文本與背景像素值相近,若直接進(jìn)行黑邊和白邊的填充會(huì)導(dǎo)致網(wǎng)絡(luò)計(jì)算時(shí)特征計(jì)算不準(zhǔn)確,造成識(shí)別時(shí)出現(xiàn)誤識(shí)別和多識(shí)別的問(wèn)題。本文采用的近似背景填充方法是根據(jù)對(duì)數(shù)據(jù)的大量觀察、分析提出的設(shè)計(jì)思路,根據(jù)觀察發(fā)現(xiàn)文本圖像4 個(gè)角附近的背景信息最為明顯,因此在取到寬和高各為4 個(gè)像素點(diǎn)的左上邊緣區(qū)域時(shí),像素中值最大的一個(gè)像素點(diǎn)必定是真實(shí)背景中存在的像素點(diǎn)。將該像素點(diǎn)作為背景填充,在訓(xùn)練和推理時(shí)對(duì)圖片進(jìn)行放縮后進(jìn)入網(wǎng)絡(luò)模型計(jì)算,以此保證網(wǎng)絡(luò)分析每個(gè)像素點(diǎn)時(shí)不會(huì)因?yàn)樘畛?/255 等與文本像素值十分相近而與背景像素值相差較遠(yuǎn)的問(wèn)題導(dǎo)致誤識(shí)別和多識(shí)別問(wèn)題的發(fā)生。
(2)正負(fù)樣本比例設(shè)定有效性分析。本文從經(jīng)驗(yàn)和實(shí)際情況出發(fā),將正負(fù)樣本比例設(shè)定為近似1∶1。首先從經(jīng)驗(yàn)出發(fā),從表1 可以觀察到,在設(shè)定不同寬高比時(shí)正負(fù)樣本比例不同,圖3 利用實(shí)驗(yàn)證明,在設(shè)定寬高比為9,正負(fù)樣本比例近似1∶1 的情況下模型效果最好。從理論出發(fā),研究者們?cè)缙谶M(jìn)行圖像分類(lèi)時(shí)也會(huì)保證不同類(lèi)圖像的數(shù)量,從早期的貓狗數(shù)據(jù)集開(kāi)始,假設(shè)以狗為正樣本,貓為負(fù)樣本,則兩種圖像數(shù)據(jù)的比例為1∶1,再到ImageNet 等多類(lèi)數(shù)據(jù)集,都是保持各類(lèi)圖像數(shù)量相等。當(dāng)出現(xiàn)正負(fù)樣本不均衡時(shí),科學(xué)家們也會(huì)采用數(shù)據(jù)增強(qiáng)、采樣或較少數(shù)據(jù)的方式進(jìn)行樣本均衡。因此,本文樣本均衡設(shè)計(jì)也符合數(shù)據(jù)集收集和和處理的理論依據(jù)。
本文是在真實(shí)應(yīng)用的模型構(gòu)建中提出的數(shù)據(jù)加載方法,因此以真實(shí)場(chǎng)景下的單據(jù)合同識(shí)別作為依據(jù)。由于是手機(jī)拍照,因而數(shù)據(jù)仍然存在模糊問(wèn)題,目前已經(jīng)在測(cè)試環(huán)境下進(jìn)行測(cè)試。為驗(yàn)證3 種數(shù)據(jù)加載方式的計(jì)算效果,在測(cè)試環(huán)境下用SpringBoot 后端進(jìn)行字段識(shí)別準(zhǔn)確率統(tǒng)計(jì),根據(jù)識(shí)別的字段和糾錯(cuò)的字段計(jì)算出每張圖片的識(shí)別準(zhǔn)確率然后取均值,獲得一段時(shí)間內(nèi)的計(jì)算準(zhǔn)確率。
本文在測(cè)試環(huán)境下使用100張未參與訓(xùn)練的新單據(jù)和合同數(shù)據(jù)進(jìn)行測(cè)試,經(jīng)過(guò)系統(tǒng)取數(shù)發(fā)現(xiàn),使用直接放縮的數(shù)據(jù)加載方式獲得平均為86.78%的實(shí)際準(zhǔn)確率,使用0 填充的數(shù)據(jù)加載方式獲得平均為88.89%的實(shí)際準(zhǔn)確率,使用本文設(shè)計(jì)的近似背景填充的數(shù)據(jù)加載方式獲得平均為94.44%的實(shí)際準(zhǔn)確率。
通過(guò)實(shí)驗(yàn)比較發(fā)現(xiàn),在使用CRNN 識(shí)別復(fù)雜背景、模糊文本的不定長(zhǎng)數(shù)據(jù)集時(shí),可使用近似背景填充的方法提高識(shí)別準(zhǔn)確率并加快訓(xùn)練收斂速度。相較于對(duì)圖像數(shù)據(jù)標(biāo)準(zhǔn)化后填充0 或者直接放縮這兩種方式,本文取背景像素點(diǎn)進(jìn)行近似背景填充的方法效果要好。結(jié)合不填充比例的輔助計(jì)算,目前本文模型在自己收集的數(shù)據(jù)集上效果比其他數(shù)據(jù)加載方式要好,甚至優(yōu)于PPOCR 的效果,在百度360k 標(biāo)準(zhǔn)數(shù)據(jù)集上,也取得不遜于PPOCR 的效果。在面臨一些復(fù)雜的不定長(zhǎng)數(shù)據(jù)集訓(xùn)練時(shí),可以使用這種背景填充的數(shù)據(jù)加載方式以均衡正負(fù)樣本,從而提高識(shí)別準(zhǔn)確率并加快訓(xùn)練收斂速度。
目前,本文使用的數(shù)據(jù)加載方式只是在語(yǔ)義上下文無(wú)關(guān)方法的CRNN 模型上進(jìn)行實(shí)驗(yàn),之后將用于一些語(yǔ)義上下文相關(guān)關(guān)方法(如SRN)進(jìn)行實(shí)驗(yàn)。此外,針對(duì)OCR 系統(tǒng)優(yōu)化,將通過(guò)為模糊文本構(gòu)建高分辨率圖像的方式優(yōu)化數(shù)據(jù)集,并開(kāi)展模糊文本的進(jìn)一步特征提取工作。