張國勝,張帆,鄒洵,張召穎,馬保平
(1.201620 上海市 上海工程技術大學 機械與汽車工程學院;2.201620 上海市 上海工程技術大學 智能機器人研發中心)
輪轂在鑄造過程中由于各種原因所產生的缺陷主要分為氣孔、縮孔、縮松、裂紋和夾雜[1]。一般來說,通過人工檢測的方式能夠識別出輪轂缺陷的有無及缺陷的類型,但檢測時間較長且效率不高,因此研究輪轂自動化檢測系統是十分重要的。因企業生產成本等原因,目前對輪轂質量檢測大多采用X 射線技術,但是并不能確保識別缺陷的正確性及效率[2],因此,可以以X 射線對輪轂的檢測成像技術為基礎,對輪轂缺陷的檢測成像運用機器視覺技術進行組合優化,實現對輪轂缺陷的識別及判斷。
本文主要對常見的5 種輪轂缺陷類型進行檢測判斷,對采集的缺陷圖像進行預處理后提取出缺陷部分并針對缺陷特征進行提取,通過構建缺陷特征識別算法,實現對輪轂缺陷的檢測判斷。
直接采集的輪轂缺陷圖像具有噪聲多、缺陷部分不顯著等特點,若未經過預處理操作會造成識別干擾,影響檢測正確率及效率[3],故要對缺陷圖像運用多幀疊加去噪等預處理操作。在完成預處理操作后需要對輪轂缺陷圖像進行圖像分割以得到缺陷部分圖像。圖像分割是利用圖像中灰度、顏色、紋理、尺寸等特征對所需區域進行選取的過程[4]。
Otsu 原理為:將圖像分為L 個不等的灰度級,設置灰度值閾值T,將圖像的像素進行分類。對圖像中灰度>T 的像素集合為A0;對<T 的像素集合為A1。A0占像素總數的比例為W0;平均灰度值為U0。A1占像素總數的比例為W1;平均灰度值為U1。整個圖像的灰度均值U 的表達式如下:

A0和A1的方差之和G 的表達式如下:

當G 最大時的閾值即為最佳閾值 。
對輪轂圖像進行閾值處理的結果如圖1所示。

圖1 輪轂進行Otsu 處理提取缺陷Fig.1 Wheel hub defect extraction by Otsu
從圖1 可見,輪轂缺陷部分并未明顯區別出來,故采取增強缺陷部分的灰度值,以增加缺陷與其周圍的灰度差凸顯缺陷部分[5]。
若要獲得更佳的灰度差,輪轂缺陷部分可以通過與模板對比得到。模板由中值濾波處理缺陷實現。將輪轂缺陷原圖像與模板圖像進行圖像相減操作即可得到缺陷部分圖像。
輪轂缺陷圖像灰度閾值選取是關鍵,布谷鳥搜索(Cuckoo Search,CS)算法用于尋優問題,因此采用CS 對閾值T 進行尋優。布谷鳥會隨機尋找其它合適鳥窩孵化自己的鳥蛋[6]。
CS 算法步驟如下:
(1)初始化鳥窩。隨機產生鳥窩X=(X1,X2,…,Xn),Xi=(x1,x2,…,xm)。其中,n是鳥窩數量,m 是每個鳥窩中鳥蛋數量。
(2)分別對X=(X1,X2,…,Xn)依據適應度函數求出質量。
(3)所有擁有鳥窩的鳥都會采取Lévy 飛行改善鳥窩。選擇更優質量鳥窩進行孵化。鳥窩改善依據公式:

式中:t ——當前迭代次數;α——步長控制參數;⊕——點乘;S——Lévy 飛行路徑,如下:

(4)基于p∈[0,1]改善質量不優的鳥窩公式:

(5)通過對比改善前后的鳥窩質量,擇優孵化。
(6)判斷是否達到設定迭代次數。若是則輸出最優。若否則返回步驟(2)。
CS 結合Otsu 處理輪轂缺陷步驟流程見圖2。
改進閾值分割處理輪轂缺陷過程如圖3所示。

