厲榮宣, 沈希忠, 張樹行, 陳圣杰
(上海應用技術學院電氣與電子工程學院,上海 201418)
基于圖像處理的軸類零件表面裂紋檢測
厲榮宣, 沈希忠, 張樹行, 陳圣杰
(上海應用技術學院電氣與電子工程學院,上海 201418)
針對軸類零件表面圖像的特點,提出一種基于圖像處理的表面裂紋檢測算法。算法首先采用空域和小波域混合濾波對圖像去噪,提出一種圖像分塊自適應模糊集增強方法,以提高裂紋區和背景區的對比度;然后應用Canny邊緣檢測算子和數學形態學操作進行圖像分割,提取裂紋區域;最后通過計算裂紋連通域的圓形度和長寬比特征判斷零件的表面圖像中是否有裂紋存在,實現裂紋檢測。試驗表明,該算法即使在信噪比不高的圖像中也能實現對目標裂紋的檢測,證明了算法的有效性。
圖像處理;裂紋檢測;小波;模糊集增強;形態學操作
隨著科技發展和工業自動化水平的提高,企業對所生產零件的缺陷檢測效率及準確率要求越來越高。在以往,大多零件的表面缺陷檢測主要靠人工,效率低而且容易產生誤判[1]。
近年來,隨著數字圖像技術的不斷發展,由計算機視覺系統取代人工進行表面缺陷圖像的處理、分析、識別成為研究和應用的熱點。針對某種精密零件的表面缺陷,文獻[2]運用像素特征定位方法,將目標圖像二值化,完成零件和背景區分,避免了采用標準網格平面標定的繁瑣過程,提高了測量精度和速度。文獻[3]對齒輪的缺陷圖像進行研究,提出了迭代閾值構造法,解決了閾值易受噪聲干擾的問題。為了對某機械加工零件表面進行可靠、有效地檢測,文獻[4]根據機械加工零件表面的紋理特點,設計了一種新的圖像頻域濾波器,可增強缺陷紋理圖像并抑制背景紋理對缺陷紋理檢測的干擾,再通過圖像分割的方法實現缺陷紋理和背景紋理的分離。文獻[5]針對冷軋帶鋼表面缺陷種類多、形態復雜、表現各異的特點,利用獨立成分分析(independent component analysis, ICA)和拓撲獨立成分分析(topology independent component analysis, TICA)從缺陷集合中自適應地估計出基函數和濾波器,然后使用相應的濾波器對缺陷圖像濾波,提取濾波響應并用支持向量機的方法對樣本進行分類識別。
表面缺陷檢測特點如下:從現場獲取的原始圖像大多具有圖像質量不高、缺陷部位不明顯的情況,因此圖像預處理技術,尤其圖像增強算法的適當運用關系到目標缺陷能否和背景正確剝離,是缺陷得以成功檢測的基礎;缺陷的識別涉及模式識別問題,由于不同工程背景下缺陷的種類、形態、復雜度均有所不同,因而大多的技術方法是針對特定缺陷類別或特殊應用背景而提出的,能夠識別的種類相對有限,因此缺陷判斷、識別的有效方法和技術還需進一步深入探索。
本文研究的原始目標圖像來自某企業生產的軸類零件,結構簡單,不具有精密零件結構復雜的特性。零件頭部具有規則的圓形孔洞,尾部呈圓柱條棒狀,粗細均勻。零件整體質密度均勻,制造工藝較簡單(如圖1所示)。

圖1 零件機械圖
在零件加工現場,由機械傳動裝置帶動零件軸向勻速旋轉 360°,使用配置好的工業相機近距離采集到多幀不包括零件外輪廓的表面圖像,從而完成圖像采集。從現場獲取的某一幀零件表面圖像如圖2所示。

