999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

不定長數據中識別模糊文本的數據加載方法

2023-05-29 10:20:14苗小愛
軟件導刊 2023年5期
關鍵詞:背景文本效果

苗小愛

(青島酒店管理職業技術學院,山東 青島 266100)

0 引言

隨著CRNN[1]的誕生,文本識別相關應用越來越多,當前很多研究者在CRNN 模型基礎上,針對損失函數[14]、學習率下降方法[15]、數據加載方法[16],以及骨干網絡[17]選擇、優化[18]方法選擇等做了很多調整,模型效果不斷變好。但是在處理特定場景下的數據集時,由于無法使用固定寬、高的圖像數據進行訓練,訓練數據量有限且圖片中需要識別的文本過于模糊,背景也復雜多樣(見圖1),因此常常無法通過改變骨干網絡、損失函數和優化方法以有效提高CRNN 識別準確率。

復雜背景下模糊文本圖片實例如圖1 所示,圖1(a)和圖1(b)有3 個字,圖1(c)有4 個字(在現實數據集中數據文字數量從1 到15 不等),而且“收貨方”文本被印章覆蓋,“合同號”文本缺少筆畫,“存貨名稱”則十分模糊,數據集中圖片的寬高比從1~12(經處理后)不等。因此,為得到更好的訓練效果和模型,需修改數據集加載部分。

圖2 是在背景填充后作灰度化處理后進行放縮的效果,可以看出,使用近似背景填充幾乎分辨不出填充部分。圖3 是進行補0 的填充放縮操作,可以發現,填充部分像素值與文本相近,與背景相差較大。圖4 是直接放縮效果,可以看出,放縮后的圖片文本變形,不利于訓練計算。由此可知,圖2(本文提出的數據加載方法)模型計算最好。

Fig.1 Example of blurred text picture under complex background圖1 復雜背景下模糊文本圖片實例

Fig.2 Scaled rendering of grayscale after approximate background filling圖2 近似背景填充后灰度化放縮效果

Fig.3 Scaled rendering of grayscale after filling with 0圖3 補0填充后灰度化放縮效果

Fig.4 Directly zoom the rendering after grayscale圖4 灰度化后直接放縮效果

基于CRNN 的模型經常使用兩種常見的數據加載方法:①直接對圖片進行指定比例的放縮,依靠骨干網絡強大的擬合能力映射到指定文本,但是由于同一文本在不同維度下放縮后的圖像發生形變,模型最終效果相對較差;②將圖片進行減均值的標準化操作后填充0,使圖片在相同的放縮比例下進行操作,這樣訓練時模型會將填充部分作為負樣本,但是填充的數據十分突兀,對負樣本的像素值十分接近需要時的文本,導致部分負樣本向正樣本傾斜。這種填充方式在文本文數據大小相差不是很大時效果很好,但數據相差較大時就會產生較差的效果。在本文數據中,由于短文本過多,且一些合同中協議部分文本較長,需訓練一個可以識別長文本又能很好處理短文本的模型。因此,本文在數據加載過程中進行修改如下:

修改加載數據的放縮比例,平衡正負樣本。對短樣本使用近似背景填充后放縮到指定寬高比例,對接近指定寬高比(設置超參數進行指定)的樣本進行放縮時不進行背景填充。在進行推理時,直接進行識別便可以得到很好的效果。最后,通過實驗對比發現,本文設計的數據加載方法相比常用的數據加載方法有更高的識別準確率和更快的訓練收斂速度。

本文主要貢獻有兩個:①通過構建近似背景填充的方式進行數據加載,提高模型識別準確率并提高訓練收斂速度;②設定不填充比例加強文本圖像的多樣性(還原真實場景下的文本形狀變化)以輔助模型識別準確率提升。

1 國內外研究現狀

