閔濤1,蔣宜勤2,滕奇志1,周基賢2,何小海1
(1.四川大學(xué) 電子信息學(xué)院 圖像信息研究所,四川 成都 610065;2.新疆油田分公司實驗檢測研究院,新疆 克拉瑪依 834000)
摘要:直線段特征作為圖像中一種特殊的紋理信息,是圖像分析、目標(biāo)識別中的基本元素。礦物的雙晶等光學(xué)性質(zhì)在礦物顯微圖像中表現(xiàn)為具有定向性的直線段。針對礦物圖像,提出了一種基于圖像梯度信息的動態(tài)閾值區(qū)域生長的直線段檢測算法。該算法能通過提取邊緣梯度方向相似的邊緣從而得到候選直線段區(qū)域,并根據(jù)直線段區(qū)域內(nèi)特征點(diǎn)的密度大小判定區(qū)域有效性以達(dá)到降低礦物圖像中噪聲、其他紋理造成的誤提取。實驗結(jié)果表明所提算法能夠提取礦物圖像中的直線特征。
關(guān)鍵詞:直線段特征;礦物顯微圖像;梯度信息;動態(tài)閾值;區(qū)域生長
0引言
在石油地質(zhì)領(lǐng)域中,研究人員主要是通過在偏光顯微鏡下觀察巖石的光學(xué)特性來對巖石進(jìn)行鑒別。這種在鏡下直接觀察的方式受人為因素干擾較大,智能化不高。實現(xiàn)基于圖像處理的巖石顆粒識別,能夠有效減輕石油地質(zhì)工作人員的工作量,而長石族作為分布最廣泛、最重要的一類造巖礦物,實現(xiàn)對其的分類對于巖石分類命名有重要意義。
礦物在偏光鏡下的雙晶、解理、裂理等特征在圖片上表現(xiàn)為目標(biāo)表面出現(xiàn)一定規(guī)律分布的線特征。本文針對長石類礦物在正交偏光下易呈現(xiàn)出特殊的線特征,通過提取這些規(guī)律存在的線特征可以對長石族礦物進(jìn)行初步細(xì)分。直線特征的檢測與提取一直以來都是圖像處理和分析的一個重要問題[12]。
參考文獻(xiàn)[3]提出了一種基于區(qū)域生長,借助圖像梯度的強(qiáng)度與方向信息的直線段檢測方法,通過結(jié)合特征點(diǎn)的位置信息和梯度方向信息,能夠很好地抑制目標(biāo)內(nèi)部中紋理邊緣所造成的偽直線。參考文獻(xiàn)[4]對參考文獻(xiàn)[3]做了改進(jìn),減少了計算量,提高了檢測率,但是其算法對于大小不同的目標(biāo)直線提取效果不穩(wěn)定。參考文獻(xiàn)[56]與參考文獻(xiàn)[3]同樣利用了圖像中的梯度信息和位置信息對圖像中的直線進(jìn)行提取。參考文獻(xiàn)[7]提出通過PCA得到邊緣點(diǎn)的主元方向和梯度方向信息,然后按照方向相似性連接邊緣得到直選段。通過連接梯度方向相同的邊緣點(diǎn)得到直線在復(fù)雜圖像如礦物圖像中會出現(xiàn)大量的直線斷裂的情況,主要原因是在復(fù)雜條件下礦物圖像中的直線段不標(biāo)準(zhǔn),且受到了量化噪聲的影響。
為了減少在具有復(fù)雜紋理的礦物圖像中的直線段檢測中發(fā)生的直線斷裂現(xiàn)象,本文提出一種結(jié)合圖像梯度信息、動態(tài)閾值區(qū)域生長與參考文獻(xiàn)[1]中使用相同的直線區(qū)域有效性檢測策略的直線段檢測算法,能夠?qū)崿F(xiàn)精準(zhǔn)、快速的直線段特征提取,并將其用于表面紋理復(fù)雜的長石礦物的識別中,能夠?qū)崿F(xiàn)對長石中具有線特征分布的斜長石和堿性長石的分類。
1礦物直線特征提取
礦物圖像中的直線特征提取算法主要分為圖像梯度計算、基于梯度的動態(tài)閾值區(qū)域生長策略、生長區(qū)域的矩形擬圖1直線段檢測算法流程圖
合和最后的矩形區(qū)域有效性檢測4部分。對圖像整體的處理流程圖如圖1所示。
對圖像的所有點(diǎn)計算其梯度,并將所有點(diǎn)的梯度按照降序排列,該順序也作為種子點(diǎn)進(jìn)行區(qū)域生長的順序,生長結(jié)束后對區(qū)域進(jìn)行矩形擬合并檢測該矩形的有效性,如果矩形有效,便記錄該矩形的參數(shù)如首尾點(diǎn)的坐標(biāo)、長度等。這表示已經(jīng)檢測到一條直線段。隨后將擬合成該矩形區(qū)域內(nèi)的所有點(diǎn)標(biāo)記為已使用;如果矩形無效,則繼續(xù)取下一個未標(biāo)記為使用的種子點(diǎn)開始區(qū)域生長,直到所有點(diǎn)都區(qū)域生長過,算法結(jié)束。
1.1圖像的梯度
圖像的梯度反映了圖像中相鄰像素間的灰度值的變化關(guān)系,計算圖像的梯度對于檢測圖像的邊緣結(jié)構(gòu)有著十分重要的意義和作用。一般通過使用梯度算子模板得到圖像的梯度信息,常見的梯度算子包括Roberts算子、Prewitt算子、Sobel算子和Laplace算子。
參考文獻(xiàn)[6]比較了多種梯度算子,認(rèn)為圖2所示的梯度算子能夠更好地計算梯度方向,該算子是Roberts模板圖2X方向和Y方向的梯度算子模板的修改版,2×2大小的模板能夠盡可能地降低計算出圖像中各像素梯度值的相關(guān)性,也可以提高算法的抗噪聲能力,本文采用的便是該梯度算子。
1.2采用動態(tài)閾值的區(qū)域生長策略
區(qū)域生長的基本思想是將具有一些相似性質(zhì)的像素集合起來構(gòu)成區(qū)域。其一般步驟是從某個像素點(diǎn)開始,這個像素點(diǎn)也被稱為種子點(diǎn),按照某種規(guī)則逐步加入相鄰像素,直到滿足一定的條件時,區(qū)域生長結(jié)束。影響區(qū)域生長的效果和效率的關(guān)鍵包括:初始點(diǎn)(種子點(diǎn))的選取、生長準(zhǔn)則和終止條件。
本文與參考文獻(xiàn)[1]一樣采用的是貪心算法的區(qū)域生長策略,這樣能夠減少算法的時間代價,提高線特征提取速度。每個邊緣點(diǎn)只能屬于一個區(qū)域,所以在區(qū)域生長過程中需要對邊緣點(diǎn)記錄狀態(tài),當(dāng)所有邊緣點(diǎn)都已使用或者是沒有像素可進(jìn)行生長時,生長停止。
對于圖像而言,像素梯度值越大其屬于圖像的邊緣的概率越大,即越有可能是所需要的直線段上的點(diǎn)。因此本算法中的區(qū)域生長策略采用的是將梯度值較大的點(diǎn)作為區(qū)域生長的種子點(diǎn),所以在進(jìn)行區(qū)域生長之前先對圖像上的所有點(diǎn)按梯度值進(jìn)行降序排列,然后按照排列好的順序作為種子點(diǎn)開始區(qū)域生長。
生長方向是以5×5的領(lǐng)域方向向外生長。生長準(zhǔn)則規(guī)定了領(lǐng)域內(nèi)的點(diǎn)加入本區(qū)域的條件。基于梯度信息的區(qū)域生長準(zhǔn)則就是鄰域點(diǎn)加入到區(qū)域內(nèi)的條件是區(qū)域點(diǎn)的梯度方向與區(qū)域主體的梯度方向的差值在一定的閾值范圍之內(nèi)。這里點(diǎn)的梯度方向是梯度算子計算出的梯度方向旋轉(zhuǎn)90°后的方向,旋轉(zhuǎn)是為了保持直線的方向與點(diǎn)梯度方向一致。
本文在生長準(zhǔn)則上采用了動態(tài)閾值的策略。動態(tài)閾值是相對于固定閾值而言的,其閾值會在區(qū)域生長的過程中隨著當(dāng)前區(qū)域內(nèi)像素點(diǎn)梯度方向的分布而作調(diào)整。區(qū)域狀態(tài)即區(qū)域內(nèi)特征點(diǎn)的梯度方向的分布情況,表征了當(dāng)前區(qū)域的有效性大小。
區(qū)域的角度是區(qū)域內(nèi)所有點(diǎn)的梯度值的綜合,具體計算方式如式(1)所示。
其中,θR為區(qū)域R的角度,θj為該區(qū)域內(nèi)點(diǎn)j的梯度角度值。
閾值的調(diào)整策略影響整個區(qū)域生長的效果,初始角度閾值設(shè)置為π8,閾值變化范圍設(shè)置為π8,π4,如果閾值過大,則在區(qū)域生長過程中會出現(xiàn)許多誤連接,因此必須設(shè)置一個閾值變化的最大值,以防在生長過程中由于多次滿足閾值增長條件,使得閾值變得過大,該值設(shè)置為π4,這個閾值能保證在合并更多邊緣點(diǎn)的情況下抑制噪聲點(diǎn)。本算法為實現(xiàn)高效的閾值動態(tài)調(diào)整,設(shè)置了兩個調(diào)整策略和每次調(diào)整的閾值步長ΔTH,這里將ΔTH設(shè)置為π16,兩個調(diào)整策略包括閾值提升調(diào)整和閾值下降調(diào)整。為減少整個動態(tài)調(diào)整的計算量,設(shè)置一個動態(tài)閾值開關(guān)SWITCH,一開始SWITCH狀態(tài)設(shè)置為OFF,當(dāng)區(qū)域合并K個像素后自動將SWITCH狀態(tài)設(shè)置為ON,每當(dāng)經(jīng)歷過一個閾值提升調(diào)整或閾值下降調(diào)整后將SWITCH狀態(tài)改為OFF,這里將K設(shè)置為15。
閾值調(diào)整算法主要分為兩部分,一部分是閾值提升,另一部分是閾值下降。進(jìn)行閾值調(diào)整的條件是根據(jù)最后合并到區(qū)域內(nèi)的N點(diǎn)其梯度方向的方差,如果低于一個固定值VDTH表明當(dāng)前區(qū)域線性狀況良好,則將當(dāng)前的閾值增加一個閾值步長ΔTH;如果該方差高于一個固定值VUTH,表明當(dāng)前區(qū)域線性狀況不佳,則將當(dāng)前閾值降低一個閾值步長ΔTH,其中N的值一般設(shè)置為10。如果調(diào)整后的閾值不在之前設(shè)定的閾值范圍π8,π4內(nèi),則此次閾值調(diào)整無效,恢復(fù)之前的閾值。
為了減少計算量,加快運(yùn)行速度,計算最后合并到區(qū)域內(nèi)的N點(diǎn)其梯度方向的方差采用了與梯度方向的均值之差的絕對值之和來替代,具體計算公式如式(2)所示。
1.3區(qū)域的外接矩形描述及區(qū)域有效性檢測
通過區(qū)域生長算法得到直線段的候選區(qū)域后,在分析這個區(qū)域之前,要找到一個該區(qū)域所對應(yīng)的直線段,一個相對直接、簡單的方法是直接通過最小二乘法進(jìn)行直線的擬合,但是通過最小二乘法擬合在紋理較多、邊緣不清晰的情況下容易得到錯誤的直線段。本文采取了與參考文獻(xiàn)[1]相同的方法,通過最小外接矩形來描述候選區(qū)域,每個像素的梯度值作為權(quán)值參與外界矩形中心位置的計算,具體公式如式(3)、式(4)所示。
其中,Rg代表某個區(qū)域,G(j)代表Rg內(nèi)第j點(diǎn)的梯度大小,x(j)代表Rg內(nèi)第j點(diǎn)的x坐標(biāo)值,y(j)代表Rg內(nèi)第j點(diǎn)的y坐標(biāo)值。
在確定矩形中心后,將矩形的主方向設(shè)置為區(qū)域的第一慣性軸方向,真正的計算中是將矩陣M中最小特征值對應(yīng)的特征向量的方向作為矩形的方向,矩陣M如式(5)所示。
最后,在矩形能夠包含區(qū)域內(nèi)所有點(diǎn)的基礎(chǔ)上,選取其中最小寬度值與長度作為矩形的寬度與長度。
本文算法采用了以參考文獻(xiàn)[3]定義的矩形NFA值作為對區(qū)域有效性的檢測標(biāo)準(zhǔn)。
2具有豐富紋理的礦物圖像中直線段檢測結(jié)果
圖3是本文算法應(yīng)用于出現(xiàn)典型雙晶現(xiàn)象的堿性長石和斜長石的直線段特征提取效果。
圖3(a)中是一顆出現(xiàn)了復(fù)雜聚片雙晶現(xiàn)象的斜長石,圖像上表現(xiàn)為片狀分層。圖3(d)則是一顆出現(xiàn)簡單接觸雙晶現(xiàn)象的堿性長石,圖像上表現(xiàn)為分塊。參考文獻(xiàn)[3]提出的線段檢測算子(Line Segment Detector, LSD)對于圖3(a)有較好的提取效果,但提取結(jié)果中出現(xiàn)了較多的直線段斷裂現(xiàn)象,并且伴隨著一些直線段誤檢測現(xiàn)象。圖3(d)是尺寸較小的圖,從提取結(jié)果中可以看出LSD算法對于該圖效果較差,而采用了自適應(yīng)圖像尺度的本文算法保證了穩(wěn)定的提取效果。出現(xiàn)典型雙晶現(xiàn)象的堿性長石和斜長石礦物圖像上都會表現(xiàn)出很強(qiáng)的定方向性,表現(xiàn)為目標(biāo)表面出現(xiàn)的直線段在某個方向上占很大比例,這個方向稱為主方向。通過比較主方向上直線總長度與提取出的直線總長度在一定程度上能夠體現(xiàn)對具有典型特征的長石礦物的直線段特征提取效果。圖4是本文算法與LSD對50組具有典型特征的長石礦物目標(biāo)的提取效果比較,橫坐標(biāo)為目標(biāo)序號,縱坐標(biāo)代表了該序號下本文算法與LSD算法提取的直線段中主方向直線段占所提取出直線段比例的差值,差值為正表示本文算法提取出的主方向直線段比例高于LSD算法所提取出的主方向直線段比例。從圖中可以看出本文算法提取出的主方向直線比例基本都比LSD所提取的高,只有在其中幾組目標(biāo)的提取比例上LSD占優(yōu)勢,其主要原因是LSD未能提取出所有特征直線,而本算法提取的特征直線較多,然而在提取盡可能多的同時也誤提取出了噪聲直線,導(dǎo)致提取比例低于LSD。
圖3(a)與圖3(d)之間的差別在于主方向上直線段的分布狀況不同,堿性長石的特征直線段只有一條,雖然因為斷裂會分成多條,但這多條直線段都處于同一條直線上。而斜長石對應(yīng)的是多條平行直線段。這個差異可以通過檢測出的主方向上直線段與圖像原點(diǎn)的距離變化來體現(xiàn),即原點(diǎn)間距離。圖5是堿性長石與斜長石中主方向上的直線段按照與原點(diǎn)的距離形成的分布直方圖,橫坐標(biāo)表示直線段的序號,縱坐標(biāo)表征按照目標(biāo)大小歸一化后的原點(diǎn)間距離。從圖5(a)中可以看出堿性長石直線段較少,且直線段之間的原點(diǎn)間距離差異很?。粓D5(b)中斜長石主方向上直線段數(shù)量較多,且直線段之間的原點(diǎn)間距離差異大。為了定量地描述兩種長石檢測結(jié)果的差異,本文定義了一個主方向直線離散度(σpd)參數(shù),該參數(shù)的計算方法如式(6)所示?!?/p>
其中,pd(primary direction)為主方向上的直線段集,s為其中的直線段,sd為直線段s與坐標(biāo)軸(正交直角坐標(biāo)下)原點(diǎn)的距離,sl為直線段s的長度,d是主方向上所有直線段與原點(diǎn)距離的加權(quán)平均值。σpd反映了主方向上的直線段與原點(diǎn)間距離的離散程度的度量,堿性長石主方向上直線段幾乎都處在同一條直線上,所以直線段的原點(diǎn)間距離較為集中,表現(xiàn)為σpd較小;而斜長石主方向上直線段呈平行線狀,直線段的原點(diǎn)間距離較為分散,表現(xiàn)為σpd相對較大。
將一個堿性長石目標(biāo)與一個斜長石目標(biāo)作為一組,通過使用直線圖6中是使用LSD算法和本文算法對12組堿性長石和15組斜長石樣本進(jìn)行計算其σpd的結(jié)果。圖6(a)是LSD算法處理得到的目標(biāo)主方向直線離散度的分布圖,而圖6(b)是使用本文算法處理得到的分布圖,總體而言,堿性長石的σpd較斜長石的要稍小,兩類長石有一定的區(qū)分度,LSD算法得到的堿性長石和斜長石的主方向直線離散度較本文算法得到的要高,因為LSD算法在提取直線特征的同時,提取出了許多噪聲直線,這些噪聲直線有部分被當(dāng)作主方向直線,從而增加了主方向上直線段與原點(diǎn)間距離的離散程度,表現(xiàn)為σpd偏大。本算法計算出兩類長石的σpd區(qū)分度較LSD算法得出的稍大,主要原因在于礦物目標(biāo)大小各異,本文算法較LSD對于不同大小的目標(biāo)具有較高的提取準(zhǔn)確性。
3結(jié)論
針對礦物顯微圖片成分復(fù)雜,存在不同成分鑲嵌的現(xiàn)象,各成分邊界不明顯,紋理復(fù)雜的特點(diǎn),本文采用了基于動態(tài)梯度方向閾值的區(qū)域生長算法來提取礦物顯微圖片中可能存在的雙晶、解理和裂理等在圖像中表現(xiàn)為具有定方向性的特征。算法應(yīng)用于長石礦物的結(jié)果表明,本文算法能夠基本實現(xiàn)礦物顯微圖像中的直線特征提取,提取的特征值可用于后期兩種礦物的分類。
參考文獻(xiàn)
?。?] 董銀文, 苑秉成, 石釗銘,等. 基于直線特征的航拍圖像機(jī)場跑道自動識別算法[J]. 系統(tǒng)工程與電子技術(shù), 2013,35(4):876879.
[2] 丁偉利, 王文鋒, 張旭光,等. 基于邊緣方向圖的建筑物直線特征提?。跩]. 光學(xué)學(xué)報,2010,30(10):29042911.
?。?] GIOI R G V, JAKUBOWICZ J, MOREL J M, et al. LSD: a line segment detector with a false detection control[J]. IEEE Transaction on Software Engineering (Impact Factor: 5.78),2010,32(4):722732.
?。?] 覃勛輝, 馬戎, 付維平,等. 一種基于梯度的直線段檢測算法[J]. 光子學(xué)報, 2012, 41(2):205209.
?。?] 牛照東, 劉洋, 陳曾平. 利用自適應(yīng)相位分區(qū)和邊緣位置約束的直線提取新方法[J]. 中國圖象圖形學(xué)報, 2011,15(12):17551761.
?。?] 夏軍營, 徐小泉, 熊九龍.利用梯度信息快速提取直線邊緣特征[J]. 中國圖象圖形學(xué)報, 2012, 17(8):987994.
?。?] 董晶, 楊夏, 于起峰. 基于邊緣連接的快速直線段檢測算法[J]. 光學(xué)學(xué)報, 2013, 33(3):213220.