蘇進釗,易懷安,牛依倫,歐祖南
(桂林理工大學機械與控制工程學院,桂林 541006)
表面粗糙度直接影響工件的耐腐蝕性,耐疲勞性和使用壽命等性能。因此,準確地測量工件的表面粗糙度具有重要意義[1-2]。目前,表面粗糙度的測量方法主要分為接觸和非接觸式兩類。非接觸式測量方法由于不用接觸被測物,具有靈活性高、測量速度快等優(yōu)點,獲得了越來越廣泛的關注[3-4]?;跈C器視覺的測量方法在非接觸式測量方法中占據著較大的比重,LIU等[5]使用灰度共生矩陣對深孔內側圖像進行特征提取,并結合支持向量機預測其表面粗糙度。TSAI等[6]提出5個用于分析表面粗糙度紋理的灰度頻譜指標。路恩會等[7]采用彩色圖片能量差指標評估磨削樣塊表面粗糙度,實驗結果證明了所提出指標的可行性。上述研究為表面粗糙度的非接觸測量增添了切實有效的理論與方法,但它們都是建立圖像特征指標的基礎上,存在指標設計相對困難,人為影響因素較大等不足。所以,如何準確、自動地從工件表面圖像中獲取與粗糙度相關的特征成為了亟待解決的問題。
近些年,深度學習在機器視覺領域的應用非常廣泛,表現出了出色的圖像識別能力[8]。深度神經網絡作為深度學習的一類模型,可以自動學習并提取圖像特征。YEGANEFAR等[9]比較了人工神經網絡與其他預測算法在預測鋁表面粗糙度方面的性能,得出結論:只要樣本數量充足,神經網絡模型的性能將優(yōu)于其他方法。CHAUDHARY等[10]對深度卷積神經網絡進行了優(yōu)化,并將它們用于掃描電子顯微鏡圖像的去噪和邊緣粗糙度估計,提高了粗糙度預測的效率。盡管上述兩種基于深度神經網絡的方法在粗糙度測量方面取得了一定成效,但這類方法也存在著不足。它們對訓練樣本數量需求巨大,而且許多深度神經網絡模型都建立在訓練數據和測試數據具有相同的數據分布這個假設基礎上[11]。而遷移學習則是為解決上述深度神經網絡的不足提供了一個可行的思路。它側重于將已經學習過、來自某個領域的知識遷移應用于相關領域的新問題中。ZHANG等[12]將遷移學習應用于粗糙度測量領域,提出利用遷移學習,在不需要實際的標定樣本的情況下,直接預測一組實際磨削樣品的粗糙度。該方法為粗糙度測量提供了一種新的策略,但卻依舊依賴于特征指標。
在深度神經網絡的基礎上進行遷移學習,可以很好地解決上述問題,它直接提升了深度神經網絡模型在不同任務(域)上的學習效果。而且,由于深度神經網絡可直接對原始數據進行學習,這種遷移學習方式能自動地提取更通用的跨域特征。fine-tuning[13]和Deep CORAL[14]這兩種遷移方法可以很容易地應用在深度神經網絡上。本文在AlexNet卷積神經網絡[15]的基礎上,結合fine-tuning和Deep CORAL,提出一種基于遷移學習的銑削表面粗糙度等級評估模型—Deep CORAL。該模型改善了神經網絡在粗糙度測量任務上的表現,并且對各種光照環(huán)境具有良好的魯棒性。這為非接觸式粗糙度測量提供了一種精度高、環(huán)境適應性強的方法。
在本節(jié),首先介紹AlexNet和fine-tuning,同時結合兩者提出用于粗糙度等級評估的Deep CORAL模型,并對Deep CORAL的目標函數、結構、訓練流程進行詳細說明。
AlexNet是一種卷積神經網絡,具有大約6千萬個參數和65萬個神經元??紤]到銑削工件的圖像數據集較小,僅為5個類別的圖像分類任務,故在本研究中,選用網絡層數不多的AlexNet作為評估模型的基底。AlexNet網絡模型的結構如圖1所示,它主要由8個學習層組成。其中,前5個層每層都包含1個卷積層和1個ReLU激活函數,部分層還含有局部響應歸一化層(local response normalization,LRN)和最大池化層。至于后面的3層,每層都含有1個全連接層,并且除了最后一層外都含有1個dropout層。在這些功能模塊起到的主要作用如表1所示。
圖1 AlexNet的結構
表1 AlexNet各功能模塊起到的作用
由于工件加工、樣本圖像獲取、樣本標注等流程需要耗費大量資源,在加工領域獲取到大量的銑削工件圖像是不切實際的,而僅僅通過少量的數據無法得到一個泛化能力良好的神經網絡模型。對在具有上千萬張圖片的ImageNet上預訓練好的AlexNet進行fine-tuning[13],從側面減少了它對數據的需求量,提升了它的泛化性能。同時節(jié)省了大量的時間、人力成本。
Deep CORAL模型將特征提取、特征變換和特征分類集成一體,能極大程度地縮小源域與目標域的距離,實現端到端的銑削工件粗糙度等級跨領域準確評估。在本小節(jié)的后續(xù)內容會對它進行詳細描述。
1.3.1 Deep CORAL的目標函數
在介紹Deep CORAL的目標函數之前,需要先簡單地介紹CORAL算法[16]。CORAL是一種簡單且有效的無監(jiān)督域自適應算法,它通過調整源域(需要學習知識的領域)和目標域(需要應用知識的相關領域)數據分布的二階統計量來最小化領域差異,且不需要任何目標域樣本標簽。單個特征層在兩個域之間的CORAL損失函數LCORAL定義為源特征和目標特征的二階統計量(協方差)的距離,其表達式如下:
(1)
L=LCLASS+λLCORAL
(2)
式中,λ為權衡模型在目標域上適應性能和源域上分類精度的常數參數;LCLASS為源域上的粗糙度等級分類損失,按照下式計算:
(3)
式中,C為標簽類別數;nc為源域第c個類別的樣本數;yi(pi)為第i個源域樣本的實際標簽(預測標簽)。
CORAL損失和粗糙度等級分類損失在訓練模型過程中起到對應的作用,并在訓練結束時達到平衡。最終,模型提取到的特征有望在與源域數據分布不同的目標域中發(fā)揮良好的作用,實現粗糙度等級跨域準確評估。
1.3.2 Deep CORAL的結構
Deep CORAL的結構如圖2所示,它可以看作由兩個共享網絡參數的AlexNet構成,兩個AlexNet的前7層與普通的AlexNet完全一致,僅僅在最后一層上存在區(qū)別。在AlexNet最后一個全連接層中整合了CORAL算法進行相關性對齊。在銑削工件表面粗糙度等級評估任務中,其中一個AlexNet網絡對源域中帶標簽的銑削工件表面圖像進行特征提取,另外一個AlexNet網絡對目標域中不帶標簽的銑削工件表面圖像進行特征提取,源域與目標域由于光照條件不同而在數據分布上存在差異。
圖2 Deep CORAL的結構
1.3.3 Deep CORAL的訓練流程
Deep CORAL模型的訓練流程如圖3所示。在預先設置Deep CORAL模型的學習率、批次大小batch size、訓練總周期數epochs(用所有的訓練集樣本對模型進行一輪訓練為一個epoch)等參數后,對模型進行訓練。
圖3 Deep CORAL模型訓練流程
首先,對帶標簽的源域數據與不帶標簽的目標域數據進行圖像大小調整、歸一化等預處理,并分別按照batch size逐批地輸入到兩個在ImageNet上預訓練好且共享參數的AlexNet中進行fine-tuning。然后,再經過AlexNet的卷積、最大池化、dropout等操作后,計算得到Deep CORAL的分類損失函數LCLASS,CORAL損失LCORAL和聯合目標函數L。之后,通過反向傳播調整模型參數,并保存模型。最后,判斷是否完成設定好的epochs。如果完成,則驗證保存好的模型對帶標簽目標域數據的評估準確率。否則,繼續(xù)逐批地輸入樣本數據對模型進行訓練。
為檢驗Deep CORAL的跨域評估性能,本研究通過對比實驗探究模型各個主要部分對粗糙度等級評估能力的影響,并與其它模型進行了對比,實驗步驟如圖4所示。首先,通過加工得到了30個具有不同粗糙度的45#鋼銑削工件,并劃分成了5個粗糙度等級。接著,在每個粗糙度等級中選取2個工件作為測試工件,其余4個作為訓練工件。然后,在3種不同光照下,對訓練(測試)工件進行拍照得到3個源域數據集(目標域數據集),并對這些數據集進行組合得到6個粗糙度等級跨域評估任務。最后,將各組數據輸入到各個粗糙度等級評估模型中,對各模型進行訓練,并測試模型的評估效果。
圖4 實驗步驟
通過數控銑床XHS7145和盤形銑刀TAP400R100-32-6T,在切削深度為0.1 mm,主軸轉速為600 r/min,進給速度范圍為200~1100 mm/min的參數條件下,對面積為60 mm×40 mm的45#鋼塊進行銑削加工得到30個表面紋理相對均勻的銑削工件。
采用粗糙度測量儀TR210對30個銑削工件表面分布均勻的6個位置進行粗糙度測量(觸針運動方向垂直工件紋理),并采用Ra進行標注。取6次測量結果的平均值作為工件的表面粗糙度,部分工件的表面粗糙度測量結果如表2所示。
表2 部分銑削工件的表面粗糙度 (μm)
在加工領域中,人們許多時候只關注工件粗糙度的大致范圍,而且即使是同一個加工表面的粗糙度也不是處處一致,而是在某個范圍波動的。因此,本研究將粗糙度按區(qū)間[1.0,1.4)、[1.4,1.9)、[1.9,2.5)、[2.5,3.1)和[3.1,3.7) 分為5個粗糙度等級,分別記作RL1、RL2、RL3、RL4和RL5。在每個粗糙度等級中,挑選2個工件作為測試工件,其余4個作為訓練工件。
圖像采集裝置模型如圖5所示,它由1臺配備工業(yè)攝像鏡頭VS-2514H1的Basler彩色CCD相機,2個白色條形光源OPT-LI14030、1個光源控制器OPT-DPA1024E-4和1臺計算機組成。
圖5 圖像采集裝置模型
在模型中,銑削工件檢測面與工作臺平行,CCD相機光軸垂直于銑削工件,白色條形光源以合適的角度固定于工作臺上方。實驗開始后,相機和光源位置保持不變。按圖5進行布置,得到的圖像采集裝置實物圖如圖6所示。
圖6 圖像采集裝置實物圖
拍攝過程中,根據需要適當調整工件的位置以增加數據的多樣性。同時,為了簡單地模擬實際工業(yè)應用中多變的光照環(huán)境,圖像的采集在3種光照條件下進行,如表3所示。
表3 光照條件
在3種光照條件下獲得的部分圖像如圖7所示,每張圖像的大小為4096像素×2168像素。
圖7 不同條件下獲得的銑削工件圖像
從圖7可以觀察到,工件的拍攝效果不僅受光照條件影響,還與工件的紋理密度和方向有關。相較于僅光照度存在差異的條件A和條件B的圖像,在條件C下獲得的圖像存在更大的差異,不僅光照度不同,還有著明暗分布不均和反光現象。這些差異給粗糙度等級跨域評估模型的搭建增加了難度。
由于原圖尺寸過大,將每張銑削工件圖像中工件所在區(qū)域劃分成6個相鄰不重疊,且大小均為466像素×450像素的區(qū)域,并按區(qū)域進行裁剪后得到3個數據集(域),記作數據集A,數據集B和數據集C,分別與條件A,B和C相對應。每一個數據集都包含720張訓練工件圖像和360張測試工件圖像,圖像的大小均為466像素×450像素。將訓練工件圖像作為源域,并將來自不同數據集的測試工件圖像作為目標域,進行組合得到的6個粗糙度等級跨域評估任務如表4所示。作為6個任務的代表,任務AtoC源域和目標域的部分圖像如圖8所示。
表4 粗糙度等級跨域評估任務組
(a) 源域 (b) 目標域圖8 AtoC的部分圖像
模型的訓練和測試都在如表5所示的軟件和硬件環(huán)境下進行。在對Deep CORAL模型進行訓練前,需要將Deep CORAL的特征提取部分AlexNet在ImageNet上預訓練并進行fine-tuning以適應研究任務。同時,通過一系列預實驗,確定模型的超參數。其中,學習率設置為10-4,batch size設置為32,epochs設置為100,權衡模型在目標域適應性與在源域分類精度的超參數λ經過預實驗設置為0.5,選用Adam優(yōu)化器更新模型網絡參數[14,17]。然后,針對各跨域評估任務,將目標域數據劃分為圖像數量相等,均為180張的驗證集和測試集,并以源域作為訓練集。最后,使用來自源域的訓練集數據和來自目標域的驗證集數據按照圖3對模型進行訓練。
表5 軟件和硬件環(huán)境
將各跨域粗糙度等級評估任務中的測試集用于測試Deep CORAL的跨域評估性能,并與沒有經過預訓練的AlexNet模型(AlexNet1)[15],經過預訓練和fine-tuning的AlexNet模型(AlexNet2)[13],基于灰度共生矩陣的SVM(GLCM-SVM)[5]和基于5個頻譜指標的SVM(F-SVM)的預測結果作對比[6]。上述模型在進行測試前,均已完成訓練和調參。
為了直觀地觀察到AlexNet1,AlexNet2和Deep CORAL在訓練過程中,跨域評估能力的變化,將它們在CtoB跨域評估任務上,在訓練集上的損失函數繪制成圖9a,并將它們在訓練集上的評估準確率和在驗證集上的評估準確率的變化情況分別繪制成圖9b~圖9d,分別對應于AlexNet1,AlexNet2和Deep CORAL。實際上,AlexNet1,AlexNet2和Deep CORAL滿足訓練結束條件的時間并不相同,訓練超過這個時間可能會導致它們的過擬合。為了方便繪圖來對3者進行比較,在它們完成訓練并保存訓練過程中產生的模型后,對它們繼續(xù)進行訓練直到滿足epoch=100。
(a) 3個模型的訓練損失 (b) AlexNet1的訓練集和驗證集準確率
(c) AlexNet2的訓練集準確率和驗證集準確率 (d) Deep CORAL的訓練集準確率和驗證集準確率圖9 AlexNet1,AlexNet2和Deep CORAL在CtoB中的訓練損失,訓練集準確率和驗證集準確率
可以觀察到,使用了fine-tuning方法的AlexNet2和Deep CORAL訓練效率明顯優(yōu)于沒有使用fine-tuning方法的AlexNet1。AlexNet2和Deep CORAL分別在epoch=40和epoch=30時,就已經滿足結束訓練的要求,它們實際的訓練花費時間分別為178.29 s和222.71 s。AlexNet1實際用了408.79 s,才在epoch=90時完成訓練。而且它的訓練曲線存在較大的波動,難以收斂,可見finetuning方法確實能深度神經網絡訓練的效率。除此之外,很容易能注意到Deep CORAL的跨域評估準確率明顯高于另外2個模型。
為了合理地比較評估模型跨域評估能力的強弱,在使用測試集對Deep CORAL在驗證集上準確率最高的3個模型進行測試后,對得到的3個準確率取平均值作為Deep CORAL在CtoB任務上的跨域評估準確率。根據上述做法,可以得到AlexNet1,AlexNet2,Deep CORAL,GLCM-SVM和F-SVM在各跨域評估任務目標域上的評估準確率,并放在表6中用于比較和分析。
表6 各模型在各任務上的評估準確率 (%)
通過觀察表6發(fā)現,大多數情況下,數據集C與其它兩個數據集的跨域評估準確率總是要低于數據集A和數據集B之間的跨域評估準確率。這說明相比于數據集A和數據集B之間的差異,數據集C與它們之間的差異更大。這與2.3節(jié)中對各數據集的分析相符。
逐行比較各模型在6個任務上的平均評估準確率可以觀察到,基于特征指標的GLCM-SVM和F-SVM在各任務上的平均評估準確率最低。這說明這兩種基于指標的粗糙度等級評估方法對光照變化不具備良好的魯棒性。相反,Deep CORAL在各跨域評估任務上幾乎都達到了最高的評估精度,平均評估準確率達到了99.3%,比第二名還高出22.6%。Deep CORAL與其它模型跨域評估準確率的對比,說明了基于遷移學習的評估模型具有比基于特征指標和基于深度神經網絡的粗糙度等級評估模型更強的跨域評估能力,能學習到與粗糙度更加相關且通用的特征。按準確率由低到高排列,AlexNet1、AlexNet2和Deep CORAL的平均評估準確率分別為61.8%,76.7%和99.3%,這正好說明了Deep CORAL中運用到的fine-tuning方法和CORAL算法都有起到提高模型跨域評估能力的作用。
本文針對基于特征指標和基于深度神經網絡的粗糙度測量方法的不足,提出在深度神經網絡的基礎上進行遷移學習,實現對銑削表面粗糙度等級的評估。在訓練集與測試集光照環(huán)境不同的6個粗糙度跨域評估任務上,將基于遷移學習的粗糙度等級評估模型Deep CORAL與其它評估模型進行對比,得出以下結論:
(1)Deep CORAL的粗糙度等級評估準確率達到了99.3%,比其他評估模型高出至少22.6%,具有最好的跨域評估能力。
(2)Deep CORAL能適應各個光照環(huán)境下的粗糙度等級評估任務,具有較好的光照魯棒性。
(3)Deep CORAL對樣本需求量較少,適用于樣本獲取成本較高的領域。