周少琎,韓軍,吳飛斌
(1.福州大學電氣工程與自動化學院,福州 350001;2.中國科學院海西研究院泉州裝備制造研究中心,泉州 362000)
具有復雜結構的金屬鑄造工件表面裂紋缺陷高質量自動化檢測是工程機械領域中的關鍵。由于表面裂紋是生產過程中不可避免的缺陷,不及時檢測出帶有表面裂紋缺陷工件影響產品的表現質量和生產效益,這對工件質量檢測提出很高的要求。目前,金屬鑄造工件表面裂紋檢測的手段主要采用半自動熒光磁粉檢測,即自動化設備對工件進行磁化后,裂紋吸附熒光磁粉后在紫外燈下目檢呈現熒光黃綠色。但目檢方法依賴主觀經驗判斷,檢測速度慢,漏檢率和誤判率高,這種低效檢測手段是實現生產自動化的一大阻礙。因此,使用機器視覺檢測方法代替人工檢測,克服人工對具有復雜結構工件檢測效率低、誤檢及漏檢率高的問題,提升金屬鑄造工件生產效益,推動金屬鑄造工件在工程機械制造領域進一步實現自動化。
機器視覺檢測的核心在于缺陷檢測的算法。根據工業檢測的實際情況,在表面缺陷檢測中基于圖像處理和機器學習的傳統缺陷檢測技術得到了廣泛應用,這種傳統方法因快速性、實時性而滿足工業檢測的需求,并具有低成本和高效率的優點。近年來,磁粉探傷結合這種傳統方法的表面缺陷檢測技術日益成熟,相關學者已在該方面取得一定的研究成果,但也存在一些局限性。鄧鑫等[1]基于梯度-相位聯合直方圖利用最大熵閾值算法分割圖像G通道提取裂紋,其正確率為96.94%,但對微小裂紋的提取效果不佳,且對表面情況復雜的工件難以排除干擾區域。初延亮等[2]基于自定義加權模板對圖像進行平滑處理解決熒光磁粉圖像亮度分布不均問題,使用Ridler自適應閾值法分割缺陷,但此方法對超大面積的背景區域圖像處理效果不明顯。牛乾等[3]基于模板匹配定位圖像G通道中疑似缺陷區域,基于紋理特征和反向傳播神經網絡(back propagation neural network,BPNet)判斷缺陷真偽,但不適用于沒有固定形態的缺陷。陳旭等[4]結合中值濾波除噪和二維大津(otsu)閾值法分割圖像,基于形態學特征和Adaboost分類器進行缺陷判定,但針對不同工件圖像分割效果浮動太大,適用性有所欠缺。上述成果中針對不同檢測對象提出解決方法,意在解決工件復雜表面聚集成像引起各種干擾問題,從而突破裂紋缺陷的快速準確提取和判別這一難點[5]。對于金屬鑄造工件而言,復雜結構表面成像和磁粉堆積帶來干擾影響檢測方法判斷,表面特征提取對檢測技術的適應性要求高,現有檢測手段針對金屬鑄造工件表面裂紋檢測并不具有遷移性[6-7]。結合上述背景的成果經驗并分析金屬鑄造工件表面裂紋的特點,提出一種針對金屬鑄造工件表面裂紋檢測這類問題的檢測方法。基于磁粉探傷與機器視覺,設計出一種多特征多方法融合的裂紋缺陷檢測算法,能夠根據裂紋的顏色特征和幾何形狀特征對待檢測圖像分割達到提取裂紋的目的,同時通過分割提取裂紋的結果定位裂紋位置,獲得包含疑似裂紋感興趣區域(region of interest,ROI),縮小檢測范圍。提取包含裂紋ROI區域的紋理特征,利用支持向量機作為分類器對ROI區域進行裂紋真偽判定,從而達到檢測裂紋缺陷目的。
根據熒光磁粉圖像中金屬鑄造工件表面裂紋成像的特點,對圖像進行預處理工作以達到排除圖像中工件復雜表面結構、光源所帶來的干擾,分割圖像以達到提取裂紋的目的,為下一章獲取包含裂紋的ROI圖像和裂紋識別作鋪墊,圖像預處理過程如圖1所示。

