国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于卷積神經(jīng)網(wǎng)絡和Transformer的手寫體英文文本識別

2022-08-24 06:30張顯杰張之明
計算機應用 2022年8期
關鍵詞:解碼器編碼器精度

張顯杰,張之明

(1.武警工程大學信息工程學院,西安 710086;2.武警工程大學研究生大隊,西安 710086)

0 引言

離線手寫體文本識別(Offline Handwritten Text Recognition,OHTR)一直是計算機視覺和模式識別的主要研究內(nèi)容之一[1]。不同于聯(lián)機手寫體文本識別可以記錄書寫人的軌跡,OHTR 由于不同的人書寫的風格不同以及文本的結構越來越復雜等原因,仍然是一個具有挑戰(zhàn)性的難題[2]。早期的OHTR 主要是基于分割的手寫體文本識別[3-4],該類方法將圖像分割成像素級的小部分,再使用分類的方法給每一個部分歸類,由于分割的不確定性,此類方法識別的精度較低;另一種主流的方法是基于隱馬爾可夫模型(Hidden Markov Model,HMM)的無分割的手寫體文本識別[5-6],該類方法將圖像作為整體輸入到模型中,能避免出現(xiàn)圖像分割產(chǎn)生的問題。

隨著深度學習技術的飛速發(fā)展,基于循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Network,RNN)和卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)的無分割手寫體識別模型[7-10]不斷被提出。Vaswani 等[11]提出了基于全局自注意力的Transformer,該模型放棄了循環(huán)連接的長短時記憶(Long Short-Term Memory,LSTM)網(wǎng)絡,已經(jīng)廣泛應用于自然語言處理和計算機視覺領域[12-14]。

受此啟發(fā),本文提出了基于CNN 和Transformer 的手寫體英文文本識別模型。主要工作有以下幾點:

1)將CNN 和Transformer 編碼器結合,提出了無分割的手寫體英文文本識別模型;

2)使用鏈接時序分類(Connectionist Temporal Classification,CTC)貪心搜索算法解碼,解決輸入序列和標簽的對齊問題。

1 相關工作

1.1 CNN

CNN 已經(jīng)成為深度學習時代的主干架構,廣泛應用于圖像分類[15]、目標檢測[16-17]、實例分割[18-19]。然而,大多數(shù)CNN擅長利用卷積操作捕捉局部信息[20-25],但不擅長捕捉全局信息,比如對于手寫體文本識別比較重要的長序列依賴關系。為了使CNN 能夠捕捉到全局信息,一種方法是通過卷積層的堆疊,使網(wǎng)絡模型變得更深[21-23],而這往往導致模型的參數(shù)量急劇增加;另一種方法是增大卷積核的尺寸,擴大卷積操作的感受野,這需要更多具有破壞性的池化操作[26-27]。雖然使用以上兩種方法確實提高了CNN 的性能,但直接使用全局依賴關系的機制可能更適用于手寫體文本識別任務。

1.2 Transformer

基于全局自注意力機制的Transformer 在許多序列模式識別任務中取得了不錯的效果,比如機器翻譯[28]、語音識別[29]。Kang 等[30]首次將Transformer 的自注意力機制應用于手寫體文本識別,提出了沒有循環(huán)網(wǎng)絡的識別模型,解決了循環(huán)網(wǎng)絡不能并行的問題,并且在字符級別上預測手寫體文本。Mostafa 等[31]構建了自己的數(shù)據(jù)集,應用Transformer 編碼器和解碼器,結合頁面分割和文本分割技術用于手寫體阿拉伯文識別。Ly 等[32]將Transformer 編碼器與雙向長短時記憶(Bidirectional LSTM,BLSTM)網(wǎng)絡結合,提出了注意力增強的卷積循環(huán)網(wǎng)絡,在手寫體日語文本識別中表現(xiàn)優(yōu)異。雖然Transformer 在計算機視覺領域發(fā)展迅速,但在手寫體文本識別中還有很大的發(fā)展空間。

1.3 CTC

