黃 連 劉曉軍 雷自力 顧 浩 劉云峰 狄超雄
(華中科技大學機械科學與工程學院 湖北武漢 430074)
橡膠圈具有緩沖、減震、密封等功能,是常用的機械零件。橡膠圈用途廣泛,隨著工業化不斷發展,對橡膠圈的質量要求也越來越高。尤其在航空航天、機器人等領域,對橡膠圈不僅有質量要求,還有數量要求,因此對于橡膠圈檢測技術提出了較高要求。目前國外橡膠圈檢測技術相對成熟,意大利、德國、美國等國家的橡膠圈缺陷檢測技術處于領先水平,如德國Balser Vario公司和意大利DOSS公司的設備不僅檢測范圍廣,如可以檢測O形環、油封等,且自動化程度和檢測效率高。國內的橡膠圈檢測技術研究起步晚,目前的檢測方法存在效率低、檢測范圍小等缺點。目前在橡膠圈生產廠家大多采用人工檢測方法,檢測效率低、成本高。
目前國內外表面缺陷檢測算法可分為機器學習[1-3]和傳統圖像處理[4-6]兩個方向。機器學習需要大量數據集,卷積層以及池化層的存在會導致表面缺陷信息丟失,且缺陷識別能力至少要5個像素以上。傳統圖像處理方法一般過程為圖像采集、圖像處理、缺陷提取、缺陷分類,但圓環形橡膠圈的表面很難實現均勻照明,且橡膠圈顏色較深,導致缺陷的對比度不明顯,缺陷提取困難,故一般的圖像處理方法在橡膠圈表面缺陷檢測時效果不明顯。國外有學者將結構光用于橡膠圈檢測,通過獲取橡膠圈整體信息,從而找到缺陷位置,但是此方法最大的問題是檢測時間長,效率低。本文作者針對橡膠圈表面缺陷對比度不明顯,缺陷提取困難等問題,提出了一種新的高效的橡膠圈缺陷提取方法,并驗證了方法的可行性。
文中提出有橡膠圈缺陷檢測算法系統構成如圖1所示。

圖1 整體系統組成Fig 1 Overall system composition
該系統由4個部分構成,包括圖像采集、圖像處理、缺陷提取、缺陷分析。圖像采集主要有光源、多個相機、鏡頭及計算機;圖像處理主要是將圓環形的橡膠圈圖像轉換為矩形圖像;缺陷提取部分主要是將橡膠圈缺陷提取出來;缺陷分析主要是獲取缺陷位置、缺陷大小、缺陷類別等。
圖像矩陣是特殊的數學矩陣,圖像的像素值可以看作矩陣值。正常的圖像里面的像素值是均勻的,若圖像中存在缺陷時,對應的矩陣中的值會出現相對于周圍值的異常值。確定圖像矩陣的異常值后,可以對圖像進行異常值的定位與提取。SVD奇異值分解算法,是機器學習中常用的特征提取算法,其主要目的是數據的降維、重構原矩陣。文中主要利用SVD能重構原矩陣的特性,在奇異值分解后,會得到一個對角矩陣,通過對角矩陣的某些元素對矩陣進行反向的重構,即可得到不同信息的重構圖像。對角矩陣越靠后,代表的圖像信息就越高階,一般這類信息就是圖像中的缺陷信息。但是在實際工程應用中,由于橡膠圈的圖像是彎曲的,因此奇異值分解時會導致邊緣的誤檢,因此需要對圖像進行興趣區域的截取,提取出橡膠圈表面。
圖像采集系統對圖像質量影響較大。光照對圖像成像質量尤為重要,光照不均會導致缺陷位置誤判。文中采用同軸光照明,采用led白光照明方式,盡量使橡膠圈照明均勻,從而獲得質量好的圖像。獲取的圖像質量如圖2所示。

圖2 采集的橡膠圈局部圖像Fig 2 Acquired partial images of rubber ring
可見,采集圖像光照相對來說較為均勻,從圖2(a)可看出橡膠圈2個位置存在缺陷,從圖2(b)中可看出橡膠圈5個位置存在缺陷。
圖像處理主要分3個部分:橡膠圈邊緣粗提取,亞像素邊緣提取以及圓環區域映射到矩形區域。圖像處理主要目的在于提取出圖像中的前景,去除背景干擾,提取出缺陷目標位置。
1.3.1 邊緣粗提取
橡膠圈邊緣粗提取首先要進行自適應中值濾波去除圖像中的噪聲點[7-8],再使用改進的Laplace邊緣增強算子進行邊緣增強。Laplace邊緣增強算子為

