陳甦欣,劉 偉,萬壽祥
(合肥工業(yè)大學(xué)機(jī)械工程學(xué)院,合肥 230009)
離合器飛輪是各類車輛設(shè)備的重要基礎(chǔ)零部件,離合器飛輪上的字符則包含了該飛輪的產(chǎn)品信息,如尺寸、生產(chǎn)型號(hào)等,因此字符識(shí)別是生產(chǎn)實(shí)際中一個(gè)重要的環(huán)節(jié)。當(dāng)前字符識(shí)別研究主要是通過視覺檢測技術(shù)得到字符圖像,并采用相關(guān)學(xué)習(xí)算法識(shí)別,視覺技術(shù)因?yàn)槠鋵?duì)被測零件不會(huì)產(chǎn)生任何損傷,且具有高效率、高精度、抗干擾能力強(qiáng)等特點(diǎn)因而十分受歡迎[1]。
對(duì)于環(huán)形零件字符識(shí)別問題,吳穎慧[2]研究了雙列圓錐滾子軸承工件號(hào)識(shí)別系統(tǒng),但是該系統(tǒng)的單個(gè)軸承編號(hào)的識(shí)別時(shí)間長達(dá)12 s,檢測速度不能滿足工業(yè)現(xiàn)場檢測要求。李陽等[3]利用NCC模板匹配快速匹配輪胎上的固定編號(hào),實(shí)現(xiàn)字符自動(dòng)分類,但模板定位字符區(qū)域存在誤定位現(xiàn)象。任永強(qiáng)等[4]針對(duì)圓形零件表面的單行字符,提取字符圖像HOG特征,采用SVM-HOG分類法,識(shí)別準(zhǔn)確率達(dá)95%以上,但檢測過程耗時(shí)較多。對(duì)于環(huán)形零件表面多行字符目前研究較少,在實(shí)際工業(yè)環(huán)境下,上述方法有一定局限性。
針對(duì)該離合器飛輪字符檢測識(shí)別需求,在對(duì)字符特征和機(jī)器視覺相關(guān)理論進(jìn)行研究后,提出了基于圖像LBP特征的字符識(shí)別方法。根據(jù)該零件多行環(huán)形字符分布特點(diǎn),設(shè)計(jì)出相應(yīng)的預(yù)處理方案,采用DBSCAN算法實(shí)現(xiàn)字符所在的圓環(huán)區(qū)域定位,實(shí)現(xiàn)多行字符分割,并通過提取字符圖像LBP特征,導(dǎo)入SVM多分類器中訓(xùn)練識(shí)別字符。實(shí)驗(yàn)結(jié)果表明,本文方法可以快速準(zhǔn)確識(shí)別字符。
首先對(duì)相機(jī)采集到的工件圖像進(jìn)行灰度變換,雙邊濾波,閾值分割,腐蝕等形態(tài)學(xué)操作,對(duì)二值化后的圖像進(jìn)行連通域處理,利用環(huán)形掩膜提取感興趣的環(huán)形區(qū)域,采用Canny算子得到輪廓邊緣像素級(jí)坐標(biāo),處理后的圖像如圖1所示。
圖1 工件圖片和預(yù)處理結(jié)果
圓定位的準(zhǔn)確性直接影響字符能否準(zhǔn)確提取。常見的圓檢測方法有基于Hough變換檢測、最小二乘法以及基于隨機(jī)抽樣一致性(random sampling consistency,RANSAC)算法[5-6]。由于本文涉及字符區(qū)域位置較復(fù)雜,直接使用最小二乘法檢測效果較差,而RANSAC算法在計(jì)算時(shí)抽樣耗時(shí)占算法總耗時(shí)的比重較大,針對(duì)此問題,提出一種基于密度空間聚類(density-based spatial clustering of applications with noise,DBSCAN)算法定位圓環(huán)區(qū)域,DBSCAN算法[7]是一種根據(jù)數(shù)據(jù)對(duì)象的密度查找相似屬性的聚類算法,其核心思想是遍歷輸入數(shù)據(jù)集中數(shù)據(jù)點(diǎn)來搜索所有簇,該算法聚類速度快,且有效處理異常數(shù)據(jù)點(diǎn)和發(fā)現(xiàn)任意形狀的空間聚類,與K-means聚類相比,不需要人為劃分聚類個(gè)數(shù),具有很好魯棒性。算法具體步驟如下:
(1)初始化圓心點(diǎn)集O=NULL,在得到的外邊緣輪廓點(diǎn)集D中,根據(jù)距離閾值限定隨機(jī)抽取3個(gè)點(diǎn),即隨機(jī)選取三點(diǎn)中兩兩之間的距離滿足δ0 (1) 由于只需求解二元方程,相比較三元方程更為簡便。求得圓心坐標(biāo)后很容易求得圓的半徑,公式如下: (2) 若所得圓的半徑Rmin (2)使用DBSCAN算法對(duì)圓心點(diǎn)集O進(jìn)行聚類分類,取點(diǎn)數(shù)最多的一類作為真實(shí)圓心點(diǎn)集O′,計(jì)算該點(diǎn)集的均值中心,作為真實(shí)圓心坐標(biāo),將點(diǎn)集O′中每個(gè)圓心點(diǎn)對(duì)應(yīng)的半徑存入半徑集SR,計(jì)算半徑集均值中心,作為對(duì)應(yīng)真實(shí)圓半徑,就得到字符所在區(qū)域外輪廓。 (3)由于字符所在區(qū)域?qū)嶋H內(nèi)輪廓沒有輪廓點(diǎn),因此提出一種徑向搜索法計(jì)算實(shí)際內(nèi)輪廓位置。將(2)中計(jì)算得到的圓心(X,Y)為中心,以Pi(XPi,YPi)為起始點(diǎn),其中Pi的坐標(biāo)值由式(3)確定,從內(nèi)向外搜索,當(dāng)搜索到非零像素也就是字符像素時(shí)停止,按此循環(huán)查找,可得到內(nèi)輪廓邊緣點(diǎn)集。 (3) 式中,θ0為起始角度;RS為搜索半徑,徑向步長為1;i為當(dāng)前搜索次數(shù),i=1,2,3,…,N;Δα是周向步長,其值等于2π/(10×i);j為當(dāng)前搜索中采樣的點(diǎn)數(shù),j=0,1,2,…,10×i。表示搜索半徑越大,周向搜索步長越小,越容易搜索到字符所在區(qū)域,搜索示意如圖2所示。 圖2 徑向搜索法示意圖 經(jīng)過上述算法查找,將得到的真實(shí)內(nèi)外輪廓點(diǎn)集,分別導(dǎo)入最小二乘模型擬合圓,得到字符區(qū)域所在圓環(huán)區(qū)域,如圖3所示。 圖3 圓定位結(jié)果 由于字符分布在環(huán)形區(qū)域上,所以將其進(jìn)行極坐標(biāo)變換展開成矩形區(qū)域,設(shè)展開前某像素點(diǎn)坐標(biāo)為(x,y),展開后(x′,y′),展開前后的像素位置如下: (4) 式中,(x0,y0)為圓心坐標(biāo);r0為展開后高度(展開圓半徑);C0為展開圓最大周長。實(shí)際展開過程中,圖像有一定傾斜,再對(duì)圖像作鏡像、仿射變換后輸出,得到字符圖像如圖4所示。 (a) 環(huán)形展開圖 (b) 字符定位結(jié)果 字符分割常用的方法有連通域方法,像素投影分割法,模板匹配法等[8]。連通域分割法和像素投影法的時(shí)間復(fù)雜度分別為指數(shù)階,平方階。在處理大量字符時(shí),像素投影分割法優(yōu)勢明顯。經(jīng)過分析發(fā)現(xiàn),本文涉及單個(gè)零件字符近30個(gè),沒有大量粘連情況,字符呈3行分布,呈現(xiàn)明顯的分行特征。針對(duì)此特征,采用垂直投影法與水平投影法相結(jié)合的方法,即行與行之間采用水平投影法快速分割,行內(nèi)之間字符采用垂直投影法分割,分割后字符特征如圖5所示。 圖5 水平投影分割結(jié)果 實(shí)際分割過程中發(fā)現(xiàn),個(gè)別字符存在粘連情況,如圖6所示,行內(nèi)字符在垂直投影分割時(shí)根據(jù)分割線的長度作為是否是正確切割線的標(biāo)準(zhǔn),若分割線長度小于d時(shí)均視為字符與字符之間的空白區(qū)域,最后將所有分割后的字符歸一化到16×16像素的標(biāo)準(zhǔn)尺寸字符,便于后續(xù)識(shí)別。 圖6 粘連字符分割 字符特征提取就是對(duì)原始的字符圖像數(shù)據(jù)進(jìn)行變換,且變換后的數(shù)據(jù)模式的本質(zhì)特征對(duì)模式類別具有良好的區(qū)分度。LBP特征是是圖像的局部二值模式特征,為解決維數(shù)過高等缺陷,研究者們提出了統(tǒng)一模式[9],即在LBP模式的二進(jìn)制中,從0到1或1到0的轉(zhuǎn)變次數(shù)最多只有兩次。統(tǒng)一模式LBP算子用LBPu2表示,其產(chǎn)生的維數(shù)模式種類有P(P-1)+3,基本LBP算子產(chǎn)生的特征維數(shù)為2P,因此統(tǒng)一模式可以大大降低特征維數(shù),同時(shí)降維后的特征包含圖像絕大部分有效信息,并且可以減小高頻噪聲帶來的影響,相比較HOG特征而言,沒有計(jì)算梯度的復(fù)雜過程,計(jì)算過程簡單。本文采用(P,R)=(8,1)尺度,即在半徑R為1的鄰域內(nèi)的采樣點(diǎn)數(shù)P為8的尺度。 在實(shí)際應(yīng)用中,通常采用其相應(yīng)的統(tǒng)計(jì)直方圖作為特征向量用于識(shí)別分類[10]。本文通過提取字符圖像LBP特征提取(8,1)LBP特征,構(gòu)成59維特征向量,然后提取字符投影特征連接成為字符圖像特征向量,具體步驟如下: (1)提取特征向量。由于字符圖像較小,故將圖像單獨(dú)作為1個(gè)單元。對(duì)每個(gè)字符圖像進(jìn)行LBPu2提取,并將直方圖歸一化,直方圖形成一個(gè)特征向量59維,就是該字符的LBP紋理特征向量x1,如圖7所示。 (a) 數(shù)字字符 (b) 字母字符 (2)根據(jù)字符投影圖選取計(jì)算字符投影特征向量x224維,其中水平和垂直投影各12維。LBP特征向量x1與24維投影特征向量x2連接形成聯(lián)合特征向量x,就是該字符圖像用于訓(xùn)練的83維特征向量。 (3)輸入SVM識(shí)別分類。將上述兩種特征組合形成聯(lián)合特征向量,以便采用SVM進(jìn)行分類。 支持向量機(jī)(support vector machine,SVM)是一種用于分類和回歸分析的機(jī)器學(xué)習(xí)的方法,通過引入非線性映射函數(shù)Φ(xi)將樣本數(shù)據(jù)映射到高維空間,通過尋找最優(yōu)分類超平面來完成分類任務(wù)[11]。SVM正確分類需要滿足兩個(gè)條件:①正確區(qū)分兩類;②使兩類的點(diǎn)到超平面最小距離最大。 對(duì)于字符分類這樣的多分類問題,可將SVM二分類進(jìn)行擴(kuò)展為多分類[12]。常用的方法有:①通過一次構(gòu)造包含多個(gè)最優(yōu)超平面的模型實(shí)現(xiàn)對(duì)樣本的多分類,但其計(jì)算復(fù)雜,實(shí)現(xiàn)起來較為困難;②組合多個(gè)二分類SVM實(shí)現(xiàn)多分類,共構(gòu)造N(N-1)/2個(gè)分類器,其中N是標(biāo)簽種類數(shù),本文采用第二種方法。由于SVM在小樣本條件下依然可以保持良好的可靠性,因此節(jié)約了大量識(shí)別訓(xùn)練時(shí)間,提高了識(shí)別效率。 待識(shí)別字符種類共有數(shù)字10種,字母種類26種,即一共有36種標(biāo)簽,考慮到數(shù)據(jù)集圖像會(huì)相似,以及數(shù)據(jù)集少、訓(xùn)練效果差的問題,可以將同一字符圖像旋轉(zhuǎn),切割和人為加入噪聲等操作來擴(kuò)大數(shù)據(jù)集和減少重復(fù)率。使用scikit-learn提供的機(jī)器學(xué)習(xí)庫可以很快搭建LBP-SVM訓(xùn)練器模型,數(shù)字字符和字母字符模型訓(xùn)練好后,分別導(dǎo)入帶標(biāo)簽的字符測試圖像進(jìn)行識(shí)別。 為驗(yàn)證本文算法有效性,采集了80張工件圖片,由于其中少量字符殘缺嚴(yán)重,無法提取特征,所以得到有效數(shù)字字符圖像1351個(gè),字母字符圖像952個(gè),將其中80%的字符圖像作為訓(xùn)練集,20%字符圖像作為測試集。為了將字符準(zhǔn)確定位分割,驗(yàn)證圓定位算法性能,將隨機(jī)霍夫變換圓(random hough transform,RHT)算法和RANSAC算法與本文算法作對(duì)比,結(jié)果如表1所示。 表1 圓定位檢測結(jié)果 表1結(jié)果表明,在檢測準(zhǔn)確率上,本文算法與RANSAC算法一致,均高于RHT算法,但檢測速度明顯提高。通過調(diào)整懲罰因子C和徑向基核函數(shù)的核函數(shù)參數(shù)g,得到最佳分類率,并在Visual Studio及Python3.8環(huán)境下編程,實(shí)現(xiàn)上述算法,并與目前常用模板匹配法和HOG+SVM分類法做對(duì)比,對(duì)比結(jié)果如表2所示。 表2結(jié)果表明,本文方法在字符識(shí)別整體準(zhǔn)確率,特別是在檢測速度上明顯提升。限制識(shí)別準(zhǔn)確率提高的主要原因有訓(xùn)練樣本較少和字符樣本存在劃痕,磨損等缺陷,影響了識(shí)別準(zhǔn)確率。 表2 檢測結(jié)果對(duì)比 針對(duì)圓環(huán)形零件多行字符識(shí)別問題,以某公司裝配線上的某型號(hào)離合器飛輪為研究對(duì)象,以形態(tài)學(xué)操作和連通域分割為基礎(chǔ),去除無關(guān)信息,增強(qiáng)可檢測性,之后提出一種DBSCAN算法確定外輪廓和徑向搜索法內(nèi)輪廓的方法,從而快速確定圓環(huán)形字符區(qū)域,對(duì)包含字符的環(huán)形區(qū)域進(jìn)行展開,采用像素投影法進(jìn)行字符分割,提取字符LBP特征,利用LBP-SVM識(shí)別算法進(jìn)行字符分類識(shí)別。實(shí)驗(yàn)結(jié)果表明,該方法能有效識(shí)別離合器飛輪表面多行字符,降低了時(shí)間復(fù)雜度,提高了識(shí)別效率,具有一定的應(yīng)用價(jià)值。2.2 環(huán)形區(qū)域展開
2.3 字符分割
3 字符識(shí)別
3.1 字符LBP特征提取
3.2 支持向量機(jī)
4 實(shí)驗(yàn)分析
5 結(jié)束語