倪高烽, 程維明, 曹 振, 王海濤, 趙璐綺
(上海工程技術(shù)大學(xué) 機(jī)械與汽車工程學(xué)院, 上海201620)
接觸式螺紋檢測(cè)系統(tǒng)采集到的數(shù)據(jù)點(diǎn),由于存在測(cè)量誤差、定位誤差、測(cè)量環(huán)境噪聲、以及螺紋表面質(zhì)量等因素,若直接利用這些數(shù)據(jù)進(jìn)行數(shù)據(jù)擬合和參數(shù)計(jì)算必然會(huì)出現(xiàn)較大的誤差,故需要先進(jìn)行數(shù)據(jù)的濾波處理,再輸入到軟件系統(tǒng)中進(jìn)行參數(shù)計(jì)算。
中值濾波主要應(yīng)用在對(duì)圖像脈沖噪聲的濾除,而在一維信號(hào)中, 對(duì)于因測(cè)量環(huán)境而含有脈沖噪聲的螺紋檢測(cè)信號(hào), 中值濾波器亦有很好的平抑效果。 此外, 中值濾波算法相對(duì)比較簡(jiǎn)單,實(shí)現(xiàn)也較為容易[1]。 但同時(shí)中值濾波去噪性能受濾波窗口尺寸的影響較大[2]。 高斯濾波在提取表面信息的應(yīng)用中較為廣泛,國(guó)際標(biāo)準(zhǔn)ISO11562 中也規(guī)定了高斯濾波器作為一種零相移濾波方法[3]能有效濾除表面噪聲,然而實(shí)際使用中該方法與高斯核的選取以及濾波窗口大小有很大關(guān)系。 平滑濾波算法采用遞推形式計(jì)算, 可以實(shí)時(shí)處理非平穩(wěn)數(shù)據(jù), 濾掉數(shù)據(jù)中頻繁隨機(jī)起伏的信號(hào),其計(jì)算量較小, 計(jì)算速度快, 可顯著提高信噪比[4],但濾波效果也受濾波窗口大小的影響。 基于小波變換的濾波器,因其具有低熵性,多分辨率等特性,可以很好地刻畫信號(hào)非平穩(wěn)特性等優(yōu)點(diǎn)而被越來(lái)越多的使用[5-6],但是小波濾波的結(jié)果與小波基、閾值函數(shù)以及分解層數(shù)有很大關(guān)系。
在對(duì)螺紋輪廓信號(hào)數(shù)據(jù)濾波時(shí),需要在濾除噪聲的同時(shí)保護(hù)原信號(hào)的邊緣和形態(tài)特征。 傳統(tǒng)的濾波效果評(píng)價(jià)指標(biāo)一般有均方根誤差和信噪比,本文采用邊緣均方根誤差來(lái)對(duì)濾波的邊緣保護(hù)效果進(jìn)行評(píng)價(jià)。 濾波效果與采樣點(diǎn)數(shù)有著密切的關(guān)系,本文所用螺紋點(diǎn)云數(shù)據(jù)用盡可能少的采樣點(diǎn),來(lái)放大各濾波方法在螺紋信號(hào)邊緣的保護(hù)效果。
在使用實(shí)際測(cè)得螺紋點(diǎn)云數(shù)據(jù)進(jìn)行濾波處理時(shí),因無(wú)法事先知道其真值,所以濾波效果評(píng)價(jià)比較困難,本次測(cè)試采用模擬的一般梯形螺紋一側(cè)牙形進(jìn)行仿真處理,通過(guò)加入相應(yīng)大小信噪比的高斯白噪聲來(lái)模擬實(shí)際測(cè)得的螺紋點(diǎn)云數(shù)據(jù),將已知螺紋真值與濾波后的結(jié)果進(jìn)行比較,可以定量對(duì)濾波效果進(jìn)行評(píng)價(jià)。 如圖1 所示,模擬的梯形螺紋牙形角為30°,引入50 db 高斯白噪聲,一個(gè)牙形周期采樣點(diǎn)為128 個(gè)。
圖1 仿真螺紋信號(hào)加噪前后對(duì)比圖Fig. 1 Contrast Diagram of Simulated Thread Signal before and after Noise Addition
1.2.1 中值濾波
中值濾波去噪方法是一種非線性平滑去噪技術(shù),它能夠有效抑制噪聲。 其基本原理是利用窗口在數(shù)據(jù)序列上滑動(dòng),對(duì)窗口中的數(shù)值重新排序,選出中間值并與窗口中的原中間值進(jìn)行替換[7]。 中值濾波器不會(huì)增加新的數(shù)據(jù), 所以保證了數(shù)據(jù)分析的準(zhǔn)確性[8]。 中值濾波器輸出值為公式(1):
其中, yi為輸出中間值;xk和xk+1為原始中間值;n = 2k +1 和n = 2k 為窗口大小。
由此可見(jiàn),中值濾波效果關(guān)鍵是選擇合適的窗口大小,不同的窗口大小去噪效果也是不同的。 通過(guò)各窗口大小對(duì)仿真螺紋輪廓數(shù)據(jù)進(jìn)行濾波試驗(yàn),得出選用窗口大小為11 時(shí)最為合適,如圖2 所示。
1.2.2 高斯濾波
高斯濾波器是一種線性濾波器,能夠有效的抑制噪聲,平滑信號(hào)[9]。 其作用原理和均值濾波器類似,平滑度由高斯的標(biāo)準(zhǔn)偏差確定,而具有較大標(biāo)準(zhǔn)偏差的高斯函數(shù)需要較大的卷積核才能準(zhǔn)確表示。高斯濾波輸出的是窗口內(nèi)信號(hào)的“加權(quán)平均值”,該平均值的權(quán)重更多地朝向中心位置的值, 這與均值濾波器的均勻加權(quán)平均值相反。 所以,高斯濾波器可以提供更柔和的平滑效果。
圖2 中值濾波窗口大小效果比較Fig. 2 Comparison of Median Filter Window Size
高斯濾波公式,公式(2):
其中,k 表示高斯窗口大小,i 表示高斯窗口主元的第i 個(gè)數(shù),σ 為標(biāo)準(zhǔn)差,決定了高斯函數(shù)的寬度。 當(dāng)高斯濾波核的寬度三倍于σ 時(shí),就囊括了包含99% 的信息,所以這里只需要確定窗口大小,用相同方法進(jìn)行濾波試驗(yàn),選用窗口為5 時(shí)最為合適,如圖3 所示。
圖3 高斯濾波窗口大小效果比較Fig. 3 Comparison of Gauss Filtering Window Size
1.2.3 平滑濾波
平滑濾波處理, 把連續(xù)取K 個(gè)采樣值看成一個(gè)隊(duì)列,每次將一個(gè)新數(shù)據(jù)放入隊(duì)尾并扔掉原來(lái)隊(duì)首的一個(gè)數(shù)據(jù)。 每次在“滑動(dòng)”后把隊(duì)列內(nèi)的K 個(gè)數(shù)據(jù)進(jìn)行算術(shù)平均運(yùn)算, 得到平滑濾波的新數(shù)據(jù), 其表達(dá)式為公式(3):
其中:K 為選定的濾波窗口大??;Y[n] 為經(jīng)過(guò)平滑濾波后的新數(shù)據(jù)。 平滑濾波對(duì)單個(gè)脈沖信號(hào)的衰減較?。?0], 所以利用平滑濾波處理單個(gè)脈沖信號(hào),可以在抑制噪聲的同時(shí)盡可能保存信號(hào), 從而提高信噪比。 平滑濾波窗口越大,平滑性越好,但以犧牲曲線特性為代價(jià)[11]測(cè)試結(jié)果如圖4 所示,此次仿真實(shí)驗(yàn)選用3 為窗口大小。
1.2.4 小波濾波
小波濾波以傅立葉變換為基礎(chǔ),實(shí)現(xiàn)在時(shí)域和頻域內(nèi)的局部分析,能從信號(hào)中有效的獲取局部信息。 真實(shí)信號(hào)在小波分解后的小波系數(shù)絕對(duì)值比較大,而噪聲分解后的小波系數(shù)絕對(duì)值較小,隨著小波分解尺度增加,真實(shí)信號(hào)的小波變換系數(shù)幅值基本不變,而噪聲的小波變換系數(shù)幅值很快衰減為零,由此進(jìn)行去噪[12]。
含噪信號(hào)模型公式(4)~公式(5):
式中,s(t) 為含噪信號(hào),f(t) 為真實(shí)信號(hào),n(t)為噪聲。
記為wj,k= uj,k+vj,k.
式中:Ψj,k為離散小波;wj,k為含噪信號(hào)s(t) 的小波變換;uj,k為真實(shí)信號(hào)f(t)的小波變換;vj,k為噪聲n(t) 的小波變換。
圖4 平滑濾波窗口大小效果比較Fg.4 Comparison of Smoothing Filter Window Size
對(duì)于螺紋信號(hào)的濾波處理,需要很好的保留信號(hào)邊緣等局部特征,這里選用硬閾值[13],小波分解層數(shù)從理論上講,分解層數(shù)越多,去噪的效果越好。但分解層數(shù)多會(huì)大大提高運(yùn)算量,本文根據(jù)實(shí)際情況選擇6 層分解層數(shù),通過(guò)模擬實(shí)驗(yàn)找到最佳的小波基和閾值。 本文選取了19 種小波基,在固定閾值、啟發(fā)式閾值、無(wú)偏似然估計(jì)和極大極小閾值4 種閾值的情況下對(duì)加噪信號(hào)進(jìn)行去噪處理[14],根據(jù)均方根值誤差進(jìn)行選擇。 如圖5,選用haar 小波基以及固定閾值時(shí)效果最佳。
傳統(tǒng)的濾波效果評(píng)價(jià)指標(biāo)一般有信噪比和均方根誤差。
信噪比(SNR)是指原始信號(hào)能量與噪聲能量的比值,體現(xiàn)了噪聲信號(hào)對(duì)于整體信息的影響,信噪比越高,濾波效果越好。
信噪比計(jì)算公式(6):
其中, Psignal為信號(hào)功率; Pnoise為噪聲功率;Asignal為信號(hào)幅值;Anoise為噪聲幅值。
圖5 不同小波基與閾值函數(shù)小波濾波效果比較Fig. 5 Comparison of Wavelet Filtering Effect between Different Wavelet Basis and Threshold Function
均方根誤差(RMSE)是預(yù)測(cè)值與真實(shí)值偏差的平方與觀測(cè)次數(shù)n 比值的平方根,在實(shí)際測(cè)量中,觀測(cè)次數(shù)n 總是有限的。 均方根誤差是用來(lái)衡量觀測(cè)值同真值之間的偏差,一般而言,均方根誤差是指濾波后信號(hào)與原信號(hào)的均方誤差,體現(xiàn)了信號(hào)的細(xì)節(jié)濾波情況,均方根誤差越小,表示濾波效果均方根誤差越小,則表示濾波效果越好[15]。
均方根誤差計(jì)算公式(7):
式中,Xabs,i為真值;Xmodel,i為測(cè)量值。
本次所用仿真螺紋輪廓牙形周期采樣點(diǎn)個(gè)數(shù)為128,牙頂牙底各47 個(gè)點(diǎn),左右牙側(cè)各17 個(gè)點(diǎn)。 在計(jì)算邊緣均方根誤差時(shí),提取每個(gè)牙形拐角處的5個(gè)點(diǎn),進(jìn)行計(jì)算衡量邊緣保護(hù)性。
本文選用牙形角為30°的梯形螺紋作為仿真數(shù)據(jù)源,根據(jù)實(shí)際情況給原始螺紋信號(hào)加入50 db 信噪比的高斯白噪聲,來(lái)模擬接觸式螺紋檢測(cè)實(shí)際測(cè)得的螺紋數(shù)據(jù),再通過(guò)本文所提四種方法對(duì)其進(jìn)行處理后,濾波效果如圖6、7 及表1 所示。
表1 各方法濾波效果對(duì)比表Tab. 1 Comparing tables of filtering effects of various methods
從整體濾波效果上,可以看出中值濾波和小波濾波能有效降低螺紋輪廓信號(hào)的均方根誤差,分別降低了32%和38%,提高了信噪比,而高斯濾波以及平滑濾波效果較差。 從邊緣保護(hù)上,中值濾波、高斯濾波、平滑濾波在螺紋牙形的拐角處雖然保持了線條的連續(xù)性,但是邊緣破壞十分嚴(yán)重,誤差偏大,且邊緣相位失真也十分嚴(yán)重,而小波濾波效果相對(duì)較好,能降低邊緣均方根誤差,降低了13%。 綜上所述,小波濾波通過(guò)選取合適的小波基、閾值函數(shù)、分解層數(shù)等參數(shù)可有效去除螺紋輪廓信號(hào)的噪聲并保護(hù)邊緣信息。
圖6 梯形螺紋各方法濾波局部效果圖Fig. 6 Local effect map of trapezoidal threads filtered by various methods
圖7 梯形螺紋各方法濾波效果評(píng)價(jià)對(duì)比圖Fig.7 Comparisons of filtering errors of trapezoidal threads by various methods
本文利用matlab 模擬的接近實(shí)測(cè)含噪螺紋曲線,對(duì)其進(jìn)行濾波仿真。 分別使用平滑濾波、高斯濾波、中值濾波、小波濾波等四種不同濾波器方法,通過(guò)試驗(yàn)選定參數(shù)后,對(duì)含噪螺紋信號(hào)進(jìn)行濾波處理,計(jì)算它們的整體均方根誤差和邊緣均方根誤差以及信噪比來(lái)對(duì)濾波效果進(jìn)行評(píng)價(jià),結(jié)果表明小波濾波效果相對(duì)較好,在提高信噪比的同時(shí)很好的保護(hù)了螺紋牙形角的邊緣特征。