嚴 琴, 趙全育*
(1.湖南飛沃新能源科技股份有限公司,湖南 常德 415701; 2.湖南省高強度緊固件智能制造工程技術研究中心,湖南 常德 415701)
隨著國家生產力的提高與產業升級,對高質量工件的需求也在不斷擴大。螺栓作為高強度緊固件,在風電、核電、軍工、高鐵等高端裝備領域有著廣泛應用。然而工廠在大批量生產螺栓的過程中,部分螺栓有一定概率會存在缺陷問題,如表面瑕疵、裂紋等,導致產品質量不達標,可能在后期使用過程中造成安全隱患。因此,針對螺栓表面的缺陷檢測是螺栓生產、加工環節中至關重要的一步。
常見的螺栓缺陷檢測方法除了人工檢測外還包括射線檢測[1]、超聲波脈沖檢測[2]、紅外波檢測[3-4]和基于機器視覺的表面缺陷檢測。射線檢測能夠在不損傷工件的前提下觀察物體表面缺陷,但射線會對檢測員身體造成傷害并污染環境。超聲波脈沖檢測不會對人體或環境產生影響,但對工件表面平整度要求嚴格,應用場景受限。基于超聲紅外波成像方法并非在所有材質上表現良好。上述檢測方法雖然具有一定優勢,但均受到不同方面的制約。隨著數字圖像處理技術的發展與計算機、傳感器等硬件成本的不斷降低,利用機器視覺進行表面缺陷檢測不僅檢測成本低廉,而且不會受檢測人員主觀意識的影響,具有廣泛的應用前景。
近些年國內外學者在工業產品表面缺陷檢測任務上提出了許多基于機器視覺的檢測方法。文獻[5]在對圖像進行中值濾波與離散余弦變換圖像增強后,使用統計過程控制二值化算法完成了外螺紋表面缺陷檢測。文獻[6]通過最大類空間方差二值化算法檢測加工過程中齒輪端面缺陷,由于檢測對象模式單一,該方法能較好地檢測出缺陷。文獻[7]提出利用邊緣檢測算法辨別布匹瑕疵部位,取得了不錯的效果。Chen等[8]創新性地提出了差影法計算檢測圖像與模板之間的差值信息,實現零件缺陷檢測。Li等[9]通過圖像處理技術和卷積神經網絡檢測懸鏈線懸掛裝置缺陷。文獻[10]通過多層次特征融合卷積網絡獲得圖像特征圖,以分類回歸網絡完成缺陷的分類與位置定位。然而,上述方法大部分只能作用在背景噪聲少或模式簡單的圖像中,基于深度學習的視覺檢測方法雖然能夠較好地抵御噪聲影響,但絕大部分效果優異的算法都是基于監督學習技術,訓練過程需要大量人工標注的圖像作為金標準,這一步驟將花費高昂成本,與實際工業生產需要獲得更高收益的目的相違背。
本文針對電子掃描顯微鏡下的螺栓表面圖像,利用局部自適應二值化算法與連通域屬性分析,設計基于自定義形狀描述子的濾波算法,能夠自動高效地檢測出具有高頻噪聲的螺栓表面缺陷部位,對于表面紋理復雜或噪聲難以去除的工業產品檢測具有借鑒意義。
圖1為電子掃描顯微鏡下有缺陷的螺栓表面,也是本文需要檢測缺陷的對象。檢測對象呈現出3個明顯的特點:① 缺陷出現的位置與形狀沒有固定的模式,無法使用模板匹配等相關算法進行檢測;② 缺陷顏色與背景、紋理幾乎一致,因此也不能簡單地通過閾值分析劃分出缺陷部位;③ 由于螺栓材質以及電子顯微鏡的放大效果,圖中的螺栓紋理有非常多的高頻噪聲。

