胡峻峰 趙亞鳳 曹軍
(東北林業(yè)大學(xué),哈爾濱,150040)
責(zé)任編輯:張 玉。
圖像分割技術(shù)是木材缺陷圖像分類的關(guān)鍵,分割的效果決定了之后特征提取的可靠程度以及最后分類的精度。圖像分割作為缺陷分類的第一步,通過分割可以得到典型的缺陷區(qū)域,對這些區(qū)域再提取特征,樣本學(xué)習(xí)和有監(jiān)督分類??焖俣_的圖像分割是正確在線分類的前提。
當(dāng)前,對圖像分割時多數(shù)以像素為單位對圖像進(jìn)行處理,圖片較大時算法效率低,不符合在線要求。而人類視覺的著重點(diǎn)并不是像素,單一的某個像素點(diǎn)并不具有什么特定的意義,只有當(dāng)包含一定特征的若干個像素點(diǎn)組合在一起時,人類視覺才能從中得到有效的信息。2003年,F(xiàn)eng Renxiao 等最早提出了超像素的概念。所謂超像素,是將許多具有相似性的像素點(diǎn)組合在一起進(jìn)行處理,這個像素點(diǎn)的集合稱之為超像素,利用像素與像素之間位置相鄰,且顏色、亮度、紋理的相似程度,對像素進(jìn)行分組,從而獲取分組中所包含的可以進(jìn)一步進(jìn)行圖像分割的有效信息,并保持原有圖像中目標(biāo)的邊界信息,使后續(xù)圖像處理任務(wù)的復(fù)雜程度大大降低。大量的研究工作表明,超像素技術(shù)已成功應(yīng)用于圖像處理任務(wù),如:圖像分割[1]、目標(biāo)定位[2]、圖像分類[3]、人體估計(jì)[4]、邊緣提?。?]等。本文主要研究了基于SLIC(簡單線性迭代聚類)的超像素分割方法,并對此算法進(jìn)行了改進(jìn),將其更好的應(yīng)用到木材缺陷提取中去。
SLIC 算法在運(yùn)算過程中,依據(jù)顏色相似程度和距離臨近程度對像素進(jìn)行聚類,得到相對緊湊并且特征規(guī)則的超像素?;赟LIC 的超像素分割算法,利用了同質(zhì)區(qū)域內(nèi)像素特征的相似性以及相鄰的不同區(qū)域之間的邊界信息,高效的生成了一個個結(jié)構(gòu)緊湊、同質(zhì)性強(qiáng)的超像素?;赟LIC 的超像素分割算法,適應(yīng)性較好、分割結(jié)果的同質(zhì)性較高,該分割算法已經(jīng)廣泛運(yùn)用到圖像分割、目標(biāo)定位、人體模型估計(jì)、深度估計(jì)等眾多領(lǐng)域。
2009年,Achanta 等在原有超像素分割的基礎(chǔ)上,提出了簡單線性迭代聚類算法?;赟LIC 的超像素分割算法,實(shí)現(xiàn)了基于像素顏色特征和像素空間位置特征的相似性聚類;該算法為了更好的表述圖像的信息,將圖像映射到CIELAB(國際照明委員會提出的一種顏色系統(tǒng))顏色空間,并以此進(jìn)行超像素分割。SLIC 算法在5 種維度[l,a,b,x,y]中進(jìn)行計(jì)算,其中[x,y]是像素的坐標(biāo)位置。CIELAB 是由CIE(國際照明委員會)制定的一種色彩模式,Lab顏色空間是被廣泛認(rèn)為的感知距離最小的顏色空間。Lab 空間取坐標(biāo)[l,a,b],其中:l 代表亮度;正數(shù)a 的為紅色,負(fù)數(shù)的a 為綠色;正數(shù)的b 為黃色,負(fù)數(shù)的b 代表藍(lán)色;它可以將任何顏色量化的表示在Lab 顏色空間中。
該算法的輸入是超像素的個數(shù)(K),對于1 幅像素?cái)?shù)目為N 的圖像,每個超像素的大小為K/N。對于超像素非常標(biāo)準(zhǔn)的圖像而言,超像素與超像素的距離
該算法的計(jì)算過程:首先選擇K 個超像素的聚類中心,接著在圖像的xy 平面上選取一個2S ×2S的空間作為每個集群中心的搜索區(qū)域。
Ds是每個像素的色彩特征距離和空間位置特征距離的和,該值通過超像素距離(S)歸一化得到。Ds中引入的變量m 用于控制超像素的緊密度,m 越大,空間距離越近,聚類越緊密。m 的范圍可選在[1,40]。該值在實(shí)驗(yàn)中大致符合最大CIELAB 感知距離,并且很好地平衡了色彩相似度和空間鄰近度。設(shè)定SLIC 分割塊數(shù)k =100、m =20,對死節(jié)、活節(jié)、蟲眼樣本進(jìn)行分割(見圖1)。
圖1 3 種缺陷樣本分割效果
DBSCAN(Density- Based Spatial- Clustering of Application with Noise,具有噪聲的基于密度的聚類方法)[6]是一種簡單的基于密度的聚類算法[7]。該算法利用類的高密度連通性,能快速發(fā)現(xiàn)任意形狀的空間聚類。算法基本思想,在一定半徑的區(qū)域中包含的樣本數(shù)大于一定數(shù)目時,這些樣本歸于一個類。
算法主要有2 個參數(shù),一個為閾值(Eps),另一個是控制類生成的最小樣本數(shù)(minPts)[7]。樣本可分為核心點(diǎn)、邊界點(diǎn)和噪聲點(diǎn)。樣本P 在閾值(Eps)范圍內(nèi)可達(dá)的樣本數(shù)大于或等于minPts,則P為核心點(diǎn)。如果P 是核心點(diǎn)在閾值范圍內(nèi)的鄰居點(diǎn),且以P 為中心的Eps范圍內(nèi)包含的樣本數(shù)小于minPts,則為邊界點(diǎn);既不是邊界點(diǎn),也不是核心點(diǎn)的樣本,為噪聲點(diǎn)。
根據(jù)樣本之間的關(guān)聯(lián)強(qiáng)弱,可以將樣本之間的關(guān)系分為直接密度可達(dá)、密度可達(dá)、密度相連。樣本q在以核心點(diǎn)P 為中心的簇內(nèi),則稱q 與P 直接密度可達(dá)。若q 與P 不能直接密度可達(dá),但有一個中間樣本m 與這2 個樣本都直接密度可達(dá),則稱q 與P 密度可達(dá)。比密度可達(dá)更弱的關(guān)聯(lián)是密度相連,q 與P 之間有至少2 個的中間樣本,則q 與P 密度相連。
首先,從數(shù)據(jù)庫樣本集中找到任意樣本P,并查找樣本集中閾值(Eps)范圍內(nèi)的所有樣本;如果樣本數(shù)大于或等于minPts,則P 為核心點(diǎn),則以P 為中心,在Eps范圍內(nèi)的鄰居與核心點(diǎn)共同形成一個簇。如果在簇內(nèi)其他點(diǎn)也為核心點(diǎn),以這些核心點(diǎn)為中心的簇將與之合并。如果樣本P 在閾值范圍內(nèi)的樣本數(shù)小于minPts,且不能與別的樣本點(diǎn)直接密度可達(dá),P 為噪聲點(diǎn)。該聚類算法,是反復(fù)尋找從核心樣本直接密度可達(dá)的樣本,并將其加入到該簇,對核心點(diǎn)依據(jù)距離進(jìn)行聚簇;同時,將所有與核心點(diǎn)相對距離最近的邊界點(diǎn)也聚集到包含核心點(diǎn)的簇中。不斷地進(jìn)行聚類,直到完成對所有點(diǎn)的處理,符合條件的點(diǎn)完成聚簇;否則就標(biāo)記為噪聲點(diǎn),最終排除掉噪聲點(diǎn),完成整個聚類過程。
算法步驟:
(1)檢查樣本庫中未處理的樣本P,如果P 沒有標(biāo)記歸入某個簇或者標(biāo)記為噪聲,檢查其鄰域Nε(p),若Nε(p)包含的樣本數(shù)大于或等于minPts,建立新的簇C,并Nε(p)中的所有點(diǎn)標(biāo)記為C。
(2)對C 中其他還沒被處理的對象q,檢查其鄰域Nε(q),如果Nε(q)包含樣本數(shù)不小于minPts,將Nε(q)中沒歸入任何簇的樣本加入C。
(3)重復(fù)(2),繼續(xù)檢查剛才建立的簇C 中是否包含沒有被處理的樣本,直到簇C 中不再加入任何新樣本。
(4)重復(fù)(1)~(3),直到所有樣本都?xì)w入了某個簇或標(biāo)記為噪聲。
可見,該算法可以在有噪聲的數(shù)據(jù)中發(fā)現(xiàn)任意形狀的聚類,但其時間復(fù)雜度較高,不適合于在線聚類,算法中對每個數(shù)據(jù)樣本都進(jìn)行鄰域查詢,是其時間性能低效的主要原因。本文主要從快速性方面改進(jìn)算法,使之適應(yīng)于缺陷圖像的分割。
在計(jì)算數(shù)據(jù)樣本之間的距離時,可以選擇歐式距離。假設(shè)超像素分割后區(qū)域個數(shù)為N,給定數(shù)據(jù)集X={xm,m=1、2、…、N},X 中的樣本用5 個描述屬性[Lmean,amean,bmean,ˉ,ˉ]表示,其中:Lmean、amean、bmean分別表示3 個顏色分量的塊平均值為超像素塊中心坐標(biāo)。
可以通過距離d(xi,xj)衡量樣本xi、xj之間的相似度,d(xi,xj)越小,樣本xi、xj的相似度就越強(qiáng);d(xi,xj)越大,樣本xi、xj的相似度就越弱。利用與SLIC 聚類類似的距離信息,計(jì)算區(qū)域塊在5D 空間的距離:
式中:dLab(xi,xj)為區(qū)域i、j 在顏色空間的相似度距離測量;Lmean、amean、bmean為顏色區(qū)域在L、a、b 顏色分量的均值;dxy(xi,xj)為區(qū)域i、j 的中心距離為區(qū)域中心位置;d(xi,xj)為合并后的距離;m1為距離權(quán)值。
筆者在分析缺陷圖像時,發(fā)現(xiàn)SLIC 過分割后的小區(qū)域中,缺陷塊與背景塊的距離,明顯大于背景塊之間或者缺陷塊之間的距離,而背景數(shù)量遠(yuǎn)大于缺陷數(shù)量。如果在算法開始計(jì)算區(qū)域塊之間的距離,并對每個區(qū)域塊與其他區(qū)域塊的距離求和,缺陷圖像塊的距離和會明顯大于背景塊。
分割后,死節(jié)塊數(shù)為107、活節(jié)塊數(shù)為125、蟲眼塊數(shù)為106。由于像素大小為512 ×512,而顏色范圍為0~255,并且在缺陷分割時,主要考慮顏色影響,距離權(quán)重選擇時,選擇m1=0.1。對分割后的每個區(qū)域求距離和(見圖2)。
由圖2可見:有區(qū)域塊距離和出現(xiàn)極大值,該極大值為缺陷中心,對于圖像中的距離最大區(qū)域,給其標(biāo)志為Imax。在算法中,將該區(qū)域塊作為聚類中心點(diǎn),利用DCSCAN 算法,根據(jù)其他區(qū)域與該區(qū)域距離關(guān)系進(jìn)行聚類。從距離矩陣中提取出極大值這列數(shù)據(jù)(見圖3)。
圖3 Imax 與其他區(qū)域距離關(guān)系
由圖3可見:圖2中峰值出現(xiàn)的區(qū)域塊,與圖3中谷值出現(xiàn)的區(qū)域塊大部分重合。本文中設(shè)定區(qū)域和閾值(ThreSumdist)、Imax 距離閾值(ThreMaxdist),區(qū)域i 同時滿足Sumdist(i)大于ThreSumdist,且Maxdist(i)小于ThreMaxdist 兩個條件,同DBSCAN 算法中Eps值的作用。
為了提高算法的運(yùn)算速度,從2 個方面對算法進(jìn)行改進(jìn):一個是利用最大區(qū)域距離和,判斷出缺陷的中心,并以此為樣本中心進(jìn)行聚類,最快速度找到目標(biāo)中心;二是在程序處理過程中,不重復(fù)處理已經(jīng)處理過的點(diǎn)。從樣本集中取出一個樣本,判斷它是否被處理過,如果沒有,則檢查其鄰域Nε(p),若Nε(p)包含的樣本數(shù)不小于minPts,建立新的簇C,并Nε(p)中的所有點(diǎn)標(biāo)記為C;重復(fù)以上過程,直到判斷它可達(dá)范圍內(nèi)的所有數(shù)據(jù),并將它們?nèi)繕?biāo)記為已處理。如果已處理并標(biāo)記,跳過該點(diǎn)進(jìn)行下一個點(diǎn)的操作。所有數(shù)據(jù)都標(biāo)記為已處理后,最后根據(jù)2 個簇是否可達(dá)來合并2 個簇。
利用以上步驟對圖像進(jìn)行超像素合并,確定閾值ThreSumdist=6 ×104、ThreMaxdist =1600,3 類圖像分割效果見圖4。修改閾值參數(shù)ThreSumdist =105、ThreMaxdist=3000,其分割效果見圖5。
從以上結(jié)果可以看出:第二類閾值能較好的合并蟲眼和死節(jié)圖像,第一類閾值能較好的合并活節(jié)圖像。主要因?yàn)?死節(jié)和蟲眼缺陷的顏色特征與背景相比,有很大的差距;而活節(jié)缺陷的顏色與背景較為接近。主要利用顏色方差聚類,閾值較小時,能清晰的分離出活節(jié)缺陷,但此閾值時,蟲眼和死節(jié)缺陷會將周圍又較小變化的背景圖像誤分為缺陷;在閾值較大時,能較好的分離出死節(jié)和蟲眼,但該閾值對應(yīng)的活節(jié)圖像合并,會有一部分信息丟失。由于圖像顏色本身的差異,很難找到一個合適的參數(shù)能同時區(qū)分活節(jié)、死節(jié)和蟲眼。由于在線分選時,3 類圖像會隨機(jī)出現(xiàn),不能手動調(diào)整閾值,這需要找到閾值可調(diào)的算法,保證閾值的自動調(diào)整。
圖4 第一類閾值的分割結(jié)果
圖5 第二類閾值的分割結(jié)果
目前很多學(xué)者提出了各種改進(jìn)方法,針對自適應(yīng)閾值確定也提出了很多算法;基于迭代尋優(yōu)的算法能很好的得到分割閾值,但不滿足在線要求。筆者對區(qū)域距離和的數(shù)據(jù)排序后發(fā)現(xiàn),不同類型的缺陷,從最大值到最小值的曲線,呈現(xiàn)出2 種不同斜率的直線特性,其中斜率較大的為缺陷塊,斜率較小的直線表現(xiàn)出背景塊的性質(zhì)。對中心區(qū)域與其他區(qū)域的距離排序也得到類似的特性(見圖6、圖7)。
圖6 區(qū)域距離和降序排序曲線
圖7 Imax 區(qū)域塊與其他區(qū)域距離排序曲線
盡管死節(jié)、活節(jié)、蟲眼在曲線特征上有差別,不同類型有著不同的斜率,但這些曲線都能很清晰的表現(xiàn)出轉(zhuǎn)折點(diǎn),該轉(zhuǎn)折點(diǎn)離大斜率直線和小斜率直線的距離和最小,為缺陷和背景的分割點(diǎn)。筆者對以上的曲線擬合成2 條直線,求2 條直線的相交點(diǎn),即為需要的離群點(diǎn),該離群點(diǎn)即為分割圖像的閾值。
基于以上的思想,自適應(yīng)閾值的快速DBSCAN超像素合并算法步驟為:
(1)計(jì)算距離矩陣。利用距離計(jì)算公式,計(jì)算出超像素區(qū)域塊之間的距離,構(gòu)建距離矩陣D(i,j),i、j≤N,N 為超像素塊的數(shù)量。該矩陣是1 個對稱矩陣,且對角線的值為0,需要計(jì)算的距離數(shù)量為N(N-1)/2。
(2)提取聚類中心區(qū)域。對距離矩陣的每行或者每列求和,得出每個區(qū)域的距離和Ds(i),i≤N;求和的同時做最大值比較,記錄距離和最大值對應(yīng)的區(qū)域塊K,將區(qū)域塊K 設(shè)為缺陷中心區(qū)域;從距離矩陣中提取d(K,j),j≤N,或者d(i,K),i≤N,記為Dmax(i),i≤N。
(3)自適應(yīng)分割閾值提取。對Ds(i)和Dmax(i)排序,對排序后數(shù)據(jù)做前半段和后半段數(shù)據(jù)的直線擬合,計(jì)算2 條直線的交點(diǎn),記為分割點(diǎn)。對2 組數(shù)組做同樣的操作,得到2 個閾值。
(4)改進(jìn)DBSCAN 算法的快速合并。minPts固定,設(shè)為3,并設(shè)置(3)中的2 個閾值為距離半徑Eps1和Eps2,以區(qū)域K 為中心和起始點(diǎn),在Ds(i)數(shù)組和Dmax(i)數(shù)組中,尋找半徑范圍內(nèi)的直接密度可達(dá)點(diǎn);如果數(shù)目大于minPts,對這些區(qū)域標(biāo)記并合并為簇。按順序搜尋其他點(diǎn),已經(jīng)被標(biāo)記的不做運(yùn)算直接忽略。對于沒有標(biāo)記的點(diǎn),按照DBSCAN 算法判斷是否為核心點(diǎn),不為核心點(diǎn)的標(biāo)記為噪聲點(diǎn),直到所有的數(shù)據(jù)全部標(biāo)記。
利用以上的步驟,得到分割后的圖像(見圖8)。由圖8可見:對于這3 類圖像,自適應(yīng)閾值分割能獲得較好的效果;每類圖像的分割邊緣,比手動閾值的分割邊緣更清晰和準(zhǔn)確。該合并算法中最大的計(jì)算量為距離矩陣的計(jì)算,由于區(qū)域數(shù)量遠(yuǎn)小于像素點(diǎn)個數(shù),算法復(fù)雜度低。在配置為intel 酷睿處理器、主頻為2.2 GHz、內(nèi)存為2.0 GB 的PC 機(jī)上,基于matlab2013b 平臺,運(yùn)算時間為0.20 s。
圖8 自適應(yīng)閾值聚類的分割結(jié)果
本文利用超像素分割算法SLIC 算法對有缺陷圖像進(jìn)行預(yù)分割,有較快的分割速度和好較好的邊緣準(zhǔn)確性。分析了DBSCAN 聚類用于該類超像素合并中算法的復(fù)雜度,固定閾值不適用于本文3 種圖像的分割。筆者從提高算法速度和自適應(yīng)閾值2方面對算法進(jìn)行改進(jìn),提出了自適應(yīng)閾值的快速DBSCAN 超像素合并,結(jié)果顯示:對于3 類缺陷都能很好的分割,并且算法復(fù)雜度低。本文中的快速分割算法,基于SLIC 的分割及合并,時間在0.35 s 左右,能滿足在線分選的要求。
[1] Thompson David R,Mandrake Lukas,Gilmore M S,et al.Superpixel endmember detection[J].IEEE Transactions On Geoscience And Remote Sensing,2010,48(11):4023-4033.
[2] Miˇcu?ík Branislav,Ko?ecká Jana.Multi-view superpixel stereo in urban environments[J].International Journal of Computer Vision,2010,89(1):106-119.
[3] Liu Bin,Hu Hao,Wang Huanyu,et al.Superpixel-based classification with an adaptive number of classes for polarimetric SAR Images[J].IEEE Transactions On Geoscience And Remote Sensing,2013,51(2):907-924.
[4] Li Shifeng,Lu Huchuan,Ruan Xiang,et al.Human body segmentation based on deformable models and two-scale superpixel[J].Pattern Analysis and Applications,2012,15(4):399-413.
[5] Fu Keren,Gong Chen,Yang Jie,et al.Superpixel based color contrast and color distribution driven salient object detection[J].Signal Processing:Image Communication,2013,28(19):1448-1463.
[6] 馮少榮,肖文俊.DBSCAN 聚類算法的研究與改進(jìn)[J].中國礦業(yè)大學(xué)學(xué)報,2008,37(1):105-111.
[7] Liu Zhenhua,Jiang Zhenquan,Zuo Rusong.Study of fussy clustering of enginering geological environment with GIS[J].Journal of China University of Mining & Technology,2003,13(2):196-200.