目前,CTC 解碼方法是無分割手寫體文本識別任務常用的一種解碼方法,Graves 等[33-34]最早將CTC 和BLSTM 結合用于端到端手寫體文本識別。之后,Chen 等[35]提出將門控卷積網(wǎng)絡和可分離的多維長短時記憶(Multi-Dimensional LSTM,MDLSTM)網(wǎng)絡結合,同時訓練筆跡識別和文本識別,使用CTC 處理文本識別輸入和標簽序列對齊問題。Zhan等[36]提出將帶有殘差連接[23]的CNN 和BLSTM 結合,用CTC計算損失和解碼?;贑TC 模型,Krishnan 等[37]提出了一種端到端的嵌入方案,聯(lián)合學習文本和圖像的嵌入。

在手寫體英文文本識別任務中使用CTC 解碼器能夠取得一定的效果,但CTC 解碼器假設不同時刻的網(wǎng)絡輸出是條件獨立的[33],存在忽略全局信息的不足,而Transformer 基于全局自注意力機制能夠有效地捕捉到全局信息。因此,本文利用Transformer 捕捉全局信息的優(yōu)點彌補CNN 難以捕捉全局信息和CTC 忽略全局信息的不足,探索Transformer 在手寫體英文文本識別中的應用前景。

2 CNN-Transformer Network

2.1 總體架構

本文提出的基于CNN 和Transformer 的手寫體英文文本識別模型CTN(CNN-Transformer Network)如圖1 所示,主要包含三個部分:CNN 特征提取層、Transformer 編碼器、CTC 解碼器。輸入灰度圖像I∈RH*W*1,經(jīng)過CNN 提取到特征圖,而后將特征圖F輸入Transformer 編碼器得到特征序列每一幀的預測Y=[y1,y2,…yT],yT∈RL,其中:T是序列長度,L是標簽字符種類的個數(shù)(含空白字符)。最后經(jīng)過CTC 解碼器獲取最終的預測結果。

圖1 CTN總體架構Fig.1 Overall architecture of CTN

2.2 CNN特征提取層

由于Transformer 缺少CNN 固有的一些歸納偏置[12],即對模型作出的一系列人為限制,同時對訓練數(shù)據(jù)集需求較高,因此本文使用CNN 作以彌補,使模型能夠在一般的數(shù)據(jù)集上具有泛化性。

本文使用帶有壓縮激勵(Squeeze-and-Excitation,SE)塊的SE-ResNet-50[27]作為特征提取層,SE 塊結構如圖2,特征圖X經(jīng)過壓縮函數(shù)Fsq(·)得到關于通道的統(tǒng)計信息Z,隨后經(jīng)過激勵函數(shù)Fex(·,We)獲取通道的相關性S,最后經(jīng)過縮放函數(shù)Fscale(·,·)得到新的特征圖。計算公式如下:

圖2 SE塊Fig.2 SE block

SE 塊讓特征圖通過一些網(wǎng)絡層得出每個通道的“權重”,再和原特征圖進行運算,對通道增加了注意力機制。

2.3 Transformer編碼器

Transformer 編碼器由一個多頭注意力(Multi-Head Attention,MHA)和一個多層感知器(Mult-iLayer Perceptron,MLP)兩個子層組成[11],每個子層前使用層標準化(Layer Normalization,LN)[38],每個子層后使用殘差連接[23],如圖3(a)所示。

為了減少運算量,文獻[14]提出了線性的空間縮減注意力(Liner Spatial Reduction Attention,LSRA),如圖3(b)。和MHA 類似,LSRA 也是接收查詢Q、鍵K、值V作為輸入,計算公式如下:

圖3 Transformer編碼器和LSRAFig.3 Transformer encoder and LSRA

其中:Ni表示的是第i個階段注意力頭的數(shù)量;表示第j個頭與輸入對應的權重矩陣;WO表示線性層的權重矩陣;Avg(·)表示的是平均池化,目的是減少參數(shù)運算量。和文獻[11]一樣,Attention(·)注意力計算如下:

