基于圖像處理的x射線焊縫區域提取方法
【技術領域】
[0001] 本發明涉及工業自動檢測領域,特別涉及一種基于圖像處理的X射線焊縫區域提 取方法。
【背景技術】
[0002] 隨著圖像處理技術的發展,X射線焊縫缺陷自動檢測方面的研究成果也越來越多, 其應用也越來越廣泛。在X射線焊縫缺陷自動檢測系統中,焊縫區域的提取是焊縫缺陷檢 測與識別的基礎,影響著缺陷檢測與識別的正確與否。但由于X射線成像方式,鋼材材質等 客觀因素的影響,圖像存在噪聲多、對比度低、焊縫區域邊緣模糊、焊縫區域與背景的灰度 分布重疊較多等問題,這使得對圖像中焊縫區域的提取存在一定的困難,目前X射線焊縫 區域提取算法還不能滿足工業應用的實際要求。
[0003] X射線焊縫區域提取本質是一個圖像分割問題,目前已經有許多的分割算法應用 到焊縫區域提取中。Kuo和Wu使用了 Prewitt算子并結合了模糊理論,Kong等人利用了 Sobel算子和canny算子,Ma等人則通過搜索圖像中每列梯度值最大的像素點來檢測邊緣。 這些基于邊緣檢測的方法在對比度明顯,噪聲較小的圖像中能取得較好的結果,但在邊緣 模糊的圖像中會出現瑣碎的邊緣,不易形成完整的邊界。
[0004] Haniza Yazid等人提出基于模糊C均值聚類的閥值分割方法,Li Minxia等人提 出基于遺傳算法優化的多參數閾值分割方法。然而實際中焊縫區域和背景中的灰度分布存 在一定的重疊,導致閥值分割方法不能準確地分離出焊縫區域和背景。
[0005] Goumeidane, A. B.等人結合GVF和Snake模型來獲得焊接缺陷的邊界,YBoutiche 等人提出了基于二進制變分水平集的主動輪廓模型來檢測邊緣。由于這類模型的初始參數 對結果有一定的影響,使得這類模型的自動化程度和可靠性不高。
[0006] 此外,針對焊縫圖像的特征,出現了一些基于知識的焊縫提取方法。Rafael Vilar 等人提出了一種基于知識的三層漸進式分割技術。Zhen Ye等人提出了基于知識判別的焊 縫邊緣檢測算法。對于這些方法而言,由于焊縫邊緣知識的數學表達通常是不精確或者難 以表達的,因而難以有效利用。
【發明內容】
[0007] 本發明是針對工業應用中鋼管焊縫缺陷自動檢測系統中X射線焊縫區域提取準 確率低而提出了一種基于圖像處理的X射線焊縫區域提取方法。
[0008] 為解決以上問題,本發明采用的技術方案如下:一種基于圖像處理的X射線焊縫 區域提取方法,包括以下步驟:
[0009] 步驟A :圖像預處理;
[0010] 步驟Al:圖像去噪;
[0011] 步驟A2:灰度增強;
[0012] 步驟A3:模板匹配;
[0013] A31 :人工截取模板圖像;
[0014] A32:計算模板參數;
[0015] A33 :計算子圖像塊與模板的距離,找出距離最小的子圖像塊;
[0016] 步驟B :基于最小二乘直線擬合的邊緣檢測;
[0017] 步驟Bl :將圖像按行分為一系列的灰度曲線;
[0018] 步驟B2 :選取一個窗口,對灰度曲線上處于窗口內的w個像素點進行最小二乘直 線擬合,將擬合直線的斜率作為窗口中心像素點的響應;
[0019] 步驟B3 :將窗口在灰度曲線上從左到右滑動,得到整條灰度曲線的響應曲線;
[0020] 步驟C :計算尺度乘積,得到焊縫區域的邊界;
[0021 ] 步驟Cl :計算尺度乘積;
[0022] 步驟C2 :對尺度響應乘積曲線進行非極大值抑制,并找出其中最大的波峰點;
[0023] 步驟C3 :對圖像每一行的灰度曲線進行按同樣的操作,得到焊縫區域的邊界。作 為優選,步驟A32計算模板參數具體方法如下:
[0024] 通過對模板的訓練,計算出Ψ、《、M三個參數,其計算步驟如下所示:
[0025] a計算平均模板
[0026]
[0027] 其中,向量X1為第i個模板圖像的每一列向量串聯而成的向量;
[0028] b計算每一張模板圖像與平均模板的差值
[0029] (Ii= X ;-Ψ, (i = 1, 2, ···, η);
[0030] c構建協方差矩陣
[0031]
[0032] d求協方差矩陣的特征值和特征向量,構造特征模板空間:
[0033] 設求得的AtA的特征值λ i所對應的特征向量為V i,選取前k個最大的特征值及 其對應的特征向量,k的值一般根據前k個最大的特征值之和占所有特征值之和的99%來 選取,則原協方差矩陣的特征向量為:
[0034]
[0035] 其特征模板空間為:
[0036] w = (U1, U2,…,uk);
[0037] e將每一幅模板圖像與平均模板的差值矢量投影到特征模板空間,BP :
[0038] Ω J= X Tdi, (i = 1, 2, ···, η);
[0039] f計算模板空間投影均值
[0040]
[0041] 作為優選,步驟A33模板匹配具體方法如下:
[0042] 模板匹配是通過尋找與模板之間距離最小的圖像子塊的過程,距離DIS計算步驟 如下:
[0043] a.將待匹配的圖像字塊Γ與平均模板的差值投影到特征空間,得到其特征向量 表不:
[0044] Ωγ=?γτ0--Ψ);
[0045] b.計算向量與向量M的歐氏距離,以此作為距離DIS值
[0046] DIS = wT Ω Γ 〇
[0047] 作為優選,步驟B基于最小二乘直線擬合的邊緣檢測具體如下;
[0048] 步驟Bl :將圖像按行分為一系列的灰度曲線;
[0049] 在灰度圖像G(x,y)中,選取其中一行即X = X。時,圖像G(xQ,y)是一條二維的灰 度曲線,不同的行對應著不同的X值,將圖像按行分為一系列的灰度曲線;其中,x,y分別是 像素點的行和列,G (X,y)是對應像素點的灰度值;
[0050] 步驟B2 :選取一個窗口,對灰度曲線上處于窗口內的w個像素點進行最小二乘直 線擬合,將擬合直線的斜率作為窗口中心像素點的響應;
[0051] 步驟B21:最小二乘直線擬合;
[0052] 擬合直線方程可表示為:Yi= kx Jb,(Xi= 1,2, 3,…,η);式中,(X ;,yj為測點坐 標,k,b為待估參數,分別表示擬合直線的斜率和截距;最小二乘直線擬合是根據一組觀測 點確定k,b的值,使得下式:
[0053]
最小,對于固定的一組數據,上式是S (a, b)關于a、b 的二元函數,根據多元函數的極值條件求得S (a,b)取最小值的解為:
[0054]
[0055]
[0056] 步驟B22 :直線擬合檢測邊緣;
[0057] 在得到了灰度曲線后,選取一個合適的大小為w個像素的窗口,w的取值根據時間 檢測的需要進行選取,對窗口內的w個像素點進行最小二乘直線擬合,將擬合直線的斜率 作為窗口中心像素點的響應,從而代替梯度算子;
[0058] 步驟B3 :將窗口在灰度曲線上從左到右滑動,得到整條灰度曲線的響應曲線。
[0059] 作為優選,步驟C具體方法如下:
[0060] 步驟Cl :計算尺度乘積;
[0061] 設兩種不同的尺度分別為WjPw2,兩種尺度下的響應分別為^和,定義A
和jy的尺度乘積P(X)為: ,此式中,α、β為正 …枚2. 整數,是不同尺度的尺度因子;
[0062] 步驟C2 :找出尺度響應乘積曲線中最大的波峰點;
[0063] 步驟C21 :確定初始波峰點;
[0064] 設尺度乘積曲線縱坐標值為Ρ(1,η),則滿足P(l,n-l)-P(2, n) < 0以及 P (3, η)-P (2, η-1) < 0的點為初始波峰點;
[0065] 步驟C22 :通過迭代,濾除小的波峰點,直到剩下波峰點;
[0066] 步驟C3:對圖像每一行的灰度曲線進行按同樣的操作,得到焊縫區域的邊界,從 而提取出