圖1 圖像預處理過程Fig.1 Image preprocessing process
實際采樣過程中工業相機為了拍攝到清晰的熒光磁粉裂紋圖像,工業相機的增益參數設定不宜太小,但是復雜不規則的工件表面在拍攝中會引起反光,圖像中反光區域會與裂紋目標產生黏連,甚至覆蓋裂紋目標。為防止工件表面反光帶來影響,曝光量越小越好,但曝光量小容易造成采樣圖像中裂紋目標圖像信息的丟失,這種影響為后續圖像處理帶來困難。為了克服上述帶來的影響,弱化熒光磁粉圖像背景并突顯裂紋目標,需要對熒光磁粉圖像進行圖像增強。
常用的圖像增強方法有線性變換和非線性變換,線性變換只能提升圖像的整體亮度,無法改變對比度。非線性變換方法中灰度拉伸是分段式的線性變換,對于熒光磁粉圖像而言,每張圖像裂紋所處的灰度范圍并不固定,無法確定統一范圍標準進行灰度拉伸。GAMMA變換也是非線性變換的一種,其原理是對圖像的灰度進行冪率變換:
s=crγ
(1)
式(1)中:c、γ為常數;s、r分別為輸出和輸入圖像的像素灰度值。
如圖2所示,當γ<1時,會拉伸圖像中灰度級較低的部分,同時會壓縮灰度級較高的部分,具有增強圖像亮度效果;當γ>1時,會拉伸圖像中灰度級較高的部分,同時會壓縮灰度級較低的部分,提升圖像對比度,突顯圖像顯著高灰度值特征。因此當參數γ>1范圍時,通過設置合適γ參數值達到拉伸熒光磁粉圖像中高灰度部分來突顯裂紋,同時可以壓縮低灰度部分實現背景暗化,達到去除背景的作用。

圖2 不同參數下GAMMA變換結果對比Fig.2 Comparison of GAMMA transformation results under different parameters
熒光磁粉圖像經過GAMMA變換后有效地增強了裂紋目標與背景的對比度,采取圖像分割方法將增強后圖像中的裂紋與背景分割。傳統金屬表面缺陷分割采用自適應閾值分割法,自適應閾值分割法通過無監督的方式尋找圖像最佳分割閾值。這種無監督的分割法通過循環方式進行多次圖像分割,評估每次圖像分割的質量,迭代確定最佳分割閾值。無監督的評估標準是根據目標圖像廣泛特征的匹配程度來確定的,具有客觀性和不需要參考圖像本身的優勢,但是分割圖像的背景情況復雜多變會大大影響單一無監督自適應分割法的效果。面對金屬鑄造工件的復雜結構表面和磁粉堆積帶來裂紋周圍不規整平面和反光影響,無監督自適應分割法的表現不佳,分割結果中裂紋目標帶有干擾粘連。且每個裂紋目標的灰度級變化范圍大,面對灰度級較小的裂紋無監督自適應分割法容易造成欠分割,裂紋目標不完整。熒光磁粉圖像中,裂紋的廣泛特征比較明顯,金屬鑄造工件表面上裂紋呈現黃綠色且顏色飽滿,一般為窄條形狀,可以考慮對裂紋區域的顏色特征與幾何形狀學特征進行量化作為圖像分割的廣泛特征,通過對量化后的顏色特征和幾何形狀特征進行閾值限定,保留符合條件的圖像區域,達到將裂紋與背景區離,實現對裂紋目標的分割。
提出一種基于HSI顏色空間濾波和基于幾何形狀條件約束的特征融合裂紋分割方法。該方法首先通過HSI色彩空間模型量化圖像,對量化后圖像的三通道進行閾值限定,濾波圖像得到目標顏色范圍完成初步分割,然后基于目標的幾何形狀特征對初步分割結果進行篩選完成最終分割。HSI色彩空間通過色調(Hue)、色飽和度(Saturation)和亮度(Intensity)來描述色彩,相較于RGB顏色空間描述圖像,HSI顏色空間描述圖像便于色彩處理和識別,有利于對某些具有特定顏色的區域進行提取。由于裂紋目標在熒光圖像中呈現熒光綠色,顏色應變化處在藍色、黃色和綠色之間,根據HSI顏色空間描述,這些顏色在色調、色飽和度、亮度三通道中數值處于一定范圍,因此采用HSI圖像三通道進行上下閾值限定完成特定顏色濾波實現分割,其限定條件為
Hmin≤H(x,y)≤Hmax
(2)
Smin≤S(x,y)≤Smax
(3)
Imin≤I(x,y)≤Imax
(4)
式中:H(x,y)、S(x,y)、I(x,y)為輸入圖像在坐標(x,y)處三通道的數值;Hmin、Hmax、Smin、Smax、Imin、Imax分別為三通道閾值上下限。
考慮到裂紋熒光色的灰度值偏高的特點,其色飽和度和亮度值應偏高,進一步縮小了三通道數值變化范圍。根據上述公式對圖像三通道進行濾波,對符合限定條件的圖像像素點進行提取形成二值化圖像作為初始分割結果,其二值化原理為
(5)
式(5)中:f(x,y)為二值化后的輸出圖像,初步二值化處理的過程如圖3所示。