目前,國內文本識別領域中效果最好、速度最快的是百度的PPOCR[2]項目,通過閱讀PPOCRv2 的源碼發現它在數據加載時默認使用將圖片進行標準化后填充0 的數據加載方式。目前,文本識別方法主要分為兩種類型。一種是語義上下文無關方法,其中以CRNN 最為典型,它是結合CNN 和RNN 的網絡主體,用CTC[3]解碼器計算損失構建的文本識別模型。Xie 等[4]提出匯聚交叉熵(aggregation crosentropy,ACE)損失,優化了每個字符在時間維度上的統計頻率,提高了識別效率。另一種是上下文感知方法,主要有效果突出的SRN[13]模型,該模型利用并行Transformer[5]和CNN 結合的方式作為主體,使用FPN[6]進一步提取特征,在兼顧檢測速度的同時獲得很好的識別效果。ASTER[7]同樣針對Attention 模型進行優化,并提高了模型識別效果。上述模型在進行研究和建模過程中均會廣泛使用到標準化后填充0 的數據加載方式或者直接放縮的數據加載方式。在處理模糊文本時,直接使用現有的模型和產品效果均不佳,因此本文提出針對模糊文本、復雜背景的近似背景填充數據加載方法。

OCR 識別主要包括文本檢測和文本識別。在檢測出文本行或文本區域后截取文本區域數據,識別文本特征,進而識別出文本內容。目前流行的檢測模型有DBNet[8]、PAN[9]、craft[10]等,檢測出的文本一般有傾斜或者彎曲等多種形態。針對本文場景,主要檢測單據文本,并識別文本行數據,但由于低像素值的問題導致文本識別難度變大。因此,本文設計一種更好的數據加載方式,在均衡正負樣本的同時,能夠突出有效的文本數據,從而極大減小文本檢測難度,提高文本檢測準確率。

2 算法設計

2.1 正負樣本均衡

在構建近似背景填充時,首先計算在不同寬高比時正、負樣本的比例。因現實場景中存在長文本,模型的輸出大小不能太小,故選取了寬高比為4~12 比例范圍。本文數據集中數據的正負樣本占比如表1所示。

Table 1 Proportion of positive samples表1 正樣本占比

正負樣本占比是正樣本(文本所在部分)占據圖像的比例,負樣本(無文本部分)占據圖像的比例。由表1 可知,在寬高比為9 時,數據集的正、負比例分布最為均勻,近似為1∶1,因此固定放縮的寬高比例為9。此外,為證明正負樣本均衡能使識別模型取得更好的效果,在下文進行實驗對比(結果見圖6)。

2.2 不填充比例設置

不填充比例設置是指當某些圖像原始的寬高比在指定寬高比(本文為9)附近時,將圖片直接放縮到指定的寬高比不會影響圖中文字的質量,使圖像中文本明顯變形,避免相同文本特征大小不同而出現偏差的問題。因此,這部分數據可以直接進行放縮以豐富正樣本空間,進而加強特征提取。

通過觀察不同指定寬高比下,圖片放縮不會影響文本質量,選取合適的不填充比例。經過實驗表明,當指定寬高比為9 時,原始寬高比為7、8、11、12 的圖片放縮到9 之后都不會產生肉眼可見的變形,經計算得出,選擇向下不填充比例為7.8,向上不填充比例為11。

為證明設置不填充比例效果,本文在直接放縮對比實驗的基礎上,添加向下不填充比例為7、7.2、7.5、8 的對比實驗以證明本文指定的不填充比例效果。根據數據的獨特性,在指定寬高比減一到指定寬高比減二之間進行選擇,若數據指定寬高比較大,則可適當擴大不填充比例設置范圍。

2.3 近似背景填充

采用近似背景填充是為避免使用一個突兀的背景填充圖像。雖然用一個全0 或全255 的像素值進行背景填充能達到構建負樣本的目的,但會產生兩個問題:①樣本本身會存在少量負樣本,若使用統一為0/255 進行填充則會在計算時忽略真實負樣本的特征;②由于文本本身背景與負樣本是近似或相同,若全為0/255 填充背景則會導致文本背景分離效果差。

針對上述問題,本文構建一個近似背景填充的方法,步驟如下:①將原圖像按照指定高度,原始寬高比放縮;②獲取當前圖片中前16 個像素(從左上角開始)組成的正方形區域中像素值最大的像素(所需檢測的文本顏色較深,像素值較小,因而取最大值為背景填充);③計算放縮后圖片的寬度與指定寬度的差,當原始圖片寬度小于指定寬度時則進行背景填充,將步驟②獲取到的像素填充到指定寬度。算法設計如下:

算法1 近似背景填充

