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