該算子可以增強圖像邊緣信息,使邊緣提取更加容易。但是該算法受噪聲影響較大,故需要先進行自適應中值濾波去除噪聲點。
如圖3所示,Laplace邊緣增強算子增強后圖像的邊緣細節更加清晰,便于對圖像邊緣的提取,同時也凸顯出橡膠圈中的缺陷。將所獲得的圖像進行高斯差分(Difference of Gaussians,簡稱“DOG”),高斯差分計算方法[9-10]為

圖3 Laplace增強圖像Fig 3 Laplace enhancement image
GDOG=Gσ1-Gσ2
(1)
文中采用11×11與3×3模板做差分,DOG邊緣檢測算法與Canny算子結果對比如圖4所示。

圖4 2種算子邊緣圖像提取結果對比Fig 4 Comparison of edge image extraction results of twooperators (a)edge image extracted by Canny;(b)edge image extracted by DOG
Canny算子對噪聲的影響較大,會將內部很多的不必要信息顯示出來,會造成邊緣信息提取失誤。邊緣提取算法由于不需要橡膠圈內部信息,采用DOG邊緣檢測算法可以適當減小噪聲影響,邊緣提取結果較好。
造成邊緣不連續點存在的原因是由于圖像在二值化過程中,由于邊緣梯度值不同,參考噪聲及缺陷影響,以及考慮算法的魯棒性,選取的二值化閾值相對于各方面都較為合適。但是這也導致圖像邊緣梯度值無法保證全部處于閾值的同一側,因而出現斷點。
1.3.2 亞像素邊緣提取
Zernike矩是基于 Zernike多項式的正交化函數,所利用的正交多項式集是一個在單位圓內的完備正交集。文中采用基于Zernike矩的亞像素邊緣檢測方法[11-13]。
在離散條件下,圖像f(x,y)的二維Zernike矩在x2+y2≤1可定義為
(2)
圖像旋轉φ角度后的Z′nm與Znm之間的關系為
Z′nm=Znme-mφ
(3)
根據公式(2)(3),結合Zernike矩7×7模板進行亞像素邊緣提取,獲取亞像素邊緣。
針對圖5所示的不連續邊緣,經過亞像素提取之后邊緣點仍會出現不連續點的問題,文中采用Ceres庫進行二次多項式擬合。Ceres庫是google用作非線性優化的開源C++庫,它采用最小二乘原理,對非線性擬合效果好,速度快。

圖5 粗提取不連續邊緣點
采用Ceres庫多項式擬合估計不連續點位置,獲取的擬合曲線誤差最小。通過上述方法提取的興趣區域尺寸可能會不一樣,為解決像素變化突兀問題,文中采用插值法將提取的興趣部分統一相同尺寸,同時使圖像看起來更平滑,降低了奇異值分解的誤差。使用獲取的擬合曲線進行邊緣位置更新,得到連續的邊緣位置。如圖6所示。

圖6 環狀區域映射到矩形區域Fig 6 Looped area mapped to rectangular area
如圖6所示,對圓環進行了取直。圓環之所以取直是因為直接將原圖做奇異值分解,會將邊緣等信息也提取出來,且無法識別橡膠圈表面的缺陷,故需要將其提取出來并進行取直。提取方式根據擬合出來的曲線,補充上述邊緣中的斷點位置;然后根據最上方邊緣與最下方邊緣的像素坐標,按列截取圖像中的橡膠圖像部分。再通過插值法,將獲取的一列像素插值為固定的尺寸,以用作后續處理。環狀區域映射到矩形區域的結果如圖6所示。
主成分分析(Principal Component Analysis,PCA)是一種統計方法,通過正交變換將一組可能存在相關性的變量轉換為一組線性不相關的變量,轉換后的這組變量叫主成分。該方法就是把原有的多個指標轉化成少數幾個代表性較好的綜合指標,這少數幾個指標可以反映原來大部分指標的信息(85%以上),并且各個指標之間保持獨立,避免出現重疊信息。
奇異值分解(Singular Value Decomposition,SVD)是線性代數中一種重要的矩陣分解,在信號處理、統計學等領域有重要應用,在紋理圖像缺陷檢測中也有應用[14-15]。
我國對高血壓的定義為收縮壓大于等于140mmHg,或低壓大于等于90mmHg就診斷為高血壓。所以僅單純的低壓高而高壓正常,也可以診斷為高血壓。高血壓中有5%是其他疾病繼發的高血壓,95%以上都是原發性高血壓。根據血壓程度來進行分級:1級高血壓為140-159/90-99mmHg,2級高血壓為160-179/100-109mmHg,3級高血壓為大于等于180/110mmHg。
基于以上理論,以及奇異值分解在紋理圖像缺陷提取中的應用,文中將橡膠圈表面正常部分視為紋理圖像,或者圖像中的主成分,而缺陷部分視作奇異點,獲取奇異值分解中的前10個數據即可獲得大于90%的圖像恢復度;然后將原圖像與分解圖像做差分,得到的圖像即為缺陷值。
奇異值分解運算時速度較慢,為提升其計算速度,文中使用GPU進行運算加速,以增加圖像運算效率。CUDA是一種由NVIDIA推出的通用并行計算架構,該架構使GPU能夠解決復雜的計算問題。
計算機配置為:
GPU:NVIDIA Geforce GTX1660ti
CPU:i7處理器 6核12線程
CUDA加速運算時間與opencv奇異值分解函數時間對比如表1所示。