其中,r表示指定寬高比,selectFromTop16 表示從前16個像素的正方形區域中獲取填充像素值,max 表示獲取最大的像素值,resize 表示對圖片進行放縮,filling 表示對圖片使用指定像素值進行填充。將在下文實驗證明,本文設計的近似背景填充收斂速度更快、識別準確率更高。

2.4 模型構建

設計好數據加載方法后,構建識別模型進行效果驗證。本文實驗選用CRNN 模型,識別準確率和訓練收斂速度都在CRNN 模型上通過對比分析得到。本文沒有使用較為復雜的ResNet18[19]或更復雜的ResNet31、ResNet50 等骨干網絡,使用CRNN 原文中建議的VGG16[11]。VGG16網絡結構層數較少、復雜度較低、訓練較快,便于實驗對比。模型設計步驟如下:

(1)構建配置文件。配置所使用的骨干網絡層,指定模型使用的寬和高,指定數據加載方式,配置學習率以及學習率的調整方法,指定優化函數對損失函數進行優化,最后配置超參數。

(2)數據處理與加載。數據處理與加載是模型計算之前的必要步驟,由于收集到的數據不規范且不利于模型計算,因此需要進行一定的圖像處理后再將其加載到內存中進行計算。首先將數據進行指定比例的放縮,這里采用本文提出的近似背景填充方法;然后對圖像進行減均值和除以255 的操作,將圖形標準化到一定范圍內,便于網絡計算;最后根據文本圖像特點進行灰度化處理,將處理后的數據加載到計算機內存中。

(3)模型設計。構建好配置文件并做好數據處理與加載之后,對模型進行設計,用設計出的模型對數據進行計算,訓練出能夠進行文本識別的模型參數,CRNN 模型的主要架構包括VGG16 和BiLSTM[20]。VGG16 是一個16 層的CNN 網絡模型,能夠提取深度圖像特征映射,對圖像中的文本進行有效的向量表示,然后根據文本的語言特征使用循環神經網絡中的BiLSTM 進行下一步計算。本文構建了一個兩層的BiLSTM,根據文本的時序特征預測每一個文本字符。

(4)CTCLoss 損失。由于本文使用的數據是一個不定長的圖像文本數據集,因此需要在計算過程中對文本進行自動對齊,以防止識別出的文本出現多一個字符或少一個字符的情況,CTC 算法采用動態規劃方法對文本圖像進行有效的對齊操作。計算出的CTCLoss 就是文本識別的損失,得到損失函數后使用Adam 算法進行梯度下降以優化權重矩陣[12]。

在訓練過程中根據超參數中的批次大小加載數據,執行上述步驟(1)—步驟(4),在指定的epochs 內進行一次又一次的網絡訓練,并在訓練中保存最優結果,算法設計如下:

算法2模型構建算法

Model_Weight 是最終計算的模型參數,也稱為文本識別模型,ABF 表示算法1,即近似背景填充算法,means表示圖象均值,dataLoader 表示數據加載器,images.next()表示獲取下一個批次的圖像數據。

3 實驗比較

將本文的近似背景填充方法與填充0 的方法以及不填充只放縮的方法進行比較,評價標準是校驗準確率和訓練收斂速度。在數據集上保證相同的實驗設置,通過實驗證明了本文所設計方法的有效性。

3.1 數據集

本文使用的數據集有兩種:①自行收集的單據數據,由于數據未經過其他形式的清洗,因而存在清晰模糊數據并存、背景復雜多樣、像素值跨度大等問題,使得收集的樣本數據十分復雜;②百度收集并處理的360k 數據集,數據樣式多,但數據樣式規整。本文針對中文數據進行建模,主要收集中文文本數據集。

本文收集拍照的單據、pdf 合同圖像數據,pdf 樣式的合同易于計算分析,文字為黑色、背景為白色,特征明顯,易于區分。主要分析單據數據,按照背景劃分為3 種:①如圖1(c)所示模糊的灰色背景;②如圖1(a)所示藍色的存單;③如圖1(b)所示帶有紅印覆蓋的單據。此外,如圖1(a)約100 份單據中幾乎每張單據都會存在文本部分缺失的情況,如圖1(b)約100 多張單據中部分文本會被紅蓋住影響識別。剩余100 余張數據中都是文字模糊與背景像素接近的情況,在這類數據中也存在部分文本清晰的圖像數據。由于已經訓練好文本檢測模型,因此使用設計好的文本檢測模型截取數據集。在收集好數據集之后,將數據按照80%的訓練集和20%的測試集進行劃分。最后訓練集有文本圖片2 176 張,測試集有480 張,在百度360k 的預訓練模型上進行微調。