多頭注意力經(jīng)過Ni次計算,將所有頭的結果拼接到一起,再經(jīng)過一個線性層獲得LSRA 的輸出結果。

對于輸入特征Fin,帶有LSRA 的Transformer 編碼器計算過程如下:

由于Wang 等[13]提出的金字塔視覺Transformer(Pyramid Vision Transformer,PVT)大幅減少了模型的計算量和內(nèi)存消耗,并且能很好適用于下游任務,本文在Wang 等[14]提出的PVTv2 上作以改良,用于建立圖像內(nèi)部的上下文關系,整體結構如圖4 所示。

圖4 改良的PVTv2整體架構Fig.4 Overall architecture of improved PVTv2

PVTv2 共有4 個相似的階段,每個階段都包含一個塊嵌入層(Patch Embedding)和多個Transformer 編碼器,CNN 獲取的特征圖經(jīng)過嵌入層后輸入到Transformer 編碼器中。PVTv2 在第i個階段開始都會把特征圖平均分成份,分辨率降為原來的,每個階段輸出的結果都會重塑(Reshape)成特征圖,再輸入到下一個階段,從而降低圖像的分辨率。為了產(chǎn)生寬度較大的特征圖,本文對特征圖的劃分與PVTv2不同,經(jīng)過Transformer 后,特征圖的高H依次降為,寬W依次降為

2.4 CTC解碼器

Transformer 編碼器輸出的特征序列每一幀的預測,輸入到CTC 解碼器中得到最后的預測結果。實驗結果表明,使用CTC 束搜索算法解碼和使用貪心搜索算法解碼精度相差不到0.1%,但束搜索算法(束大小設置為10)解碼時間是貪心搜索算法的3 倍左右,因此,在實驗時,本文使用CTC 的貪心搜索算法解碼。

3 實驗與結果分析

3.1 數(shù)據(jù)集

實驗所用數(shù)據(jù)集是公開的IAM(Institut für Angewandte Mathematik)手寫英文單詞數(shù)據(jù)集[39],包含由675 個作者手寫的115 320 個單詞以及對應的標簽,由字母、數(shù)字以及特殊符號組成。由于原始數(shù)據(jù)部分單詞分割錯誤,本文在實驗前對原始數(shù)據(jù)進行了篩選,去掉了錯誤分割的圖像、純標點符號的圖像以及兩張損壞的圖像和一張標簽錯誤的圖像,得到實驗圖像數(shù)據(jù)共84 976 張,按照8∶1∶1 劃分為67 919 張訓練集圖像、8 461 張驗證集圖像和8 596 張測試集圖像。圖5 是實驗中使用的數(shù)據(jù)集和標簽示例。

圖5 實驗數(shù)據(jù)集和標簽示例Fig.5 Examples of experimental dataset and labels

3.2 評價標準

為了量化實驗的結果,使用標準的字符錯誤率(Character Error Rate,CER)和單詞錯誤率(Word Error Rate,WER)評估模型。預測的單詞轉(zhuǎn)換為標簽,需要替換的字符個數(shù)記為SC,需要插入的字符個數(shù)記為IC,需要刪除的字符個數(shù)記為DC:

其中:LC表示單詞標簽中字符的總個數(shù)。最后求取所有單詞CER 的算術平均數(shù)。同理,

其中:SW表示預測的字符串轉(zhuǎn)換為標簽需要替換的單詞個數(shù);IW表示需要插入的單詞個數(shù);DW表示需要刪除的單詞個數(shù);LW表示字符串標簽中單詞的總個數(shù)。最后求取所有字符串WER 的算術平均數(shù)。

3.3 實驗細節(jié)

3.3.1 實驗設置