圖3 基于顏色特征的裂紋分割效果Fig.3 Crack segmentation effect based on color features
圖像初步分割結果中裂紋存在斷裂等情況,影響后期對裂紋目標的篩查與定位,需要補全裂紋圖像以便于后期對初步二值化圖像中連通域進行幾何形態篩選,獲取準確的ROI(region of interest)裂紋區域,采用對初步二值化圖像進行形態學處理的方法。為了突出裂紋目標方便后期獲取ROI區域,該方法對連通域進行輕微過度膨脹處理,目的是使目標連通域的形態更加飽和完整,但不影響后期對連通域篩選。該方法原理通過使用一個較大的膨脹算子矩陣和一個較小的腐蝕算子矩陣結合處理,達到連通域整體輕微膨脹的目的,具體操作如下:首先,對二值化圖像進行膨脹處理鏈接裂紋圖像;其次,使用5×5的中值濾波消除二值化圖像的孤立點[8];最后,對除噪后的二值化圖像進行腐蝕處理細化膨脹圖像,得到形態學處理結果。
為了得到更準確的二值化圖像,需要對初步二值化圖像中連通域進一步分析,達到區分裂紋目標與非裂紋目標的目的。裂紋區別于大部分的干擾,在形態學上呈現細長條狀,即各種幾何形狀特征在數值上處于一定范圍內,通過人眼十分容易甄選出來[9]。而大部分的干擾,如工件表面反光、磁粉噴灑堆積等在形態學呈大面積團狀或是小面積團狀粗點狀,通過幾何形狀濾波的方法進一步排除干擾,該方法基于幾何特征和形狀特征對連通域加以約束條件篩選出疑似裂紋完成更精確的分割。
裂紋幾何特征:通過構建連通域的最小外接旋轉矩形可獲得裂紋最小旋轉外接矩形長度L和寬度W,計算連通域中的總像素數和目標區域邊緣的像素總數獲得裂紋面積S和周長P作為裂紋的幾何特征。
采用長短徑比K、圓形度C和矩形度J作為裂紋的形狀特征。裂紋的長短徑比K,是對裂紋形狀的簡便度量,其定義為其最小旋轉外接矩形長度L和寬度W的比值,即
(6)
裂紋的圓形度C反映裂紋形狀的緊湊程度,其定義為