圖2 CS 結合Otsu 處理缺陷流程圖Fig.2 Flowchart of CS and Otsu processing defects

圖3 改進閾值分割處理輪轂缺陷過程Fig.3 Improved threshold segmentation process for wheel hub defects
對輪轂缺陷特征的提取和分類在參照ASTM E155 標準上,選取了識別輪轂缺陷類型的特征。選取的特征如下:
(1)面積。輪轂缺陷面積可通過統計經過處理后的缺陷二值圖內的白色缺陷的各像素點數量總和。(2)灰度均值。將缺陷標記區域內的灰度值進行求均值運算。(3)長徑。對缺陷區域的邊界像素點任取兩個進行遍歷求最大值。(4)尖銳度。尖銳度是描述缺陷端點處的尖銳程度。(5)周長與面積比。當缺陷面積一致時,缺陷的幾何形狀越接近圓形,周長與面積的比值就越小。(6)長寬比。歐式距離最大與最小的比值。(7)矩形度。矩形度為缺陷形狀與矩形的接近程度。
對氣孔、縮松、縮孔、裂紋和夾雜缺陷的7個特征進行采集數據。因7 個特征數據的采集量度單位不一致,故對其進行歸一化處理,使得采集的數據值位于0~1 之間。
BP(back propagation)神經網絡是正向傳播、反向反饋相結合的神經網絡,在輪轂缺陷類型的識別及等級的判斷上具有自適應性好、準確率高等優點[7]。
BP 神經網絡結構含有輸入層、隱含層、輸出層。
神經網絡對輪轂缺陷的識別步驟如下:
(1)確定參數
根據輸入層數n,輸出層數q。故相應的輸入 向 量X=(x1,x2,…,xn)T,輸 出 向 量Y=(y1,y2,…,yn)T,期望輸出向量O=(o1,o2,…,on)T。
隱含層數p,相應的輸出向量B=(b1,b2,…,bn)T,輸入層至隱含層之間的權值為Wj=(wj1,wj2,…,wjt,…,wjn)T,j=1,2,…,p。隱含層至輸出層之間的權值為Vj=(vk1,vk2,…,vkt,…,vkp)T,v=1,2,…,q。
(2)正向傳播輸入
①θj為隱含層j 節點的闕值,wji為輸入層i節點至隱含層j 節點之間的權值,則隱含層j 節點的輸入值Sj

Logsig 激勵函數如下:

②隱含層j 節點輸出值bj:

③θk為輸出層k 節點的闕值,vkj為隱含層 j節點至輸出層k 節點之間的權值,則輸出層k 節點的輸入值sk

④輸出層第k 節點的輸出值yk

(3)誤差反向反饋
通過計算正向傳播的輸出值yk的誤差并反饋修正權值及闕值。
①輸出層第k 節點的輸出yk與期望值ok之間的誤差dk:

②隱含層第j 節點校正誤差ej:

③輸出層至隱含層權值及輸出層闕值的校正值:

式中:bj——隱含層j 節點的輸出;α ——學習率。
④隱含層到輸入層的權值及輸入層闕值的校正值:

(4)多次訓練判別
設置合理的訓練次數。采用正向傳播及反向反饋相結合的模式多次訓練輪轂樣本,使得輪轂樣本的結果接近期望輪轂缺陷類型的輸出值,提升輪轂缺陷類型的識別正確率。
BP 神經網絡算法流程如圖4 所示。

圖4 BP 神經網絡學習過程流程圖Fig.4 BP neural network learning process flowchart
因BP 神經網絡可能會出現收斂速度慢、過擬合及陷入局部最優等問題,同時其網絡參數設置對識別結果影響較大。故需對其進行優化改進。
螢火蟲群算法(Glowworm Swarm Optimization,GSO)在解決連續型最優化問題方面具有優秀的性能[8]。
(1)GSO 基本步驟如下:
初始螢火蟲群,所有螢火蟲都擁有等量的螢光素濃度l0和感知半徑r0。
①熒光素更新

