魏偉,蘇津磷,李帆,仇娟,于秀麗
(1. 國網(wǎng)湖北省電力有限公司計(jì)量中心,武漢 430080; 2. 北京郵電大學(xué)自動(dòng)化學(xué)院,北京 100876)
電力系統(tǒng)的不斷發(fā)展與智能化帶動(dòng)了大量計(jì)量設(shè)備的鋪設(shè)和升級(jí),目前智能電能表、終端、互感器等計(jì)量裝置的信息提取、檔案管理、現(xiàn)場(chǎng)運(yùn)維以及資料核對(duì)等工作主要基于人工輸入操作,然而零散的信息采集方式、過多的人員投入和較長的信息采集時(shí)間不僅耗費(fèi)了大量的人力、物力和財(cái)力,而且容易影響結(jié)果的準(zhǔn)確性和客觀性,非智能的人工信息采集方式已經(jīng)嚴(yán)重阻礙了計(jì)量基礎(chǔ)設(shè)施升級(jí)發(fā)展與采集安全,制約了電力資產(chǎn)管理的質(zhì)量和水平。雖然已有部分工作研究以智能識(shí)別的方式來提取電能表圖像中的有效信息,文獻(xiàn)[1]提出采用移動(dòng)端識(shí)別算法PCANet 進(jìn)行電能表文字識(shí)別,適應(yīng)其場(chǎng)景化做了相應(yīng)的改進(jìn)和特化,對(duì)光照變化,不匹配不對(duì)齊,遮擋等因素做了相應(yīng)預(yù)處理改進(jìn);基于SIFT 算法提取的各文本區(qū)域特征,提出一種電能表特征匹配方法來識(shí)別電能表信息[2]; 基于圖像預(yù)處理的研究,在圖像的字符分割提取前,增加圖片整體分割提取的步驟,以適應(yīng)實(shí)際電能表文字排版多樣化[3];針對(duì)電能表圖像傾斜問題,提出了一種基于霍夫變換提取圖像傾斜度的方法,來提高OCR 的準(zhǔn)確率[4];針對(duì)電能表中的漢字定位與識(shí)別,提出基于K均值無監(jiān)督預(yù)訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)的電能表文字定位[5];基于深度學(xué)習(xí)和注意力模型,提出一種端到端的文本識(shí)別模型,避免了對(duì)電能表圖像的分割裁剪[6]。目前電能表文本識(shí)別技術(shù)適用于文本內(nèi)容單一,排列規(guī)則的情況,難以解決高密度多聚集下,字符圖標(biāo)混雜的文本識(shí)別問題。文獻(xiàn)[7]研究MASK LSTM-CNN 模型電力巡檢圖像識(shí)別方法,比Mask R-CNN、Faster R-CNN、R-FCN 等模型的識(shí)別率提高9% ~2%,有效解決了干擾信息較多的電力場(chǎng)景中的部件識(shí)別問題。
但是,由于智能電能表計(jì)量設(shè)備來源廣泛,導(dǎo)致電能表類型多種多樣。并且由于同類型智能電能表文本內(nèi)容的元素多樣導(dǎo)致在文本檢測(cè)階段,文本信息相互干擾,嚴(yán)重影響了電能表信息的提取。此外,圖像采集環(huán)境多變,采集設(shè)備千差萬別,使得圖像質(zhì)量參差不齊,嚴(yán)重影響了電能表文本識(shí)別精度。
文中通過設(shè)計(jì)一個(gè)兩階段的文本識(shí)別系統(tǒng)實(shí)現(xiàn)智能電能表信息的精準(zhǔn)采集,將改進(jìn)的PSENet 網(wǎng)絡(luò)作為智能電能表信息提取的目標(biāo)檢測(cè)算法,精準(zhǔn)地定位智能電能表圖片中的所有文本信息,并列出所有文本候選框,再通過CRNN 文本識(shí)別算法對(duì)文本候選框進(jìn)行識(shí)別。算法本身不受輸入圖像的質(zhì)量和場(chǎng)景束縛,并且對(duì)智能電能表中文本檢測(cè)與識(shí)別面臨的字體大小不一、曝光過高或過低等問題具有較強(qiáng)的抗干擾能力,對(duì)電能表圖片中的漢字、英文和數(shù)字都具有很高的識(shí)別精度。
文中設(shè)計(jì)了一種兩階段的系統(tǒng)對(duì)智能電能表圖片文本進(jìn)行檢測(cè)和識(shí)別,其中文本檢測(cè)模塊將輸入的電能表圖片分割成一系列文本框,再經(jīng)過文本識(shí)別模塊獲取文本框中的文本信息,最后將原始圖片、文本框位置以及文本內(nèi)容同時(shí)輸出,系統(tǒng)框架如圖1 所示。
圖1 兩階段文本識(shí)別系統(tǒng)框架Fig.1 Framework of two-stage text recognition system
針對(duì)智能電能表圖片文本檢測(cè)的特點(diǎn),文中采用改進(jìn)的漸進(jìn)尺度擴(kuò)展網(wǎng)絡(luò)PSENet[8]作為文本檢測(cè)模塊,通過圖像分割方法,像素級(jí)的檢測(cè)目標(biāo)區(qū)域提升了模型在高密度文本下的檢測(cè)性能,比文本框的方式,檢測(cè)更精準(zhǔn)。其技術(shù)路線如圖2 所示。首先對(duì)輸入的電能表圖片進(jìn)行特征提取和融合處理,再將融合后的特征經(jīng)過卷積獲得n個(gè)分割結(jié)果,最后采用漸進(jìn)尺度擴(kuò)展算法得到電能表圖片上文本檢測(cè)的最終結(jié)果。
圖2 電能表文本檢測(cè)模塊Fig.2 Text detection module of electricity meter
特征提取融合: 將輸入圖片通過殘差網(wǎng)絡(luò)Res-Net50[9]進(jìn)行特征提取,在特征提取過程中構(gòu)建特征金字塔( FPN)[10]并對(duì)不同深度的特征層進(jìn)行融合。Res-Net 的核心思想是對(duì)每一層網(wǎng)絡(luò)構(gòu)造如圖3 所示的殘差塊。
圖3 ResNet 的殘差機(jī)制Fig.3 Residual mechanism of ResNet
圖3中每層的輸出都疊加其上一層的淺層輸出:
其意義在于當(dāng)淺層網(wǎng)絡(luò)具有較為優(yōu)秀的特征時(shí),訓(xùn)練參數(shù)會(huì)使深層輸出F(X) 趨近于0,確保網(wǎng)絡(luò)的加深不會(huì)導(dǎo)致精確度的降低。ResNet50 是具有50 個(gè)conv2d 層的ResNet 網(wǎng)絡(luò),其網(wǎng)絡(luò)結(jié)構(gòu)如表1 所示,分別提取Conv2,Conv3,Conv4,Conv5 最后輸出的特征圖構(gòu)建特征金字塔。再通過自頂向下和橫向連接的方式,依次將高層次特征圖的上采樣和低層次的特征圖相結(jié)合,得到( P2,P3,P4,P5) 4 個(gè)256 通道的特征層,最后將( P2,P3,P4) 分別通過8,4,2 倍上采樣并與P2 進(jìn)行特征級(jí)聯(lián),得到1024 個(gè)通道的融合特征F。這種特征提取融合能夠?qū)⒏邔犹卣鞯恼Z義信息與底層特征的細(xì)粒度信息融合在一起,在有效地感知圖像文本分布的同時(shí),也保證了對(duì)文本邊界更加精細(xì)的檢測(cè)。將得到的融合特征F 經(jīng)過Conv(3,3) -BNReLU 層使通道數(shù)量降低到256,再通過多個(gè)Conv( 1,1) -Up-Sigmoid 層輸出n個(gè)分割結(jié)果S1,S2,…,Sn,每個(gè)分割結(jié)果具有不同的內(nèi)核規(guī)模,S1,S2,…,Sn按照內(nèi)核規(guī)模以從小到大順序排列。通過漸進(jìn)尺度擴(kuò)展算法從最小內(nèi)核S1開始依次進(jìn)行尺度擴(kuò)展,并采用先到先得的方式解決尺度擴(kuò)展過程中產(chǎn)生的邊界沖突問題,最終產(chǎn)生邊界清晰的文本檢測(cè)結(jié)果。
表1 ResNet50 網(wǎng)絡(luò)結(jié)構(gòu)Tab.1 Network structure of ResNet50
漸進(jìn)尺度擴(kuò)展算法: 選擇內(nèi)核規(guī)模最小的分割結(jié)果S1,得到圖片中所有文本實(shí)例的最小內(nèi)核( 即中心框) ,然后合并S2的分割結(jié)果,對(duì)文本實(shí)例的內(nèi)核進(jìn)行擴(kuò)展,在擴(kuò)展內(nèi)核的過程中遇到像素點(diǎn)沖突問題時(shí)采用先到先得的方式( 即小規(guī)模內(nèi)核優(yōu)先) ,避免內(nèi)核邊界沖突,同理對(duì)剩余所有分割結(jié)果進(jìn)行內(nèi)核擴(kuò)展,最后一次擴(kuò)展的內(nèi)核結(jié)果即為電能表圖片文本檢測(cè)的分割結(jié)果。
通過上述的文本檢測(cè)模塊,可以從智能電能表圖片中提取出一組精確分割的文本框,將所有文本框分別輸入到基于CRNN[11-12]網(wǎng)絡(luò)的文本識(shí)別模塊中,并將識(shí)別結(jié)果和檢測(cè)結(jié)果一一對(duì)應(yīng),即可生成原電能表圖片的信息提取圖,CRNN 的網(wǎng)絡(luò)結(jié)構(gòu)如圖4 所示。
圖4 CRNN 網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 Network structure of CRNN
CRNN 網(wǎng)絡(luò)實(shí)際上是由三部分組成的: 在自然語言處理技術(shù)中,文本通常被認(rèn)為是一種序列,循環(huán)神經(jīng)網(wǎng)絡(luò)( RNN)[13]對(duì)序列的處理有著固有的天然優(yōu)勢(shì),通過卷積神經(jīng)網(wǎng)絡(luò)( CNN)[14]將文本框圖片變換為特征序列,以供后續(xù)的RNN 解碼器進(jìn)行解碼識(shí)別,并將識(shí)別結(jié)果經(jīng)過聯(lián)接時(shí)間分類( CTC) 算法[15]進(jìn)行轉(zhuǎn)錄,通過添加占位符的機(jī)制解決文本中重復(fù)字符信息丟失的問題。
特征提取部分( CNN) : CRNN 網(wǎng)絡(luò)中的CNN 部分使用了VGG 結(jié)構(gòu),并提出了兩處改進(jìn): 一是將第三和第四個(gè)maxpooling 層的核尺寸從2 ×2 調(diào)整為1 ×2,便于將CNN 網(wǎng)絡(luò)的輸出特征直接作為RNN 網(wǎng)絡(luò)的輸入;二是在第五和第六個(gè)卷積層之后加入BN 層以達(dá)到更快的訓(xùn)練收斂速度,調(diào)整后的CNN 網(wǎng)絡(luò)結(jié)構(gòu)如表2所示,首先將分割后的文本框圖片按比例縮放成寬度為W的圖片,然后通過CNN 卷積網(wǎng)絡(luò)生成W/4 個(gè)512通道的特征序列。
表2 調(diào)整后的CNN 網(wǎng)絡(luò)結(jié)構(gòu)Tab.2 Network structure of adjusted CNN
文本預(yù)測(cè)部分( RNN) :將CNN 網(wǎng)絡(luò)提取出來的特征序列輸入到RNN 網(wǎng)絡(luò)中進(jìn)行文本預(yù)測(cè),為了提高捕捉上下文信息的能力以及寬字符和模糊字符識(shí)別的正確率,采用深層雙向RNN 網(wǎng)絡(luò)作為CRNN 中的RNN網(wǎng)絡(luò),其網(wǎng)絡(luò)結(jié)構(gòu)如圖5 所示。
圖5 深層雙向RNN 網(wǎng)絡(luò)結(jié)構(gòu)Fig.5 Deep bidirectional RNN network structure
為了防止在RNN 網(wǎng)絡(luò)訓(xùn)練過程中出現(xiàn)梯度消失的現(xiàn)象,選用長短時(shí)記憶單元LSTM[16]作為RNN 單元,LSTM 單元的內(nèi)部結(jié)構(gòu)有存儲(chǔ)單元和輸入、輸出和遺忘門,存儲(chǔ)單元只能存儲(chǔ)過去的上下文,所以需要雙向RNN 來對(duì)上下文進(jìn)行雙向存儲(chǔ),遺忘門可以清除單元的內(nèi)存。
轉(zhuǎn)錄部分( CTC) :文本序列經(jīng)過RNN 網(wǎng)絡(luò)的預(yù)測(cè)結(jié)果需要經(jīng)過轉(zhuǎn)錄層轉(zhuǎn)換為字符標(biāo)簽,文中采用基于詞典的CTC 算法進(jìn)行字符轉(zhuǎn)錄,在這種基于詞典的模式中預(yù)測(cè)結(jié)果是所有標(biāo)簽的概率,選擇概率最大的標(biāo)簽作為識(shí)別結(jié)果。預(yù)測(cè)結(jié)果轉(zhuǎn)錄生成的文本存在大量堆疊現(xiàn)象,簡單直接的去重處理容易對(duì)原本就是重疊的文本造成信息丟失。例如文本圖片‘100006’經(jīng)過RNN 網(wǎng)絡(luò)預(yù)測(cè)的結(jié)果可能是‘1100000000666’,簡單去重后輸出‘106’作為最終結(jié)果,顯然造成了原始信息丟失。為了解決這一問題,通過CTC 算法根據(jù)條件概率的原理將適當(dāng)?shù)奈恢迷O(shè)置為占位符‘ε’,上述預(yù)測(cè)結(jié)果可能變成‘110ε00ε0ε0εε6’,經(jīng)過去重處理后再除去所有占位符即可得到最終預(yù)測(cè)結(jié)果‘100006’。
n個(gè)分割實(shí)例的標(biāo)簽: 由于文中文本檢測(cè)模塊通過融合特征F 生成了n個(gè)分割結(jié)果,所以訓(xùn)練時(shí)需要提供n個(gè)分割實(shí)例以及對(duì)應(yīng)的標(biāo)簽。通過Vatti clipping algorithm 對(duì)原始實(shí)例Gn進(jìn)行縮減di個(gè)像素點(diǎn)得到新的分割實(shí)例Gi,Gi相對(duì)于Gn的縮小比例ri可以表示為:
式中k為縮小系數(shù),n為分割實(shí)例個(gè)數(shù)。由此可以通過式(3) 計(jì)算Gi相對(duì)于Gn的具體縮小像素點(diǎn)數(shù)di:
式中Perimeter(Gn) 為Gn文本框的周長;Area(Gn)為Gn文本框的面積。損失函數(shù): 文中文本檢測(cè)模塊的損失函數(shù)由Sn相對(duì)于原始實(shí)例Gn的損失LC和Si相對(duì)于縮小實(shí)例Gi的損失LS構(gòu)成:
為了確定LC和LS,結(jié)合了dice coefficient 和在線難例挖掘( OHEM) 中的mask(M) :
數(shù)據(jù)集: 文本檢測(cè)模塊的訓(xùn)練集和測(cè)試集由ICDAR2015 ( IC15) 和ICDAR2017 RCTW 構(gòu)成( 如圖6 所示) ,其中IC15 中包括1000 張訓(xùn)練集和500 張測(cè)試集,內(nèi)容為自然場(chǎng)景下拍攝的英文文本,主要來源有商場(chǎng)和指示牌; 從RCTW 中選擇2000 張訓(xùn)練集和1000張測(cè)試集,內(nèi)容為自然場(chǎng)景下拍攝的中文文本,主要來源有街道場(chǎng)景、手機(jī)截圖、室內(nèi)場(chǎng)景和證件照等。將數(shù)據(jù)集的標(biāo)注格式統(tǒng)一調(diào)整為IC15 的標(biāo)注格式:”x1,y1,x2,y2,x3,y3,x4,y4,lable”,分別注釋了圖片中所有文本框的四個(gè)頂點(diǎn)位置以及對(duì)應(yīng)的文本內(nèi)容。
圖6 ICDAR 2015 和2017 RCTW 數(shù)據(jù)集Fig.6 ICDAR 2015 and 2017 RCTW dataset
CTC 的標(biāo)簽:每一個(gè)預(yù)測(cè)值y1,y2,…,yT可以通過映射規(guī)則B 映射到一個(gè)標(biāo)簽序列I,其中標(biāo)簽序列I 只標(biāo)記具體標(biāo)簽值而忽略每個(gè)標(biāo)簽的位置。
CTC 的損失函數(shù):對(duì)于訓(xùn)練數(shù)據(jù)X={Wi,Ii},(Wi和Ii分別代表訓(xùn)練集的圖片和標(biāo)簽序列) 損失函數(shù)定義為ground truth 的條件概率似然數(shù)的負(fù)對(duì)數(shù):
其中p(Ii,yi) 為預(yù)測(cè)值yi對(duì)應(yīng)標(biāo)簽為Ii的條件概率,計(jì)算公式為:
π 為y的所有可能性,即y1,y2,…,yT對(duì)應(yīng)字符概率不為零的所有線性可能。
數(shù)據(jù)集:文本識(shí)別模塊的數(shù)據(jù)集是通過Text Recognition Data Generator( TRDG) 方法人為生成的,一共生成5000 張英文圖片和20000 張中文圖片,每張圖片上包含5 個(gè)單詞或漢字,圖片的名稱即為圖片的標(biāo)簽,生成的文本圖片如圖7 所示。
圖7 TRDG 生成的文本數(shù)據(jù)集Fig.7 Text dataset generated by TRDG
文本檢測(cè)模塊: 迭代次數(shù)n_epoch 設(shè)置為600,初始學(xué)習(xí)速率設(shè)置為0.001,并且在訓(xùn)練過程中采用0.1的下降速率進(jìn)行離散下降,分別在Batch Size 等于4,8,16 下進(jìn)行訓(xùn)練,訓(xùn)練的效果以及在測(cè)試集上的測(cè)試結(jié)果如表3 和圖8 所示。
表3 batch size 等于4,8,16 時(shí)的模型指標(biāo)Tab.3 Model index when batch size is equal to 4,8,16
圖8 訓(xùn)練模型在測(cè)試集下的測(cè)試結(jié)果Fig.8 Test results of the training model under the test set
表3 中提供了訓(xùn)練參數(shù)batch size 分別等于4,8,16 時(shí)在訓(xùn)練集和測(cè)試集上的部分指標(biāo)數(shù)據(jù),ACC 是模型在訓(xùn)練集上表現(xiàn)的精確度,Rcl 和Pre 是模型在測(cè)試集上表現(xiàn)的查全率和準(zhǔn)確率,Hmean 是兩者的調(diào)和平均數(shù),通過上述數(shù)據(jù)顯示,batch size =16 時(shí)表現(xiàn)最好,在該模型下對(duì)智能電能表圖片進(jìn)行文本檢測(cè),檢測(cè)結(jié)果如圖9 所示。
圖9 Batch Size 為16 下的電能表文本檢測(cè)結(jié)果Fig.9 Text test results of electricity meter with 16 batch size
上述實(shí)驗(yàn)結(jié)果證明了文中的文本檢測(cè)模塊可以準(zhǔn)確地檢測(cè)出電能表圖片中的絕大多數(shù)文本信息,并且對(duì)電能表圖片中的近距離文本具有良好的分割效果。
文本識(shí)別模塊: 將文本檢測(cè)模塊輸出的文本框位置信息與電能表圖片一同輸入到訓(xùn)練好的文本識(shí)別模型中,將識(shí)別結(jié)果和輸入融合處理后輸出的結(jié)果如圖10 所示。
圖10 智能電能表文本識(shí)別結(jié)果Fig.10 Text recognition results of smart meter
通過對(duì)多組不同環(huán)境下拍攝的不同型號(hào)智能電能表圖片進(jìn)行文本檢測(cè)和文本識(shí)別測(cè)試,證明了文中使用的文本檢測(cè)模塊和文本識(shí)別模塊相結(jié)合可以克服光線,模糊等環(huán)境因素,較為準(zhǔn)確且全面地檢測(cè)識(shí)別出智能電能表所攜帶的電能表信息,部分實(shí)驗(yàn)結(jié)果如圖11 所示。
圖11 不同型號(hào)的智能電能表文本提取測(cè)試結(jié)果Fig.11 Text extraction test results of different types of smart meters
將文中設(shè)計(jì)的兩階段文本識(shí)別系統(tǒng)和Jinjin Zhang等人設(shè)計(jì)的attention ocr 文本識(shí)別系統(tǒng)( 開源項(xiàng)目) 進(jìn)行對(duì)比實(shí)驗(yàn),其文本檢測(cè)算法由Tensorpack FasterRCNN 改進(jìn)而來,文本識(shí)別算法引入了注意力機(jī)制,曾獲得ICDAR2019 任意形狀文本上穩(wěn)健閱讀挑戰(zhàn)賽道的冠軍,在電能表圖片上識(shí)別的效果與文中設(shè)計(jì)的文本識(shí)別系統(tǒng)局部對(duì)比圖見圖12。
圖12 文中設(shè)計(jì)的文本識(shí)別系統(tǒng)( 左) 與Attention OCR文本識(shí)別系統(tǒng)( 右) 在智能電能表圖片上的識(shí)別部分結(jié)果對(duì)比Fig.12 Comparison between the results of the text recognition system designed in the article ( left) and the Attention OCR text recognition system ( right) on the smart meter picture
通過大量對(duì)比實(shí)驗(yàn)發(fā)現(xiàn),文中設(shè)計(jì)的文本識(shí)別系統(tǒng)在電能表圖片文本檢測(cè)上的表現(xiàn)更加優(yōu)秀,檢測(cè)到更多文本框的同時(shí)很好地處理了文本框堆疊現(xiàn)象,在文本識(shí)別部分相較于Attention OCR 系統(tǒng)能夠更好地識(shí)別密集數(shù)字編碼,同時(shí)整體系統(tǒng)面對(duì)電能表圖片亮度、模糊度、角度等干擾具有更好的魯棒性。
文中基于改進(jìn)的PSENET 與CRNN 算法設(shè)計(jì)了一種兩階段的電能表文本識(shí)別系統(tǒng),實(shí)現(xiàn)了智能電能表信息的自動(dòng)檢測(cè)與識(shí)別功能,檢測(cè)精度達(dá)到0.9360,算法實(shí)現(xiàn)了以下創(chuàng)新:
1) 設(shè)計(jì)精細(xì)的文本檢測(cè)模塊,加強(qiáng)對(duì)電能表信息細(xì)粒度特征的利用,使模型能夠有效應(yīng)對(duì)文本區(qū)域邊界模糊的問題;
2) 基于電能表文本區(qū)域間的相關(guān)性,通過基于LSTM 的深層雙向RNN 網(wǎng)絡(luò)保留上下文關(guān)系,推理出難以識(shí)別的文本內(nèi)容;
3) 設(shè)計(jì)完整的智能電能表文本識(shí)別系統(tǒng),為遠(yuǎn)程電能表信息采集、智能電能表云管理等電能表智能化管理項(xiàng)目提供了關(guān)鍵技術(shù)手段。
文中高效精準(zhǔn)的智能電能表場(chǎng)景文字識(shí)別技術(shù)有效地提取了高密度多聚集的字符圖標(biāo)混雜條件下的信息,提高資產(chǎn)信息提取的智能化水平。算法在電能表圖像的識(shí)別具有良好的魯棒性,降低人工采集的風(fēng)險(xiǎn),提升資產(chǎn)信息采集的安全級(jí)別。為建立完善的貫穿整個(gè)生命周期的設(shè)備檔案庫提供了技術(shù)手段,能夠有效地提升資產(chǎn)管理和運(yùn)行管理的自動(dòng)化水平。