圖1 電子掃描顯微鏡下有缺陷的螺栓表面
邊緣檢測算法通過求取像素值的變化識別出圖像中的邊緣部分,一般而言,由于無缺陷的物體表面結構簡單,且與具有缺陷部分的表面有明顯差異,因此物體表面的缺陷可以當作邊緣被檢測。但圖1展示的螺栓表面紋理復雜,與缺陷部分無明顯差異,理論上普通的邊緣檢測算法無法達到本文缺陷檢測目的。圖2驗證了理論猜想結果,以圖1左上角圖像為實驗對象(圖2~圖9均是以該圖作為處理對象),圖2(a)為進行均值濾波預處理后在水平方向與豎直方向分別用Canny算子求取梯度后,再融合的邊緣檢測結果,圖2(b)為用Sobel算子進行邊緣檢測的結果。從圖2中可以發現,背景噪聲與缺陷部分均被無差異地檢測出大量邊緣,導致無法分辨缺陷具體位置,即使Canny算子處理前已經使用了均值濾波,Sobel邊緣檢測算法中也會自動進行高斯濾波,但在這種大面積都是對比度明顯的高頻噪聲情景下,濾波預處理也無法消除紋理本身呈現出高頻噪聲的特性??紤]到深度學習技術使用受限、普通機器視覺檢測算法不適用于當前圖像,本文創新性地提出了在高頻噪聲下基于連通域自定義形狀描述子的濾波算法,以低成本、高精度的方式實現螺栓表面缺陷的快速自動檢測。

圖2 邊緣檢測結果(右側圖像為左側圖像紅色框內放大效果)
本文的檢測方法主要分為4個步驟,流程如圖3所示。首先對輸入圖像進行去噪預處理,考慮到數字圖像的主要噪聲為光學、電子器件引入的非線性噪聲,這一部分噪聲屬于由外界引入的不必要污染,與螺栓表面復雜紋理呈現出的高頻噪聲不同,本文采用中值濾波進行預處理,接下來通過局部自適應二值化與基于連通域的濾波以及一系列后處理過程完成螺栓表面缺陷檢測,得到最終的檢測結果。

圖3 檢測方法整體流程
一幅圖像能否被正確地解析,很大程度上取決于二值化效果的好壞。一般的二值化算法直接根據圖像均值或全局屬性設定閾值,但在實際生產中,不同的螺栓顏色深淺有區別,不同區域的亮度差異明顯,因此直接設置全局閾值效果不佳,在對原始圖像進行灰度處理后,全局二值化算法的結果如圖4所示。圖4中僅背景被有效分離,而螺栓表面的缺陷與非缺陷區域卻無法區分。

圖4 全局二值化結果(為便于顯示,人工增加了外部邊緣)
因此,文本采用局部自適應二值化算法[11]對螺栓表面圖像進行處理。該算法通過計算圖像內不同矩形塊的像素均值確定當前小范圍內的閾值,同時利用積分圖手段提升算法速度。積分圖計算方法為
I(x,y)=F(x,y)+I(x-1,y)+I(x,y-1)-I(x-1,y-1)
(1)
式中,F(x,y)代表圖像在(x,y)位置處的灰度值,計算完積分圖后,再通過式(2)便能在常數時間內獲得像素在鄰域(x1,y1)到(x2,y2)范圍的平均灰度值,從而確定當前矩形范圍內的局部閾值。
I(x1-1,y2)+I(x1-1,y1-1)
(2)
使用局部自適應二值化算法處理完成后再進行黑白翻轉,效果如圖5所示。與圖4全局二值化的結果相比,該方法能顯著提升缺陷區域的視覺效果,為后續缺陷檢測提供基礎。

圖5 局部自適應二值化結果
完成圖像的局部自適應二值化后,圖像紋理部分的噪聲與缺陷均被提取,但這些噪聲不同于普通圖像在產生與傳輸過程中的脈沖噪聲、感光片顆粒噪聲或量化噪聲。當前場景下的噪聲屬于背景紋理,因此單個噪聲的面積占比較大,若試圖用形態學操作去除噪聲,則會同時過濾掉需要檢測的缺陷。仔細觀察圖5二值化后的結果可以發現,噪聲相比較于瑕疵部位面積更小,而且缺陷表現為細長狀,噪聲則多為點狀。針對這種情況,本文提出一種計算簡單、高效的濾波算法,通過自定義形狀描述子對二值化后圖像中的所有連通域進行濾波,排除掉不符合形狀描述子的區域,準確地去除高頻噪聲。
在連通域上定義的形狀描述子包括了面積與偏心率兩個屬性,面積A統計該連通域內的像素個數,偏心率E則通過式(3)求得。
(3)
式中,W,H分別為任意形狀連通域最小外界矩形的寬和高,若連通域越細長,則離心率E越趨近0。因此,設定面積閾值CA與離心率閾值CE后,便能確定形狀描述子S:
(4)
式(4)中的D為二值圖像中的連通域,若連通域D滿足形狀描述子設定的閾值,將保留該連通域,否則將該連通域內的所有像素值均設置為0。本文在對樣本進行測試后,最終使用八鄰域的連通域標記法。形狀描述子將根據閾值濾除可能為噪聲的連通域。使用連通域濾波后的結果如圖6所示,可以發現,噪聲已經被基本去除。