式中:J(xi(t))——螢火蟲i 在t 次迭代的位置xi(t)所求得的值;li(t)——當前熒光素值;γ——熒光素更新率;ρ——熒光素揮發因子。
②螢火蟲j 流入鄰域集 Ni(t)概率pij(t)

式 中:Ni(t)={j:dij(t)rs——最大感知半徑。
③位置更新

式中:s——移動步長。
④ 動態決策域半徑更新

(2)改進GSO 引入慣性權重
GSO 可能在多次迭代后陷入極值振蕩,因此借鑒粒子群中慣性權重改進策略[9],對搜索能力的優化采用的慣性權值因子如下:

式中:wmax,wmin——權重的最大及最小值;t,tmax——目前及最大迭代次數。因此,對螢火蟲的改進位置如下:

(3)改進GSO 引入混沌運動
GSO 中的每只螢火蟲的位置更新只會想著近鄰的決策域前進,并非整體的協調優化,而混沌運動是隨機過程,故引入混沌運動尋找全局最優。
Logistic 映射產生混沌序列方式如下:

線性轉換尋優表達式如下:

式中:xd,max,xd,min——d 維變量的最大、最小值。
螢火蟲算法優化BP 神經網絡的核心是對權值wji,vkj及闕值θj,θk的尋最優值進行改進,改進后的GSO 優化BP 神經網絡流程圖如圖5 所示。

圖5 GSO 優化BP 神經網絡流程圖Fig.5 GSO optimized BP neural network flow chart
設計BP 系統輸入為缺陷面積、灰度均值、長徑、尖銳度、周長與面積比、長寬比和矩形度7 個缺陷特征數據,即輸入為(x1,x2,x3,x4,x5,x6,x7)。輪轂缺陷類型氣孔、縮松、縮孔、裂紋和夾雜為5 個輸出。其中,(y1,y2,y3,y4,y5)為實際輸出缺陷類型,(o1,o2,o3,o4,o5)為期望輸出缺陷類型。
將Traincgb 訓練函數所得BP 神經網絡作為基礎,BP 神經網絡對輪轂缺陷圖的誤差訓練函數如圖6 所示。采用改進后的GSO 算法尋找最優的權值wji、vkj及闕值θj,θk并結合應用,形成新的缺陷識別模型。改進后的GSO 結合BP 神經網絡的誤差函數訓練圖如圖7 所示。
將BP 神經網絡及改進后的GSO-BP 神經網絡對輪轂缺陷類型進行識別,識別結果見表1。
通過表1 可以看出,用改進后的GSO 結合BP 神經網絡對輪轂缺陷的識別不但在正確識別率上優于BP 神經網絡,而且訓練時間效率上也優于常規BP 神經網絡。

圖6 BP 神經網絡的誤差函數訓練Fig.6 Error function training of BP neural network

圖7 GSO-BP 誤差函數訓練圖Fig.7 GSO-BP error function training diagram

表1 不同算法下輪轂缺陷識別結果Tab.1 Wheel hub defect recognition results under different algorithms
本文對輪轂缺陷的氣孔、縮松、縮孔、裂紋和夾雜5 種常見缺陷進行識別檢測。在對輪轂缺陷預處理后,通過制作缺陷對比模板得出缺陷部分圖像,應用布谷鳥算法尋找最優的閾值T 結合Otsu 分割出輪轂缺陷圖像,通過提取缺陷的面積、灰度均值、長徑、尖銳度、周長與面積比、長寬比和矩形度7 種缺陷特征參數并進行歸一化處理構建樣本數據庫。運用螢火蟲算法優化權值wji,vkj及闕值θj,θk結合BP 神經網絡實現對輪轂缺陷類型的識別。結果表明,缺陷類型的檢測識別率可達95%,能夠滿足缺陷檢測要求。