在CNN 特征提取層,選擇3.4.1 節(jié)消融研究的最優(yōu)結果作為基準,Transformer 編碼器的參數(shù)在遵循文獻[14]的B2-Li 的基礎上,對特征圖的劃分份數(shù)作以修改,CTC 解碼器采用貪心搜索算法。輸入圖像為灰度圖,尺寸統(tǒng)一縮放到128 × 384,預測序列長度為24,標簽字符種類個數(shù)(含空白符)為72,使用CTC 損失函數(shù),優(yōu)化器使用均方根傳遞(Root Mean Square prop,RMSprop),共訓練100 個循環(huán)次數(shù)。實驗操作系統(tǒng)為ubuntu18.04,GPU 型號為GTX1080Ti,CUDA(Compute Unified Device Architecture)版本為10.2,采用Pytorch 1.5.0 學習框架。

3.3.2 數(shù)據(jù)增強

由于數(shù)據(jù)量有限,為了防止過擬合,本文對輸入圖像做了增強。在訓練階段,為了增加訓練樣本的多樣性,既采用了隨機幾何數(shù)據(jù)增強,如旋轉(zhuǎn)、平移、縮放、錯切等,又采用了文獻[40]提出的數(shù)據(jù)增強方法。前者將圖像視為一個整體,而后者對圖像中每個字符作以變化,更加適用于手寫體英文文本的識別。在測試階段,為了防止數(shù)據(jù)增強對識別產(chǎn)生影響,只將圖像縮放到128 × 384,不做其他任何處理。

3.4 消融實驗

為了選擇最優(yōu)的訓練模型,本文做了大量的消融實驗,主要包括CNN 深度對實驗精度的影響和學習率對實驗精度的影響。

3.4.1 CNN深度對實驗精度的影響

實驗中選擇了SE-ResNet-50 作為CNN 特征提取層,其模型含有5 個層級。為了選擇合適的截取層級作為CNN 特征提取層,對不同截取層級獲得的精度和速度進行了比較。所有的實驗都在同一個數(shù)據(jù)集和實驗環(huán)境下進行,學習率設為0.000 5,選取在驗證集上WER 最低的模型進行測試。實驗結果如表1 所示。

表1 SE-ResNet-50不同截取層級的性能Tab.1 Performance of different interception layers of SE-ResNet-50

從實驗結果可發(fā)現(xiàn):隨著層級的不斷加深,模型的參數(shù)量由94.1×106增加到197.0×106,單張圖像測試時間由1.98 ms 增加到37.92 ms,但模型的字符錯誤率和單詞錯誤率在conv2_x 達到最低,分別為4.30%和14.52%,同時參數(shù)量相對較低。由此可見,CNN 的歸納偏置能夠增加Transformer 的識別精度。因此,本文選擇截取層級conv2_x作為CNN 特征提取層。

3.4.2 學習率對實驗精度的影響

為了選擇最優(yōu)的訓練模型,在3.4.1 節(jié)模型的基礎上設置不同的學習率進行實驗,同樣選取在驗證集上WER 最低的模型進行測試,結果如圖6 所示。

圖6 不同學習率的測試精度Fig.6 Test accuracies of different learning rates

從圖6 可以看出,學習率不同,測試精度不同,隨著學習率的不斷增加,CER 和WER 也不斷變化,總體呈現(xiàn)先下降后上升的趨勢,學習率為0.000 7 時CER 和WER 達到最高,分別為11.98%和29.78%,學習率為0.000 2 時CER 和WER 達到最低,分別為3.60%和12.70%,因此,本文選擇0.000 2 作為模型的最終學習率,所得測試精度作為模型的最終測試精度。

3.5 實驗對比及分析

3.5.1 與其他模型的比較