本文針對手機拍照上傳的模糊圖像(尤其像素較低的手機),因此數據場景有限,但是為證明模型在標準數據集上的有效性,本文還使用了百度整理的360k 中文數據集進行實驗分析。其訓練數據集有80%,測試數據集有20%,都是從各種書本上截取的文本數據,經過百度技術人員的處理,所有圖片數據寬高分別為280 和32,每個圖片10個文本。

3.2 實驗設置

本文的識別模型為CRNN,骨干網絡是VGG16[11],訓練輪次為5 000 次,批次大小為32,初始學習率為0.000 1,優化方法為Adam[12](其中betas 為(0.9,0.999)),學習率下降方法為按步下降[21],每500 輪下降為上一輪的80%。為保證實驗對比的公平性,在所有實驗中采用相同的設置。

3.3 實驗結果與比較

首先構建基于VGG16 骨干網絡和BiLSTM 的CRNN 模型并進行訓練,在訓練過程中分別使用3 種數據集加載方法計算模型識別準確率和訓練收斂速度,并進行比較。實驗設置如下:①CRNN 模型使用數據標準化填充0 的數據加載方式;②CRNN 模型[1]使用不填充的直接放縮數據加載方式;③PPOCR 模型[2]使用數據標準化填充0 的數據加載方式;④CRNN 模型使用近似背景填充的數據集加載方式。

本文每訓練500輪記錄一次實驗準確率以進行準確率和收斂速度比較。實驗結果如圖5所示。

在本文數據集上,如圖5(a)所示,使用背景填充的數據加載方式不論是訓練準確度還是收斂速度都快于使用0填充的數據加載方式以及不進行填充的數據放縮加載方式。圖5 中訓練輪數乘以10 是真實訓練輪數,準確率是百分比。從圖5(a)中可知,基于背景填充的方法在5 000 輪之前就已達到收斂,其準確率為85.89%,基于填充0 的數據加載方法的CRNN 模型在第8 000 輪之前收斂準確率為84.22%,基于不填充直接放縮的CRNN 模型在10 000 輪之前收斂準確率為83.15%。實驗結果表明,均衡正負樣本后的數據加載方式不僅能夠更好地表現數據特征、有更高的準確率,還能加快模型收斂速度。在百度360k 數據集上,如圖5(b)所示,所有設置與圖5(a)相同,表明使用本文數據加載方式準確率高達99.37%,取得與PPOCR 極為相近的效果。但是,仍然比其他數據加載方式訓練模型效果高,這表明在標準數據集上,面對大量清晰的文本圖片,本文模型仍然具有魯棒性。

3.4 不同正負樣本比例效果比較

本文設計的數據加載方式主要面向中文、模糊文本、復雜背景情況下的不定長文本數據識別,以下實驗結果是在收集的單據、合同數據集上進行比較分析得到。

在證明近似背景填的數據加載方法均衡正負樣本后能夠提高模型識別準確率后,正負樣本比例即填充背景后數據寬高比的選擇極為重要。本文選擇的是9(正負樣本比例為1∶1),為證明寬高比為9 時模型效果最佳,本文分別選擇寬高比為7、8、10、11、12 時的近似背景填充方法進行比較。這里仍進行5 000 次實驗,每500 次記錄一次準確率。

如圖6 所示,寬高比為9 時,正負樣本比例1∶1,此時最為均衡,實驗效果最好,模型收斂速度也最快。寬高比為8和10 時識別準確率分別達83.69%和83.57%,效果與寬高比為9 時最相近,寬高比再變大或者變小時準確率效果相對較差。實驗證明,正負樣本最為均衡時(寬高比為9)模型識別準確率最高。因此,固定寬高比大小設置為9,正負樣本均衡為1∶1時在實驗和理論上效果最好。

3.5 不填充比例效果比較

Fig.5 CRNN accuracy comparison圖5 CRNN準確度對比

