李飛 盛剛 畢佳佳



摘要:為了有效識別裝維人員在分纖箱上標記的唯一標識碼,將識別出來的標識信息與資源系統工單中的信息進行比對,實現家庭寬帶裝維工單的一致性檢驗,本文提出了一種分纖箱噴碼識別技術。該方法將文本檢測技術Ctpn及tesseract文字識別技術進行結合,實現對分纖箱噴碼的有效智能識別,替代了人工抽查的方式,提升了質檢效率。
關鍵詞:文本檢測;分纖箱;噴碼識別;工單質檢;質檢效率
中圖分類號:TP391 文獻標識碼:A
文章編號:1009-3044(2020)13-0018-02
當前家庭寬帶裝維工單的質檢工作普遍采用人工抽查的方式進行,需要大量人力進行重復性勞作,存在覆蓋率低、時延長、效率低、成本高等問題。因此,裝維質量監管力量有限,成為影響裝維工作質量的重要因素之一。在裝維工作中,裝維人員需要根據工單分配的信息對裝機的分纖箱進行唯一標識噴碼標記,為了檢驗施工人員的施工一致性,需要將分纖箱上的唯一標識噴碼識別出來,與工單中的標識信息進行比對,校驗施工是否一致。傳統的檢驗方式是需要人工進行核對,對于這種重復性的工作是非常耗費人力的。因此,隨著人工智能技術的飛速發展,OCR文字識別技術也得到了進一步的發展,應用到不同的場景中,如證件識別、車牌識別、拍照識別等不同場景,并取得了很好的效果。本文中的分纖箱噴碼識別場景屬于一種比較復雜的場景,存在著拍攝角度問題、噴碼清晰度問題以及字體多樣化等問題,因此本文采用CTPNm網絡及tesser-act文字識別結合的方式,對分纖箱上的噴碼進行識別,有效提高了識別的準確率,提高工單智能質檢的效率和準確性。
1基于Ctpn和tesseract結合的分纖箱噴碼識別方法
采用基于CTPN文本檢測及tessemct文字識別技術相結合的方式,對分纖箱噴碼進行識別。首先,先對采集的圖片進行圖像預處理,提高輸入圖像的質量;然后將處理后的圖片輸入到Ctpn網絡中,實現文字區域的檢測與分割;最后調用tesseract文字識別技術,實現對噴碼的識別,并輸出識別的噴碼字符。
1.1文字圖像預處理
實驗所用圖片由運營商的服務保障系統采集而來。采集后的分纖箱圖片先經過噴碼預檢測模型,過濾掉一些噴碼拍攝不完整、無噴碼以及噴碼非常模糊的圖片,如圖2所示。圖中的boxl.ipg、box2.ipg、box4.i,pg屬于不合規圖片,需要過濾掉。box3.jpg屬于合規圖片,將相對合格的分纖箱噴碼圖片進行后面的文字識別。將保留合規噴碼的圖片進行圖像預處理,主要包括圖像灰度化、圖像去噪、圖像增強以及圖像二值化處理方法。圖像預處理過程如圖3所示。
1.2基于Ctpn的文字檢測與分割方法
對于復雜場景的文字識別,首先要定位文字的位置,即文字檢測,然后再對檢測的文字區域進行文字識別。文本檢測可以看成特殊的目標檢測,但又不同于通用的目標檢測。文本檢測不僅要正確檢測到文字,還需要覆蓋整個文本長度。本文采取的CTPN算法是在ECCV 2016提出的一種文字檢測算法。
傳統的文字檢測方法沒有考慮到上下文,是先將單個字符檢測出來后再連接起來。CTPN結合CNN與LSTM深度網絡,進行序列特征識別和深度特征提取,能有效地檢測出復雜場景的橫向分布的文字。CTPN的關鍵思想是:1)采用垂直anchor回歸機制,檢測小尺度的文本候選框;2)只預測文本的豎直方向的位置,水平方向的位置不預測,并將候選區域產生的滑窗寬度設為固定值;3)采用RNN循環網絡將檢測的小尺度文本進行連接,得到文本行。
CTPN的具體實現流程包含三個部分:檢測小尺度文本框、循環連接文本框、文本行邊緣細化。具體的實現步驟如下:
1)使用VGGl6作為基網絡提取特征,得到W*H*C大小的特征圖;
2)在上述得到的特征圖上使用大小3*3的滑動窗口進行滑動,每個窗口都得到一個長度為3*3*C的特征向量;
3)將特征向量輸入到一個雙向的LSTM中,得到長度為W*256的輸出;
4)然后接一個512的全連接層,輸出2k個垂直坐標,2k個評分,k個邊緣細化;
5)使用一個標準的非極大值抑制算法來過濾多余的文本框;
6)使用基于圖的文本行構造算法,得到由一個個文本段合并的文本行。
本文采用YCG09在github上開源的chinese_ocr項目中基于CTPN訓練的模型,該模型使用3420張左右自然場景的文字圖片進行訓練,并采用定向文本連接器對文字進行連接,最終得到模型參數。由于拍攝角度原因,分纖箱圖片上噴碼字體存在傾斜的情況,因此在使用CTPN模型檢測出文字區域后,根據每個文字區域的坐標計算其傾斜角度degree,degree的計算方法通過調用python中math庫下的degrees0函數獲取,核心代碼計算如下圖4所示。其中pt2[o]、pt2[l]是檢測的文本矩形框的右下角坐標中的x軸坐標值及y軸坐標值,ptl[o]、ptl[l]是檢測的文本矩形框左下角坐標中的x軸坐標值及v軸坐標值。
之后以圖像為中心,角度為degree對圖像進行旋轉,并且在旋轉矩陣中加入平移操作,使得原圖旋轉后完全落在圖像中。這樣就會輸出每個相對水平的文字區域圖像,能夠有效提高識別準確率。將檢測出的文字區域進行分割,如圖2中的box3jpg圖片經過Ctpn后分割后的字符圖片如圖5所示。
1.3基于Tesseract的文字識別方法
Tesseract是一款開源的文字識別引擎,最先由HP實驗室于1985年研發,后來由Google接收進行改進和優化嘲。Tesser-act能夠兼容多種語言的字符識別,在識別英文字符和數字上有著比較精準的效果。
Tesseract的核心步驟包括字符定位與分割、字符識別。Tesseract的字符定位與分割是先將一段文本分割成單個字符,然后逐個識別每個字符。字符識別則采用基于LSTM的深度學習框架。
本文初始嘗試了直接調用開源的tesseraet引擎對噴碼圖片進行識別,先進行圖片字符的定位與分割,然后再進行字符識別,但識別的效果非常差,原因是許多分纖箱圖片中噴碼拍攝不是水平的,tesseraet中對噴碼字符的定位與分割效果比較差。因此,本文嘗試將Ctpn的文字檢測與tesseract文字識別技術相結合,利用Ctpn將圖片的文字區域檢測并分割出子圖,每個子圖是一個文本行圖片。然后將子圖輸入到tesseraet中,并設置tesseract中參數PSM為7,7代表將整個圖像作為一個單個的文本行。經實驗驗證,該方法大大提高了識別準確率。
由于分纖箱圖片中不僅僅包含噴碼字符,還包括其他無關字符,如圖5所示,為了精準定位到噴碼字符圖片,精確輸出噴碼字符文字,本文做了如下工作:
1)首先對圖5中的每一張圖片進行文字識別,輸出每張圖片的識別結果;
2)將每張圖片識別的文字結果依次與原圖對應的工單中的噴碼字符進行文本相似度計算,輸出每個相似度值;
3)取相似度值最大的文本字符,即是原圖中對應的噴碼字符。
2識別準確率的驗證結果及分析
為了驗證文中的噴碼識別方法,從運營商的服務保障系統采集了8000張分纖箱圖片進行實驗。經過噴碼預檢測模型,過濾掉4957張不合規圖片,對3043張拍攝合規的分纖箱噴碼圖片進行文字檢測與識別。為了對比本文中識別方法的有效性,本文將該方法與直接調用tesseract方法和由CTPN檢測、由DenseNet及CTC訓練識別文字的方法進行對比,實驗對比結果如表1所示。
由表1可知,本文提出的基于CTPN和Tesseract的噴碼識別方法在準確率上有了較大的提高,驗證了本方法的有效性。
3結束語
本文針對裝維質檢場景中的分纖箱噴碼識別,提出了將Ctpn與tesseract技術相結合的方法對噴碼進行識別。本文通過讀取分纖箱噴碼圖片,經過一系列的預檢測、灰度化、圖像去噪、圖像增強以及圖像二值化處理預處理,然后Ctpn對圖片進行文字檢測與分割,分割成多個文字子圖,并將子圖輸入到tes-seract中識別結果,并對識別結果通過相似度匹配進行篩選,輸出噴碼字符。通過實驗對比,驗證了本方法的有效性。但本方法仍有一定的缺陷,由于在分割文字子圖后直接調用tesseract,沒有考慮到編碼的規則性及上下字符的關聯,后期再繼續研究過程中,將根據實際噴碼文字制作噴碼字符的圖片,利用tes-seract進行自訓練,提高識別的準確率。