馮謙,陶青川
(四川大學電子信息學院,成都 610065)
當前,國內各大鋼材生產(chǎn)企業(yè)正逐步將一些生產(chǎn)環(huán)節(jié)從人工操作轉變?yōu)樽詣踊僮鱗1]。在鋼板的表面有鋼板的唯一編號,在測試試驗的各個環(huán)節(jié),需要把鋼材編號與測試數(shù)據(jù)對應起來保存,以達到質量檢測的要求。因此如何在實際生產(chǎn)環(huán)節(jié)中利用計算機視覺方法來進行自動化字符區(qū)域檢測與識別,成為了一個亟需解決的問題。目前字符定位及識別的方式以人工目測法為主,效率不高且浪費人力。利用計算機視覺技術和神經(jīng)網(wǎng)絡技術,可以大大提高檢測和識別的準確性和速度,并且可以減少對勞動力的依賴。本文旨在通過工業(yè)相機采集到鋼材表面圖片,再經(jīng)過圖像處理和預先訓練的神經(jīng)網(wǎng)絡進行識別,實時精確且快速地得到當前鋼材的編號。
近年來,在目標檢測和字符識別取得了一些比較突破的成果。目標檢測領域中,HOG結合SVM的方案是較為成熟的方案,提出時率先應用于自然場景中的人臉檢測[2],之后在物體檢測中也取得了很好的效果[3]。傳統(tǒng)的OCR解決方案中,基于形態(tài)學的圖像處理往往能在特定場景的目標檢測取得很好的效果,例如發(fā)票票據(jù)信息檢測[4],駕駛證證件信息區(qū)域檢測[5]。字符識別領域中,基于ANN的神經(jīng)網(wǎng)絡對字符識別有著較高的識別率[6]。華中科技大學的白翔團隊受到Mask R-CNN的啟發(fā)提出了一種用于場景文本識別的可端到端訓練的神經(jīng)網(wǎng)絡模型:Mask TextSpotter[7]。端到端訓練的方式可以省去字符切割的步驟,字符分割效果不好的情況下會對下一步字符識別造成一定的影響。在實際的工業(yè)生產(chǎn)線上,計算機普遍配置不高且不具有高端顯卡,對識別速度也要求較高。因此,需要一種網(wǎng)絡結構簡單,速度較快,能在較低配置計算機上正常運行的解決方案。
盡管工業(yè)相機成像質量較好,但由于現(xiàn)場環(huán)境復雜、鋼材表面坑洼以及光照不均勻等多種原因,會造成圖像噪聲過多、過亮、過暗等情況,對后續(xù)檢測和識別造成影響。
圖1 圖像預處理流程
高斯濾波處理噪聲的同時較好地保留了字符的邊緣,對后續(xù)算法影響最小。
其中標準差σ是事先定好的常數(shù),將求出的結果離散化為模板與原圖做卷積即可。
使用直方圖均衡化處理圖像整體較暗或較亮有較好的效果[8]。本文針對文本檢測的要求使用伽馬變換,突出文本區(qū)域信息,弱化背景區(qū)域信息。
將γ值設置為3以拉伸具有更高灰度級的圖像區(qū)域,即文本區(qū)域,同時,對灰度較低的區(qū)域進行壓縮,增強了圖像文本區(qū)域的對比度。
圖2 圖像預處理結果圖
由于字符區(qū)域位于整個鋼材的中央?yún)^(qū)域,因此在定位每一個字符的區(qū)域前先獲取整體文本的位置是一種普遍的方法。傳統(tǒng)的區(qū)域檢測算法包括圖像邊緣分割和形態(tài)圖像處理,以找到連接區(qū)域并獲得目標區(qū)域。一個強大的基于神經(jīng)網(wǎng)絡的文本檢測算法——EAST text detector在場景文本檢測上具有優(yōu)異的效果[9]。
EAST文本檢測器是一種基于新穎架構和訓練模式的深度學習模型。該方法使用單個神經(jīng)網(wǎng)絡直接預測整個圖像中任意方向的四邊形文本行,消除了不必要的中間步驟,例如候選區(qū)域聚合和字符分割。模型可以分解為三個部分:特征提取器、特征合并分支和輸出層。最初可以使用卷積層和池化層交錯的卷積神經(jīng)網(wǎng)絡進行預訓練,以獲得四級特征圖像。大小分別是原圖的1/32、1/16、1/8和1/4。合并分支的功能在特征合并部分中逐漸合并它們。要使圖形的大小加倍,然后與當前特征圖級聯(lián)。接下來是一個3×3卷積層,它融合了信息并最終產(chǎn)生文本合并階段的結果。輸出層對應于RBOX,由軸向邊界框和旋轉角度表示。
圖3 EAST網(wǎng)絡結構圖
圖4 EAST識別成多段文本
EAST文本檢測器有其缺點,一個文本區(qū)域有時會被檢測到多個文本區(qū)域,這不利于長文本的檢測。而最終需要整體的文本區(qū)域,因此需要將多個文本區(qū)域聚合。
基于長文本區(qū)域檢測的要求,改進了EAST方法的輸出層,使長文本預測更加準確。EAST是使用所有像素的預測頂點坐標的加權平均值計算最終的頂點坐標。而對于長文本的四邊形來說從短邊一側的若干像素來預測另一側的兩個頂點難度較大。因此設計了一個有頭尾方向的文本框邊界輸出層模式。頭部像素只負責預測其一側的兩個頂點,尾部像素負責另一側。
表1 改進后網(wǎng)絡輸出層
改進后網(wǎng)絡輸出層分別是第一位是否在文本框中,第二位和第三位是否屬于文本框邊界像素以及是頭還是尾。最后四位是邊界像素可以預測的兩個頂點的坐標。
運行模型預測得到輸出后,還需要根據(jù)輸出計算得出最后的文本框坐標,這個過程如下。由預測矩陣根據(jù)配置閾值得到激活像素集合;按先左右后上下的順序將相鄰集合合并生成其頭和尾邊界像素集合;每個邊界像素點預測值的加權平均值作為最后的預測坐標值。
圖5 改進后EAST文本檢測效果
通過EAST檢測到的文本區(qū)域有著一定的傾斜角度,傾斜角度過大會對下一步的分割造成干擾。因此,有必要矯正圖片的文本部分以進行下一步。旋轉角度根據(jù)字符區(qū)域的包圍矩形的長邊與水平軸的夾角確定,旋轉中心根據(jù)字符區(qū)域的包圍矩形的中心點確定,根據(jù)以上結果計算仿射變換矩陣。
圖6 矯正效果圖片
對圖像傾斜矯正后需要將字符從背景中分割出來,一般采用Ostu算法或者Sobel算法。手動選擇閾值的方法不利于多種場景下的分割,因此需要自適應閾值選擇方法使用。選擇基于Ostu算法(最大類間方差法)的二值化操作對圖片進行處理。
對于閾值T,將圖像分為了目標點和背景點,其中目標點的比例為w1,像素平均值為 p1,背景點的比例為w2,像素平均值為p2。當閾值T求得上式類間方差值為最大的時候,可以確認閾值。
二值化后,可以通過搜索連接區(qū)域并找到正外界矩形來確定多個字符區(qū)域。對外部矩形寬度異常的字符進行個別判斷。運用列的線性掃描,在異常區(qū)域尋找上下輪廓的極小值,同時比照正常區(qū)域寬度進行分割得到切分正常的單個字符。將切分正常的單個字符順序輸入訓練好的卷積神經(jīng)網(wǎng)絡得到最終的識別結果。
圖7 二值化后效果圖
CNN是卷積神經(jīng)網(wǎng)絡。LeNet5作為早期的卷積神經(jīng)網(wǎng)絡很快應用在了支票上手寫數(shù)字的識別。21世紀后,隨著深度學習理論的發(fā)展和計算機設備的不斷完善,卷積神經(jīng)網(wǎng)絡得到了迅速發(fā)展,并被廣泛應用于計算機視覺、自然語言處理等領域。
卷積神經(jīng)網(wǎng)絡的結構有三部分,分別是卷積層、池化層和全連接層。在普通神經(jīng)網(wǎng)絡的情況下,圖像的每個像素作為連接到所有像素的神經(jīng)元將導致過多的參數(shù)。卷積神經(jīng)網(wǎng)絡有兩種方法可以減少參數(shù)的數(shù)量。第一種是局部感知,由于圖像具有強相關性的特點,距離相近的像素相關性較強,距離較遠的像素點相關性較差。因此,每個神經(jīng)元僅需要局部感知,并且僅需要卷積核心的像素數(shù)量的參數(shù)。另一種是權重共享,即每個卷積內核是一種提取特征的方法。只要確認了提取某一種特征的卷積核,就能對整個圖像學習到同樣的學習特征。為了使特征提取充分,使用多個卷積核,可以學習多種特征。可以計算圖像區(qū)域上的特定特征的平均值或最大值以表示該區(qū)域的特征。這些匯總統(tǒng)計特征不僅減少了特征的尺寸,而且使其難以過度擬合。此聚合操作稱為池化,這簡化了模型的復雜性和參數(shù)。在實際應用中,使用多層卷積,然后將完整連接層用于訓練。層數(shù)越多,學習的特征就越全局化。本文對鋼材表面圖片字符先進行粗略切割然后保存,將其中字符圖片分為數(shù)字0到9一共十類,分作訓練集和測試集兩個集合。運用LeNet5結構的卷積神經(jīng)網(wǎng)絡對字符進行訓練,將訓練后的權值保存作為后續(xù)檢測的方法。
實驗平臺:
處理器:英特爾酷睿i5-7300HQ
圖8 卷積神經(jīng)網(wǎng)絡結構
顯卡:GTX 1050M
操作系統(tǒng):Windows 10
系統(tǒng)內存:8G
在定位文本時,將改進后EAST文本檢測方法與傳統(tǒng)的掃描線檢測法以及單獨的EAST方法進行了對比,測試樣本共有1000個圖像,結果如表2所示。
表2
傳統(tǒng)的掃描線檢測法與單獨的EAST方法準確率相差不多,但單獨的EAST方法可以得到文本的角度信息。改進的EAST方法大幅提升了定位準確度,很好地解決了定位的問題。
本文對已有的鋼材表面圖片字符先進行切割然后保存,將字符圖片分為0到9一共10類,一共46889張訓練圖像以及4812張測試圖像。將卷積神經(jīng)方法與人工神經(jīng)網(wǎng)絡方法進行了比較,結果見表3。
表3
從表2-3看出,改進后的EAST在文本區(qū)域檢測上是性能最優(yōu)的。字符準確切割后的識別使用CNN是準確度最高的。兩者結合能達到高準確度的結果。
本文采用改進的EAST文本檢測方法對文本進行檢測,局部最小法對文本進行切分,并采用卷積神經(jīng)網(wǎng)絡方法進行字符識別。保證了在較低配置的計算機上時間的快速性和檢測的準確性。經(jīng)過測試,在測試集上獲得了95%的綜合識別率,能夠在實際生產(chǎn)中應用。