(7)
裂紋的矩形度J反映裂紋對其最小旋轉外接矩形的充滿程度,其定義為裂紋區域面積和最小旋轉外接矩形面積之比,可表示為
(8)
通過對上述幾何形狀特征設定上下閾值,如式(9)所示。
Xmin≤X≤Xmax
(9)
式(9)中:X為幾何形狀變量L、W、S、P、K、C和J;Xmin和Xmax分別為每個變量X的上下閾值,通過限定后可以進一步排除二值化圖像中幾何形態不符的干擾。
圖像分割結果中仍有非裂紋存在,偽裂紋區域在顏色特征和形態學特征上與裂紋較為相似,僅憑上述特征作為判斷依據已難以斷定候選裂紋區域的真偽。金屬鑄造工件采樣圖像如圖4所示,通過對候選裂紋區域的觀察可以發現,干擾主要為結構型反光和結構性磁粉堆積等。
工件孔洞或邊緣等部分反光細長狀區域之外亮度暗,因此反光周圍灰度小,但進入反光區域灰度值變化劇烈。同時由于工件結構的原因,磁粉在裂紋處、溝壑處等堆積呈細長狀,如鋼號印、工件邊緣等處,區域的灰度值變化較為緩慢。而基于統計學的角度來看,裂紋區域灰度分布較為接近正態分布且灰度值發生突變,灰度波動較大。這些裂紋與干擾在灰度變化有方向性和位移性的規律,在局部區域形成特定的紋理走勢,因此基于真偽裂紋區域紋理不同的特點,對區域紋理進行量化,利用區域的紋理特征進一步區分真偽裂紋。
根據分割結果中連通域的位置,可以將檢測對象從整體圖像縮小至包含候選裂紋的局部圖像上。本文通過確定候選裂紋連通域中心點,以中心點為基準在原始待檢圖像上獲取大小100×100的ROI區域,根據上述分析提取候選裂紋ROI區域的紋理特征作為候選裂紋區域的特征,進一步判定候選裂紋的真偽,裂紋區域紋理特征提取與裂紋識別具體過程如圖5所示。

圖5 裂紋紋理特征提取與識別過程Fig.5 Feature extraction and recognition of crack texture
從圖5可以看出,首先對ROI區域圖像灰度化處理,基于灰度共生矩陣來描述ROI區域紋理來提取候紋理特征。灰度共生矩陣描繪圖像各像素間的空間分布關系中包含的紋理信息[10],通過計算不同灰度值組合出現的頻率來表示某種紋理像素對在圖像中出現的次數統計形成分布矩陣P,其定義為
P(i,j|a,b,θ)={(x,y)|f(x,y)=
i,f(x+a,y+b)=j},x,y=0,1,…,L-1
(10)
式(10)中:f(x,y)為圖像在(x,y)的灰度值;a、b為距離偏移量;θ為掃描方向。
分布矩陣不僅反映灰度的分布特征,同時反映具有相同灰度或者接近灰度的像素之間的位置分布特性。由于灰度共生矩陣的數據量較大,一般不直接作為特征使用,在應用中通常基于灰度共生矩陣構建一些統計量作為圖像的紋理特征。為了細致描繪ROI區域圖像的紋理,通過8個不同的方向和3個不同的距離偏移量對圖像進行掃描構建若干個灰度共生矩陣,基于每個矩陣構建6個統計量(對比度、均勻性、能量、自相關性、角二階矩、相異性)并融合為144維的紋理特征向量。
由ROI區域圖像集提取144維紋理特征向量作為數據集,以支持向量機為模型建立分類器,對紋理特征數據集進行訓練,實現對候選裂紋進行分類。為了驗證基于灰度共生矩陣的特征提取方式在ROI圖像檢測準確率的優勢,將于以下4種不同的特征提取方式進行對比。
(1)Hu不變矩。該方式通過求得灰度圖像的二階和三階中心矩來構造7個不變矩組描述圖像特征。
(2)基于灰度-梯度共生矩陣的特征提取方式。通過統計圖像的灰度-梯度對個數建立矩陣描繪紋理特征,基于共生矩陣可以計算15個常用的二次統計特征:小梯度優勢、大梯度優勢、灰度分布不均勻性、梯度分布不均勻性、能量、灰度平均值、梯度平均值、灰度均方差、梯度均方差、相關、灰度熵、梯度熵、混合熵、慣性、逆差距。
(3)基于方向梯度直方圖的特征提取方式。通過統計圖像局部區域梯度的大小和方向次數建立直方圖構成圖像的特征描述符,反映出裂紋的結構或形狀。
(4)基于多特征融合的方式。通過提取基于灰度-梯度共生矩陣紋理特征和Hu不變矩,并提取圖像的偏度和峰度作為灰度特征,進行多特征融合構成綜合紋理特征。
(5)基于卷積神經網絡的特征提取方式。通過卷積神經網絡對ROI進行卷積操作提取ROI的特征,進一步構成特征向量。
在金屬履帶鏈片磁粉探傷圖像上實驗提出的算法,實驗圖像包括兩個部分:通過機器視覺系統采集到1 920×1 200像素的工件熒光磁粉探傷圖像和100×100像素的候選裂紋灰度圖像。由于候選裂紋圖像數量較少,且候選裂紋圖像中裂紋圖像與非裂紋圖像在數量上存在不平衡,因此對候選裂紋圖像數據集進行數據增強。實驗中由419張履帶鏈片熒光磁粉探傷候選裂紋圖像組成圖像數據集對分類器[11]進行訓練分類,其中包含186張真實裂紋圖像。
算法參數包括圖像分割參數、紋理特征提取參數和分類器參數。本實驗中對1 920×1 200像素工件熒光磁粉探傷圖像集實驗,選定GAMMA變換的系數γ=3,HSI色彩圖像的三通道閾值限定,三通道閾值范圍為(30,43,46)~(100,255,255),在實驗中能夠100%分割得到裂紋。幾何形狀閾值參數大量實驗確定后,具體數值設置如表1所示。

