歐陽家斌,胡維平,劉北北,2,劉文揚
1.廣西師范大學(xué) 電子工程學(xué)院,廣西 桂林 541000
2.中國科學(xué)院 自動化研究所 蘇州研究院,江蘇 蘇州 215000
保險絲線圈字符是保險絲的身份證,線圈字符識別對區(qū)別其型號等有效信息有著非常重要的作用,傳統(tǒng)識別線圈字符信息采用人眼讀取,這樣的操作不僅勞動強度大、效率低,隨著工作時間的增長,工人們?nèi)菀自斐陕┳R別和錯誤識別,同時也無法滿足流水線及自動化生產(chǎn)發(fā)展的需求[1],為了解決上述一些存在的問題,將機器視覺引入到線圈字符檢測中。
目前常用于字符分割的方法有投影法、字符邊緣檢測分割法和基于聚類分析的字符分割法[2]。常同于字符識別的方法分為圖像處理及機器學(xué)習(xí)兩類?;趫D像處理的識別主流方法有特征提取法[3]、模板匹配法[4]等,基于機器學(xué)習(xí)的主流方法有基于支持向量機(support vector machine,SVM)、基于多層感知機、基于誤差方向傳播(error back propagation,BP)神經(jīng)網(wǎng)絡(luò)[5]。其中對于前者方法原理簡單,但容易受圖像噪聲的影響,魯棒性差。后者方法識別效果好,泛化能力強,具有很高的魯棒性。
文獻(xiàn)[6]提出了一種CNN網(wǎng)絡(luò)模型LeNet用于手寫字符識別,對促進(jìn)CNN在圖像識別問題中的廣泛應(yīng)用做出重要貢獻(xiàn)。文獻(xiàn)[7]以SSD算法[8]為框架基礎(chǔ),使用多尺度圖像輸入進(jìn)行端對端的訓(xùn)練,較好地解決了文字尺度識別問題,但這樣的做法嚴(yán)重影響了模型的運行速度。文獻(xiàn)[9]采用微分思想將Anchor的橫向長度固定為16個像素點,并使用文本線將小寬度構(gòu)造為文本行以此來克服預(yù)測框受長度劇烈變化的影響,但該網(wǎng)絡(luò)對形變字體識別較差,且無法準(zhǔn)確定位文本兩端的位置。
文獻(xiàn)[10]是Faster R-CNN的開山之作,由于該網(wǎng)絡(luò)將字符生成了一個個候選區(qū)域再送入卷積網(wǎng)絡(luò)中學(xué)習(xí)訓(xùn)練,使得計算量很大,在后續(xù)的分類和回歸網(wǎng)絡(luò)中,使用SVM分類器分別對二者進(jìn)行訓(xùn)練,導(dǎo)致魯棒性和時效性差。因此,在2015年,文獻(xiàn)[11]在R-CNN網(wǎng)絡(luò)的基礎(chǔ)上提出了Fast RCNN網(wǎng)絡(luò),該網(wǎng)絡(luò)可實現(xiàn)端到端進(jìn)行訓(xùn)練,在訓(xùn)練的速度上和測試速度上較R-CNN分別快于9倍和213倍。Fast RCNN所采用Selective Search區(qū)域生成方法[12]的弊端顯而易見,在特征提取耗時較大,因此這給Fast RCNN網(wǎng)絡(luò)繼續(xù)改進(jìn)的機會,改進(jìn)之后的網(wǎng)絡(luò)稱為Faster R-CNN[13],該網(wǎng)絡(luò)更快更強,魯棒性更高,對小物體的檢測以及擁擠、遮擋等較難檢測問題上提供了一個有效的解決方案。文獻(xiàn)[14]創(chuàng)造性地使用Anchor-free完成一階段檢測任務(wù),提出了YOLO v1網(wǎng)絡(luò),其思想是通過整張圖作為輸入,直接預(yù)測字符的類別與位置。2018年,Joseph等人繼續(xù)推出了YOLO v3版本[15],該版本較之前的版本有著更精確的檢測率和更為靈活的拓展空間。YOLO網(wǎng)絡(luò)的實時性較好,但對目標(biāo)相近的物體檢測效果表現(xiàn)一般。
本文針對線圈字符的分割和識別問題,在字符分割上,使用投影法結(jié)合字符的先驗知識給出閾值進(jìn)行去除上下邊框,再經(jīng)過平滑濾波、閉運算去噪,在垂直投影中結(jié)合字符寬度解決黏連問題,從而達(dá)到切分屬于同一字符塊的目的,最后再對切分出來的字符進(jìn)行膨脹處理,使字符清晰易識別。這樣對于后續(xù)的用于字符識別操作做了很好的前處理,較大地提高字符的識別率。在字符識別中,考慮到字符背景噪聲較多,部分字符結(jié)構(gòu)受影響以及有字符黏連相近和壓縮形變情況,因此選擇改進(jìn)的Faste R-CNN網(wǎng)絡(luò)進(jìn)行定位作識別,使用ResNet101[16]代替原有的VGG16基網(wǎng)絡(luò),使用K-means聚類算法[17]尋找最優(yōu)的Anchor取值范圍,將RoI Pooling替換成RoI Align,并在RCNN中損失函數(shù)進(jìn)行了設(shè)計,其目的是提高網(wǎng)絡(luò)模型的準(zhǔn)確性和實時性。同時,將上階段中的分割出來的字符用于該階段中的LeNet[18]做識別,并將其與該方法和未改進(jìn)網(wǎng)絡(luò)進(jìn)行對比,最后通過實驗來驗證該方法的有效性。
由于工業(yè)相機采集出來的圖片較大,含有其他很多電路板和元器件等無用信息,不便于分析和研究,因此進(jìn)行對數(shù)據(jù)集整理和清洗,統(tǒng)一將圖片的尺寸截取為1 110×180大小。線圈的上下部分有螺紋邊框,在高光的拍攝條件下,存在曝光過度的情況,對分割的結(jié)果影響極大,為了正確分割出字符,具體詳細(xì)操作步驟如下:
(1)如圖1所示,為本次實驗操作選取的典型例圖。首先對目標(biāo)圖像進(jìn)行灰度化,在灰度化后的圖像進(jìn)行k-size為(3,3)的高斯濾波操作,目的是通過對鄰域取得九個數(shù)的高斯分布權(quán)重矩陣與原灰度化圖像進(jìn)行卷積操作,從而平滑噪聲。
圖1 選取原圖Fig.1 Selecting original image
(2)使用THRESH_BINARY_INV和Otsu’s二值化,將前景和背景進(jìn)行反相操作,并自適應(yīng)找到最優(yōu)閾值。
(3)水平投影法,對投影的每行累和的像素值設(shè)定閾值,如若大于設(shè)定的閾值,將該行中的所有像素點置于背景色,對投影中的整個波形來說,找到波谷點,將波谷線到邊界線的最小值這一段內(nèi)范圍的所有像素點置于背景色,完成上下邊框去除。
(4)使用kernel為7×7的閉運算操作,為二值化后的圖像進(jìn)行先膨脹后腐蝕的過程,目的為了填充字符內(nèi)的小黑點以及去除背景中的噪聲點。
(5)通過前面一系列操作后,對每一列元素進(jìn)行投影累加,分割出有像素值的列。對于左右無像素值的單個區(qū)域分割出來,若該區(qū)域比字符的寬度大,則選擇在分出來單個區(qū)域的波谷點進(jìn)行分割,此操作的目的是分割出部分因曝光過度而產(chǎn)生黏連問題的字符。
(6)通過對之前水平投影行分割字符中的邊界保存,結(jié)合垂直投影列分割的字符區(qū)域邊界,完成對字符區(qū)域塊的分割操作。
為得到較為清晰分割出來的字符,再次使用THRESH_BINARY_INV和Otsu’s二值化,采用kernel為(4,4)的膨脹操作。并進(jìn)行輪廓檢測,計算輪廓的垂直邊界最小矩形,對矩形的大小進(jìn)行設(shè)置,當(dāng)上邊框與下面框的絕對值小于字符的高度時,選擇濾去,本文設(shè)置的閾值為30像素值,最終得到膨脹反相單個字符圖,如圖2所示,其中圖2(a)和(b)分別為圖1(a)和(b)的最終結(jié)果。
圖2 膨脹單個字符分割圖Fig.2 Expanding single character segmentation graph
本次實驗采集圖片共有620張,通常使用深度學(xué)習(xí)技術(shù)達(dá)到理想識別效果需要大量的樣本數(shù)據(jù)進(jìn)行學(xué)習(xí),因此需要對數(shù)據(jù)進(jìn)行擴增,為了減少標(biāo)注工作量,對已標(biāo)注好的樣本為基本,對在真實場景可能會出現(xiàn)的情況進(jìn)行數(shù)據(jù)增強,本文采用基礎(chǔ)操作的上下旋轉(zhuǎn)、左右置換,以及高級操作的亮度調(diào)整進(jìn)行圖片擴增。
1.2.1 Faster R-CNN卷積神經(jīng)網(wǎng)絡(luò)
Faster R-CNN是一個二階(two-stage)網(wǎng)絡(luò),在R-CNN和Fast RCNN的基礎(chǔ)上改進(jìn)而來,由Ren等人在2016年提出,該網(wǎng)絡(luò)可實現(xiàn)端對端進(jìn)行訓(xùn)練,取得了實時的檢測效果,其網(wǎng)絡(luò)結(jié)構(gòu)主要包含四個部分:特征提取網(wǎng)絡(luò)、候選區(qū)域網(wǎng)絡(luò)(RPN)、RoI Pooling(region of interest)模塊和RCNN模塊。
第一部分的特征提取網(wǎng)絡(luò)是特征提取部分,F(xiàn)aster R-CNN采用的Backbone是VGG16,VGG16共有13個卷積層,3個全連接層,包含4個Pooling層,最后一個Pooling層一般在物體檢測中都不使用。下采樣率為16,如若輸入的是三通道1 110×180圖像,則經(jīng)過基網(wǎng)絡(luò)處理之后輸出的特征圖大小為521×69×11。
第二部分的候選區(qū)域網(wǎng)絡(luò)為RPN模塊,其主要作用是生成Propasal(建議框)。RPN模塊包含了5個子模塊:Anchor的產(chǎn)生、RPN卷積網(wǎng)絡(luò)、計算RPN損失、生成Propasal和篩選Proposal得到RoI。
(1)Anchor的產(chǎn)生
Anchor在物體檢測的網(wǎng)絡(luò)中比較常用,為了使得檢測準(zhǔn)確率更高,一般的網(wǎng)絡(luò)會選擇使用提供的先驗框在圖像上進(jìn)行框定,然后再篩選和精修從而完成精確的定位。Anchor的本質(zhì)是在原圖像中產(chǎn)生的一系列有一定比例大小的矩形框,F(xiàn)aster R-CNN網(wǎng)絡(luò)將這些矩形框和基網(wǎng)絡(luò)之后的特征圖進(jìn)行了關(guān)聯(lián)。
(2)RPN卷積網(wǎng)絡(luò)
RPN卷積網(wǎng)絡(luò)在通過Backbone網(wǎng)絡(luò)之后先進(jìn)行了3×3的卷積,之后分為分類分支和回歸分支。在分類分支中,首先利用1×1卷積在特征圖操作,將維度的特征點進(jìn)行聯(lián)通,由于每個Anchor有前背景之分,并且每個特征點有9種尺寸大小,所以輸出的維度為2×9=18。而分類的過程中需要經(jīng)過Softmax函數(shù),故對向量維度進(jìn)行reshape操作,之后再次reshape還原。在回歸分支中,同樣使用1×1卷積,每個點有9種Anchor,每個Anchor有4個數(shù)據(jù),分別為框的中心點坐標(biāo)和寬高,因此輸出的維度為4×9=36。
(3)計算RPN損失
從(1)中的Anchor產(chǎn)生可得知,其總數(shù)量將近兩萬個。為了解決正負(fù)樣本的失衡問題,因此需要對Anchor進(jìn)行篩選,一般情況下,選擇最多不超過128個正樣本,總共有256個Anchor送入后續(xù)的損失計算。上述的正負(fù)樣本代表了預(yù)測的分類真值,而回歸部分需要利用Anchor與之對應(yīng)的標(biāo)簽求得偏移量值,將其保存在bbox_targets中。負(fù)樣本為背景,不需要回歸,故將bbox_outside_weights設(shè)置為0,而正樣本需要回歸,將bbox_inside_weights設(shè)置為1。RPN真值最后輸出有標(biāo)簽label、偏移量值bbox_targets、正負(fù)樣本的兩個權(quán)重bbox_inside_weights和bbox_outside_weights。
(4)生成Proposal
首先對生成全部的Anchor進(jìn)行回歸偏移調(diào)整,將超過圖像尺寸的Anchor去除,然后對接下來的Anchor按照confidence(置信度)排序,篩選出前12 000個得分高的Anchor,此時利用非極大值抑制(non maximum suppression,NMS)去掉一個物體可能含有多個Anchor的重疊框,最后將從建議區(qū)域中得到得分最高的2 000個框,作為后續(xù)的Proposal輸出到下一階段。
(5)篩選Proposal得到RoI
從(4)中得到2 000個框,含有很多的背景框,會造成負(fù)樣本過多,使得出現(xiàn)正負(fù)樣本不均衡,為了有效地送入后續(xù)的全連接網(wǎng)絡(luò),減少不必要的計算,因此還需要從Proposal中繼續(xù)篩選出有效的正負(fù)樣本。根據(jù)標(biāo)簽與Proposal的IoU值,篩選出正負(fù)樣本。通常情況下,將正負(fù)樣本的總數(shù)設(shè)定為256個,并對正負(fù)樣本的比例進(jìn)行限制,正樣本和負(fù)樣本的比例為1∶3。
第三部分為RoI Pooling層。顧名思義是為了將上述輸入的RoI進(jìn)行池化,所處理之后的特征圖為固定的大小,以供后續(xù)的RCNN計算預(yù)測值與真值的損失。
第四部分為全連接RCNN模塊。經(jīng)過第三部分RoI Pooling操作之后,將池化后的操作送入RCNN進(jìn)行訓(xùn)練。值得一提的是,RCNN的損失函數(shù)和RPN保持相同,在分類中,同樣使用二分類,但這里共有21個類別,而不再是前背景兩個類別。在回歸任務(wù)中,選擇不超過64個正樣本進(jìn)行回歸,負(fù)樣本則不參與計算。
1.2.2 改進(jìn)的Fast R-CNN網(wǎng)絡(luò)結(jié)構(gòu)
到目前為止,在機器視覺中誕生了很多的目標(biāo)檢測網(wǎng)絡(luò),但Faster R-CNN無疑成為了一個經(jīng)典的目標(biāo)檢測網(wǎng)絡(luò)算法[19],尤其對小物體檢測、擁擠和遮擋等困難場景提供了一個有效的解決方案,眾多優(yōu)秀的目標(biāo)檢測算法都基于Faster R-CNN的基礎(chǔ)上改進(jìn)、完善和優(yōu)化而來,因此,為了準(zhǔn)確檢測(識別)保險絲字符,在以下四個方面進(jìn)行改進(jìn)。
(1)在特征提取階段使用ResNet101代替原來的VGG16
如圖3所示,為ResNet101的網(wǎng)絡(luò)結(jié)構(gòu)圖,其一共有四個大卷積組,這四個大卷積組的Bottleneck數(shù)分別為3,4,6,3。采用ResNet101作為Faster R-CNN特征提取基網(wǎng)絡(luò),首先對送入的圖像進(jìn)行步長為2的卷積操作,此時特征圖縮小至原來的1/2,通道數(shù)為64,之后連續(xù)通過三個卷積組,通道數(shù)增加一倍,而特征圖減少至原來的1/2,卷積的過程直至經(jīng)過第三個特征組時,將最后一次變?yōu)橥ǖ罃?shù)為256的1×1卷積。因此ResNet101特征提取網(wǎng)絡(luò)為91層卷積操作,與VGG16相同的是,輸出的Feature map維度為512,下采樣率為16。
圖3 ResNet101網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.3 ResNet101 network structure diagram
(2)在RPN網(wǎng)絡(luò)中,尋找最佳的Anchor參數(shù)
使用K-means聚類算法尋找最佳的Anchor尺寸大小,首先對Anchor Box的K個數(shù)進(jìn)行初始化,對Bounding Box左上角和右下角四個坐標(biāo)提取出來,用右下角橫坐標(biāo)與左上角橫坐標(biāo)之差得到框的長,用右下角縱坐標(biāo)與左上角縱坐標(biāo)之差得到框的寬,之后計算Bounding Box與Anchor Box的IoU值,其目的是在Box尺寸比較大的時候,能夠減少相應(yīng)的誤差值,使其直接聚類Bounding Box的寬和高,產(chǎn)生K個寬高組合的Anchor Boxes。在此使用IoU值,即為Anchor Box與Bounding Box的公共部分占所有部分的比例。引入誤差d,d為1減去IoU,每一個Bounding Box對于Anchor Box都有一個誤差d(n,K),其中n為Bounding Box,K為Anchor Box的初始化值。經(jīng)過遍歷,選取誤差最小的Anchor Box分類給Bounding Box。隨后將屬于Anchor Box的Bounding Box取平均值作為一個尺寸進(jìn)行更新,直到所有的Bounding Box都能找到Anchor Box的類。最后,找到每一個Bounding Box最高的IoU值,進(jìn)行取平均值輸出精確度[20]。
通過加載標(biāo)注的文件信息,最終聚類得出的9種Anchor,分別為:(8,219),(11,211),(13,221),(14,226),(16,214),(18,224),(20,228),(24,235),輸出的圖像size為416。準(zhǔn)確率為92.53%。
(3)將RoI Pooling替換成RoI Align
由于RoI Pooling在實現(xiàn)的過程中,直接對特征量化取整,此操作雖然簡單快捷,但連續(xù)的兩次取整操作,必然會帶來較大的偏差,直至影響整個網(wǎng)絡(luò)的性能,最為直接的是導(dǎo)致預(yù)測框在回歸物體位置中不準(zhǔn)確。RoI Align實現(xiàn)的過程可從如下分析,若預(yù)測的框為280×280大小,通過下采樣率16,因此進(jìn)行區(qū)域生成的特征圖大小為280/16=17.5,保留其浮點數(shù),之后將得到大小為17.5×17.5的特征圖處理成7×7的區(qū)域。因此需要以17.5/7=2.5的步長來選取,繼而保留浮點數(shù),得到小方格2.5×2.5的區(qū)域,在此區(qū)域內(nèi)采用最大值池化,作為該特征的輸出值,最終實現(xiàn)7×7的輸出。在此過程中,對每個小方格平均分成4份,在這4份的中心作為該內(nèi)區(qū)域的值,而中心點通過選取周圍4個點進(jìn)行雙線性插值得到,再對這4個中心點取最大值,將得出來的最大值作為池化輸出到7×7的特征。
(4)在RCNN中損失函數(shù)的設(shè)計
為了能在輸入寬高比差異較大圖像中也能達(dá)到良好的效果,因此對于本次實驗,平衡分類和回歸中的損失尤為重要。在經(jīng)過RoI Pooling層之后,輸出的Anchor通常為256個,而feature map的分辨率大小為經(jīng)過特征提取網(wǎng)絡(luò)之后所產(chǎn)生的值,在本次的保險絲字符定位作識別中,輸入的圖片為1 110×180,因此經(jīng)過下采樣率為16之后得到的特征圖大小為(1 110/16)×(180/16)=780,而由Faster R-CNN網(wǎng)絡(luò)的損失函數(shù)可知[21],Ncls為樣本的總數(shù)量,即Anchor數(shù)量,為256,Nreg為feature map的分辨率大小,即上述求出的780,為了達(dá)到平衡損失條件,因而對參數(shù)的取值為λ=3,故損失本次使用的損失函數(shù)如式(1)所示:
其中,Pi和分別是每個Anchor類別的真值和預(yù)測類別為分類損失為回歸損失,其中ti為偏移真值,t*i為預(yù)測偏移量。具體公式如下所示:
驗證改進(jìn)之后的網(wǎng)絡(luò)算法性能,將其與未改進(jìn)的Faster R-CNN進(jìn)行對比,并對比上一階段分割出來的字符用于本階段的識別,識別算法使用LeNet網(wǎng)絡(luò)。
平臺采用Windows10(64 bit)專業(yè)版操作系統(tǒng),處理器為Intel?CPU E5-2620 2.00 GHz,內(nèi)存為24 GB,顯卡為NVIDIA Tesla M40(24 GB),使用語言環(huán)境python3.7.6,開發(fā)框架為pytorch,OpenCV的版本為4.1.1。
采集的圖像共有620張,然后對原圖像進(jìn)行三種數(shù)據(jù)增強的操作,分別為:對原圖像旋轉(zhuǎn)180°、以y軸為中心左右翻轉(zhuǎn)和對三通道中每個點加50像素值進(jìn)行亮度調(diào)整。經(jīng)過該操作后共得到2 480張圖片,而后按比例8∶1∶1分別分配給訓(xùn)練集、驗證集和測試集。每個保險絲線圈,采用的三個角度進(jìn)行捕獲,合并為一個圖像,因此有的區(qū)域字符為重復(fù)的字符,保險絲的線圈字符序列中一共有13~14個字符,合并之后的圖像含有的字符數(shù)有13~19個,三個對接的圖像有一定的左右鏡像能力,因此對一些嚴(yán)重模糊或曲面扭曲的圖像不進(jìn)行操作,如圖4所示,對紅線框的字符視作無效字符。另外,數(shù)字打上對應(yīng)的數(shù)字標(biāo)簽,字符打上對應(yīng)的小寫字母標(biāo)簽,特別地,對于字符“L”的標(biāo)簽為“l(fā)l”。
圖4 鏡像圖像中模糊和變形示意圖Fig.4 Schematic diagram of blur and distortion in mirror image
為了驗證改進(jìn)算法的有效性,與改進(jìn)前的算法進(jìn)行對比實驗,如圖5所示,為本文改進(jìn)算法的訓(xùn)練損失曲線圖,當(dāng)總損失將近收斂時,暫停訓(xùn)練,共計5 000迭代次數(shù)。
圖5 改進(jìn)網(wǎng)絡(luò)的訓(xùn)練損失曲線Fig.5 Training loss curve of improve network
如圖6所示,為選取兩組網(wǎng)絡(luò)改進(jìn)前后識別效果對比圖,從第一組(a)和(b)可以看出,改進(jìn)前的網(wǎng)絡(luò)對右側(cè)中“A”的壓縮小字符未能識別,并且對能夠準(zhǔn)確識別的字符框有偏歪的現(xiàn)象,比如左側(cè)的“P”字符和右側(cè)的“T”字符;第二組中的(c)和(d),未改進(jìn)的網(wǎng)絡(luò)在圖像右側(cè)識別中對倒“V”字符出現(xiàn)兩個框檢測,并存在一個誤檢框,誤檢的結(jié)果為“A”;由對比結(jié)果圖可知,改進(jìn)之后的網(wǎng)絡(luò)對曲面或部分殘缺的字符能做到有效的識別,由此可見,改進(jìn)后的模型,加強了網(wǎng)絡(luò)特征提取,提取了多層有效的語義信息,并對RoI Pooling的量化造成的偏差有一定的改善。
圖6 改進(jìn)前后實驗對比結(jié)果Fig.6 Experimental comparison results before and after improvement
對于上一階段使用的測試數(shù)據(jù)集分割出來的單獨字符送入本階段進(jìn)行識別,分割階段得到的字符共有2 871個,將該部分字符送入LeNet網(wǎng)絡(luò)進(jìn)行訓(xùn)練和推斷,計算其從分割后到識別的準(zhǔn)確率,而使用定位作識別中,除去數(shù)據(jù)處理階段一些嚴(yán)重模糊、曲面扭曲和主體部分缺失的字符,在測試集數(shù)據(jù)248張圖像上共有3 497個有效字符。使用一階段網(wǎng)絡(luò)YOLO v1、SSD和二階段未改進(jìn)網(wǎng)絡(luò)進(jìn)行對比實驗,其各訓(xùn)練參數(shù)如表1所示。
通過表1的參數(shù)進(jìn)行訓(xùn)練,將所得模型進(jìn)行推斷,最終,通過實驗得到的結(jié)果如表2所示。
表1 對比實驗網(wǎng)絡(luò)訓(xùn)練參數(shù)Table 1 Contrast experimental network training parameters
從表2的實驗結(jié)果對比可以看出來,在定位做識別中,YOLO v3網(wǎng)絡(luò)實時性效果較高,每秒可推斷35張圖片,但對字符的正確識別率只有96.69%,難以達(dá)到高精度的要求,而改進(jìn)后的網(wǎng)絡(luò)對比未改進(jìn)網(wǎng)絡(luò)在保持幀率不變的前提下準(zhǔn)確率提高了1.17個百分點,對比SSD和YOLO v1網(wǎng)絡(luò)分別提高了4.03個百分點和3.22個百分點,使用分割結(jié)合LeNet識別的算法在分割率上有較大的損失,而對分割出來的字符因較多有殘缺部分導(dǎo)致識別效果欠佳??紤]工業(yè)圖像檢測的識別率和實時性訴求,結(jié)合精度和速度綜合考量,使用本文所采用改進(jìn)的Faster R-CNN網(wǎng)絡(luò)通過實驗驗證了該方法在線圈字符識別問題的有效性,并有著顯著的識別效果,對這類OCR問題有一定的普適性。
表2 實驗對比結(jié)果Table 2 Results of comparative experiment
光學(xué)字符識別是計算機視覺中重要的研究方向之一,近年來成為了研究熱點,隨著中國制造不斷地發(fā)展,OCR的應(yīng)用場景越來越廣闊。本文對保險絲線圈的字符進(jìn)行了研究,采用了兩種方法進(jìn)行識別,一種是通過字符的先驗知識使用投影法進(jìn)行分割,將分割完成的字符送入LeNet網(wǎng)絡(luò)進(jìn)行識別,另一種方法是以定位作識別,將每個字符進(jìn)行目標(biāo)檢測從而到達(dá)識別的效果。對比了一階段網(wǎng)絡(luò)和二階段網(wǎng)絡(luò)檢測算法,并最終選擇改進(jìn)的Faster R-CNN目標(biāo)檢測作為識別,其主要體現(xiàn)在四個方面的改進(jìn),優(yōu)化之后的網(wǎng)絡(luò)讓字符識別效果更理想,在后續(xù)的研究中,可以將對線圈中的字符進(jìn)行去重復(fù)化,排列出正確的字符序列來,組合得到線圈中的序列字符,以識別整個圖片的正確序列作為基準(zhǔn),以供線圈型號等信息的辨認(rèn)。
通過本文的檢測作識別方法,能夠準(zhǔn)確識別出曝光過度、部分殘缺和曲面壓縮等線圈的字符。實驗表明,使用定位作識別的方法在這類光學(xué)字符識別具有一定的推廣和借鑒價值。