表2 是不同模型在IAM 手寫英文單詞數(shù)據(jù)集上評估的結果。表2 中分別提供了作者采用的主要模型所獲得的識別精度,部分模型同時提供了在不同條件下所得的評估結果,可以看出,在有詞典或語言模型的情況下,識別精度都比較高。本文所提出的模型不依賴于詞典或語言模型的約束,既能呈現(xiàn)出模型的真實識別能力,也能應對一些不能提供詞典的情況,比如姓名識別,實用性較強。表2 中CTC+Attention[2]、RNN+CTC[37]、RNN+CTC[41]、Attention[42]沒有使用預處理方法,CER 和WER 基本都高于本文的CER 和WER;RNN+Attention[8]、RNN+CTC[9]、Attention[43]和本文模型一樣使用了預處理,其中RNN+Attention[8]在未使用其他方法的情況下,CER 和WER 分別比本文高了5.20 個百分點和11.10個百分點,使用了詞典約束后CER 比本文高了2.60 個百分點,RNN+CTC[9]只使用了預訓練方法后CER 比本文高了1.28 個百分點,WER 比本文低了0.09 個百分點,Attention[43]只使用了預訓練方法后CER 和WER 分別比本文高了2.19個百分點和2.45 個百分點,通過比較驗證了本文模型的可行性。

表2 IAM手寫英文單詞數(shù)據(jù)集上的評估結果比較Tab.2 Comparison of evaluation results on IAM handwritten English word dataset

3.5.2 錯誤結果分析

為了進一步了解模型的識別能力,從預測錯誤圖像的結果中隨機抽取100 條記錄進行分析,表3 給出了預測錯誤的類型占比。從表3 可以看出,單詞預測錯誤1 個字母所占比例為68%(單詞內(nèi)部錯誤1 個字母所占比例為41%,開頭或結尾錯誤1 個字母所占比例為27%),單詞大小寫預測錯誤所占比例為4%,而整個單詞錯誤所占比例僅為1%,驗證了模型能夠識別出單詞中大部分的字母,識別能力比較強。

表3 預測錯誤的類型占比Tab.3 Proportion of types of prediction errors

圖7 展示了模型預測的圖像示例。圖7(a)展示的是預測正確的圖像示例;圖7(b)、(c)展示的是預測錯誤1 個字母的圖像示例;圖7(d)展示的是整個單詞預測錯誤的圖像示例。

圖7 預測的圖像示例Fig.7 Examples of predicted images

從圖7 可以看出,模型對于書寫相對規(guī)范的英文文本識別精度高,對于書寫隨意性較大的英文文本識別精度低。

4 結語

手寫體英文文本識別因書寫隨意、結構復雜和分割困難等問題,一直是計算機視覺和模式識別的難題之一。針對這些問題,本文提出了一種基于卷積神經(jīng)網(wǎng)絡(CNN)和Transformer 相結合的手寫體英文文本識別模型。該模型利用CNN 提取特征,而后輸入到Transformer 進行編碼,最后采用CTC 解碼器解決輸入序列和標簽的對齊問題。通過在公開數(shù)據(jù)集上進行大量的實驗分析,驗證了本文模型的可行性。接下來的研究工作:一是將本文模型應用于其他手寫體文本識別任務,比如中文或日文手寫體文本識別;二是在手寫體行級文本識別中提出合適的網(wǎng)絡結構,達到較高的識別精度。

猜你喜歡
解碼器編碼器精度
基于不同快速星歷的GAMIT解算精度分析
WV3650M/WH3650M 絕對值旋轉(zhuǎn)編碼器
科學解碼器(一)
熱連軋機組粗軋機精度控制
設定多圈絕對值編碼器當前圈數(shù)的方法
轉(zhuǎn)爐系統(tǒng)常用編碼器選型及調(diào)試
科學解碼器(二)
科學解碼器(三)
舞臺機械技術與設備系列談(二)
——編碼器
線圣AudioQuest 發(fā)布第三代Dragonfly Cobalt藍蜻蜓解碼器
突泉县| 东方市| 义马市| 宁远县| 屏东市| 沙洋县| 丰县| 柳江县| 大名县| 莱西市| 青海省| 赤水市| 临夏县| 藁城市| 东辽县| 监利县| 萍乡市| 青神县| 稻城县| 治县。| 绥棱县| 山阴县| 宜兰县| 突泉县| 达孜县| 昌图县| 汉阴县| 原阳县| 襄垣县| 周口市| 疏勒县| 中江县| 光泽县| 冷水江市| 新闻| 天镇县| 高淳县| 固始县| 昌乐县| 开原市| 寻甸|