圖2 表面裂紋的原始圖像
經過對零件特征和缺陷位置的大量統計,缺陷類型全部為條形結構裂紋,而且95%以上的裂紋產生在零件尾部區域,其實缺陷檢測只需進行裂紋的有無判斷,而無需將缺陷進行分類。對裂紋檢測不利的是,圖像采集現場的振動、電磁、光線等干擾,采集到的圖像噪聲成分較復雜,裂紋的邊緣不夠清晰,需進行圖像增強提高信噪比,并提升裂紋區域的對比度,從而利于后續分割、識別等操作。
從現場采集的裂紋圖像噪聲成分復雜,信噪比較低,算法首先使用圖像增強方法把圖像處理成適于裂紋提取的圖像,思路是:用改進的自適應中值濾波和小波鄰域收縮法分別對圖像的椒鹽噪聲和高斯噪聲進行濾波;針對去噪后裂紋區域邊緣弱化的問題,提出一種圖像分塊自適應模糊集增強方法提升裂紋輪廓細節,使裂紋區域利于分割;然后采用 Canny算子和數學形態學操作結合的方法對增強后的裂紋圖像進行二值化分割,其結果使得裂紋部分和背景區域完全分開;最后通過計算裂紋連通域的圓形度和長寬比特征判斷是否有裂紋存在。算法流程如圖3所示。
2.1 圖像增強
2.1.1 改進的自適應中值濾波
對于裂紋表面圖像的脈沖型椒鹽噪聲,采用改進的自適應中值濾波方法進行濾波。自適應中值濾波的基本原理為:定義w為中心位于(i, j)點、尺寸可調的中值濾波窗,初始化為 wini,預設的最大尺寸窗為 wmax, fmax、 fmed、 fmin分別為窗內灰度的最大值、中值、最小值, f(i,j)為點(i, j)的灰度值。自適應中值濾波法工作在A、B兩層。A層:若窗口的灰度中值 fmed滿足 fmin<fmed<fmax,則直接轉到B層;若不滿足 fmin< fmed< fmax,增加w的窗口尺寸,若w的尺寸小于 wmax,則重復A 層,否則直接輸出 f(i,j)。B 層:若fmin< f(i,j)< fmax,則輸出 f(i,j);否則輸出 fmed。這樣分層的思想是,通過 fmed與 fmax、 fmin的大小關系判斷噪聲強度,從而決定濾波窗口的尺寸,窗口尺寸確定之后,根據 f(i,j)與 fmax、 fmin的大小關系判斷窗口中心點像素的屬性,當為噪聲點時進行中值濾波,當為信號點時保持灰度值不變。

圖3 算法流程圖
改進的自適應中值濾波的出發點是縮減算法的運行時間。改進算法在濾波器窗的選擇上用十字窗取代了傳統的方形窗,減少了參與中值排序的像素點數目,而且隨著濾波器窗的增大,排序的時間優勢愈發明顯,從而節約了算法的運行時間,更能滿足裂紋檢測算法的整體實時性要求。
2.1.2 小波鄰域收縮去噪
對于裂紋圖像的高斯噪聲,采用Chen等[6]提出小波鄰域收縮法(也稱 NeighShrink)去噪。在小波系數的較小鄰域內,小波系數之間存在一定的相關性,因而在對其進行閾值處理時,應該考慮鄰域系數的情況,這樣才能減少重要的系數被置為零的情況,避免信號系數的過度收縮,從而保護圖像細節。具體實現如下:
(1) 對含噪圖像進行二維小波分解,得到1個以圖像細節信息為主的低頻系數子帶LL和3個以噪聲為主的高頻系數子帶HL、LH、HH,這 3個高頻子帶是圖像水平、垂直和對角線三個方向的高頻系數。頻帶分布如圖4所示。

圖4 小波系數分布的頻帶
(2) 將小波域中各層的水平、豎直和對角線三個方向的高頻系數( dx,y)進行處理:對于每個所需處理的系數 dx,y(x,y分別表示系數的位置索引),計算以 dx,y為中心的方形窗口W內的所有系數平方和,即系數 dx,y的鄰域能量( Sx,y),計算表達式為:

收縮因子 βx,y按下式計算:

