楊澤青,范 敏,彭 凱,劉麗冰,黃鳳榮
(河北工業大學 機械工程學院,天津 300131)
發動機缸體頂面孔組的加工質量直接影響其產品裝配精度,研究孔組加工質量分級監控方法對工藝參數的及時調整、提高加工過程質量反饋控制的響應速度、實現工序間缸體加工質量實時監控及柔性化生產具有重要意義。目前常用的質量分級監控方法有多元數據回歸分析[1]、支持向量機(support vector machine,SVM)[2-6]、決策樹[7]、隨機森林(random forest,RF)[8]等。如WANG等[6]基于支持向量機建立了面向銑削加工過程刀具磨損狀況的監控系統,實現了銑削過程未磨損、中度磨損和重度磨損的刀具磨損狀態分類;M.M. Sofu等[7]將蘋果的顏色、面積等特征作為C4.5決策樹的輸入實現蘋果質量分級;Bejoy Abraham等[8]將隨機森林分類器與稀疏自編碼器結合來區分臨床上的癌變細胞的無痛性或有痛性表現,分類精度可達93.65%。但該類方法存在監控寬泛、動態適應性弱等問題,難以滿足制造過程精準細化的質量智能監控需求,不能有效及時反饋控制。如何利用數字圖像特征建立精準反映加工質量分級監控模型成為解決發動機缸體零件頂面孔組實時智能監控的關鍵?;谏鲜鏊悸?,本文提出一種RF和SVM相結合的工序節點處加工質量分級監控方法,首先采用機器視覺獲取孔組圖像特征參數,用主成分分析法對原始特征參數進行降維篩選以消除冗余信息,建立特征參數樣本集合訓練孔組整體加工質量分級模型及單孔加工質量分級模型,然后用訓練好的RF-SVM模型進行在線分級監控,從而提高響應速度和生產效率。
發動機缸體作為發動機的核心部件之一,既是發動機的基礎零件和骨架,又是發動機總裝配時的基準零件,其加工精度直接關系到曲軸、連桿、活塞運動的準確性,以及換氣、冷卻和潤滑系統的正常運作。缸體結構復雜,主要由缸體底面、頂面、前后端面、頂面缸孔系、前后端面孔系、頂面排氣面孔系、底面進氣面孔系、主軸承孔、缸孔、曲軸孔、瓦蓋結合面及噴油嘴等組成,其中缸體頂面孔組加工精度對其它型面和孔系加工起重要作用,與其它加工特征有強關聯性,且加工過程異常狀態識別具有較大的不確定性,直接影響工序間動態基準的校準、加工工藝參數的及時調整及工序間主要幾何要素的加工質量,并且影響加工過程質量反饋控制的響應速度及后續發動機裝配精度的保障。
數字圖像為加工過程運行狀態高耦合、非線性特征分析提供依據,這里采用機器視覺方法檢測缸體頂面缸孔系加工質量,獲取凸包算法填充圓的孔間距、長軸、短軸、周長、面積、似圓度、長短軸差值以及最小二乘法擬合圓半徑這8個特征參數對發動機缸體孔組質量進行描述,如圖1所示。