Fig.6 Approximate background filling effect under different aspect ratios圖6 不同寬高比下近似背景填充效果

設置不填充比例的原因有兩個:①盡量保證初始的正樣本數量,減少因為近似填充帶來的數據誤差;②由于較小比例差距的放縮不會使文字發生明顯形變,并且這種放縮屬于現實中存在的正常文本樣式,也會使數據集包含更多的文字樣本。但是不同程度的不填充比例,會得到不同程度的放縮樣本,因此針對不同的數據集可能會有不同的效果,對于不同的寬高比、不同的不填充比例也會有影響。因此,本文針對復雜背景下的不定長模糊文本數據進行實驗,針對不同的不填充比例進行比較,實驗結果如圖7所示。

Fig.7 Comparison of the realization effects of different unfilled ratios圖7 不同不填充比例的實現效果比較

由于本文設定的寬高比為9,以上下比例范圍2 作為不填充比例,這里以不填充比例為7、7.2、7.5、8 的實驗進行比較。同樣地,訓練5 000 輪,每500 輪記錄一次結果。如圖7 所示,在填充比例為7.8 時最快達到最高識別準確率,在放縮比為7 時則效果最差,因為不填充比例離固定寬高比越大,則識別準確度越低。在7.2 和7.5 時效果最為接近,再繼續訓練得到的結果與不填充比7.8 的實驗結果極為相近。當不填充比為8 時由于引入的原始數據量減少導致最后結果變差,因此本文針對收集的數據選取不填充比例在(7,8)之間,選定為7.8。

3.6 有效性分析

(1)近似背景填充有效性分析。本文設計的數據加載方式旨在解決模糊文本的識別問題,因為文本相對模糊甚至于部分文本與背景像素值相近,若直接進行黑邊和白邊的填充會導致網絡計算時特征計算不準確,造成識別時出現誤識別和多識別的問題。本文采用的近似背景填充方法是根據對數據的大量觀察、分析提出的設計思路,根據觀察發現文本圖像4 個角附近的背景信息最為明顯,因此在取到寬和高各為4 個像素點的左上邊緣區域時,像素中值最大的一個像素點必定是真實背景中存在的像素點。將該像素點作為背景填充,在訓練和推理時對圖片進行放縮后進入網絡模型計算,以此保證網絡分析每個像素點時不會因為填充0/255 等與文本像素值十分相近而與背景像素值相差較遠的問題導致誤識別和多識別問題的發生。

(2)正負樣本比例設定有效性分析。本文從經驗和實際情況出發,將正負樣本比例設定為近似1∶1。首先從經驗出發,從表1 可以觀察到,在設定不同寬高比時正負樣本比例不同,圖3 利用實驗證明,在設定寬高比為9,正負樣本比例近似1∶1 的情況下模型效果最好。從理論出發,研究者們早期進行圖像分類時也會保證不同類圖像的數量,從早期的貓狗數據集開始,假設以狗為正樣本,貓為負樣本,則兩種圖像數據的比例為1∶1,再到ImageNet 等多類數據集,都是保持各類圖像數量相等。當出現正負樣本不均衡時,科學家們也會采用數據增強、采樣或較少數據的方式進行樣本均衡。因此,本文樣本均衡設計也符合數據集收集和和處理的理論依據。

3.7 模型實際使用效果分析

本文是在真實應用的模型構建中提出的數據加載方法,因此以真實場景下的單據合同識別作為依據。由于是手機拍照,因而數據仍然存在模糊問題,目前已經在測試環境下進行測試。為驗證3 種數據加載方式的計算效果,在測試環境下用SpringBoot 后端進行字段識別準確率統計,根據識別的字段和糾錯的字段計算出每張圖片的識別準確率然后取均值,獲得一段時間內的計算準確率。

本文在測試環境下使用100張未參與訓練的新單據和合同數據進行測試,經過系統取數發現,使用直接放縮的數據加載方式獲得平均為86.78%的實際準確率,使用0 填充的數據加載方式獲得平均為88.89%的實際準確率,使用本文設計的近似背景填充的數據加載方式獲得平均為94.44%的實際準確率。

4 結語