表1 幾何形狀特征約束條件參數設置Table 1 Geometric shape feature constraint parameter setting
紋理特征提取參數包括距離偏移量和掃描方向對。實驗中采用八方向[0°,45°,90°,135°,180°,225°,270°,315°,360°]3個距離偏移量[2,8,16]對100×100像素的候選裂紋灰度圖像進行掃描。本實驗中對分類器參數的選定影響了訓練收斂速度、分類準確率和擬合情況,經過實驗確定具體參數如表2所示。

表2 SVM分類器參數設置Table 2 Parameter setting of SVM classifier
本文算法基于OpenCV視覺庫、Scikits-Image圖像處理庫和Scikits-Learn機器學習庫,通過Python編程實現。首先通過GAMMA變換對工件熒光磁粉探傷圖像進行圖像增強處理,提升圖像對比度,突出目標,然后基于HSI顏色特征和裂紋形態學特征對裂紋目標區域進行分割,并通過中值濾波算法消除二值化圖像中的孤立點,同時通過形態學處理對裂紋進行修補,最終獲得比較完整的裂紋目標區域。根據裂紋目標區域在原始圖像中提取ROI區域并對ROI區域提取特征進行裂紋判別,裂紋完整檢測的算法設計如圖6所示。

圖6 算法設計過程Fig.6 Algorithm design process
選取裂紋目標在工件表面所出現的常規情況下、存在反光區域、工件表面不平整等情況的裂紋圖像對本文算法進行測試,并將本文算法的裂紋分割結果與多種工業應用較為成熟的分割算法[12-16]進行比較,實驗效果分別如圖7所示。

圖7 不同圖像分割算法結果比較Fig.7 Comparison of results of different image segmentation algorithms
從圖7可以看出,GAMMA變換顯著突出裂紋目標。分割實驗結果可以看出,一維OTSU(one-dimensional otsu,1D OTSU)算法、基于灰度-梯度共生矩陣的快速二維OTSU(two-dimensional otsu,2D OTSU)算法、閾值迭代(ISODATA)算法和基于LI的最小交叉熵閾值迭代算法對光線變化敏感,對反光的抗干擾能力弱,容易造成過分割;最小閾值(minium thresholding,MT)算法對反光干擾不敏感,但容易造成欠分割而失去裂紋目標;三角閾值(triangular thresholding,TT)算法和基于直方圖數據的最大相關條件分割(YEN)算法對工件不平整表面背景敏感,分割的裂紋目標與周圍表面區域有所黏連。相較而言,對于熒光磁粉裂紋圖像,本文算法較為有效的消除反光區域和工件表面不平整帶來的干擾,更為準確完整地將裂紋目標提取出來,而且對灰度較低的裂紋目標也有較好的提取效果。為了驗證本文算法的性能,實驗比較了單獨基于不同特征提取方式和基于不同分類器算法與本文算法在對候選裂紋的識別效果。實驗通過基于灰度共生矩陣的特征提取方式與Hu不變矩、基于灰度-梯度共生矩陣、基于方向梯度直方圖和基于多特征融合4種不同特征提取方式作比較,同時近年來表面缺陷檢測通過卷積神經網絡提取圖像特征判定缺陷的方法得到應用,根據實際工程應用嵌入式設備內存和算力的情況,選擇層數較淺的卷積神經網絡和輕量化網絡來提取圖像特征有應用意義[17]。對比近年來輕量化網絡特征提取效果,實驗結果如表3所示。

