黃 連 劉曉軍 雷自力 顧 浩 劉云峰 狄超雄
(華中科技大學(xué)機(jī)械科學(xué)與工程學(xué)院 湖北武漢 430074)
橡膠圈具有緩沖、減震、密封等功能,是常用的機(jī)械零件。橡膠圈用途廣泛,隨著工業(yè)化不斷發(fā)展,對橡膠圈的質(zhì)量要求也越來越高。尤其在航空航天、機(jī)器人等領(lǐng)域,對橡膠圈不僅有質(zhì)量要求,還有數(shù)量要求,因此對于橡膠圈檢測技術(shù)提出了較高要求。目前國外橡膠圈檢測技術(shù)相對成熟,意大利、德國、美國等國家的橡膠圈缺陷檢測技術(shù)處于領(lǐng)先水平,如德國Balser Vario公司和意大利DOSS公司的設(shè)備不僅檢測范圍廣,如可以檢測O形環(huán)、油封等,且自動(dòng)化程度和檢測效率高。國內(nèi)的橡膠圈檢測技術(shù)研究起步晚,目前的檢測方法存在效率低、檢測范圍小等缺點(diǎn)。目前在橡膠圈生產(chǎn)廠家大多采用人工檢測方法,檢測效率低、成本高。
目前國內(nèi)外表面缺陷檢測算法可分為機(jī)器學(xué)習(xí)[1-3]和傳統(tǒng)圖像處理[4-6]兩個(gè)方向。機(jī)器學(xué)習(xí)需要大量數(shù)據(jù)集,卷積層以及池化層的存在會(huì)導(dǎo)致表面缺陷信息丟失,且缺陷識(shí)別能力至少要5個(gè)像素以上。傳統(tǒng)圖像處理方法一般過程為圖像采集、圖像處理、缺陷提取、缺陷分類,但圓環(huán)形橡膠圈的表面很難實(shí)現(xiàn)均勻照明,且橡膠圈顏色較深,導(dǎo)致缺陷的對比度不明顯,缺陷提取困難,故一般的圖像處理方法在橡膠圈表面缺陷檢測時(shí)效果不明顯。國外有學(xué)者將結(jié)構(gòu)光用于橡膠圈檢測,通過獲取橡膠圈整體信息,從而找到缺陷位置,但是此方法最大的問題是檢測時(shí)間長,效率低。本文作者針對橡膠圈表面缺陷對比度不明顯,缺陷提取困難等問題,提出了一種新的高效的橡膠圈缺陷提取方法,并驗(yàn)證了方法的可行性。
文中提出有橡膠圈缺陷檢測算法系統(tǒng)構(gòu)成如圖1所示。
圖1 整體系統(tǒng)組成Fig 1 Overall system composition
該系統(tǒng)由4個(gè)部分構(gòu)成,包括圖像采集、圖像處理、缺陷提取、缺陷分析。圖像采集主要有光源、多個(gè)相機(jī)、鏡頭及計(jì)算機(jī);圖像處理主要是將圓環(huán)形的橡膠圈圖像轉(zhuǎn)換為矩形圖像;缺陷提取部分主要是將橡膠圈缺陷提取出來;缺陷分析主要是獲取缺陷位置、缺陷大小、缺陷類別等。
圖像矩陣是特殊的數(shù)學(xué)矩陣,圖像的像素值可以看作矩陣值。正常的圖像里面的像素值是均勻的,若圖像中存在缺陷時(shí),對應(yīng)的矩陣中的值會(huì)出現(xiàn)相對于周圍值的異常值。確定圖像矩陣的異常值后,可以對圖像進(jìn)行異常值的定位與提取。SVD奇異值分解算法,是機(jī)器學(xué)習(xí)中常用的特征提取算法,其主要目的是數(shù)據(jù)的降維、重構(gòu)原矩陣。文中主要利用SVD能重構(gòu)原矩陣的特性,在奇異值分解后,會(huì)得到一個(gè)對角矩陣,通過對角矩陣的某些元素對矩陣進(jìn)行反向的重構(gòu),即可得到不同信息的重構(gòu)圖像。對角矩陣越靠后,代表的圖像信息就越高階,一般這類信息就是圖像中的缺陷信息。但是在實(shí)際工程應(yīng)用中,由于橡膠圈的圖像是彎曲的,因此奇異值分解時(shí)會(huì)導(dǎo)致邊緣的誤檢,因此需要對圖像進(jìn)行興趣區(qū)域的截取,提取出橡膠圈表面。
圖像采集系統(tǒng)對圖像質(zhì)量影響較大。光照對圖像成像質(zhì)量尤為重要,光照不均會(huì)導(dǎo)致缺陷位置誤判。文中采用同軸光照明,采用led白光照明方式,盡量使橡膠圈照明均勻,從而獲得質(zhì)量好的圖像。獲取的圖像質(zhì)量如圖2所示。
圖2 采集的橡膠圈局部圖像Fig 2 Acquired partial images of rubber ring
可見,采集圖像光照相對來說較為均勻,從圖2(a)可看出橡膠圈2個(gè)位置存在缺陷,從圖2(b)中可看出橡膠圈5個(gè)位置存在缺陷。
圖像處理主要分3個(gè)部分:橡膠圈邊緣粗提取,亞像素邊緣提取以及圓環(huán)區(qū)域映射到矩形區(qū)域。圖像處理主要目的在于提取出圖像中的前景,去除背景干擾,提取出缺陷目標(biāo)位置。
1.3.1 邊緣粗提取
橡膠圈邊緣粗提取首先要進(jìn)行自適應(yīng)中值濾波去除圖像中的噪聲點(diǎn)[7-8],再使用改進(jìn)的Laplace邊緣增強(qiáng)算子進(jìn)行邊緣增強(qiáng)。Laplace邊緣增強(qiáng)算子為
該算子可以增強(qiáng)圖像邊緣信息,使邊緣提取更加容易。但是該算法受噪聲影響較大,故需要先進(jìn)行自適應(yīng)中值濾波去除噪聲點(diǎn)。
如圖3所示,Laplace邊緣增強(qiáng)算子增強(qiáng)后圖像的邊緣細(xì)節(jié)更加清晰,便于對圖像邊緣的提取,同時(shí)也凸顯出橡膠圈中的缺陷。將所獲得的圖像進(jìn)行高斯差分(Difference of Gaussians,簡稱“DOG”),高斯差分計(jì)算方法[9-10]為
圖3 Laplace增強(qiáng)圖像Fig 3 Laplace enhancement image
GDOG=Gσ1-Gσ2
(1)
文中采用11×11與3×3模板做差分,DOG邊緣檢測算法與Canny算子結(jié)果對比如圖4所示。
圖4 2種算子邊緣圖像提取結(jié)果對比Fig 4 Comparison of edge image extraction results of twooperators (a)edge image extracted by Canny;(b)edge image extracted by DOG
Canny算子對噪聲的影響較大,會(huì)將內(nèi)部很多的不必要信息顯示出來,會(huì)造成邊緣信息提取失誤。邊緣提取算法由于不需要橡膠圈內(nèi)部信息,采用DOG邊緣檢測算法可以適當(dāng)減小噪聲影響,邊緣提取結(jié)果較好。
造成邊緣不連續(xù)點(diǎn)存在的原因是由于圖像在二值化過程中,由于邊緣梯度值不同,參考噪聲及缺陷影響,以及考慮算法的魯棒性,選取的二值化閾值相對于各方面都較為合適。但是這也導(dǎo)致圖像邊緣梯度值無法保證全部處于閾值的同一側(cè),因而出現(xiàn)斷點(diǎn)。
1.3.2 亞像素邊緣提取
Zernike矩是基于 Zernike多項(xiàng)式的正交化函數(shù),所利用的正交多項(xiàng)式集是一個(gè)在單位圓內(nèi)的完備正交集。文中采用基于Zernike矩的亞像素邊緣檢測方法[11-13]。
在離散條件下,圖像f(x,y)的二維Zernike矩在x2+y2≤1可定義為
(2)
圖像旋轉(zhuǎn)φ角度后的Z′nm與Znm之間的關(guān)系為
Z′nm=Znme-mφ
(3)
根據(jù)公式(2)(3),結(jié)合Zernike矩7×7模板進(jìn)行亞像素邊緣提取,獲取亞像素邊緣。
針對圖5所示的不連續(xù)邊緣,經(jīng)過亞像素提取之后邊緣點(diǎn)仍會(huì)出現(xiàn)不連續(xù)點(diǎn)的問題,文中采用Ceres庫進(jìn)行二次多項(xiàng)式擬合。Ceres庫是google用作非線性優(yōu)化的開源C++庫,它采用最小二乘原理,對非線性擬合效果好,速度快。
圖5 粗提取不連續(xù)邊緣點(diǎn)
采用Ceres庫多項(xiàng)式擬合估計(jì)不連續(xù)點(diǎn)位置,獲取的擬合曲線誤差最小。通過上述方法提取的興趣區(qū)域尺寸可能會(huì)不一樣,為解決像素變化突兀問題,文中采用插值法將提取的興趣部分統(tǒng)一相同尺寸,同時(shí)使圖像看起來更平滑,降低了奇異值分解的誤差。使用獲取的擬合曲線進(jìn)行邊緣位置更新,得到連續(xù)的邊緣位置。如圖6所示。
圖6 環(huán)狀區(qū)域映射到矩形區(qū)域Fig 6 Looped area mapped to rectangular area
如圖6所示,對圓環(huán)進(jìn)行了取直。圓環(huán)之所以取直是因?yàn)橹苯訉⒃瓐D做奇異值分解,會(huì)將邊緣等信息也提取出來,且無法識(shí)別橡膠圈表面的缺陷,故需要將其提取出來并進(jìn)行取直。提取方式根據(jù)擬合出來的曲線,補(bǔ)充上述邊緣中的斷點(diǎn)位置;然后根據(jù)最上方邊緣與最下方邊緣的像素坐標(biāo),按列截取圖像中的橡膠圖像部分。再通過插值法,將獲取的一列像素插值為固定的尺寸,以用作后續(xù)處理。環(huán)狀區(qū)域映射到矩形區(qū)域的結(jié)果如圖6所示。
主成分分析(Principal Component Analysis,PCA)是一種統(tǒng)計(jì)方法,通過正交變換將一組可能存在相關(guān)性的變量轉(zhuǎn)換為一組線性不相關(guān)的變量,轉(zhuǎn)換后的這組變量叫主成分。該方法就是把原有的多個(gè)指標(biāo)轉(zhuǎn)化成少數(shù)幾個(gè)代表性較好的綜合指標(biāo),這少數(shù)幾個(gè)指標(biāo)可以反映原來大部分指標(biāo)的信息(85%以上),并且各個(gè)指標(biāo)之間保持獨(dú)立,避免出現(xiàn)重疊信息。
奇異值分解(Singular Value Decomposition,SVD)是線性代數(shù)中一種重要的矩陣分解,在信號(hào)處理、統(tǒng)計(jì)學(xué)等領(lǐng)域有重要應(yīng)用,在紋理圖像缺陷檢測中也有應(yīng)用[14-15]。
我國對高血壓的定義為收縮壓大于等于140mmHg,或低壓大于等于90mmHg就診斷為高血壓。所以僅單純的低壓高而高壓正常,也可以診斷為高血壓。高血壓中有5%是其他疾病繼發(fā)的高血壓,95%以上都是原發(fā)性高血壓。根據(jù)血壓程度來進(jìn)行分級(jí):1級(jí)高血壓為140-159/90-99mmHg,2級(jí)高血壓為160-179/100-109mmHg,3級(jí)高血壓為大于等于180/110mmHg。
基于以上理論,以及奇異值分解在紋理圖像缺陷提取中的應(yīng)用,文中將橡膠圈表面正常部分視為紋理圖像,或者圖像中的主成分,而缺陷部分視作奇異點(diǎn),獲取奇異值分解中的前10個(gè)數(shù)據(jù)即可獲得大于90%的圖像恢復(fù)度;然后將原圖像與分解圖像做差分,得到的圖像即為缺陷值。
奇異值分解運(yùn)算時(shí)速度較慢,為提升其計(jì)算速度,文中使用GPU進(jìn)行運(yùn)算加速,以增加圖像運(yùn)算效率。CUDA是一種由NVIDIA推出的通用并行計(jì)算架構(gòu),該架構(gòu)使GPU能夠解決復(fù)雜的計(jì)算問題。
計(jì)算機(jī)配置為:
GPU:NVIDIA Geforce GTX1660ti
CPU:i7處理器 6核12線程
CUDA加速運(yùn)算時(shí)間與opencv奇異值分解函數(shù)時(shí)間對比如表1所示。
表1 運(yùn)算時(shí)間對比
采用基于CUDA的GPU算法加速,算法處理速度是CPU的2倍左右。根據(jù)CUDA原理,使用GPU代替CPU進(jìn)行圖形運(yùn)算時(shí),運(yùn)算圖像越大,GPU效益越高,加速效果更明顯。文中圖像采集采用的是高分辨率相機(jī),圖像像素較高,故采用GPU加速能有效提高算法速度。
圖7 奇異值分解恢復(fù)圖Fig 7 Singular value decomposition recovery graphs(a) reconstruction image of top 10 features;(b) reconstruction image of top 10 features;(c) reconstruction image of top 10 features
從圖7可以看出,與原圖相比,奇異值分解后恢復(fù)的圖像中一些奇異點(diǎn)即圖中缺陷部分丟失。另外還可看出,奇異值分解恢復(fù)矩陣階數(shù)越高,分析結(jié)果越精確。這是因?yàn)槠娈愔捣纸饣謴?fù)矩陣階數(shù)越高,圖像的細(xì)節(jié)也就越多,理論上來說,當(dāng)恢復(fù)矩陣取到10階時(shí),基本可以顯示原圖像90%的內(nèi)容。將原圖與恢復(fù)圖像做差分即可獲取奇異點(diǎn)位置,在圖中表現(xiàn)為缺陷位置。如圖8所示。
圖8 圖像差分結(jié)果Fig 8 Image difference result
獲取圖像缺陷位置后,通過連通域分析來提取出缺陷信息。二值圖像分析最重要的方法就是連通區(qū)域標(biāo)記,它是所有二值圖像分析的基礎(chǔ)。通過對二值圖像中白色像素(目標(biāo))的標(biāo)記,讓每個(gè)單獨(dú)的連通區(qū)域形成一個(gè)被標(biāo)識(shí)的塊,就可以進(jìn)一步獲取這些塊的輪廓、外接矩形、質(zhì)心、不變矩等幾何參數(shù)。文中采用opencv中的連通域分析函數(shù),獲取缺陷信息。結(jié)果如圖9所示。
圖9 缺陷提取結(jié)果Fig 9 Defect extraction result
可見,基于奇異值分解的橡膠圈缺陷檢測方法,能準(zhǔn)確識(shí)別對比度較低的橡膠圈表面缺陷,同時(shí)還能獲取缺陷的位置、大小等信息。在實(shí)際的橡膠圈缺陷在線檢測中,一般僅需判斷其是否存在缺陷,以及缺陷位置和大小,對缺陷的分類不作要求,采用文中提出的橡膠圈缺陷檢測方法分析時(shí),可以省去對奇異值分析后的圖像的連通域分析,進(jìn)一步提高檢測速度。
(1)提出一種橡膠圈表面缺陷檢測方法,該方法在提取圖像邊緣時(shí)采用了亞像素分析方法,確保了圖像邊緣提取的準(zhǔn)確性,同時(shí)解決了邊緣點(diǎn)不連續(xù)的問題;采用Ceres庫多項(xiàng)式擬合估計(jì)不連續(xù)點(diǎn)位置,獲取的擬合曲線誤差最??;由于邊緣提取算法不需要橡膠圈內(nèi)部信息,采用高斯差分邊緣檢測對外邊緣的提取效果好于Canny算子;基于奇異值分解的方法提取橡膠圈缺陷,提取效果好,且檢測速度快;采用連通域分析來提取出缺陷信息,準(zhǔn)確地識(shí)別出對比度較低的橡膠圈表面缺陷,同時(shí)還獲取了缺陷的位置、大小等信息。
(2)橡膠圈表面缺陷的檢測主要是氣泡和凹坑,根據(jù)實(shí)際生產(chǎn)中的檢驗(yàn)要求,僅需要判斷缺陷存在與否,以及存在缺陷的大小、位置,故文中算法可以高效、快速識(shí)別其缺陷,滿足工程要求。
(3)文中方法的不足之處在于提取的缺陷受奇異值選取數(shù)量影響,選取的值越少,能提取的缺陷越多,但是帶入的噪聲也越多;另外,算法的穩(wěn)定性受環(huán)境影響較大,若圖像中光照不均時(shí),可能會(huì)出現(xiàn)誤檢的問題。下一步的工作,將針對某些不明顯不突出的缺陷,設(shè)計(jì)一種多色光、多方向照明方案,凸顯缺陷的位置,并通過逐行和逐列提取圖像的信息作為序列數(shù)據(jù),進(jìn)行序列數(shù)據(jù)奇異值定位提取,可解決低對比度下的缺陷提取問題。