表1 運算時間對比
采用基于CUDA的GPU算法加速,算法處理速度是CPU的2倍左右。根據CUDA原理,使用GPU代替CPU進行圖形運算時,運算圖像越大,GPU效益越高,加速效果更明顯。文中圖像采集采用的是高分辨率相機,圖像像素較高,故采用GPU加速能有效提高算法速度。

圖7 奇異值分解恢復圖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可以看出,與原圖相比,奇異值分解后恢復的圖像中一些奇異點即圖中缺陷部分丟失。另外還可看出,奇異值分解恢復矩陣階數越高,分析結果越精確。這是因為奇異值分解恢復矩陣階數越高,圖像的細節也就越多,理論上來說,當恢復矩陣取到10階時,基本可以顯示原圖像90%的內容。將原圖與恢復圖像做差分即可獲取奇異點位置,在圖中表現為缺陷位置。如圖8所示。

圖8 圖像差分結果Fig 8 Image difference result
獲取圖像缺陷位置后,通過連通域分析來提取出缺陷信息。二值圖像分析最重要的方法就是連通區域標記,它是所有二值圖像分析的基礎。通過對二值圖像中白色像素(目標)的標記,讓每個單獨的連通區域形成一個被標識的塊,就可以進一步獲取這些塊的輪廓、外接矩形、質心、不變矩等幾何參數。文中采用opencv中的連通域分析函數,獲取缺陷信息。結果如圖9所示。

圖9 缺陷提取結果Fig 9 Defect extraction result
可見,基于奇異值分解的橡膠圈缺陷檢測方法,能準確識別對比度較低的橡膠圈表面缺陷,同時還能獲取缺陷的位置、大小等信息。在實際的橡膠圈缺陷在線檢測中,一般僅需判斷其是否存在缺陷,以及缺陷位置和大小,對缺陷的分類不作要求,采用文中提出的橡膠圈缺陷檢測方法分析時,可以省去對奇異值分析后的圖像的連通域分析,進一步提高檢測速度。
(1)提出一種橡膠圈表面缺陷檢測方法,該方法在提取圖像邊緣時采用了亞像素分析方法,確保了圖像邊緣提取的準確性,同時解決了邊緣點不連續的問題;采用Ceres庫多項式擬合估計不連續點位置,獲取的擬合曲線誤差最??;由于邊緣提取算法不需要橡膠圈內部信息,采用高斯差分邊緣檢測對外邊緣的提取效果好于Canny算子;基于奇異值分解的方法提取橡膠圈缺陷,提取效果好,且檢測速度快;采用連通域分析來提取出缺陷信息,準確地識別出對比度較低的橡膠圈表面缺陷,同時還獲取了缺陷的位置、大小等信息。
(2)橡膠圈表面缺陷的檢測主要是氣泡和凹坑,根據實際生產中的檢驗要求,僅需要判斷缺陷存在與否,以及存在缺陷的大小、位置,故文中算法可以高效、快速識別其缺陷,滿足工程要求。
(3)文中方法的不足之處在于提取的缺陷受奇異值選取數量影響,選取的值越少,能提取的缺陷越多,但是帶入的噪聲也越多;另外,算法的穩定性受環境影響較大,若圖像中光照不均時,可能會出現誤檢的問題。下一步的工作,將針對某些不明顯不突出的缺陷,設計一種多色光、多方向照明方案,凸顯缺陷的位置,并通過逐行和逐列提取圖像的信息作為序列數據,進行序列數據奇異值定位提取,可解決低對比度下的缺陷提取問題。