通過實驗比較發現,在使用CRNN 識別復雜背景、模糊文本的不定長數據集時,可使用近似背景填充的方法提高識別準確率并加快訓練收斂速度。相較于對圖像數據標準化后填充0 或者直接放縮這兩種方式,本文取背景像素點進行近似背景填充的方法效果要好。結合不填充比例的輔助計算,目前本文模型在自己收集的數據集上效果比其他數據加載方式要好,甚至優于PPOCR 的效果,在百度360k 標準數據集上,也取得不遜于PPOCR 的效果。在面臨一些復雜的不定長數據集訓練時,可以使用這種背景填充的數據加載方式以均衡正負樣本,從而提高識別準確率并加快訓練收斂速度。

目前,本文使用的數據加載方式只是在語義上下文無關方法的CRNN 模型上進行實驗,之后將用于一些語義上下文相關關方法(如SRN)進行實驗。此外,針對OCR 系統優化,將通過為模糊文本構建高分辨率圖像的方式優化數據集,并開展模糊文本的進一步特征提取工作。

猜你喜歡
背景文本效果
“新四化”背景下汽車NVH的發展趨勢
按摩效果確有理論依據
《論持久戰》的寫作背景
當代陜西(2020年14期)2021-01-08 09:30:42
在808DA上文本顯示的改善
迅速制造慢門虛化效果
基于doc2vec和TF-IDF的相似文本識別
電子制作(2018年18期)2018-11-14 01:48:06
抓住“瞬間性”效果
中華詩詞(2018年11期)2018-03-26 06:41:34
晚清外語翻譯人才培養的背景
模擬百種唇妝效果
Coco薇(2016年8期)2016-10-09 02:11:50
文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學隱喻
主站蜘蛛池模板: 欲色天天综合网| 国产精品免费露脸视频| 无码AV动漫| 无码又爽又刺激的高潮视频| 日韩欧美国产三级| 精品成人一区二区| 在线免费观看a视频| 欧美国产在线精品17p| 狠狠综合久久久久综| 成年人国产视频| 久久免费视频6| 国内视频精品| 熟女日韩精品2区| 免费一看一级毛片| 亚洲国产天堂在线观看| 永久天堂网Av| 日韩毛片基地| 午夜啪啪网| 国产91av在线| 精品一区国产精品| 全部免费特黄特色大片视频| 色哟哟精品无码网站在线播放视频| 亚洲欧美精品日韩欧美| 激情在线网| 亚洲第一页在线观看| 国产成人区在线观看视频| 成人欧美日韩| 久久这里只有精品2| 亚洲专区一区二区在线观看| 午夜欧美理论2019理论| 久久黄色影院| 2020国产免费久久精品99| 亚洲综合中文字幕国产精品欧美| 亚洲天堂免费| 欧美日本视频在线观看| 999精品色在线观看| 伊人久久大香线蕉综合影视| 国产成人精品一区二区免费看京| 在线免费不卡视频| 国产亚洲欧美在线人成aaaa| 久久精品电影| 99re热精品视频中文字幕不卡| 九色国产在线| 中国丰满人妻无码束缚啪啪| 日韩麻豆小视频| 91麻豆久久久| 高潮爽到爆的喷水女主播视频 | 日韩少妇激情一区二区| 欧美亚洲另类在线观看| 69免费在线视频| 无码免费的亚洲视频| 91视频免费观看网站| 99热国产这里只有精品9九| 精品国产一区二区三区在线观看| 国产乱人激情H在线观看| 国产成人AV男人的天堂| 亚洲熟女偷拍| 爱做久久久久久| 青青草国产免费国产| 老色鬼欧美精品| 日本精品视频| 久久国产毛片| WWW丫丫国产成人精品| 99re热精品视频中文字幕不卡| 久久久久久尹人网香蕉| 国产在线观看一区精品| 欧美高清三区| 日本成人不卡视频| 日韩欧美国产综合| 日韩黄色精品| 亚洲欧美不卡| 伊人久久综在合线亚洲2019| 精品国产香蕉在线播出| 日本午夜影院| 5555国产在线观看| 日韩少妇激情一区二区| 9丨情侣偷在线精品国产| 中文字幕在线欧美| 黄色一及毛片| 午夜性刺激在线观看免费| 69精品在线观看| 成年免费在线观看|