曹桂紅 歐陽穎 國慶
摘要:為了解決目前在織物疵點智能檢測方面只能對簡單織物進行檢測的問題,無法對復雜紋理與織物疵點的區(qū)分,利用SIFT算法對織物圖像進行特征提取、配準和拼接,得到完整織物紋理圖像,提出SIFT特征匹配并設計出剔除誤匹配對策略。實驗結果顯示,該算法可以獲得拼接后完整的織物圖像,顯著提升了織物疵點圖像的特征點的匹配數(shù)量,誤匹配降低,拼接效果好。
關鍵詞:織物圖像;SIFT;特征提取;圖像拼接
中圖分類號:TP391.4? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2019)20-0201-02
開放科學(資源服務)標識碼(OSID):
織物在檢測過程中,由于受到外界環(huán)境以及拍攝照片時可能存在平移、旋轉、尺度不一樣的情況,導致在檢測過程中誤檢率高,SIFT算法具有較好的魯棒性,引入到織物疵點檢測中,通過對圖像特征點提取、配準、拼接,將具有部分重疊區(qū)域的圖像進行無縫拼接,從而得到包含完整織物紋理圖像信息的全大畫幅或寬視覺圖像。
1 基本理論
圖像的拼接過程主要是通過兩個或多個攝像設備獲取的圖片,這些圖片在拍攝過程中具有一定重疊度,分析這些拍攝到的有重疊度的圖像,使用SIFT算法對待拼接的兩幅圖像進行特征提取和特征匹配,因為有誤配點的存在,通過對圖像間變換參數(shù)和操作的求解,整合處理兩幅圖像的拼接縫隙,最后對圖像進行無縫拼接。目前已經應用于機器視覺、遙感等領域。
拼接的核心技術是圖像配準和融合圖像。圖像配準算法主要有基于特征的算法和基于區(qū)域的算法。目前常用的一類配準算法是基于特征的算法,這類算法是針對圖像中的明顯特征計算圖像間的變換矩陣。其中計算速度快,配準效率高的檢測算法,其中通過SIFT算法對圖像特征點提取、配準。文獻[1]總結了現(xiàn)有基于尺度不變的特征轉換檢測方法,并提出基于尺度不變特征變換算法(Scale invariant Feature Transform, SIFT)。文獻[2]對算法進行改進,驗證其對圖像縮放、旋轉甚至仿射變換保持不變性。
2 基于SIFT特征點匹配的圖像拼接算法
2.1 SIFT算法
經典SIFT算法David Lowe 等人,于2004年,對圖像進行特征提取時主要由四部分組成:對尺度空間極值的檢測;二是精確定位關鍵點;三是計算特征點方向;四是生成特征點描述符。通過對尺度空間檢測出極值來確定特征點的尺度和位置,為實現(xiàn)圖像的尺度變換可使用高斯卷積核來解決,為生成高斯差分尺度空間(Difference of Gaussian)使用不同尺度的差分核和圖像進行卷積 [3]。
2.1.1 尺度空間檢測
根據相關理論可知,作為唯一的尺度空間內核函數(shù)就是高斯函數(shù),通過一個尺度可變的高斯函數(shù)與織物圖像進行點積運算來構造一個圖像的尺度空間函數(shù)[4]。
(2)式中為高斯核函數(shù)。為了在尺度空間中有效地檢測穩(wěn)定的關鍵點位置,可使用高斯差分(Difference of Gaussian,DOG)函數(shù)與輸入圖像進行卷積運算得到[D(x,y,σ)],并在其中尋找尺度空間極值點[5]。即:
[D(x,y,σ)]可以通過兩個相鄰尺度的差分得到,初始圖像的增量式與高斯函數(shù)進行卷積,就產生了由一個常量乘積因子[k]分開而這兩個相鄰尺度空間的一些圖像,使用高斯函數(shù)[D(x,y,σ)]來進行尺度近似歸一化處理來實現(xiàn)在尺度空間中更有效地檢測出穩(wěn)定的特征點 [6]。
為了檢測[D(x,y,σ)]的局部最大值和最小值,在高斯尺度空間里,通過高斯平滑和降采樣等相關處理,對每個像素點與同一層的8 個相鄰點及上下相鄰層的每 9 個相鄰點,共 26 個像素點進行比較,只有當采樣點大于所有的領域點或者小于所有的領域點,該點才會被選中,獲得尺度空間和圖像空間的局部極值點后,隨后標記為局部特征點[7]。
2.1.2 精確關鍵點定位去除不穩(wěn)定特征點
關鍵點的選擇依賴于其穩(wěn)定性的度量,一旦通過將像素與其領域進行比較而找到的候選關鍵點,下一步就是進行與其鄰近數(shù)據的精細匹配,分別涉及位置、尺度和主曲率。這樣就允許剔除低對比度或者靠近邊緣的像素點。在高斯差分函數(shù)的弱定義峰值,在圖像邊緣處存在大的主曲率,而在垂直方向上的主曲率相對較小[8]。主曲率一般可通過Hessian矩陣來計算,即SIFT特征檢測通過特征點的Hessian矩陣去除邊緣點,提高對噪聲的魯棒性。Hessian矩陣定義如下:
H的特征值[α]代表x方向上的梯度,[β]代表y 方向上的梯度,其中[Tr(H)]為Hessian矩陣的跡,[Det(H)]表示Hessian矩陣的行列式,具體如下:
若上述不等式不滿足,則檢測到的特征點被判斷為邊緣點,直接刪除。其中[r]為經驗值,參考值為[r]=10。這意味著剔除主曲率比率大于10的關鍵點。一個極值點經過精確定位與邊緣點的判斷后才能被確定為特征點。
2.1.3 特征點方向計算
為保證圖像在尺度空間和二維空間都能獲得極值,需要比較每個像素點與相鄰上一層和下一層的尺度空間,以及同層內的 8 個像素點,從而維持它的穩(wěn)定性和獨特性[9]。為提高魯棒性可通過此極值點相鄰上一個及下一個尺度空間域上的像素點的梯度,由此計算出相應的方向 [θ(x,y)]和模值 [m(x,y)]來實現(xiàn)。為確定特征點的方向,可通過特征點鄰域像素的梯度方向分布,由特征點的梯度幅值[m(x,y)]和方向[θ(x,y)]計算公式如下:
其中: L 表示檢測特征點的尺度,通過此方法可使獲取的SIFT特征點具有旋轉不變形特性。
算法中需要在除去第一層尺度和最后一層尺度空間外的多個尺度空間內,構建128 維的描述向量,從而保證特征點的穩(wěn)定性能,整個過程提高了特征點的穩(wěn)定性,但同時也增加了計算量,從而降低了運動目標圖像拼接的實時性。
2.1.4 特征點描述
每個特征點都具有方向、位置、尺度 3 個信息,這些信息均以特征點為中心,均勻分成4×4 個鄰域子塊,每個子塊的像素點都含有8 個方向的信息向量,即每個特征點的特征描述有128 個方向。因此這128個特征向量可以準確地描述所有的特征點。
3 織物疵點圖像拼接實驗結果與比較
實驗環(huán)境為Windows10操作系統(tǒng),軟件平臺為Matlab2017b,運行環(huán)境是, Cpu Intel Core? 2.40GHZ,內存4 G。
將不同攝像頭采集到的待測織物圖像,分別經過圖像預處理后,再通過SIFT匹配算法對其進行特征點提取,然后進行匹配和配準,最后拼接出完整的織物疵點圖像。
兩臺攝像機采集的同一個織物的兩個部分的織物圖像如圖1所示。針對圓形疵點進行實驗,通過SIFT算法對帶有圓形疵點的兩幅織物圖像進行特征點提取,獲得待拼接圖像的特征點向量,然后對兩幅圖像提取的特征點進行配準。 特征點的匹配實驗結果如圖2所示。最后得到的拼接效果如圖3所示。
后續(xù)又分別對、條形疵點和不規(guī)則疵點進行檢測、配準和拉接測試,具體數(shù)據如表1所示。
4 結語
從上述實驗結果可知,對于圓形疵點通過本文的基于SIFT的織物圖像拼接算法,將不同角度攝像機拍攝的局部的織物疵點圖像拼接成一幅完整的織物疵點圖像,為后續(xù)的織物疵點檢測奠定了基礎。
參考文獻:
[1] Lowe D G.Object Recognition from Local Scale-invariant Features [C]//Proc.of ICCV99.Corfu,Greece:IEEE Press,1999:1150-1157.
[2] Lowe D G.Distinctive Image Features from Scaleinvariant Keypoints[J].International Journal of Computer Vision,2004,60 (2):91-110.
[3]Yiquan Wu,Hong Wan,Zhilong Ye.Feature Extraction of Fabric Defects Based on Complex Contourlet Transform and Principal Component Analysis[J].Journal of Donghua University(English Edition),2013,30(04):282-286.
[4] 杜磊.智能自動驗布機的研究[D].東華大學,2014.
[5] 李鑫.基于多目視覺的布匹瑕疵檢測系統(tǒng)硬件部分設計[J].機械研究與應用,2011,24(05):136- 137 ,140.
[6] 高廣帥.基于低秩稀疏矩陣分解的織物疵點檢測算法研究[D].中原工學院,2017.
[7] 溫智婕.圖像紋理特征表示方法研究與應用[D].大連:大連理工大學,2008.
[8] 徐園園,劉偉斌,鄭力新.幾種織物疵點檢測算法的設計與比較[J].控制工程,2016,23(05):777- 782.
[9] 黎丹.織物疵點特征提取主要算法比較[J].毛紡織科技,2011,39(1):57-62.
【通聯(lián)編輯:代影】