上式中,[T]+表示對T取非負數部分,即當 T≥0時,結果為T本身,當 T< 0時,令 T= 0。λ為局部閾值,采用Donoho提出的Visushrink方法計算如下:

上式中, N2為圖像的大小,σ為圖像的噪聲標準差,可以對第 1級分解的低頻子帶系數 HH1進行中值估計獲得:

修正后的小波系數為:

(3) 用修正后的小波系數 d?x,y對二維圖像進行重構,從而得到去噪圖像。
2.1.3 分塊自適應模糊增強
去噪圖像不可避免會出現圖像細節邊緣弱化的問題,對于裂紋的分割和提取是不利的。采用一種圖像分塊自適應模糊增強算法對圖像進行增強,首先對圖像進行分塊,根據各塊的一維熵值判斷是否為裂紋潛在區,然后對裂紋潛在區進行模糊域圖像增強,而對非裂紋潛在區進行灰度值保持。具體實現如下:
(1) 判斷裂紋潛在區。首先對圖像進行分塊,計算每個子塊矩陣基于直方圖的信息熵,假設位于第m行、n列矩陣的信息熵值為mnh ,計算如下:

式中,Ω表示圖像灰度值不等于 0的像素集合,n( i)表示灰度值為i的像素個數,N表示像素的總數目, p( i)表示灰度值為i像素出現的概率。
其次,以圖像各子塊的信息熵值mnh 作為元素構成熵值矩陣H。在H中,圖像背景對應的子塊區域通常灰度變化不明顯,因而具有較小的信息熵,而裂紋區域的灰度分布較大,因此對應的信息熵值通常較大。基于此,通過設定一個較大的閾值th將圖像子塊劃分為裂紋潛在區和非裂紋區,進而施加不同的處理。本文中,th是通過熵值矩陣H自適應選擇而來,具體求法為:計算H每一列的最大值構成一維矩陣,從該矩陣中選出最小值作為閾值th的取值。當圖像子塊的信息熵值大于該閾值時,判定該子塊為裂紋潛在區,反之,視為背景圖像區。實際上,圖像中可能存在一些灰度變化的非裂紋干擾區也會被認定為裂紋潛在區,考慮到對圖像的操作不僅局限于增強處理,還有后續的分割、去除干擾等處理,這樣的判定結果是在容許度范圍之內的。
(2) 裂紋潛在區子塊模糊集增強。經典的 Pal和 King[7]模糊增強方法存在算法結構復雜、運算耗時長的問題。文獻[8]在隸屬度函數和模糊增強函數基礎上,采用一維最大熵法確定渡越點,進而對裂紋潛在區子塊進行模糊集增強以提高裂紋的對比度。具體實現如下:
隸屬度函數的定義為:

式中,mnX 表示位于像素點(,)m n的灰度值,L代表圖像的最大灰度級,為常數256。
c應的隸屬度,選擇合適的渡越點對圖像增強的效果具有決定性影響。
由于圖像的一維最大熵通常用來獲取圖像分割的閾值,而圖像分割可以視為圖像增強的極限情況,因此可以采用圖像的一維最大熵法計算渡越點 Xc的值。假設閾值TH可以將圖像分為兩個區域:前景區和背景區。按照式(6)~(7)的原理分別計算前景區和背景區的各灰度階的信息熵,分別記為h1和h2,然后計算信息熵之和 hTH= h1+ h2,滿足 hTH的值最大的TH即為 Xc的值。
2.2 圖像分割
利用邊緣檢測算子進行圖像的二值分割是常用方法,在表面裂紋圖像中,裂紋的邊緣是所要提取目標和背景的邊界線,因此提取出該邊緣便能區分目標和背景[9]。Canny算子是具有非最大值抑制和雙閾值的一階微分算子,既可以抑制多響應邊緣,還能有效減少邊緣漏檢率。其檢測過程為:①將圖像與高斯函數做卷積,獲得平滑圖像;②用基于平滑梯度方向的方法確定圖像局部邊緣的法向;③根據局部邊緣的法線方向求解邊緣位置;④計算邊緣強度,并對梯度幅值進行非極大值抑制;⑤用雙閾值算法檢測和連接邊緣。
經 Canny算子邊緣分割后的裂紋區域存在雙邊緣問題,而且不可避免殘留一些干擾成分,不符合分割的最終目的。使用數學形態學操作的方法對邊緣檢測后的圖像進行后續完善。具體過程為:①創建結構元素SE;②用 SE對二值圖像進行膨脹運算,使相鄰的部分閉合成一個區域;③分別計算圖像中各個區域面積,由于裂紋的面積遠大于干擾部分的面積,因而保留面積最大的區域(即目標裂紋區域),去掉其他區域;④使用膨脹運算填充裂紋區域的孔洞,使裂紋部分構成一個裂紋全白,背景全黑的連通域;⑤最后使用開運算平滑裂紋圖像,使裂紋輪廓變的光滑。
2.3 特征提取及判斷
經過二值化分割后的圖像只含有一個連通域,通過計算該連通域的圓形度和長寬比特征判斷是否存在裂紋。
圓形度計算如下:

