熊 建,廖海伸,徐高鵬,楊 巖
(重慶理工大學機械工程學院,重慶 400054)
接觸疲勞是接觸類材料其接觸表面在長期循環(huán)接觸應力作用下形成凹坑或麻點的一種表面疲勞破壞現(xiàn)象,這種現(xiàn)象會使材料在工作中噪音增大、磨損加劇、振動及溫升,進而導致材料失效,甚至引起整個機器的損壞[1-3]。在滾動接觸疲勞試驗中,實時地對試樣接觸疲勞進行快速準確的檢測和記錄,對材料失效判定、獲取材料疲勞性能以及研究材料失效演變過程具有重要意義。
隨著數(shù)字圖像處理和傳感器技術(shù)的發(fā)展,基于機器視覺的檢測方法具有非接觸、精度高、抗干擾性強,能實現(xiàn)定量檢測等優(yōu)點[4-6],國內(nèi)外學者對其進行了廣泛研究。楊長輝等[7]基于機器視覺設(shè)計了一套金屬材料滾動接觸疲勞失效在線檢測系統(tǒng),由于采用固定閾值提取目標,導致檢測精度易受光照影響。文獻[8]提出基于機器視覺的胡蘿卜表面缺陷關(guān)鍵參數(shù)提取算法,實現(xiàn)了胡蘿卜表面缺陷檢測和在線分類。文獻[9]提出基于梯度圖像的全局自適應閾值法對鋼表面缺陷進行檢測,由于該方法在閾值的選擇過程中對圖像的局部特征關(guān)注不夠,導致部分缺陷邊緣未能正確識別,檢測精度不高。馬云鵬等[10]提出金屬表面缺陷自適應分割算法,該算法可對多類金屬表面進行分割,但分割耗時較長,對光照不均的表面分割時容易丟失細節(jié)信息。雖然基于機器視覺的檢測方法在各種工業(yè)生產(chǎn)中有了廣泛應用,但將其用于試樣接觸疲勞檢測的研究相對較少,且存在以下不足:
(1)接觸疲勞試驗環(huán)境復雜,容易出現(xiàn)誤檢或漏檢,影響檢測精度。
(2)由于實時在線檢測數(shù)據(jù)量大、干擾信息多,在保證檢測精度的前提下,難以做到快速檢測。
(3)現(xiàn)有的視覺檢測方法無法對試樣疲勞失效進行定量分析。
針對以上難點,本文提出了一種基于機器視覺的試樣接觸疲勞實時檢測方法,在檢測速度、精度、抗干擾能力方面較對比方法均有不同程度的提高。
圖1(a)為本課題組自研的接觸疲勞試驗機三維圖,其工作原理為:在模擬實際工況條件下,通過圖像采集系統(tǒng)實時采集試樣表面信息,其中圖像采集系統(tǒng)示意圖如圖1(b)所示,圖1(c)、圖1(d)為試樣原圖,隨后計算機對采集的圖片進行處理分析,并根據(jù)結(jié)果判斷是否疲勞失效,當試樣達到疲勞失效標準后立即停機,最后結(jié)合其他試驗數(shù)據(jù)即可得到所測材料的接觸疲勞性能??梢?,精確判定試樣是否疲勞失效對提高試驗結(jié)果準確率至關(guān)重要。
圖1 試驗設(shè)備及試樣
接觸疲勞主要表現(xiàn)為凹坑或麻點,圖2(a)是在試驗中實時采集的一張典型圖片,該圖片可分為3個部分:非接觸區(qū)、接觸疲勞區(qū)和工作表面區(qū)。其中,工作表面上含有較多噪音、油痕以及反光不均導致的灰度差異,這些干擾因素會影響檢測精度,因此去除相關(guān)干擾很有必要。除此之外,非接觸區(qū)與接觸疲勞區(qū)灰度特征相近,將會增大圖像閾值分割難度,且由于少數(shù)試樣接觸疲勞發(fā)生在工作表面邊緣部分,如圖2(b),使得現(xiàn)有算法會將其視為非接觸區(qū),從而造成漏檢,因此,應首先將工作表面從原圖中提取出來,對于降低漏檢率以及提高檢測精度都有重要意義。
(a)主試樣采集圖1
圖3記錄了10組40Cr試樣在滾動疲勞試驗中,從試樣初始狀態(tài)至出現(xiàn)接觸疲勞再到最后疲勞失效2個時間段的耗時占比統(tǒng)計表,可以發(fā)現(xiàn),整個試驗過程中70%左右的時間試樣都處于無接觸疲勞狀態(tài),若整個過程都對采集的圖片進行精確處理無疑會增大檢測時間、降低效率。
圖3 滾動接觸疲勞試驗各階段耗時統(tǒng)計
因此,針對試樣接觸疲勞檢測,提出一種先初步檢測,再決定是否對疲勞特征精確檢測的策略。檢測方法流程如圖4所示。
圖4 檢測方法流程
為了準確提取出試樣工作表面區(qū)以降低漏檢率,設(shè)計了基于灰度值統(tǒng)計的分割算法。由于試樣工作表面區(qū)的尺寸大小是確定的,并且試樣非接觸區(qū)灰度整體偏暗,而工作表面區(qū)灰度整體偏亮,圖5為圖2(a)原圖每行像素平均灰度值統(tǒng)計圖,經(jīng)驗證在圖中存在的2處較為明顯的突變區(qū)即為非接觸區(qū)與工作表面區(qū)的交界,于是,基于灰度值統(tǒng)計來分割工作表面是可行的。
圖5 每行像素平均灰度值統(tǒng)計
算法具體流程如下:
步驟1:讀取圖像,計算原圖的高H、寬W,設(shè)H為行數(shù),W為列數(shù)。
步驟2:在原圖上構(gòu)建一個高為h、寬為W的矩形框,設(shè)其上邊框?qū)男袛?shù)為i,其中h的值為工作表面區(qū)域的高。
步驟3:計算矩形框內(nèi)灰度值之和Si:
(1)
式中:G(i,j)為圖像中第i行第j列對應像素點的灰度值。
步驟4:當Si取得最大值時,i所對應的值即為工作表面區(qū)域上邊緣在原圖中的行數(shù),最后將此時矩形框內(nèi)的區(qū)域從原圖中提取出來,即可得到工作表面區(qū)。
圖6是用該算法對圖2處理后的結(jié)果,可見,目標區(qū)域能準確完整地分割出來,滿足提取要求。
(a)圖2(a)工作表面區(qū)域提取結(jié)果
按照YB/T 5345—2014《金屬材料滾動接觸疲勞試驗方法》規(guī)定的疲勞失效判定標準,當工作表面的深層剝落面積≥3 mm2視為失效[11]。為避免漏檢,當所檢測到的試樣接觸疲勞最大面積大于或等于0.1 mm2時,視其為出現(xiàn)麻點,同時進入精確檢測階段,否則結(jié)束本輪檢測。
本文基于動態(tài)閾值的分割思想,提出一種參數(shù)改進的閾值算法進行初步檢測。首先對工作表面圖像進行均值濾波,隨后對圖像進行二值化處理。
(2)
式中:T為偏移量;G(i,j)和H(i,j)分別為濾波之前和濾波之后圖像第i行第j列對應像素點的灰度值;F(i,j)為分割結(jié)果圖。
該算法通過濾波器模板對圖像各像素進行不同程度的平滑,然后對濾波前后圖像同一位置的灰度求差,當差值大于或等于T時,該位置的像素點被選中。隨后通過連通域處理、空洞填充、特征檢測即可篩選得到上述算法分割后的目標區(qū)域。最后通過計算面積最大區(qū)域的值,并與0.1 mm2比較,用于判斷是否進行疲勞特征精確檢測。
該算法檢測精度主要受濾波器模板尺寸和偏移量T影響,因此本文通過實驗對上述2個關(guān)鍵參數(shù)的選擇進行改進。
2.2.1 濾波器尺寸的選擇
實驗發(fā)現(xiàn),濾波器模板尺寸的選擇對分割效果有重要影響,圖7為在不同濾波器模板尺寸下的分割效果圖,當尺寸選擇過小時,只能分割出一些“點”對象,隨著尺寸的增大,一些小的麻點逐漸被分割出來,最后較大的深層剝落也被完整分割。經(jīng)驗證,當濾波器模板尺寸取161×161時,能獲得相對最佳的分割效果。
圖7 不同濾波器模板尺寸的分割效果
2.2.2 偏移量T的確定
如果提取的工作表面圖像都有相同的灰度特征,那么取一個合適的固定T值即可達到好的分割效果。但是,提取的圖像是否有接觸疲勞、接觸疲勞的大小以及圖像的亮度等都是不確定的,取固定T值的方式會使算法的魯棒性降低。為了解決這一問題,對大量不同工作表面圖像進行分割實驗,通過統(tǒng)計實驗結(jié)果發(fā)現(xiàn),合適的偏移量范圍與圖像的平均灰度值存在對應關(guān)系,圖8為采用不同T值時該方法的分割準確率,可以看出:當偏移量T取圖像平均灰度值的35%~55%范圍內(nèi)時均能獲得較好的分割效果。本文取圖像平均灰度值的45%作為偏移量T的值。
圖8 不同T值時算法的分割準確率
為了降低油痕、噪音、污漬等干擾因素對檢測結(jié)果的影響,對進入精確檢測階段的目標圖像首先進行濾波。然后在初步檢測結(jié)果的基礎(chǔ)上,融合形態(tài)學處理和Otsu算法對濾波后的圖像進行分割,提高了檢測速度和精度。
2.3.1 頻率域濾波
圖9(a)為典型工作表面圖像,圖像含有明顯的油痕、噪音和污漬。為了去除油痕,本文設(shè)計了陷波帶阻濾波器在頻率域?qū)D像進行處理。首先對圖像進行傅里葉變換得到該圖像關(guān)于原點對稱的傅里葉譜,如圖9(b)所示,譜中間部分有一段趨于垂直的高亮區(qū)域,這段區(qū)域是圖像中水平油痕的譜。圖9(c)是本文針對此類傅里葉譜設(shè)計的陷波帶阻濾波器,深黑色部分代表0,表示不被通過,目標是去掉油痕的譜。用上述濾波器對原傅里葉譜進行處理,再經(jīng)傅里葉反變換即可得到最終濾波后的圖像。如圖9(d)所示,經(jīng)濾波后的圖像大部分油痕已被去除,而圖像的重要邊緣和細節(jié)都被完整地保留了下來,圖像清晰度未受影響,得到了較好的處理效果。
圖9 頻率域濾波
2.3.2 空間域濾波
為了進一步增強圖像,同時去除圖像噪音、污漬等干擾因素對后續(xù)分割的影響,本文采用雙邊濾波[12]在空間域?qū)D像進行處理。
雙邊濾波是一種非線性濾波器,它不同于高斯濾波器主要考慮像素間空間鄰近度,還同時加入了像素間的相似程度考慮。圖10是圖9(d)經(jīng)雙邊濾波后的結(jié)果,圖中大部分噪音和污漬均被去除,同時圖像的邊緣和細節(jié)特征仍得到了很好的保護。
圖10 雙邊濾波結(jié)果
由于雙邊濾波器計算過程較為復雜,在處理大尺寸圖像時非常耗時。為了提高檢測效率,本文并不直接對頻率域濾波后的圖像進行雙邊濾波,而是在本文2.3.3節(jié)中介紹的分割算法中使用。
2.3.3 圖像分割
同一圖像不同位置的凹坑或麻點往往具有不同的灰度特征,同時光照不均也將導致圖像局部之間出現(xiàn)灰度差異,采用傳統(tǒng)全局閾值難以找到一個最佳閾值同時實現(xiàn)對各目標區(qū)域進行準確分割。
為了解決上述問題以提高檢測精度,目前,常見的兩大思路包括灰度均衡化[13]和局部閾值處理。其中,灰度均衡化由于需要對每個像素進行處理,算法復雜、效率較低,不適合實時快速檢測,而圖像的單個局部區(qū)域灰度特征受光照不均的影響較小,并且對局部區(qū)域處理時不受其他區(qū)域干擾。因此,局部閾值處理是解決上述問題的可行方案。基于此,本文提出一種基于初步檢測結(jié)果,融合形態(tài)學處理和Otsu算法[14]的局部閾值分割方法。
Otsu算法是一種使用聚類思想的自適應分割算法,其簡化公式可表示如下:
g=w0×w1×(u0-u1)×(u0-u1)
(3)
式中:w0為前景像素點數(shù)在圖中的占比;w1為背景像素點數(shù)在圖中的占比;u0為前景的平均灰度值;u1為背景的平均灰度值。
步驟1:對2.1節(jié)提取的工作表面圖像采用2.3.1節(jié)介紹的頻率域濾波算法進行濾波,以消除油痕對后續(xù)分割干擾。
步驟2:對初步檢測階段選擇的最大目標區(qū)域進行形態(tài)學膨脹處理,這一過程可使目標在背景的占比盡可能最佳。
步驟3:將形態(tài)學膨脹處理后的二值化圖像與頻率域濾波后的圖像求差,得到含有目標區(qū)域的局部圖像。
步驟4:對上一步驟得到的局部圖像進行雙邊濾波,去除圖像噪音和污漬,相比直接對工作表面圖像進行雙邊濾波,可極大縮短算法的運行時間。
步驟5:對雙邊濾波后的圖像采用Otsu算法分割,該步驟對局部圖像進行處理,很好地克服了Otsu算法處理大尺寸圖像耗時問題,提高了檢測效率。
步驟6:最后再次利用連通域處理、孔洞填充、特征檢測、面積計算等方法,即可實現(xiàn)對試樣接觸疲勞的精確定量檢測和疲勞失效判定。
本文方法簡化流程如圖11所示。
圖11 檢測方法流程圖
為驗證檢測方法的可行性和有效性,在接觸疲勞試驗中實時采集的圖片庫中隨機選取500張圖片作為樣本,其中含有接觸疲勞的為140張,已達到疲勞失效標準的為48張。從2方面對實驗結(jié)果進行評價,一方面是從視覺效果定性對比分析,另一方面根據(jù)實驗數(shù)據(jù)定量對比分析。實驗硬件如下:SZX12體視顯微鏡;計算機(i5-8G-win7);Visual studio 2015編譯環(huán)境和halcon視覺庫。
3.1.1 圖像濾波對比分析
中值濾波、非線性擴散濾波、引導濾波具有保邊去噪的作用,在圖像濾波中得到了廣泛應用。本文采用上述3種具有代表性的算法作為本文濾波方法的對比算法,實驗結(jié)果如圖12所示。可以看出,中值濾波在去除噪音方面具有較好的效果,但在去除噪音的同時也會使圖像變得模糊,特別是對小的邊緣和細節(jié)影響很大;非線性擴散濾波在保護邊緣方面效果較好,同時也能去掉一些小的噪音,但是往往會對邊緣過度銳化,同時無法去除一些明顯的油痕;引導濾波在消除噪音方面取得了很好的結(jié)果,同時也能去掉部分小的油痕,不足之處是對大的油痕處理效果不佳,同時還會將小的接觸疲勞的邊緣淡化;本文算法在保護邊緣和消除噪音方面效果很好,優(yōu)于上述3種算法,同時在保證圖像清晰度和其他重要細節(jié)不被影響的前提下去除了絕大部分油痕等干擾信息,改善了后續(xù)處理效果。
圖12 不同濾波算法處理結(jié)果
3.1.2 圖像分割對比分析
由于近年來發(fā)表的文獻中鮮有針對滾動接觸疲勞視覺檢測的研究,本文采用傳統(tǒng)金屬缺陷檢測的常用方法將其用于試樣接觸疲勞檢測,包括Otsu算法和基于直方圖的自動全局閾值法作為本文方法的對比算法。另外,為了有一個相對直觀的參照,本文采用人工標注法分割結(jié)果作為參考。實驗對象包括出現(xiàn)細小接觸疲勞的圖像、發(fā)生接觸疲勞但未失效的圖像和發(fā)生接觸疲勞且失效的圖像等。為確保實驗條件一致,在分割前均采用本文提出的圖像濾波方法進行濾波,其部分實驗結(jié)果如圖13、圖14、圖15所示。
圖13為采用不同算法處理出現(xiàn)細小接觸疲勞圖像的結(jié)果,可以看出:傳統(tǒng)Otsu算法未能得到正確的分割結(jié)果,其原因是目標區(qū)域在圖像中的占比過?。欢詣尤珠撝靛e誤地將整幅圖像全部分割(由于白色與背景色相同,僅此處以黑色代表被分割的對象),經(jīng)分析,是因為處理的工作表面圖像的直方圖為單峰,該算法未能得到一個正確的分割閾值;圖13(d)為本文方法分割結(jié)果,該方法正確地將細小接觸疲勞從圖像中分割出來,與人工標注法相比,得到了非常接近的實驗結(jié)果。
圖13 出現(xiàn)細小接觸疲勞的不同算法處理結(jié)果
圖14和圖15為采用不同方法處理結(jié)果。可見傳統(tǒng)的Otsu算法無法得到正確的分割結(jié)果;自動全局閾值能準確定位接觸疲勞所在位置,但是出現(xiàn)了少分割現(xiàn)象,在以圖14體現(xiàn)的實驗結(jié)果上表現(xiàn)的尤為明顯,這會導致對接觸疲勞的面積測量偏小,影響檢測精度;本文方法處理結(jié)果與人工標注法結(jié)果高度接近,取得了很好的分割效果。
圖14 發(fā)生接觸疲勞但未失效的不同算法處理結(jié)果
圖15 發(fā)生接觸疲勞且失效的不同算法處理結(jié)果
綜合以上分析可得:針對試樣表面目標區(qū)域的分割,傳統(tǒng)Otsu算法難以正確分割;基于直方圖的自動全局閾值法分割結(jié)果受圖像的直方圖影響較大,且容易出現(xiàn)少分割現(xiàn)象,導致檢測結(jié)果偏??;本文方法在處理含有不同接觸疲勞的圖像時均取得了很好效果,滿足實時檢測要求。
采用體視顯微鏡在20倍放大倍數(shù)下對樣本圖片對應的試樣進行拍照,然后對試樣接觸疲勞區(qū)進行人工標注,如圖16所示,根據(jù)比例尺計算出接觸疲勞區(qū)的面積作為真實值,最后將本文方法的檢測值經(jīng)標定換算后與真實值進行對比。表1是隨機抽取的12組對比數(shù)據(jù),分析總的實驗數(shù)據(jù)可以得出:本文方法針對含有接觸疲勞試樣的平均測量誤差為0.08 mm2,平均相對誤差為2.496%。經(jīng)分析驗證,測量誤差主要來源于相機的標定誤差和CCD線陣相機拍攝的圖片與試樣真實表面存在細微差別。除此之外,由于采用人工的方式對顯微圖像進行標注來計算真實面積,這一過程受人為主觀影響,也是測量誤差的來源之一。
圖16 顯微鏡及其拍攝圖
表1 試樣接觸疲勞面積測量實驗結(jié)果
為了進一步驗證本文方法的可行性,在相同的實驗環(huán)境下,選取文獻[7]和文獻[17]作為對比方法,從漏檢率、誤檢率[18]、檢測精度和平均耗時4個方面進行評價,并做以下定義:
(4)
式中:Dr、Lr和Pr分別為試樣接觸疲勞檢測的漏檢率、誤檢率和檢測精度;N1、N2和N分別為含有接觸疲勞的樣本數(shù)、無接觸疲勞的樣本數(shù)和樣本總數(shù);x、y分別為漏檢和誤檢個數(shù);S1、S2分別為試樣接觸疲勞面積檢測值和真實值;tA、tT分別為每個樣本的平均檢測時間和總樣本的檢測時間。
表2為不同方法的檢測結(jié)果。從結(jié)果可以看出,針對試樣接觸疲勞檢測,本文方法相較于僅采用改進的動態(tài)閾值、文獻[7]和文獻[17]等方法在檢測精度上有不同程度的提高,在漏檢率和誤檢率上也有較大幅度降低。在檢測時間方面,由于本文采用了先初步檢測再確定是否對疲勞特征精確檢測的策略,在平均耗時方面相比對比文獻方法有很大降低。但本文方法仍然有較高的誤檢率,經(jīng)驗證主要是因為檢測算法會將少數(shù)大的油斑誤判為接觸疲勞。
表2 不同方法的檢測結(jié)果對比
針對滾動接觸疲勞試驗中試樣接觸疲勞檢測存在的問題,本文提出了一種基于機器視覺的綜合檢測方法。具有以下優(yōu)點:
(1)基于灰度值統(tǒng)計設(shè)計了算法將試樣工作表面準確分割出來,降低了漏檢率和后續(xù)處理工作量。
(2)提出了一種先初步檢測再確定是否對疲勞特征精確檢測的策略,極大地降低了檢測時間。
(3)設(shè)計了陷波帶阻濾波器并結(jié)合空間域濾波方法對圖像有針對性地分階段濾波,改善了試樣接觸疲勞檢測易受油痕、噪音以及污漬影響的問題。
(4)在初步檢測結(jié)果的基礎(chǔ)上,融合形態(tài)學處理和Otsu算法,提出了一種局部閾值分割法,克服了光照不均的影響,降低了算法計算量的同時提高了檢測精度。
實驗結(jié)果表明,本文方法提高了檢測速度和檢測精度,大幅降低了漏檢率和誤檢率,滿足試樣接觸疲勞實時檢測要求,后續(xù)研究將針對油斑對檢測算法的干擾,進一步降低誤檢率。