來 駿,仲 贊,林文釗,沈 煉
(1.國網(wǎng)浙江省電力有限公司湖州供電公司,浙江 湖州 313000;2.國網(wǎng)浙江省電力有限公司長興縣供電公司,浙江 湖州 313100)
隨著電力企業(yè)規(guī)模的不斷擴大,設備數(shù)量激增,員工記錄工作票、操作票(簡稱“兩票”)的工作量也逐漸加大。雖然“兩票”已經(jīng)實現(xiàn)電子化管理,但是,一線員工仍嚴重依賴紙質工作票,因此,設計一種紙質工作票信息快速識別方法,以減輕人員工作負擔,提升工作效率。
工作票中需要識別的信息主要有印章內容、日期、人名以及操作步驟等,結合現(xiàn)場實際需求,重點選擇使用較為廣泛的印章以及日期兩類信息進行識別,包括工作票圖像中的印章與日期的檢測和內容的識別。
工作票圖像中的印章與日期檢測可作為文本檢測問題來處理,目前主要有專用的文本對象檢測方法和基于通用目標檢測的文本檢測方法兩類。文獻[1]在CTPN 算法的基礎上,使用多層卷積網(wǎng)絡提取更加豐富的特征來對試卷當中的手寫文本進行檢測;文獻[2]在角度糾正過的電力作業(yè)擴工單上,采用CTPN 算法來檢測手寫日期。隨著通用目標檢測技術的發(fā)展,目前越來越多的工作采用基于通用目標檢測的算法對文本對象進行檢測,這些方法根據(jù)網(wǎng)絡結構的不同可分為以Faster R-CNN 為代表的兩階段檢測算法和以YOLO 系列為代表的單階段檢測算法。文獻[3]在Faster R-CNN 的基礎上優(yōu)化了RPN 結構,進而提高了對于復雜背景下文本定位的精度;文獻[4]根據(jù)YOLOv3 的網(wǎng)絡結構,設計了一種適用于小目標的字符檢測網(wǎng)絡。
針對文本識別,目前主要有兩個途徑:一種是通過傳統(tǒng)圖像處理方法進行字符分割,再對單個字符用分類器進行識別;另一種是直接對完整的文本信息進行無分割的序列化識別。文獻[5]采用連通域方法,將生產(chǎn)日期的字符分割出來,再使用LeNet-5 網(wǎng)絡對單個字符進行分類識別,這一類方法對于字符分割有著較高的要求,當遇到連筆等情況,將很難得到滿意的分割效果,進而影響最終的識別率。隨著深度神經(jīng)網(wǎng)絡的發(fā)展,無分割的序列化文本識別方法逐漸成為主流,典型的CRNN 就是其中一種針對場景文字的識別算法,該算法通過CNN 將圖片特征提取出來,然后采用RNN 對序列進行預測,最后通過CTC 的翻譯層得到最終識別結果。雖然RNN 有較強的序列建模能力,但運行效率不高,因此部分工作可嘗試使用全卷積網(wǎng)絡替代RNN 進行序列化識別,使模型更加輕量化。
綜上分析,構建了一種全新的工作票圖像檢測與識別框架。在設計檢測部分的框架時,重點考慮兩點:一是日期信息區(qū)域的形狀與尺寸都比較規(guī)則,使用復雜的專用文本檢測算法會帶來額外的算力負擔;二是需要檢測印章這類非常特殊的目標對象。因此,考慮選取通用檢測方法。對于印章的分類,直接采用輕量化的卷積神經(jīng)網(wǎng)絡來提取深層特征以實現(xiàn)分類;在日期識別部分,采用Ghost-OCRNet 來解決由于手寫與印刷字體混合造成字符粘連、不易分割的難題。
YOLOv4 是由Alexey B 等人提出的,并在YOLOv3 的基礎上進行了包括骨干網(wǎng)絡、激活函數(shù)、損失函數(shù)以及數(shù)據(jù)增廣等方面的優(yōu)化,其主干網(wǎng)絡采用了CSPDarkNet53,在YOLOv3 所使用的DarkNet53 基礎上引入CSP 結構,進一步增強了網(wǎng)絡的特征提取能力。CSPDarkNet53 中采用了Mish 作為激活函數(shù),相較于傳統(tǒng)的負值零硬邊界的Relu 激活函數(shù),新的激活函數(shù)使得網(wǎng)絡擁有更好的泛化能力。YOLOv4 使用了CIOU Loss 作為損失函數(shù),相較于之前的均方差損失函數(shù),該函數(shù)將IOU、中心點距離以及矩形框長寬比納入衡量的指標,使得檢測精度得到進一步提升。YOLO 作為單階段檢測網(wǎng)絡,可同時對邊界框和類別進行預測,效率上相較于兩階段的檢測網(wǎng)絡有很大的優(yōu)勢。綜合考慮效率以及精度,選用YOLOv4 作為工作票信息快速識別的檢測網(wǎng)絡。
需識別的印章一共有六類,包括“合格”“不合格”“已執(zhí)行”“未執(zhí)行”“以上空白”以及“作廢”。在實際場景中,受光線變化以及人工操作的影響,印章的色調、飽和度以及形狀的完整程度等都會發(fā)生變化,因此采用神經(jīng)網(wǎng)絡提取深層特征信息并通過交叉熵損失函數(shù)對印章進行分類。為實現(xiàn)快速識別,選用更為精簡的MobileNetv3 網(wǎng)絡。
針對日期識別的復雜性,提出一種無需分割的輕量化識別網(wǎng)絡Ghost-OCRNet 進行識別。由于工作票日期的字符數(shù)量不是固定的,因此采用CTC 損失進行模型訓練,并使用貪婪算法來解碼網(wǎng)絡的輸出序列,從而得到最后的字符串預測結果。
Ghost-OCRNet 設計中使用全卷積網(wǎng)絡替換了文本識別網(wǎng)絡中常用的RNN 算法以降低模型復雜度,同時引入Ghost 模塊來替換普通卷積操作以減少參數(shù)量,從而進一步提升模型的推理速度。此外,為了充分利用文本的全局信息,在中間特征圖的生成過程中使用了全局上下文嵌入與并行下采樣的方法來增強特征表達能力。網(wǎng)絡以Ghost 瓶頸模塊(GhostBottle-neck)為基本模塊進行特征提取,中間進行了兩次并行下采樣(Parallel DownBlock)來增強特征表達能力,此外,在網(wǎng)絡的不同階段設計了兩種不同的全局信息嵌入模塊(Easy-Global Embedding 與Multi-Global Embedding)以更好地提取特征信息。
2.3.1 Ghost 模塊
為了構建輕量化的模型,引入了Ghost 模塊,其基本結構如圖1 所示。深度神經(jīng)網(wǎng)絡中的卷積操作被分成兩部分:一部分為普通卷積,生成上半部分特征圖;另一部分是將一系列線性運算應用于已有特征圖來生成下半部分特征圖,再對兩部分特征圖進行拼接。與普通卷積神經(jīng)網(wǎng)絡相比,在生成相同尺寸與數(shù)量特征圖的情況下,此模塊所需要的參數(shù)總數(shù)與計算復雜度均已降低,同時網(wǎng)絡性能相比采用普通卷積的情況不會有明顯下降。基于這一思想,引入GhostNet 中的基本網(wǎng)絡組件Ghost 瓶頸模塊并以此模塊引入Ghost 模塊替代卷積塊,同時使用了深度可分離卷積網(wǎng)絡(DWConv)來減小參數(shù)量。此外,為了應對梯度爆炸以及梯度消失的問題,設計了輸入到輸出的殘差連接。
圖1 Ghost 模塊基本結構
2.3.2 特征增強
在Ghost-OCRNet 中,為獲得更高的識別精度,設計了并行下采樣模塊以及全局信息嵌入模塊來提高特征表達能力。該模塊對輸入特征圖并行地進行卷積和池化操作,通過設置步長來實現(xiàn)降采樣,并對結果進行拼接,在不增加計算量的情況下,實現(xiàn)了更強的特征表達。此外,根據(jù)特征圖尺寸的不同,調整了步長、卷積核以及池化類型,使得網(wǎng)絡在不同階段都能夠提取到足夠豐富的語義信息。
全局信息嵌入模塊采用全局池化的方法來獲取上下文信息并增強特征表達能力。該模塊被分成兩個階段:前一階段,直接將輸入與經(jīng)過平均池化并廣播后的結果進行拼接;后一階段,特征圖尺寸較小,因此并行引入卷積分支,以少量的計算代價獲取到了更加豐富的特征信息。
從基層班組收集400 張原始數(shù)據(jù),通過旋轉、裁切等增廣手段得到1 200 張圖像。將得到的數(shù)據(jù)集隨機分為兩部分,其中1 000 張用來訓練,200張用來測試;日期識別樣本采用手寫與打印混合的日期圖片作為數(shù)據(jù)集,共計4 055 張,其中訓練集為3 655 張,測試集為400 張;采用類似方法,獲得了印章訓練集圖像2 000 張,測試集圖像400 張。
訓練與測試采用相同的軟硬件平臺,操作系統(tǒng)為Ubuntu18.04,CPU 為Intel Core i7-9700k@3.60 GHz×8,GPU 為Titan V (顯存12G),使用的通用并行計算架構(cuda)版本為9.0。網(wǎng)絡相關參數(shù)設定如表1 所示。
表1 網(wǎng)絡相關參數(shù)
按照要求進行日期和印章目標檢測、印章分類和日期識別三組實驗,并分別對網(wǎng)絡的精度與運行速度進行測試。
1) 檢測部分。以Faster R-CNN 作為對比網(wǎng)絡,在200 張測試集上對印章與日期兩類對象進行檢測,分別評估,印章與日期的檢測準確率。設置置信度為0.5、IOU 為0.7 時的檢測精度作為網(wǎng)絡精度的評價指標,同時以每秒處理幀數(shù)作為速度指標,檢測實驗結果如表2 所示。
表2 檢測實驗結果
結果顯示:Yolov4 的檢出率和召回率均高于Faster R-CNN,在保證高檢測精度的同時,YOLOv4 在推理速度上也比Faster R-CNN 高,其模型尺寸也較小。綜合考慮,YOLOv4 更能滿足本文輕量化、快速識別框架的要求。
2) 印章分類部分。以輕量化網(wǎng)絡Shuffle-Net_v2 為對比網(wǎng)絡,在400 張測試集上進行分類效果的評估。以分類準確率作為精度的衡量指標,每秒處理幀數(shù)作為速度的衡量指標,實驗結果如表3 所示。
表3 印章分類實驗結果
結果顯示:MobileNetV3 和ShuffleNet_v2 推理速度都很快,且模型大小也相差不大,但前者在精度上有優(yōu)勢,綜合考慮,MobileNetV3 是更優(yōu)的分類網(wǎng)絡。
3) 日期識別部分。以CRNN 作為對照網(wǎng)絡,測試集有400 張圖片。以準確率作為精度衡量指標并且僅當每個字符都預測正確才被判定為正例,同樣以每秒處理幀數(shù)為速度指標,識別實驗結果如表4 所示。
表4 日期識別實驗結果
結果顯示:Ghost-OCRNET 在準確率和速度上都明顯優(yōu)于CRNN,并且模型大小只有后者的1/5,輕量化網(wǎng)絡能夠在保證精度的同時,實現(xiàn)手寫和印刷混合日期的快速識別。
4) 整個系統(tǒng)的識別精度和識別速度測試。測試中以檢測正確(預測置信度大于0.5 并且預測框與GT 框重疊率大于0.7)且分類識別正確的結果作為正樣本,以正樣本所占比例作為精度標準。從測試集中隨機選取50 張圖片進行測試,結果顯示平均處理速度為5.6 幀/s,識別正確率能夠達到93.5 %。
針對工作票上日期及印章等信息的識別,構建基于深度神經(jīng)網(wǎng)絡的快速識別框架,該框架采用單階段快速檢測網(wǎng)絡YOLOv4 同時對日期和印章進行檢測,并采用輕量化分類網(wǎng)絡MobileNetV3 對印章進行分類識別。
考慮到日期中手寫與印刷體混合文本信息較難識別的問題,提出了一個輕量化且無需字符分割的序列化文本識別網(wǎng)絡Ghost-OCRNet,通過引入了Ghost 模塊使得卷積操作更加輕量化,整體識別的模型大小較小,推理速度達到了47.6 幀/s,具有明顯的識別速度優(yōu)勢。此外,為提高識別準確率,Ghost-OCRNet 中還引入了并行下采樣與全局信息嵌入的操作來增強特征表達能力,整個工作票識別系統(tǒng)的識別準確率為93.5 %,平均處理速度為5.6 幀/s,非常適合應用于實際工作場景。