上式中,S為連通域面積,C為連通域周長。
當區域為圓形時R值最大為1。
長寬比D計算如下:

上式中,L為連通域的長度。
在對連通域是否為裂紋的判斷中,規定當圓形度小于 0.3,并且長寬比大于 3同時滿足的情形下,判定原圖中存在裂紋,從而完成裂紋的檢測。
在MATLAB R2012b環境下對算法進行試驗和分析。首先將從現場采集的裂紋圖像標準化,調整為256×256的灰度圖,如圖5(a)所示。改進的自適應中值濾波去噪的效果和小波鄰域收縮去噪的效果分別如圖5(b)~(c)所示。

圖5 灰度圖和圖像去噪
圖5(b)中,從去噪整體效果看,圖像變的比較平滑,脈沖型噪聲得到有效去除;算法執行過程中,十字濾波窗最小尺寸為3,最大尺寸為7,體現了隨著窗內噪聲強度變化自適應濾波的特點。圖5(c)中,采用3級sym5小波對圖像二維小波分解,在計算小波系數的鄰域能量時選擇 3×3的窗口尺寸。對比圖5(b),該方法在進一步去除圖像噪聲的同時,并沒有明顯弱化圖像的邊緣等細節信息。
圖像分塊自適應模糊增強算法作為整個算法的核心,對于提升裂紋區域對比度和提取裂紋邊緣具有重要作用。在試驗中,引入傳統 Pal-King模糊增強算法、文獻[8]使用的模糊增強算法和本文算法加強對比,效果分別如圖6(a)~(b)所示。

圖6 模糊增強算法對比
圖6(c)中首先對圖像進行了8×8分塊,由各塊信息熵構成的熵矩陣H如表1所示。通過H得到閾值Th大小為5.09,對比表1可以看到,該閾值使得裂紋區域和背景區域實現了有效區分。對于裂紋潛在區子塊,通過計算模糊域圖像的一維最大熵確定各塊的自適應渡越點取值,從而完成圖像模糊集增強。從效果上看,在分塊的前提下,該算法對裂紋區域進行了比較正確的判斷和選擇,并對裂紋區域的邊緣細節部分進行了明顯的強化,從而利于裂紋提取。
圖像分割中,首先用Canny算子進行邊緣檢測,高低閾值的尺度因子設置為0.74,得到包含1個裂紋區和多個小的干擾區的二值圖像,如圖7(a)所示。數學形態學操作中,先用半徑為2的圓形結構元素對二值圖像先進行膨脹操作,使各區域分別連接成整體區域,并計算各自的面積,保留面積最大的區域,去掉干擾區域,從而得到只含裂紋區域的二值圖像,如圖7(b)所示。圖7(c)中,繼續使用形態學操作填充裂紋區域的孔洞,使目標裂紋區域連接成一個整體連通域,最終完成圖像的分割。

表1 熵值矩陣H