圖1 缸孔特征參數
特征參數具體獲取方式為:利用最小面積外接矩形計算每個缸孔的長、短軸,可間接獲得長短軸差值;通過統計凸包擬合圓的邊緣相鄰像素對之間的距離來獲取周長;通過統計凸包擬合圓的圓內像素個數計算面積;計算每個缸孔的質心以求取孔間距;利用最小二乘法擬合圓公式直接獲取圓半徑;利用式(1)來計算似圓度
O=4*π*Area/Perimeter2
(1)
其中,Area為所求區域面積,Perimeter為所求區域周長。
上述特征參數直接反映了孔組的加工精度,為準確、快速實現發動機缸體頂面孔組加工質量分級,首先對特征參數用主成分分析法進行降維處理,建立訓練樣本集合,將訓練樣本集合的特征參數作輸入建立并訓練分級監控模型,最終實現孔組加工質量分級。
適合的分級器是實現孔組質量準確、快速分級的關鍵。由于獲取的特征參數是連續變量且特征參數一般不會缺失的特點,支持向量機、C4.5決策樹及隨機森林對連續變量值表現出較好的處理、分級效果,因此通過對比分析,從中選擇最合適的分級算法。
1.2.1 支持向量機
支持向量機(support vector machine,SVM)是建立在統計學習的VC維理論和結構風險最小原理基礎上[10],能較好解決小樣本、非線性、高維數、避免神經網絡結構選擇和局部極小點等實際問題,但對缺失數據敏感。算法思想是建立一個超平面作為決策曲面,將不同類別的樣本劃分開,其學習策略是間隔最大化,最終轉化為一個凸二次規劃求解最優分類函數的問題,最優分類函數f(x) 如式(2)所示
(2)
通過引入核函數解決在原始空間中線性不可分的問題,此時最優分類函數為式(3),常用的核函數有線性核函數、二次核函數、多項式核函數、徑向基函數和多層感知器等。結合線性不可分問題及徑向基核函數同時適用于小樣本、大樣本,高維、低維特點,選用徑向基函數作為核函數
(3)
其中,K為徑向基核函數,它的核參數gamma的選取直接影響支持向量機的分級效果。
1.2.2 C4.5決策樹
C4.5決策樹[7]是以規則為基礎的歸納學習方法,能夠處理具有缺失特征參數的訓練數據及連續變量,但使用的熵模型中的大量對數運算提高了運算強度。C4.5決策樹由上層的一個根結點、中間層的若干內部結點以及底層的若干葉結點3部分組成,采用自上而下的建樹方式,根結點包含樣本全集,選擇信息增益率最大的特征參數作為內部結點的劃分依據,由決策規則輸出葉結點的分級結果。其中某特征參數的信息增益率計算為:
假設D為樣本集合,樣本集合D的信息熵Ent(D) 為,那么
(4)
其中,n為類別數,pk指當前樣本集合D中第k類樣本所占比例。
若特征參數連續,則先將其離散化,離散特征參數a有V個可能的取值 {a1,a2,…aV},若使用特征參數a對樣本集合D進行劃分,則會產生V個分支結點,其中第v個分支結點包含了D中所有在特征參數a上取值為av的樣本,記為Dv,根據式(4)可計算出Dv的信息熵Ent(Dv),從而可得特征參數a對樣本D進行劃分的“信息增益”Gain(D,a) 為式(5)[14]
(5)
那么特征參數a的信息增益率Gain_ratio(D,a) 為式(6)
(6)
式中
(7)
由式(7)可知,特征參數a的可取值數目越少(即V越小),IV(a) 的值通常會越小,此時的信息增益率越大,說明信息增益率準則對可取值數目較少的特征參數有所偏好,所以C4.5決策樹采用先從候選劃分特征參數中找出信息增益高于平均水平的特征參數,再從中選擇信息增益率最高的特征參數[15]。
1.2.3 隨機森林
隨機森林(random forest,RF)本質上是一種非線性多類分類器,在以決策樹為“基學習器”并行化構建弱分類器的基礎上,進一步在決策樹的訓練過程中引入隨機選擇[10],使其不易陷入過擬合、可解決決策樹泛化能力弱的問題,有良好的抗噪能力,能處理連續屬性值并且訓練可高度并行化,對大樣本訓練有速度優勢,在處理小樣本、高維度數據時也能獲得較好的性能。
隨機森林是從N個樣本集合中采用bootsrap sampling采樣方法抽取N個樣本,假設每個樣本的總特征參數為M,從中隨機選取m個特征,將采樣后的N個樣本集合作為一棵CART決策樹的根節點,選擇Gini指數(如式(9)所示)最小的特征參數作為內部結點的劃分依據,在決策樹的葉結點處輸出分級結果,利用同樣的方法建立t棵CART決策樹,由決策樹的投票最大概率決定測試樣本的分級結果。
假設D為樣本集合,用Gini(D) 表示樣本集合D的Gini值,那么如式(8)所示
(8)
其中,n為類別數,pk指當前樣本集合D中第k類樣本所占比例。
特征參數a的Gini指數Gini_index(D,a) 如式(9)所示
(9)
其符號定義與式(5)相同。
1.2.4 多工序加工質量分級監控模型
為減少發動機缸體零件多工序加工質量指標之間的誤差傳播、耦合與累積對產品加工質量穩定性的影響,將監控模型細化到工序節點處質量指標層面,結合隨機森林處理高維度、非線性、相關性特征參數優勢以及支持向量機處理小樣本、高維度、非線性特征參數速度快優點,提出一種隨機森林與支持向量機相結合的分級監控方法,提高復雜工件加工過程質量監控策略的合理性,建立多工序加工質量分級監控模型,如圖2所示,監控模型包括離線訓練和在線監控兩個階段,各階段的實現步驟如下:
(1)離線訓練階段
步驟1 降維處理:采用主成分分析法將提取的各缸孔7個特征參數降維處理為3個分級主特征參數;
步驟2 建立訓練樣本集合1(N*(M+1)):其中N為發動機缸體樣本數,M是樣本的總特征參數,包括步驟1處理得到的各缸孔分級主特征參數與4個缸孔相鄰孔間距特征參數,(M+1)列表示特征參數與孔組級別標簽的組合形式;
步驟3 建立單棵CART決策樹:采用隨機、有放回采樣方法從訓練樣本集合1中抽取N個樣本作為單棵CART決策樹的訓練樣本(N行*(m+1)列),其中m為從總的特征參數M中隨機選取的特征參數數量;
步驟4 確定m值:若總的特征參數數量為M,那么隨機抽取的特征參數數量m可以是sqrt(M)、 1/2sqrt(M) 或2sqrt(M),一般選使袋外誤差最小的m;
步驟5 構建并訓練隨機森林分級模型:模型由t棵CART決策樹組成,一般決策樹數量t由訓練樣本的袋外誤差最小值確定,訓練t棵決策樹,使每個子決策樹輸出一個結果,將概率最大者作為隨機森林分級模型的輸出;
步驟6 若步驟5得到缸體頂面孔組加工質量分級結果為“1(優)”,則直接進入下一道生產工序;若分級結果為“-1(差)”,則該缸體退出生產線;若分級結果為“0(良)”,則需采用支持向量機對各單孔加工質量進行二次分級監控,進入步驟7;
步驟7 構建并訓練單孔加工質量支持向量機分級模型:將各缸孔分級主特征參數及單孔級別標簽建立訓練樣本集合2(O*(P+1)),其中O為單缸孔樣本數,P為缸孔特征參數數量,訓練支持向量機分級模型,確定錯分懲罰因子和核參數,進而得到單孔加工質量分級監控模型。
(2)在線監控階段
步驟8 通過機器視覺采集工序間工件圖像,提取主特征參數,監控窗口得到監測數據;
步驟9 將監測數據輸入步驟5中離線訓練好的缸體頂面孔組加工質量隨機森林分級監控模型,若分級結果為“1(優)”,則直接進入下一道生產工序;若分級結果為“-1(差)”,則該缸體退出生產線,并在監控窗口中記錄相關信息為后續加工誤差追蹤溯源提供數據來源;若分級結果為“0(良)”,則進入步驟10;
步驟10 將監測數據輸入步驟7中離線訓練好的單孔加工質量支持向量機分級監控模型進行二次分級監控,若分級結果為“Ⅰ”,說明該單孔滿足工序公差要求,可進入下一工序;若分級結果為“Ⅱ”,需調整加工工藝參數對該單孔進行二次加工、檢測,重復步驟8~步驟10分級監控步驟。

