秦辭海 顧萬里
(國(guó)網(wǎng)上海市電力公司,上海 200120)
隨著社會(huì)經(jīng)濟(jì)的發(fā)展,越來越多的變電站采用鋼結(jié)構(gòu)形式,在這些變電站工程建設(shè)中,鋼結(jié)構(gòu)施工占據(jù)了舉足輕重的位置。目前,國(guó)內(nèi)工程公司通過派駐代表長(zhǎng)期駐守施工現(xiàn)場(chǎng)配合施工來實(shí)現(xiàn)變電站鋼結(jié)構(gòu)施工相關(guān)管理。在材料及進(jìn)場(chǎng)驗(yàn)收、施工安裝、后期維護(hù)等重要環(huán)節(jié),由于信息采集不及時(shí)、不準(zhǔn)確、標(biāo)準(zhǔn)不統(tǒng)一等因素,對(duì)相關(guān)管理工作造成了極大的困擾,因此,有必要基于數(shù)字信息化實(shí)時(shí)反饋技術(shù),對(duì)供貨情況、出廠質(zhì)量與現(xiàn)場(chǎng)驗(yàn)收情況進(jìn)行實(shí)時(shí)掌握與反饋,通過數(shù)字信息規(guī)劃卸貨、吊裝與安裝,直觀地掌握鋼構(gòu)件框架完成后的全貌。識(shí)別變電站鋼結(jié)構(gòu)相關(guān)圖紙所列鋼構(gòu)件清單,生成與清單上所列構(gòu)件相對(duì)應(yīng)的鋼構(gòu)件編碼,并生成后臺(tái)數(shù)據(jù)庫(kù)是建立實(shí)時(shí)反饋控制管理的重要環(huán)節(jié)。由于部分變電站鋼結(jié)構(gòu)圖紙標(biāo)題欄圖像結(jié)構(gòu)復(fù)雜、掃描不清晰,文字大小不均勻,給文本的檢測(cè)與識(shí)別帶來困難,傳統(tǒng)基于光學(xué)的檢測(cè)識(shí)別方法難以滿足需求。
近些年隨著計(jì)算機(jī)算力的增加,深度學(xué)習(xí)方法在圖像識(shí)別領(lǐng)域得到空前發(fā)展,成為了文本檢測(cè)與識(shí)別的核心算法之一。文本檢測(cè)與識(shí)別的研究一直在進(jìn)行,從傳統(tǒng)文字切割光學(xué)文字識(shí)別技術(shù)OCR[1,2],到現(xiàn)在的深度學(xué)習(xí)網(wǎng)絡(luò)模型技術(shù),檢測(cè)與識(shí)別效果有了很大的進(jìn)步。黃娜君等人[3]通過對(duì)采集到的圖像進(jìn)行處理,分割出交通標(biāo)志所在的感興趣區(qū)域,利用深度卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行一系列的卷積和池化處理,最后通過一個(gè)全連接的 BP 網(wǎng)絡(luò)完成分類識(shí)別,輸出結(jié)果。P.He等人[4]采用級(jí)聯(lián)多個(gè)卷積模型來實(shí)現(xiàn)準(zhǔn)確預(yù)測(cè),并在此基礎(chǔ)上開發(fā)了分層模塊,但是對(duì)彎曲或者傾斜文本檢測(cè)效果欠佳。B.Shi 等人[5]提出的文本檢測(cè)方法SegLink,它將文字分解為片段和鏈接兩個(gè)類別,片段是覆蓋字符或文字行的一部分,通過鏈接能夠組合多個(gè)定向框,然后采用全卷積網(wǎng)絡(luò)進(jìn)行端到端的訓(xùn)練,最后在多尺度上對(duì)兩類元素進(jìn)行密集檢測(cè),從而獲得檢測(cè)結(jié)果,但是對(duì)文本行相距太遠(yuǎn)的情況,該方法檢測(cè)效果不好。Z.Zhang等人[6]提出采用完全卷積網(wǎng)絡(luò)以整體的方式預(yù)測(cè)文本區(qū)域,再結(jié)合顯著圖和字符成分來估計(jì)文本行假設(shè),最后使用分類器去除假設(shè),但是無法準(zhǔn)確區(qū)分邊框特征的敏感程度。Wang 等人[7]將大型多層神經(jīng)網(wǎng)絡(luò)的表征能力與無監(jiān)督特征學(xué)習(xí)結(jié)合起來,采用端到端的方法,在定位自然場(chǎng)景圖像中的字符區(qū)域,識(shí)別出字符方面取得顯著效果,然而對(duì)中文檢測(cè)識(shí)別效果不明顯。這些方法在某些場(chǎng)景檢測(cè)識(shí)別效果好,但是針對(duì)鋼結(jié)構(gòu)圖紙中格式多樣、文字模糊、大小不均等場(chǎng)景,檢測(cè)識(shí)別效果不甚理想。
鑒于上述各種方法的局限性,本文提出了通過卷積神經(jīng)網(wǎng)絡(luò)與循環(huán)神經(jīng)網(wǎng)絡(luò)相結(jié)合的文字檢測(cè)與識(shí)別方式,并將該方法運(yùn)用到變電站建筑工地鋼結(jié)構(gòu)圖紙標(biāo)題欄圖像文本檢測(cè)識(shí)別中,解決鋼結(jié)構(gòu)圖紙標(biāo)題欄圖像難檢測(cè)、難識(shí)別的問題。然后,將識(shí)別出的信息傳輸?shù)浇⒌臄?shù)據(jù)庫(kù)中,方便變電站鋼結(jié)構(gòu)施工質(zhì)量管控。
本文研究?jī)?nèi)容主要分為兩部分:一是文本檢測(cè),二是文字識(shí)別。在文本檢測(cè)之前,要對(duì)輸入的變電站鋼結(jié)構(gòu)圖紙標(biāo)題欄圖像進(jìn)行尺寸縮放、去噪等預(yù)處理; 檢測(cè)出文字后,將文字區(qū)域分割出來,傳入到文字識(shí)別模型中,進(jìn)而得出圖像文字信息,傳輸?shù)街付〝?shù)據(jù)庫(kù)。
在結(jié)果分析中,本文設(shè)計(jì)了對(duì)比實(shí)驗(yàn)。一是對(duì)同一訓(xùn)練集,將本文檢測(cè)方法與其他方法的檢測(cè)結(jié)果進(jìn)行對(duì)比; 二是采用不同訓(xùn)練集訓(xùn)練本文的文字識(shí)別方法,最終識(shí)別結(jié)果進(jìn)行對(duì)比。最后,得出檢測(cè)識(shí)別鋼結(jié)構(gòu)圖紙標(biāo)題欄圖像中文字的最優(yōu)模型,為智能實(shí)時(shí)管控做前期準(zhǔn)備。
文本檢測(cè)需在圖像中定位檢測(cè)到文字,傳統(tǒng)的文本檢測(cè)方法在OCR領(lǐng)域中獲得不錯(cuò)的效果,但是對(duì)于復(fù)雜場(chǎng)景的檢測(cè)中完全落后基于深度學(xué)習(xí)的檢測(cè)方法?;谏疃葘W(xué)習(xí)的文本檢測(cè)方法模型,泛化能力強(qiáng),對(duì)高層語(yǔ)義特征的識(shí)別更加穩(wěn)定。卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)[8]是常用的特征提取網(wǎng)絡(luò),在圖像文字特征提取方面取得了很好的效果。本文采用VGG16模型[9],對(duì)預(yù)處理過的圖像進(jìn)行文字特征提取,使用循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)[10]編碼水平行的文字位置信息,全連接層進(jìn)行分類,再經(jīng)過非最大值抑制處理,得到最終檢測(cè)結(jié)果。文本檢測(cè)主要目的是為了檢測(cè)出文字所在的區(qū)域,生成文字圖像片段,作為后續(xù)文字識(shí)別的輸入。
圖1是VGG16網(wǎng)絡(luò)的結(jié)構(gòu),它所有卷積層采用3像素×3像素的小尺寸卷積核,卷積步長(zhǎng)為1。為保證卷積后圖像大小不變,圖像四周各填充一個(gè)像素。所有池化層都是2像素×2像素的核,步長(zhǎng)為2。所有隱層的激活單元都是ReLU函數(shù)。
圖1 VGG16網(wǎng)絡(luò)結(jié)構(gòu)
循環(huán)神經(jīng)網(wǎng)絡(luò)由輸入層、循環(huán)層和輸出層構(gòu)成,其具有記憶功能,會(huì)記住網(wǎng)絡(luò)在上一時(shí)刻運(yùn)行時(shí)產(chǎn)生的狀態(tài)值,并將該值用于當(dāng)前時(shí)刻輸出值的生成。循環(huán)神經(jīng)網(wǎng)絡(luò)的輸入可抽象表示為向量序列:
x1,x2,…,xi,…,xt,
(1)
其中,xi是向量,下標(biāo)i表示時(shí)刻。網(wǎng)絡(luò)每個(gè)時(shí)刻接收一個(gè)輸入xi,并產(chǎn)生一個(gè)輸出yi。yi由之前的輸入序列共同決定。在循環(huán)層中,t時(shí)刻的輸出值是ht,它由上一時(shí)刻的輸出值ht-1以及當(dāng)前時(shí)刻的輸入值xt共同決定,即
ht=f(ht-1,xt)
(2)
其中,f為激活函數(shù),一般選用tanh函數(shù),形如
(3)
標(biāo)準(zhǔn)的RNN會(huì)有梯度消失或者梯度爆炸問題。為避免這個(gè)問題,本文采用比較主流的LSTM方法[10]。LSTM是對(duì)循環(huán)層單元進(jìn)行改造,主要由三個(gè)門組成:輸入門、遺忘門和輸出門。LSTM的網(wǎng)絡(luò)單元結(jié)構(gòu)如圖2所示。圖中,ht-1是循環(huán)層中t-1時(shí)刻的輸出值;ct-1是t-1時(shí)刻的狀態(tài)值;xt是t時(shí)刻的輸入值;ht是t時(shí)刻的輸出值; 輸入門表示為It=σ(Wi[ht-1,xt]+bi),控制著當(dāng)前t時(shí)刻的輸入xt有多少可以進(jìn)入當(dāng)前狀態(tài)Ct; 遺忘門為Ft=σ(Wf[ht-1,xt]+bf),決定了上一時(shí)刻的值ht-1有多少會(huì)被傳遞到當(dāng)前狀態(tài)Ct; 輸出門為Ot=σ(Wo[ht-1,xt]+bo),根據(jù)當(dāng)前狀態(tài)Ct、上一時(shí)刻的值ht-1和當(dāng)前時(shí)刻的輸入xt來決定當(dāng)前時(shí)刻的輸出ht;σ是sigmoid函數(shù),Wi、Wf、Wo是權(quán)重參數(shù),bi,bf,bo是偏置參數(shù)。通過“門”的結(jié)構(gòu),有選擇性的影響循環(huán)神經(jīng)網(wǎng)絡(luò)每個(gè)時(shí)刻的狀態(tài),輸入門作用于當(dāng)前時(shí)刻輸入值,遺忘門作用于上一時(shí)刻的輸出值,二者加權(quán)和,得出當(dāng)前時(shí)刻狀態(tài);最后與輸出門共同決定輸出值,預(yù)測(cè)出文字序列位置信息,生成文字圖像片段。
圖2 LSTM單元結(jié)構(gòu)
文字識(shí)別模型復(fù)雜多樣,本文主要運(yùn)用基于深度學(xué)習(xí)的卷積循環(huán)神經(jīng)網(wǎng)絡(luò)(Convolutional Recurrent Neural Network,CRNN)[11],進(jìn)行鋼結(jié)構(gòu)圖紙標(biāo)題欄圖像內(nèi)容的文字識(shí)別,它是通過端對(duì)端地解決基于文本檢測(cè)結(jié)果圖像的不定長(zhǎng)的文字序列識(shí)別問題。CRNN將CNN與RNN相結(jié)合,把特征提取、序列建模和轉(zhuǎn)錄整合到統(tǒng)一的神經(jīng)網(wǎng)絡(luò)架構(gòu)中。CRNN網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示,CRNN模型主要分為兩個(gè)部分:一部分為特征提取,由多個(gè)卷積層、池化層和激活函數(shù)組成; 另一部分是序列預(yù)測(cè),由循環(huán)層RNN和轉(zhuǎn)錄層CTC模型組成。CTC是不定長(zhǎng)字符識(shí)別,具有歸納字符連接間的特性,可解決輸入序列和輸出序列對(duì)應(yīng)關(guān)系未知的問題。本文識(shí)別模型是使用CNN從文本檢測(cè)結(jié)果圖像中提取特征序列,傳遞給循環(huán)層RNN預(yù)測(cè)出特征序列的時(shí)序和種類,最后CTC是把時(shí)序和種類通過去重整合等操作轉(zhuǎn)換成最終的識(shí)別結(jié)果。
圖3 CRNN網(wǎng)絡(luò)結(jié)構(gòu)(其中X、Y代表不同的網(wǎng)絡(luò)神經(jīng)元,Softmax是分類函數(shù))
文本檢測(cè)訓(xùn)練模型,數(shù)據(jù)集采用ICDAR 2017[12],損失函數(shù)采用交叉熵與定位損失相加權(quán)的方式,即
L(p,u,tu,v)=Lcls(p,u)+αLloc(tu,v)
(4)
其中,交叉熵為:
Lcls(p,u)=-∑plog(u)
(5)
定位損失為:
Lloc(tu,v)=∑smooth(tu-v)
(6)
式中,p是類別概率值;u是類別,tu是第u類預(yù)測(cè)矩形框,v是真實(shí)矩形框,α是人工設(shè)定的參數(shù);smooth是一個(gè)光滑分段函數(shù),表達(dá)式為:
(7)
文字識(shí)別訓(xùn)練數(shù)據(jù)集是在不同圖紙中截取的文字,訓(xùn)練集800張,驗(yàn)證集300張。損失函數(shù)采用負(fù)對(duì)數(shù)條件似然函數(shù),即
(8)
式中,χ表示訓(xùn)練數(shù)據(jù)集,Ii代表訓(xùn)練數(shù)據(jù)集中的一張圖像,li是對(duì)應(yīng)標(biāo)簽序列標(biāo)注,yi表示對(duì)應(yīng)預(yù)測(cè)概率分布序列。
目標(biāo)檢測(cè)常見的評(píng)測(cè)指標(biāo)[13]是精確率(Precision)、召回率(Recall)和F1-度量(F1-score)。根據(jù)預(yù)測(cè)標(biāo)簽與實(shí)際標(biāo)簽定義的關(guān)系,精確率為:
(9)
召回率為:
(10)
F1-度量為:
(11)
其中,TP為實(shí)際標(biāo)簽為正例,預(yù)測(cè)標(biāo)簽為正例;FP為實(shí)際標(biāo)簽為負(fù)例,預(yù)測(cè)標(biāo)簽為正例;FN為實(shí)際標(biāo)簽為負(fù)例,預(yù)測(cè)標(biāo)簽為負(fù)例。F1-度量越高,說明實(shí)驗(yàn)方法越有效。
在文字識(shí)別中,識(shí)別效果的評(píng)測(cè)指標(biāo)主要是單字識(shí)別準(zhǔn)確率AR(Accurate Rate)和整行識(shí)別率LA(Line Accurate)。單字識(shí)別準(zhǔn)確率AR是文本行中正確識(shí)別的字符個(gè)數(shù)占總字符個(gè)數(shù)的比例。整行識(shí)別準(zhǔn)確率LA是文本行中完全識(shí)別正確行的比例,即
(12)
其中,Nt指整行識(shí)別正確行數(shù)量,Na指整個(gè)圖像測(cè)試集行數(shù)量。
本文是在NVIDIA GeForce GTX 1070Ti的GPU工作臺(tái),基于谷歌公司Tensorflow平臺(tái)進(jìn)行開發(fā)測(cè)試,訓(xùn)練采用Adam優(yōu)化器,初始學(xué)習(xí)率0.001,每1 000次迭代,學(xué)習(xí)率下降為之前的0.95,其他參數(shù)默認(rèn)。在ICDAR 2017數(shù)據(jù)集上,分別對(duì)SARI FDU[14]、Wenhao He et al[15]和本文模型進(jìn)行訓(xùn)練。根據(jù)訓(xùn)練完成的模型分別對(duì)大量經(jīng)預(yù)處理的藴藻浜—閘北220kV線路裝設(shè)統(tǒng)一潮流控制器工程變電站的鋼結(jié)構(gòu)圖紙標(biāo)題欄模糊圖像和清晰圖像進(jìn)行測(cè)試。圖4綠色框是本文模型的檢測(cè)結(jié)果,從圖中可以看出,本文模型鋼結(jié)構(gòu)圖紙標(biāo)題欄模糊圖像(如圖4(a)所示)與圖像清晰(如圖4(b)所示)文本檢測(cè)結(jié)果相近,基本可以正確檢測(cè)出文本文字片段。
(a)變電站鋼結(jié)構(gòu)圖紙標(biāo)題欄模糊圖像文本檢測(cè)結(jié)果
對(duì)于不同訓(xùn)練集訓(xùn)練的模型,根據(jù)上文3.1文本檢測(cè)評(píng)測(cè)指標(biāo),其評(píng)測(cè)結(jié)果如表1和表2所示。從表中可以看出,同一數(shù)據(jù)集,使用不同的方法進(jìn)行訓(xùn)練,最終預(yù)測(cè)的結(jié)果存在一定差異,本文檢測(cè)模型的評(píng)測(cè)指標(biāo)優(yōu)于SARI FDU、Wenhao He et al.兩個(gè)方法,在清晰圖片上的文本評(píng)測(cè)對(duì)比更加明顯。
表1 不同方法在ICDAR2017數(shù)據(jù)集上的模糊圖片文本評(píng)測(cè)對(duì)比
表2 不同方法在ICDAR2017數(shù)據(jù)集上的清晰圖片文本評(píng)測(cè)對(duì)比
檢測(cè)出圖像文字后,采用CRNN在不同數(shù)據(jù)集上訓(xùn)練后的模型,分別對(duì)變電站鋼結(jié)構(gòu)圖紙標(biāo)題欄模糊圖像和清晰圖像進(jìn)行文字識(shí)別,識(shí)別結(jié)果如圖5所示。從圖5中可以看出,本文識(shí)別方法基本可以正確識(shí)別出模糊圖片(如圖5(a)所示)和清晰圖片(如圖5(b)所示)的文字信息。
(a)模糊圖像文字識(shí)別測(cè)試結(jié)果
通過大量圖像測(cè)試,根據(jù)上文3.1文字識(shí)別評(píng)測(cè)指標(biāo),其評(píng)測(cè)結(jié)果如表3和表4所示。從表中可以看出, 通過本文數(shù)據(jù)集訓(xùn)練的CRNN模型測(cè)試鋼結(jié)構(gòu)圖紙標(biāo)題欄圖像的單字識(shí)別準(zhǔn)確率和整行識(shí)別準(zhǔn)確率是高于MSRA-TD500、ICPR2018數(shù)據(jù)集。主要原因是針對(duì)測(cè)試圖像,進(jìn)行了針對(duì)性的訓(xùn)練,特別是訓(xùn)練集中含有大量的鋼結(jié)構(gòu)圖紙標(biāo)題欄圖像。
表3 CRNN模型在不同數(shù)據(jù)集訓(xùn)練模糊圖片文字識(shí)別測(cè)試結(jié)果
表4 CRNN模型在不同數(shù)據(jù)集訓(xùn)練清晰圖片文字識(shí)別測(cè)試結(jié)果
本文提出了一種CNN與RNN相結(jié)合的變電站工程鋼結(jié)構(gòu)圖紙標(biāo)題欄文本檢測(cè)與文字識(shí)別模型。在文本檢測(cè)中,同一訓(xùn)練集下分別對(duì)模糊和清晰的圖像進(jìn)行測(cè)試,工程應(yīng)用結(jié)果表明本文所采用的方法檢測(cè)精確率達(dá)到80%以上,整體優(yōu)于文中提到的SARI FDU、Wenhao He et al.兩個(gè)方法。
在文字識(shí)別中,通過不同的訓(xùn)練集訓(xùn)練CRNN模型,分別對(duì)已經(jīng)檢測(cè)定位的模糊圖像和清晰圖像文字進(jìn)行識(shí)別,工程應(yīng)用結(jié)果表明在測(cè)試圖像中,本文數(shù)據(jù)集模型識(shí)別準(zhǔn)確率達(dá)90.87%以上,識(shí)別效果高于MSRA-TD500、ICPR2018數(shù)據(jù)集。
本文模型有效檢測(cè)、識(shí)別出了變電站鋼結(jié)構(gòu)圖紙標(biāo)題欄圖像的主要信息,可有效應(yīng)用于變電站建筑工地鋼結(jié)構(gòu)數(shù)據(jù)庫(kù)的建立與實(shí)時(shí)管理。