圖6 基于連通域的濾波結果
檢測流程的后處理步驟將完善檢測結果并消除背景與紋理分隔邊界被當成缺陷而沒有被過濾的部分。在實際應用中,可以抽取檢測對象少量樣本統計連通域面積、離心率等形狀相關屬性,從而確定適用于當前場景的形狀描述子。
得到已經濾除噪聲的圖像后,缺陷內部可能有細微斷裂現象,為了獲得完整的缺陷信息,使用形態學開操作填充缺陷部位內部小孔洞。此時還需要去除背景邊界,首先用全局二值化算法處理原圖像獲得大致的感興趣區域,接著利用形態學閉操作平滑邊界,最后通過腐蝕,適當向外擴展背景區域,得到感興趣區域的掩膜圖像。每一步的處理結果如圖7所示。

圖7 感興趣區域的掩模圖像(為便于顯示,人工增加了外部邊緣)
將掩膜圖像與圖6進行“與”操作,獲得了如圖8所示的缺陷部位圖像。

圖8 經過后處理的連通域濾波結果
利用所提出的算法對實際工業生產中的螺栓表面進行缺陷檢測,檢測圖像為電子掃描顯微鏡下螺栓R角處放大500倍后的成像,原始圖像大小為2048像素×1536像素,裂紋缺陷實際寬度大體集中在0.3~7.5 μm。長度范圍跨度較大。最終檢測結果改變色彩通道后與原圖融合,示例效果如圖9所示。

圖9 最終缺陷檢測結果
實驗結果表明,基于連通域自定義形狀描述子的濾波算法能夠成功地檢測出螺紋表面缺陷,僅在少量圖像上存在細微的假陽性反應,如圖10中紅色方框內的區域。對比圖10原圖與檢測結果圖可以發現,少量屬于紋理的噪聲被當作缺陷檢出。

圖10 假陽性結果示例
針對這種情況,可以在實際工業生產中調整形狀描述子閾值,在缺陷檢測敏感度與檢出率之間找到平衡。以本文數據為例,在圖像預處理和局部自適應二值化后,隨機抽取少量待檢測圖像,對圖像連通域的屬性進行統計分析。統計分析后得到的連通域面積與離心率分布直方圖如圖11所示,從圖11中可以觀察到,連通域面積分布大部分集中在500以內,而連通域離心率則集中在0.5~1.0之間,即大部分噪聲的形狀接近圓形,與前文分析一致??梢娫肼暸c缺陷部位能夠通過由面積和離心率定義的形狀描述子進行區分。
為了更好地找到關于連通域面積屬性的閾值,將區間500以上的部分重新作圖進行分析,結果如圖12所示,實驗中最終選定的面積閾值CA為1300,離心率閾值CE為0.5。因此,檢測結果中少量的假陽性反應可能是由于部分噪聲面積超過了1300或離心率小于0.5所致,在實際生產中,可以根據檢測任務的要求與檢測對象的連通域屬性統計結果,具有針對性地選擇形狀描述子閾值,甚至能夠自定義形狀描述子,從其他屬性進行閾值選擇,從而篩選出待檢測部位。

圖12 連通域面積分布直方圖
針對螺栓表面缺陷檢測任務中圖像存在高噪聲的問題,創新性地提出了基于連通域的濾波方法,利用噪聲與缺陷區域形態上的區別,通過連通域面積與離心率綜合確定連通域形狀描述子,從而過濾噪聲,保留需要檢測的缺陷部分,取得了較好的檢測效果。本文方法通過對圖像的二值化、濾波與形態學操作完成缺陷檢測,計算快速并且不需要訓練數據,符合工業生產檢測需求,并為高頻噪聲下的圖像檢測提供了新的思路。實際應用中還能針對具體場景自定義連通域形狀描述子,對不同類型的區域實現高效濾波。