圖2 加工質量分級監控方法流程
為滿足發動機缸體生產線自動、快速、在線檢測要求,驗證所提出的加工質量分級監控模型的合理性和有效性,在CNC加工中心集成發動機缸體頂面孔組加工質量在線檢測系統獲取數字圖像特征參數。在線檢測系統由CCD相機、遠心鏡頭、環形光源、千兆以太網線、相機支架等構成,如圖3所示。由被測對象特點、測量精度、物距及視場范圍選用型號為MV-EM120M(分辨率為1280×960)的工業CCD相機、焦距為8 mm、型號為VT0814-M2的遠心定焦工業鏡頭;為解決垂直光照射易產生缸孔內側及通孔底部反光的問題,選用兩個成120°的白色環形光源從兩側照射發動機缸體頂面以保證缸孔部位與頂面有較大的灰度差,為圖像分割提供保障。

圖3 在線檢測系統組成及安裝
為獲取發動機缸體孔組加工質量特征參數,需要將工業相機采集的發動機缸體原始灰度圖像進行預處理,后進行邊緣檢測、邊緣細化和邊緣擬合,提取與孔組加工質量及形位精度相關的圖像特征參數。
2.2.1 圖像預處理
發動機缸體零件圖像預處理步驟如圖4所示,首先對采集的發動機缸體原始灰度圖像進行圖像裁剪,去除與缸孔無關的背景區域;采用5×5中值濾波及二維小波變換去噪,且利用圖像銳化補償圖像輪廓,增強圖像缸孔邊緣與頂面的對比度;針對發動機缸體缸孔的形態特點,考慮到目標形狀是近圓形,選擇半徑為3的圓盤形結構元素[11]對銳化處理后的圖像進行灰度形態學閉運算操作[12],保留更多有用信息,發現閉運算后的直方圖為理想雙模直方圖;結合OTSU閾值分割法在處理雙?;蚨嗄D像直方圖的優勢[13],這里采用OTSU閾值分割法實現快速、準確的圖像分割[14],得到初始二值化圖像;然后進行閉合區域孔洞填充,為清除缸孔邊緣毛刺,選擇半徑為3的圓盤形結構元素進行二值形態學開運算操作;最后,設置閾值T,利用去除小面積算法將像素面積小于T的連通區域去除。