圖7 圖像分割
最后計算裂紋連通域的圓形度和長寬比特征,圓形度R為0.124,長寬比D為3.465,均符合裂紋判定的條件,因此檢測結果為原圖像中存在裂紋。
從算法的適應性和通用性角度出發,另外選取從現場獲取的 100幀圖像進行試驗,其中帶裂紋特征圖像64幅,不帶裂紋的圖像36幅;62幅缺陷圖像被檢出,檢測準確率96.9%(62/64),對不含裂紋的圖像沒有誤檢,誤檢率為0,充分驗證了算法的有效性。
本文針對某軸類零件表面裂紋圖像的特點,提出一種基于圖像處理的裂紋檢測算法,實現了原始零件圖像中是否含有裂紋的判斷。通過空域和小波域混合濾波方法對圖像去噪,著重提出一種圖像分塊自適應模糊集增強的方法加強裂紋區域質量,繼而使用 Canny邊緣檢測算子和數學形態學操作完成圖像二值分割,最后通過計算連通域圓形度和長寬比特征判定裂紋的存在。試驗結果表明,該算法在原始圖像信噪比較低的情形下仍能有效檢測到裂紋是否存在,具有較高的準確度和實時性。
[1]彭 飛, 朱曉軍, 朱志潔. 熒光磁粉探傷自動檢測及圖像處理系統研究[J]. 航海工程, 2009, 38(3): 141-145.
[2]俞曉明, 朱 濤, 孫 霖. 基于圖像的精密零件缺陷檢測技術[J]. 計算機仿真, 2012, 29(3): 273-277.
[3]肖俊建, 王慧英. 圖像處理技術在齒輪缺陷檢測中的應用[J]. 機械傳動, 2009, 332: 98-101.
[4]黎 明, 馬 聰, 楊小芹. 機械加工零件表面紋理缺陷檢測[J]. 中國圖象圖形學報, 2004, 9(3): 318-323.
[5]周新星, 王典洪, 孫 林. 基于獨立成分分析的表面缺陷特征提取與識別方法[J]. 計算機輔助設計與圖形學學報, 2012, 24(4): 506-512.
[6]Chen G Y, Bui T D, Krzyzak A. Image denoising using neighbouring wavelet coeffieients [C]//IEEE International Conference on Acoustics, Speech and Signal Processing, 2004: 917-920.
[7]Pal S K, King R A. Image enhancement using fuzzy set [J]. Electronics Letters, 1980, 16(10): 376-378.
[8]姜 桃, 趙春江, 陳 明, 等. 自適應圖像模糊增強快速算法[J]. 計算機工程, 2011, 37(19): 213-215.
[9]周 品, 李曉東. MATLAB數字圖像處理[M]. 北京: 清華大學出版社, 2012: 374.
Surface Crack Detection of Shaft Components Based on Image Processing
Li Rongxuan, Shen Xizhong, Zhang Shuhang, Chen Shengjie
(School of Electrical and Electronic Engingeering, Shanghai Institute of Technology, Shanghai 201418, China)
According to the characteristic of the image of a shaft component surface, an algorithm to detect surface crack is proposed based on image processing. The algorithm firstly adopts complex spatial and wavelet method to de-noising, comes up with an adaptive fuzzy enhancement of block matrix to improve the contrast of crack and background. Canny edge detection and morphology operation are used for image segmentation. At last, the circularity and length-width ratio are obtained to judge the existence of crack, and crack detection is done eventually. The result of test manifests the accurate detection of crack even if the signal to noise ratio is not very high, proving the effectiveness of algorithm.
image processing; crack detection; wavelet; fuzzy enhancement; morphology operation
TP 391.41
A
2095-302X(2015)01-0062-06
2014-06-09;定稿日期:2014-08-15
厲榮宣(1987-),男,山東日照人,碩士研究生。主要研究方向為圖像信號處理。E-mail:lirxuan@163.com
沈希忠(1968-),男,上海人,教授,博士。主要研究方向為信號處理與控制。E-mail:xzshen@yeah.net