翁衛(wèi)兵,樊祉良,吳 堅(jiān),陳 灼
(浙江科技學(xué)院機(jī)械與能源工程學(xué)院,浙江 杭州 310012)
表面粗糙度對機(jī)械結(jié)構(gòu)的裝配質(zhì)量、配合性質(zhì)、工作性能、使用壽命都有很大的影響[1]。其檢測在現(xiàn)代工業(yè)發(fā)展中扮演著重要角色。表面粗糙度的檢測方法分為接觸式和非接觸式[2],非接觸式檢測方法主要有激光法、聲發(fā)射法和機(jī)器視覺法。由于前兩者成本高、應(yīng)用條件苛刻,所以機(jī)器視覺檢測法得到了廣泛的研究。
國內(nèi)外學(xué)者在使用機(jī)器視覺技術(shù)檢測粗糙度的領(lǐng)域做了大量的研究。如:文獻(xiàn)[3]基于灰度共生矩陣建立了粗糙度檢測系統(tǒng),并驗(yàn)證了該系統(tǒng)的可行性。文獻(xiàn)[4]提取了車削表面的基于灰度共生矩陣的特征參數(shù),結(jié)合BP神經(jīng)網(wǎng)絡(luò)(Back Propagation)構(gòu)建了粗糙度檢測模型。文獻(xiàn)[5]通過獲取磨削表面圖像并做處理,采用L2正則化優(yōu)化了BP神經(jīng)網(wǎng)絡(luò),提高了檢測效率。文獻(xiàn)[6]提出一種基于彩色圖像奇異值熵評價(jià)磨削表面粗糙度,利用線性回歸實(shí)現(xiàn)了粗糙度檢測。鍍鎳銅線圈為研究對象,如圖1所示。在生產(chǎn)過程中需檢測其表面粗糙度,在前人研究的基礎(chǔ)上,結(jié)合對其特性分析,擬采用基于灰度共生矩陣的視覺檢測方式。
圖1 鍍鎳銅線圈圖Fig.1 Nickel-Plated Copper Coil Diagram
上述視覺檢測方式工作原理是:由工業(yè)相機(jī)、顯微鏡頭、點(diǎn)光源等設(shè)備構(gòu)成的硬件系統(tǒng)獲取圖像,利用圖像處理技術(shù)與BP神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)表面粗糙度的檢測,原理,如圖2所示。采用上述方式對線圈表面粗糙度進(jìn)行了檢測,發(fā)現(xiàn)準(zhǔn)確度不能達(dá)到預(yù)期要求。經(jīng)分析,主要原因有兩點(diǎn):(1)特征參數(shù)提取過程受外界環(huán)境、硬件設(shè)備等因素干擾;(2)BP神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過程中陷入局部最優(yōu)解。
圖2 檢測原理流程圖Fig.2 Flow Chart of Detection Principle
BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值的更新原理是梯度下降法,所以BP神經(jīng)網(wǎng)絡(luò)在訓(xùn)練迭代過程中容易陷入局部最優(yōu)解,前人為解決這種問題做了多方面的研究。
如:文獻(xiàn)[7]使用了BP-LM 混合神經(jīng)網(wǎng)絡(luò)建立檢測車削表面粗糙度模型。文獻(xiàn)[8]使用遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)用做預(yù)測銑削加工鈦合金工件的表面粗糙度。文獻(xiàn)[9]使用了自適應(yīng)粒子群優(yōu)化前饋神經(jīng)網(wǎng)絡(luò)建立了檢測切屑表面粗糙度的檢測模型。文獻(xiàn)[10]采用遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)來預(yù)測不銹鋼干式車削表面粗糙度。文獻(xiàn)[11]借助粒子群算法優(yōu)化BP網(wǎng)絡(luò)預(yù)測磨削工件表面粗糙度。
針對上述問題,現(xiàn)有研究多以啟發(fā)式算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò),但這些研究多數(shù)應(yīng)用在通過切削、銑削等加工方式預(yù)測粗糙度值,應(yīng)用在視覺檢測粗糙度值的研究較少。模擬退火算法具有全局搜索能力強(qiáng)和收斂速度快等優(yōu)點(diǎn),能快速尋找到全局最優(yōu)解[12],所以提出使用模擬退火算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的權(quán)值與閾值,建立SABP模型,以提高線圈表面粗糙度的檢測準(zhǔn)確度和穩(wěn)定性。
圖像采樣硬件系統(tǒng)由AO-HD206工業(yè)相機(jī)、(0.4~4.5)X變焦顯微鏡頭、白色LED點(diǎn)光源等設(shè)備構(gòu)成,如圖3所示。選取3根分別由40目、60目和100目的金剛砂處理過的鍍鎳銅線圈,隨機(jī)在3根線圈的不同位置選取采樣點(diǎn)并獲取圖像。
圖3 圖像采樣硬件系統(tǒng)Fig.3 Image Sampling Hardware System
由于彩色圖像所包含的信息過多,為了提高識別效率,首先將所獲取的彩色圖像轉(zhuǎn)化為灰度圖像。由于外界環(huán)境干擾,圖像在獲取的過程中會遭到一定污染,為準(zhǔn)確地獲取和分析研究對象的表面紋理信息,需要對圖像進(jìn)行降噪處理。
中值濾波屬于非線性濾波方法,在平滑脈沖噪聲處理方面非常有效,同時(shí)也可以保護(hù)圖像的尖銳邊緣,選擇合適的點(diǎn)來代替被污染點(diǎn)的值,其處理效果良好,于是采用中值濾波算法對圖像進(jìn)行降噪濾波。由于線圈粗糙度值采用粗糙度檢測儀測量,檢測范圍較小,為了讓所獲取的圖像對粗糙度值更有表征作用,將圖像做一定的裁剪,保留粗糙度儀檢測到的中間部分。處理后圖像,如圖4所示。
圖4 處理后的圖像Fig.4 The Processed Image
灰度共生矩陣又稱聯(lián)合概率矩陣,是通過研究灰度的空間相關(guān)特性來描述紋理的常用方法[13]。在圖像中取任意一點(diǎn)(x,y)及與該點(diǎn)組成對點(diǎn)的(x+a,y+b),設(shè)該對點(diǎn)所對應(yīng)的灰度值為(g1,g2)。如果將圖像的灰度值設(shè)為k,則(g1,g2)一共有k2種組合。在圖片的整個(gè)區(qū)域,統(tǒng)計(jì)出所有的(g1,g2)出現(xiàn)的次數(shù)p(g1,g2),并排列成一個(gè)矩陣,于是就得到灰度共生矩陣p(g1,g2|θ,d),根據(jù)θ,d值的不同可得到多個(gè)灰度共生矩陣。
其表達(dá)式為:
式中:g1,g2=0,1,2,…,k-1;k—灰度級別;θ—生成方向;d—步長。
基于灰度共生矩陣的圖像紋理描述參數(shù)主要有能量、對比度、相關(guān)性、熵四個(gè)特征參量,采用這四個(gè)特征參數(shù)來量化線圈的粗糙度值。其特征參數(shù)表達(dá)式分別為:
下列式中p(g1,g2)為方向θ和步長d確定的灰度共生矩陣。
2.3.1 能量
能量是灰度共生矩陣各個(gè)元素值的平方和,又稱角二階矩,它反映了紋理圖像灰度均勻性,也是描述紋理粗細(xì)的一種指標(biāo)。定義為:
2.3.2 對比度
對比度又稱慣性矩,該值越大,圖像紋理溝紋越深,反之,溝紋越淺。定義為:
2.3.3 相關(guān)性
相關(guān)性體現(xiàn)了圖像中紋理區(qū)域在某種方向下的相似度,越相似值越大,反之值越小。定義為:
2.3.4 熵
熵是圖像所具有信息量的度量,是一個(gè)隨機(jī)性的度量。它表示了圖像紋理的非均勻性和復(fù)雜程度[4]。值越大,共生矩陣中元素越分散。定義為:
灰度共生矩陣計(jì)算過程中會受到灰度級、步距和方向(0°、45°、90°和135°)的影響。為減少計(jì)算時(shí)間,將灰度級降至32。步長取值過大,會丟失紋理信息,于是將步長取為1。不同方向的灰度共生矩陣值相差較大,為了完整描述紋理特征,將這四個(gè)不同方向的特征參數(shù)取平均值與標(biāo)準(zhǔn)差值作為紋理特征。分別為:能量均值Q1、對比度均值Q2、相關(guān)性均值Q3、熵均值Q4、能量標(biāo)準(zhǔn)差Q5、對比度標(biāo)準(zhǔn)差Q6、相關(guān)性標(biāo)準(zhǔn)差Q7和熵標(biāo)準(zhǔn)差Q8。
在相同設(shè)備、拍攝環(huán)境、拍攝方式條件下,分別在三種線圈不同位置采集表面顯微圖像,圖像一共120張,將每張圖像做處理并提取其特征參數(shù),使用粗糙度儀檢測實(shí)際粗糙度值,同時(shí)為了降低粗糙度儀自身誤差的影響,在同一個(gè)檢測點(diǎn)測量3次取平均值,最后建立圖像紋理特征參數(shù)與實(shí)際粗糙度值的數(shù)據(jù)庫。分別在3種線圈中隨機(jī)選取3組數(shù)據(jù),如表1所示。將9組數(shù)據(jù)繪制成粗糙度值與其對應(yīng)的特征參數(shù)關(guān)系圖,如圖5 所示。在數(shù)據(jù)庫中,分別將3種線圈的粗糙度值與各特征參數(shù)取平均數(shù),繪制粗糙度值均值與其對應(yīng)的特征參數(shù)均值的關(guān)系圖,如圖6所示。
表1 9組線圈紋理特征參數(shù)與對應(yīng)粗糙度值表(Ra/μm)Tab.1 Table of 9 Groups of Coil Texture Characteristic Parameters and Corresponding Roughness Values(Ra/μm)
圖5 粗糙度值與其對應(yīng)的特征參數(shù)關(guān)系圖Fig.5 Relation Diagram of Roughness Values and Corresponding Characteristic Parameters
圖6 粗糙度值均值與其對應(yīng)的特征參數(shù)均值關(guān)系圖Fig.6 Relation Diagram of Roughness Mean Value and Corresponding Characteristic Parameter Mean Value
由于對比度均值Q2過小,對比度標(biāo)準(zhǔn)差Q6過大,為了直觀表達(dá)數(shù)據(jù)變化,在繪圖時(shí)分別將這兩個(gè)值放大10倍和縮小10倍。根據(jù)關(guān)系圖,能量均值Q1、對比度均值、對比度標(biāo)準(zhǔn)差和相關(guān)性標(biāo)準(zhǔn)差隨粗糙度增大呈下降趨勢,相關(guān)性均值、熵均值、能量標(biāo)準(zhǔn)差和熵標(biāo)準(zhǔn)差隨粗糙度增加呈上升趨勢,由此可說明這8個(gè)特征參數(shù)與粗糙度具有正、負(fù)相關(guān)性,證明該數(shù)據(jù)庫具有良好的網(wǎng)絡(luò)學(xué)習(xí)性能。
在關(guān)系圖5中,有些粗糙度值點(diǎn)呈反向變化趨勢,但變化幅度較小,而且這些點(diǎn)的粗糙度值與上個(gè)點(diǎn)的粗糙度值很接近,造成該現(xiàn)象的原因分析如下:線圈有些位置不平整,導(dǎo)致顯微鏡頭在不平整位置對焦不準(zhǔn),使圖像產(chǎn)生一些模糊;粗糙度檢測儀本身就存在一定范圍的誤差。
BP神經(jīng)網(wǎng)絡(luò)是一種最常用的以誤差反向傳播為基礎(chǔ)的前向人工神經(jīng)網(wǎng)絡(luò)。它能夠?qū)崿F(xiàn)輸入輸出樣本間隱含的任意復(fù)雜的非線性映射關(guān)系[14]。BP神經(jīng)網(wǎng)絡(luò)的主要結(jié)構(gòu)為輸入層、隱含層、輸出層以及每層之間的權(quán)值、閾值。前人大量實(shí)驗(yàn)證明用一個(gè)3層的BP神經(jīng)網(wǎng)絡(luò)就可以完成一個(gè)從任意的n維輸入層到m維輸出層的映射[4]。所以使用三層的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),如圖7所示。
圖7 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.7 Neural Network Structure Diagram
在BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中,輸入層的每個(gè)神經(jīng)元為基于灰度共生矩陣紋理特征參數(shù)Q1~Q8,輸出層為對應(yīng)的粗糙度值。Wih為輸入層到隱含層的權(quán)值,qh為每個(gè)隱含層神經(jīng)元的閾值,Whj為隱含層到輸出層的權(quán)值。
一般來說隱含層神經(jīng)元個(gè)數(shù)與輸入層神經(jīng)元個(gè)數(shù)、輸出層神經(jīng)元個(gè)數(shù)相關(guān)[8]。通常采用經(jīng)驗(yàn)公式來得出隱含層的神經(jīng)元個(gè)數(shù)M。
式中:M—神經(jīng)元個(gè)數(shù)(取整數(shù));m—輸出層神經(jīng)元個(gè)數(shù);n—輸入層神經(jīng)元個(gè)數(shù);a—(0~10)的常數(shù)。
模擬退火算法是一種尋求全局最優(yōu)解的算法,其基本思想是模擬固態(tài)物質(zhì)在退火過程中內(nèi)部分子運(yùn)動狀態(tài)。模擬退火算法的核心思想是在尋優(yōu)階段會以一定的概率接受劣解,從而達(dá)到跳出局部最優(yōu)的目的,隨著溫度降低,劣解接受的概率也降低,最終得到全局最優(yōu)解。
模擬退火算法步驟:
(1)定義初始溫度T=T0。
(2)隨機(jī)生成初始解Xn={W1,W2,…,Wi|q1,q2,…,qj},n—權(quán)值個(gè)數(shù)與閾值個(gè)數(shù)和,i—權(quán)值個(gè)數(shù),j—閾值個(gè)數(shù),W—權(quán)值,q—閾值。
(3)在當(dāng)前解Xn附近隨機(jī)擾動產(chǎn)生新解X'n,模型如下:
式中:μ—隨機(jī)擾動賦值;α—服從正態(tài)分布概率密度的向量組。
(4)執(zhí)行Metropolis接受準(zhǔn)則,在某一溫度狀態(tài)下,若產(chǎn)生劣解,以概率P接受劣解;若產(chǎn)生更優(yōu)解,直接接受。
式中:Obj—目標(biāo)函數(shù);K—玻爾茲曼常數(shù)。
(5)開始降溫,Ti+1=Ti×k,k—降溫系數(shù)。
(6)在溫度Ti+1下重復(fù)(3)~(5)步驟,直到達(dá)到終止條件。
由于BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值與閾值對訓(xùn)練結(jié)果影響較大,較差的初始權(quán)值與閾值容易使網(wǎng)絡(luò)陷入誤差曲面的某個(gè)極小點(diǎn),造成局部最優(yōu)解。為了讓BP神經(jīng)網(wǎng)絡(luò)得到最優(yōu)的訓(xùn)練結(jié)果,需要得到最優(yōu)的初始權(quán)值與閾值。因此,通過模擬退火算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò),使其避免陷入局部最優(yōu)解,得出最優(yōu)的訓(xùn)練結(jié)果。SA-BP神經(jīng)網(wǎng)絡(luò)算法工作原理,如圖8所示。
圖8 SA-BP算法工作原理Fig.8 The Principle of The SA-BP Algorithm Works
采用數(shù)據(jù)庫的數(shù)據(jù)作為BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練樣本。模擬退火算法中的目標(biāo)函數(shù)值為實(shí)際值與檢測值的誤差平方和,其公式模型為:
(1)初始化神經(jīng)網(wǎng)絡(luò)的權(quán)值、閾值Xn和模擬退火參數(shù)。
(2)第i+1步下根據(jù)式(11)擾動產(chǎn)生新解,再根據(jù)式(13)計(jì)算新解的目標(biāo)函數(shù)值Obji+1。
(3)若新解為更優(yōu)解,則接受新解,若新解為劣解,則根據(jù)Metropolis接受準(zhǔn)則接受劣解。
(4)判斷內(nèi)循環(huán)是否達(dá)到終止條件,達(dá)到終止條件轉(zhuǎn)至第(5)步,未達(dá)到轉(zhuǎn)至第(2)步,繼續(xù)迭代。
(5)溫度降溫,根據(jù)終止條件最低溫度判斷外循環(huán)是否結(jié)束,若結(jié)束,此時(shí)的為全局最優(yōu)解,即最優(yōu)初始權(quán)值與閾值。若未結(jié)束,則返回第(2)步。
(6)將由模擬退火算法優(yōu)化好的初始權(quán)值與閾值賦值給神經(jīng)網(wǎng)絡(luò)進(jìn)行網(wǎng)絡(luò)訓(xùn)練。
為了驗(yàn)證SA-BP模型的有效性,將上述的數(shù)據(jù)庫作為模型的訓(xùn)練樣本,選取另外3根由相同金剛砂和噴砂設(shè)備處理過的線圈,建立起圖像紋理特征參數(shù)與實(shí)際粗糙度值關(guān)系的數(shù)據(jù)庫作為測試樣本,數(shù)據(jù)庫容量為9 組。使用MATLAB 軟件編寫SA-BP模型的主程序和子程序,為了保證網(wǎng)絡(luò)的訓(xùn)練效果,把輸入樣本與輸出樣本通過函數(shù)Mapminmax進(jìn)行歸一化和反歸一化。模擬退火算法的初始溫度設(shè)為1000,終止溫度為0.001,降溫系數(shù)為0.96;根據(jù)式(9)BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)設(shè)為8-12-1,隱含層的激活函數(shù)為tansig函數(shù),輸出層激活函數(shù)為pureline函數(shù),訓(xùn)練函數(shù)為trainlm,網(wǎng)絡(luò)學(xué)習(xí)率為0.06,目標(biāo)誤差為0.000025,根據(jù)多次測試,網(wǎng)絡(luò)的訓(xùn)練迭代次數(shù)均不超出100,所以最大訓(xùn)練次數(shù)設(shè)為1000。最后采用MATLAB軟件進(jìn)行仿真,使用BP模型與SA-BP模型對相同的樣本進(jìn)行訓(xùn)練與測試,訓(xùn)練過程,如圖9所示。測試結(jié)果,如圖10、表2所示。
表2 實(shí)驗(yàn)數(shù)據(jù)結(jié)果對比Tab.2 Comparison of Experimental Data and Results
圖9 神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練過程Fig.9 Neural Network Model Training Process
圖10 SA-BP與BP測試結(jié)果對比圖Fig.10 Comparison of SA-BP and BP Test Results
在圖9中,橫坐標(biāo)為網(wǎng)絡(luò)迭代次數(shù),縱坐標(biāo)為訓(xùn)練的均方誤差(MSE),虛線為預(yù)設(shè)的誤差精度(Goal),實(shí)曲線為誤差精度隨迭代變化過程。根據(jù)圖9,BP模型在47代時(shí)得到最優(yōu)解,MSE為0.000139,大于預(yù)設(shè)MSE,顯然網(wǎng)絡(luò)陷入了局部最優(yōu)解;SA-BP模型有著更快的迭代速度,在25代得到最優(yōu)解,MSE為0.000023,略低于預(yù)設(shè)MSE。在相同的訓(xùn)練條件下,SA-BP模型迭代次數(shù)比BP神經(jīng)網(wǎng)絡(luò)少,MSE比BP神經(jīng)網(wǎng)絡(luò)低,因此可證明SA-BP模型擁有更快的收斂速度,更容易得到全局最優(yōu)解。
根據(jù)表2,采用BP神經(jīng)網(wǎng)絡(luò)模型檢測結(jié)果為:測試樣本的誤差幅度最大為0.21μm,均方誤差為0.0162,相對誤差最大為9.42%,相對誤差均值為5.41%;采用SA-BP神經(jīng)網(wǎng)絡(luò)模型檢測結(jié)果為:測試樣本的誤差幅度最大為0.13μm,均方誤差為0.0057,相對誤差最大為6.40%,相對誤差均值為3.45%。通過兩種檢測模型的結(jié)果數(shù)據(jù)對比可知,SA-BP模型要比BP模型擁有更高的檢測準(zhǔn)確性與穩(wěn)定性。
以鍍鎳銅線圈為研究對象,采用基于灰度共生矩陣的視覺檢測方式檢測線圈的表面粗糙度。
(1)先通過硬件設(shè)備獲取120組線圈的表面圖像作為訓(xùn)練樣本,再通過圖像處理技術(shù)得到基于灰度共生矩陣的紋理特征參數(shù),分別為能量、對比度、相關(guān)性與熵,取它們的均值與標(biāo)準(zhǔn)差構(gòu)成8個(gè)特征參數(shù),最后結(jié)合粗糙度檢測儀檢測出的實(shí)際粗糙度值建立起實(shí)驗(yàn)數(shù)據(jù)庫,根據(jù)數(shù)據(jù)庫與曲線圖,可以看出基于灰度共生矩陣的紋理特征參數(shù)與線圈表面實(shí)際粗糙度值具有正負(fù)相關(guān)性,可證明該數(shù)據(jù)庫具有良好的學(xué)習(xí)性能。
(2)通過分析BP神經(jīng)網(wǎng)絡(luò)的缺陷,提出了模擬退火算法優(yōu)化優(yōu)化神經(jīng)網(wǎng)絡(luò)的初始權(quán)值、閾值的方法,構(gòu)建SA-BP神經(jīng)網(wǎng)絡(luò)檢測模型,分別對SA-BP模型與BP模型進(jìn)行訓(xùn)練,根據(jù)訓(xùn)練結(jié)果,SABP模型的訓(xùn)練MSE為0.000023,低于BP模型的0.000139,SA-BP模型不僅訓(xùn)練速度比BP模型快,而且可以獲得更優(yōu)訓(xùn)練結(jié)果。
(3)為了驗(yàn)證該模型的準(zhǔn)確性,獲取了9個(gè)樣本作為測試集,檢測結(jié)果表明:SA-BP模型的相對誤差均值由BP模型的5.41%降到了3.45%,最大誤差幅度由BP模型的0.21μm降到了0.13μm,均方誤差由BP模型的0.0162降到了0.0057。根據(jù)結(jié)果可看出SA-BP模型檢測精度與穩(wěn)定性有顯著提高,證明該模型具有更好的檢測準(zhǔn)確性與穩(wěn)定性。