圖4 圖像預處理
2.2.2 邊緣檢測和邊緣細化
輪廓是物體最重要的屬性之一,邊緣檢測的準確性將直接影響尺寸測量的效果[15,16]。結合Canny算子的低誤碼率、高定位精度和抑制虛假邊緣等優點,這里首先采用Canny算子初定位缸孔邊緣,然后采用形態學細化邊緣的方法進一步提高定位精度,選取其中一個缸孔的邊緣處理結果如圖5所示。

圖5 邊緣處理結果
2.2.3 凸包處理
為避免由光照反射及遮擋影響輪廓提取效果,剔除邊緣內陷產生的凹陷點,這里采用二維凸包算法Graham掃描法提取凸包點,擬合一個新圓,然后填充凹陷區域,恢復缸孔輪廓,如圖6所示,進而提取每個缸孔凸包算法填充圓的長軸、短軸、周長、面積、似圓度、長短軸差值6個特征參數及4個缸孔間相鄰孔的3個孔間距。

圖6 凸包處理結果對比
2.2.4 最小二乘圓擬合
結合最小二乘法處理速度快、可滿足實時在線檢測需求的優點,為精確描述缸孔加工質量,需提取每個缸孔最小二乘擬合圓半徑特征參數。當缸孔邊緣存在凹陷點時,直接最小二乘圓擬合結果如圖7(a)所示,可知凹陷點對最小二乘擬合會產生干擾,擬合的圓與實際輪廓有較大偏差,所以,這里采用凸包算法先提取凸包點,再進行最小二乘圓擬合的處理方法,結果如圖7(b)所示。
2.2.5 特征參數提取結果
采用上述特征提取方法獲取的某型號發動機缸體零件各缸孔的長軸、短軸、周長、面積、似圓度、長短軸差值、最小二乘擬合圓半徑7個特征參數及4個缸孔間相鄰孔的3個孔間距特征參數見表1。

表1 發動機缸體頂面孔組特征參數
為驗證圖像處理方法及特征提取的合理性,計算各缸孔的實際直徑、測量直徑(測量直徑=(長軸+短軸)/2)的絕對誤差和相對誤差,見表2,最大相對誤差為0.079%,說明圖像處理方法可滿足測量精度要求。

表2 缸孔直徑測量結果
為消除原始數據中的冗余信息,采用主成分分析法對提取的特征參數進行降維處理[1],首先將提取的每個缸孔的長軸、短軸、周長、面積、似圓度、長短軸差值、最小二乘法擬合圓半徑7個相關性特征參數進行標準化處理,消除量綱不同對分析的影響,如式(10)所示,利用標準化處理后的數據求取每個缸孔的相關系數矩陣R,如式(11)所示。用雅克比方法求相關系數矩陣R的特征值和特征向量,然后根據某個特征參數的特征值占全部特征值的比重來求取各個特征參數的貢獻率,如式(12)所示,最終根據累計貢獻率選取能包含大部分原始信息的特征參數作為主成分
(10)
(11)

(12)
其中,P為貢獻率,p為特征根的個數,p=7,λi為第j個特征根。
將包含20個優級缸孔、20個良級缸孔及20個差級缸孔的長短軸差值、似圓度、周長、面積、最小二乘擬合圓半徑、長軸、短軸7個特征參數作為主成分分析數據,得到的特征根、貢獻率及累計貢獻率見表3,可以看出,似圓度、長短軸差值及最小二乘擬合圓半徑的累計貢獻率超過98%,因此選用長短軸差值、似圓度與最小二乘圓擬合半徑這3個互不相關的主特征參數對發動機缸體孔組加工質量進行描述。

