俞莎莎,朱如鵬,李苗苗,陳健,解超
(南京航空航天大學 機電學院,江蘇 南京 210016)
齒輪點蝕失效意味著齒輪接觸疲勞試驗的終止[1],對于點蝕失效齒面有很多傳統的觀測、計量方法,如根據目視判斷點蝕情況、鉛印法、直接塑造法、輪齒斷面觀測法等。但上述方法易受觀測設備的限制,操作過程繁雜,費事費力。機器視覺[2]作為一門學科產生于20世紀60年代,現已得到了廣泛的應用。目前,計算機視覺應用主要基于二維圖像的特征提取[3]、識別、檢測與匹配[4]等。面積是物體主要的二維特征之一,對于一些大尺寸物體和人類無法感知場合的物體進行實際面積測量時,普通的測量工具無法完成的測量工作,計算機視覺更顯示出其無可比擬的優越性[5]。在已有的文獻中,張金瑞[6]利用機器視覺技術提取樹葉面積特征。呂威興[7]利用機器視覺技術提取出激光致金屬蒸汽圖像的面積與高度特征參量。李紅鋼[8]利用機器視覺檢測技術,開發了一套某型藥筒零件難測量尺寸的測量系統,該系統在某型藥筒零件難測量尺寸的在線檢測上得到成功應用,并且通過相應的試驗分析,驗證了機器視覺檢測系統性能的優越性。
由于機器視覺技術在特征提取方面有著快速、準確的特點,本文提出了一種基于機器視覺的齒面點蝕面積特征提取方法。相對于一般圖像面積特征提取方法,該方法考慮試驗齒輪箱空間窄,會使獲得的齒面點蝕圖像曝光不足或過度以及圖像在獲取、傳輸過程中會產生噪聲,提出首先利用基于遺傳算法的圖像增強操作突出點蝕區域,抑制其他區域,并利用中值濾波及小波變換去除圖像中的噪聲,然后再將獲得的圖像進行分割、面積特征提取,從而提高準確性。最后,通過實例驗證了該計算方法能夠準確、快速、有效地獲取齒面點蝕面積,并可判斷試驗是否繼續。
MATLAB語言有著突出的特點。它不僅擁有高性能數值計算能力, 而且能夠開發出界面友好、使用方便的圖形界面, 在系統仿真和圖像處理模型研究中具有廣泛的應用[9]。為了便于操作,本文充分利用了Matlab的圖形用戶界面環境(GUI)中各種圖形對象,如按鈕、文本框、菜單、圖軸等控件, 通過鼠標拖入控件來創建控件對象, 編寫相應回調函數實現圖像處理的算法集成和交互可視化功能, 為用戶快速獲取點蝕區域面積提供了便利。
根據分析可知,點蝕圖像可以分為點蝕區域、噪聲區域和齒面區域三部分。齒面區域的灰度值最高,點蝕區域的灰度值最低,而噪聲區域的灰度值則介于兩者之間。齒面點蝕圖像處理的目的就是重點突出點蝕區域,消除噪聲區域,將噪聲區域和齒面區域同化為背景區域。最后將獲得的圖像進行分割,對點蝕區域面積特征進行提取。
在圖像處理中一般先將各種格式的圖像轉變成灰度圖像以使后續圖像的計算量變得少一些, 而轉化后的灰度圖像仍然保留了原先對比度不足的弊端。文獻[10]提出采用三段線性變換法來修正灰度圖像,擴大對比度從而達到圖像增強的目的,其數學表達式為式為:
(1)
式中:f(x,y)是灰度圖像矩陣中坐標為(x,y)的像素點的灰度值;f1(x,y)為該像素點經過分段線性變換后的灰度值。 其中分段點a、b、c、d的值由人工設置,需要經歷多次反復的實驗,故很難達到最佳的增強效果。
本文在此基礎上提出一種采用遺傳算法的圖像增強操作,用遺傳算法自動選擇2個折線拐點的位置,即采用遺傳算法自適應確定點a、b、c、d的值,得到最優的分段線性變換曲線,從而實現圖像增強處理。
a) 圖像增強算法的設計
1) 問題重述,根據點蝕圖像特點可知,當灰度值>b時應為背景區域,故取d=255,要優化目標變為a、b、c的值,此外a、b、c值應滿足如下約束:0 2) 編碼設計,一條染色體采用3元數組(a,b,c)表示,每一個參數對應10個基因位,采用二進制編碼; 3) 適應度函數設計,采用圖像質量評價函數作為個體適應度函數,如下式所示: (2) 式中Fit為個體適應度函數,反映的是圖像中各個像素的灰度值與整個圖像平均灰度值的離散程度,f(x,y)為圖像灰度值,n=M×N,i表示個體。 4) 遺傳算子設計,采用基于精英選擇策略的選擇算子、單點交叉算子、離散變異算子進行遺傳操作; 5) 算法結束條件,算法的迭代次數達到最大進化代數。 b) 算法具體實現步驟 1) 首先設定種群規模、遺傳算法的交叉概率、變異概率、代溝以及最大進化代數; 2) 對待優化目標a、b、c進行二進制編碼并產生滿足約束條件的初始種群; 3) 采用式(1)對灰度圖像f(x,y)進行變換,得到f1(x,y); 4) 根據式(2)個體適應度函數計算個體適應度; 5) 對種群進行選擇、變叉和變異操作,產生新的種群,不斷重復步驟3)、步驟4)、步驟5); 6) 結束條件判斷。如果達到最大進化代數或是獲得較優的個體,把當前適應度值最大的個體作為最優解輸出,對最優個體進行反編碼,得到最優參數a,b,c; 7) 將最優參數a,b,c代入到式(1)中,得到圖像增強的最優結果,增強后的圖像為fst(x,y)。 增強后的點蝕圖像fst(x,y)中含有噪聲,對大多數機器視覺應用系統來講,噪聲主要來自加性的椒鹽噪聲和高斯噪聲。中值濾波對椒鹽噪聲具有良好的抑制作用,并能較好地保護圖像邊緣,但對高斯噪聲的效果不佳;小波閾值去噪對高斯噪聲的去除有較好的效果[12-13]。因此本文采用中值濾波與小波變換相結合的去噪方法,對點蝕圖像中混合噪聲進行分別去除,算法思路為:對fst(x,y)進行中值濾波、小波分解、閾值處理、小波重構,最終獲得去噪后的圖像fdn(x,y)。 為了將點蝕區域從圖像中提取出來,采用最大類間、類內方差比法確定二值圖像的分割閾值th。確定該分割閾值之后,將小于分割閾值的灰度值置為0,大于分割閾值的灰度值置為1,即使點蝕區域為黑色,背景區域為白色,從而實現灰度圖像到二值圖像的圖像分割。 (3) 式中:bw(x,y)為分割后的二值圖像;fdn(x,y)為去噪后的圖像。 點蝕區域面積計算公式為: Areal=A×(b/Nb)2 (4) 式中:b為齒寬;Nb為圖像中齒寬方向的像素數;A為所有連通區域總像素數;Areal為實際點蝕面積,單位mm2。 點蝕區域進行特征提取步驟如下: 1) 通過形態學運算去除二值圖像點噪聲,結構元素使用半徑為3mm的圓盤。接著對目標區域內部孔洞填充; 2) 對不同連通區域進行標記,像素的連通性設定為8; 3) 對加有標記的各區域像素數進行提取,并將提取的各區域像素數進行求和,計算出所有連通區域總像素數; 4) 利用式(4)計算實際點蝕面積。 為了便于操作,提高試驗效率,本文利用Matlab開發出界面友好、使用方便的圖形界面(GUI),以實現機器視覺處理算法集成和交互可視化功能, 如圖1所示。 圖1 基于機器視覺單齒點蝕面積率計算GUI界面 首先在齒輪齒面輸入參數模塊的齒寬文本框中輸入需要提取點蝕面積的齒輪齒寬參數,然后依次單擊“加載點蝕圖像”按鈕、“灰度化”按鈕、“圖像增強”按鈕、“圖像去噪”按鈕、“特征提取”按鈕,軟件便可對點蝕圖像進行相應處理,并在界面上方給出該操作結束后點蝕機器視覺結果。在總像素數及點蝕區域面積對應的文本框中給出相應的數值結果,據此可判斷齒輪是否疲勞點蝕破壞。 在試驗過程中,需要以一定時間間隔停機檢查齒面,用CCD攝像頭采集齒面的數字圖像,在拍攝時需將齒寬完整地拍攝進圖像之中。對所拍攝的圖像運用本文提出的基于機器視覺方法提取其面積特征。圖2為任選一個點蝕齒面圖,將其放大100倍并經灰度變換得到的圖像。 圖2 放大100倍后單個齒面點蝕灰度圖 利用遺傳算法對圖2中的齒面點蝕灰度圖進行增強操作,設定遺傳算法初始參數如下:種群規模為40個,交叉和變異概率分別為0.7和0.01;最大進化代數為50,代溝0.95,試驗得到的增強效果圖如圖3所示。對比變換前圖和變換后圖可以看出,變換后點蝕區域(低灰度區)與齒面背景(高灰度區)被明顯地分離開來。 利用中值濾波及小波變換去除圖3中所含的椒鹽和高斯混合噪聲,設置濾波器參數:中值濾波器采用3×3窗口,小波濾波器采用db4小波基進行3層分解,Birge-Massart算法獲取各層閾值,對軟閾值函數進行處理。試驗結果如圖4所示。從圖4中可觀察到,一些離散孤立的噪聲點被去除。 再采用最大類間、類內方差比法分割圖4,分割后的二值圖像如圖5所示。從圖5中可觀察到,點蝕區域和齒面背景截然分開,且分離較為準確。 圖3 基于遺傳算法圖像增強后的灰度圖 圖4 消除椒鹽和高斯混合噪聲后的灰度圖 圖5 點蝕圖像分割后的二值圖像 最后再提取點蝕圖像的面積特征。可觀察到,點蝕區域內部的孔洞(孔噪聲)被填充,而一些面積特別小的區域(點噪聲)被去除。此外,還將不同的點蝕區域進行了標記,讓每個單獨的連通區域形成一個被標識的塊。點蝕圖像點噪聲、孔噪聲去除后連通區域標記圖像如圖6所示。輸入齒輪齒面參數齒寬b=15mm,該齒面點蝕區域可分為10個連通區域,各連通區域總像素數為47343個。仿真結果表明:該齒面實際點蝕面積為15.7076mm2。 圖6 點蝕圖像連通區域標記圖 齒面點蝕面積是判斷試件是否點蝕失效的判據,本文通過對齒輪點蝕照片特點的分析,研究了通過機器視覺提取點蝕面積信息的方法。相對于鉛印法、人眼觀察等傳統方法,采用數字機器視覺方法,能夠快速、方便、經濟地獲得齒面的點蝕面積信息,判斷試驗是否可以繼續。本文利用Matlab開發出界面友好、使用方便的圖形界面(GUI),使操作人員不需對機器視覺和Matlab知識有了解便可輕松獲取點蝕面積,大大提高了試驗效率。
1.2 基于中值濾波及小波變換的圖像去噪
1.3 點蝕圖像分割與二值化
1.4 點蝕圖像的面積特征提取
1.5 GUI設計

2 算法應用
2.1 齒面點蝕灰度圖像獲取

2.2 齒面點蝕面積特征提取




3 結語