表3 不同特征提取方式效果對比Table 3 Effect comparison of different feature extraction methods
表3中列出了不同特征提取方式與本文特征提取方式的在測試圖像上的準確率,實驗中對候選裂紋圖像集進行5次五折交叉驗證實驗,對不同特征提取方式的25次實驗結果取平均值,獲得不同特征提取方式識別裂紋的平均準確率。在實驗結果中,提取圖像Hu不變矩、基于灰度-梯度共生矩陣、基于ResNet-50[18]的紋理特征提取方式的平均準確率均低于80%,不適用于候選裂紋圖像檢測;基于梯度直方圖的特征提取方式、基于多特征融合、基于MobileNetV3[19]和基于ShuffleNetV2[20]的提取方式雖然平均準確率較高,但是二者提取單張圖像特征耗時較長,影響實時檢測速度。基于灰度共生矩陣的特征提取方式具有較好的平均準確率,相較之前三者的準確率分別提升了4.83%、2.97%和0.69%,且同時具備耗時少的優點。
表4列出了支持向量分類器與常用的有監督機器學習模型[21-23]、BP神經網絡[24]在基于灰度共生矩陣的實驗結果。實驗中對候選裂紋圖像集進行5次五折交叉驗證獲得基于不同分類器的平均準確率、精確率(Precision)、召回率(Recall)和F1得分(F1),其中F1為精確率和召回率的調和均值。

表4 不同分類器效果對比Table 4 Effect comparison of different classifiers
(11)
F1得分對于二分類問題具有很好的評估效果,分類器F1得分越高,說明分類器的分類效果越好。
經過實驗結果比較看出,除了決策樹分類器之外,其余四者的平均準確率和F1皆高于90%,基于決策樹弱分類器的Adaboost強分類器的精確率不足,僅有88.64%,基于遺傳算法改進的BP神經網絡在面對小樣本數據集的檢測效果表現并不突出,F1僅為91.42%,且訓練收斂的速度較慢。基于支持向量機為弱分類器的Adaboost強分類器與單一的支持向量機分類器在F1上相近,分別為93.66%和93.74%,且二者在分類裂紋圖片和非裂紋圖片上的召回率也相近,前者僅比后者高出0.22%,在精確率方面基于支持向量機為弱分類器的Adaboost強分類器比單一的支持向量機分類器高出1.88%。
針對候選裂紋圖像集的訓練和分類預測的推理速度實驗結果如表5所示。對于同一數據集而言,基于支持向量機為弱分類器的Adaboost強分類器與單一的支持向量機分類器在ROI缺陷預測上的效果差異不大,但是后者的訓練收斂速度是前者的約200倍,后者對單張ROI預測判定推理速度是前者的約40倍,因此速度上使用支持向量機作為分類器具有明顯的速度優勢。

表5 不同分類器圖像預測速度對比Table 5 Comparison of image prediction speed of different classifiers
提出一種基于顏色和幾何形狀特征相融合的熒光磁粉圖像裂紋分割和基于局部紋理特征的裂紋判別的算法。該算法首先根據裂紋的顏色特征對彩色圖像進行分割得到二值化圖像,根據裂紋的幾何形狀特征對二值化疑似裂紋連通域進行篩查,根據疑似裂紋連通域對原始圖像中裂紋區域進行提取ROI區域作為候選裂紋;然后,計算候選裂紋ROI區域的灰度共生矩陣,基于灰度共生矩陣構建二次統計量融合成候選裂紋的紋理特征,使用支持向量機分類器判別。得出以下結論。
(1)融合裂紋顏色和幾何形狀特征對熒光磁粉圖像中裂紋進行分割的算法是有效的,較于傳統無監督圖像分割算法更為快速完整提取裂紋。
(2)與其他特征提取方式和分類模型相比,基于灰度共生矩陣提取裂紋紋理特征與支持向量機分類器的判別算法在準確率、精確率、召回率和F1得分上有較為明顯的優勢,且在分類器識別速度快,具有一定的工程應用意義。
(3)本文算法檢測采用監督式裂紋分割提取法相較于無監督式分割法在計算量得到大幅度減少,但其魯棒性相比無監督分割算法具有一定劣勢,并且需要人工調參,這些方面仍需要進一步研究改進。