表3 缸孔加工質量的主成分分析數據
利用本文所提出的RF-SVM分級監控模型對某型號發動機缸體頂面孔組加工質量進行分級監控。首先,在發動機缸體柔性生產線上批量選取90個缸體(包括優級、良級、差級缸體各30個)零件作為研究對象,在工序間采用機器視覺系統采集發動機缸體頂面圖像,通過上述特征提取及主成分分析法選用90個缸體的單缸孔似圓度、長短軸差值、最小二乘擬合圓半徑及4個缸孔間相鄰孔的3個孔間距特征參數,將其與孔組級別標簽建立特征參數樣本集合1(90行*16列),從中按1∶1隨機抽取訓練樣本集合1和測試樣本集合1用來訓練和測試RF分級模型的精度。
RF分級模型的特征子集個數m和決策樹數量t直接影響其分級準確率,根據m的選取規則,對特征子集個數m取值為2~8時的袋外誤差值進行比較,選取使袋外誤差最小的m值;決策樹的數量t則選擇使袋外誤差穩定時對應的數值[15]。將訓練樣本集合1作為RF分級模型的輸入,m和t的尋優過程如圖8和圖9所示??芍攎=4時,RF分級模型的袋外誤差值最小,為0.0222;當t≥150時,RF分級模型袋外誤差值開始趨于穩定,不再隨著t值的增加而波動,因此,選擇m=4,t=150建立RF分級監控模型,利用測試樣本集合1對RF分級監控模型的分級準確率進行驗證,得到其分級精度為97.778%。

圖8 m值尋優折線

圖9 RF分級模型分級錯誤率
提取工業現場采集的缸體頂面孔組圖像的特征參數,將其輸入離線訓練好的RF分級監控模型中進行分級識別,若孔組加工質量分級結果為“1(優)”,則直接進入下一道生產工序;若分級結果為“-1(差)”時,則該缸體退出生產線,并在監控窗口中記錄相關信息,以便后續對加工誤差追蹤溯源;若分級結果為“0(良)”,則需進一步采用支持向量機對各單孔加工質量進行二次分級監控。
將240個“Ⅰ”、“Ⅱ”級缸孔(各級別缸孔120個)的似圓度、最小二乘擬合圓半徑和長短軸差值特征參數及單孔級別標簽建立樣本集合2(240行×4列),從中按 1∶1 隨機抽取訓練樣本集合2和測試樣本集合2用來訓練和測試SVM分級模型的精度。這里選用徑向基核函數,需要確定錯分懲罰因子c和核參數gamma,采用網格搜索法選擇交叉驗證正確率最高的那組c和gamma值,并對其泛化能力進行評估,將訓練樣本集合2作為SVM分級模型的輸入,c和gamma值的尋優過程如圖10所示。當c= 0.0039063、g=256時,建立的SVM分級監控模型分級效果最佳,此時模型的交叉驗證正確率為100%,利用測試樣本集合2對SVM分級監控模型的分級準確率進行驗證,得到其分級精度為99.167%。

圖10 SVM分級模型參數選擇結果
為進一步驗證本文所提的RF-SVM分級監控模型的有效性[16],利用上述樣本集合1及樣本集合2作為數據來源,將其與RF分級模型、SVM分級模型、C4.5決策樹分級模型的平均分級精度和運行時間進行對比,如表4及圖11可知,不同的分級模型在分級精度及分級時間都存在較大差異,雖然SVM分級模型有最少的運行時間,但其分級精度低于RF分級模型;C4.5決策樹分級模型則因其內部大量的對數運算,使得分級時間大幅度增加;本文提出的RF-SVM分級模型與其它模型相比不但提高了分級精度而且降低了運行時間,表明其在動態監控缸體頂面孔組加工質量時更有優勢。

表4 不同模型的分級結果對比

圖11 不同模型的分級結果對比
本文將隨機森林和支持向量機進行有效結合,并根據發動機缸體零件多工序加工質量監控特點,將監控模型細化到工序節點處質量指標層面,提出了基于RF-SVM的發動機缸體孔組加工質量分級監控模型。通過與RF模型、SVM模型、決策樹C4.5模型分級識別對比結果表明:RF-SVM模型具有較高的分級識別精度及較低的運行耗時,實現對孔組整體加工質量分級精度可達97.778%,單孔分級精度可達99.167%,運行耗時為20.236 ms,說明該模型能動態在機監控發動機缸體頂面孔組的加工質量,且能快速響應發動機缸體柔性生產線制造過程,提高其加工質量反饋控制策略的合理性。然而,在一些復雜工序節點處,需要在機檢測及提取其它特征參數,并根據樣本數據的分布特點,采用不同的主元特征和處理方法以提高模型的識別精度和訓練效率,這將在以后的研究中進行探討。