李應(yīng)果,楊 潔*,董春雷
(1.西南林業(yè)大學(xué) 機(jī)械與交通學(xué)院,云南 昆明 650224;2.西南林業(yè)大學(xué) 材料科學(xué)與工程學(xué)院,云南 昆明 650224)
木材的質(zhì)量對木材和木材制品的價(jià)值有著決定性作用,木材缺陷是影響木材質(zhì)量的關(guān)鍵因素。我國林業(yè)產(chǎn)業(yè)相對不發(fā)達(dá),木材資源緊缺。因此,木材的有效分選方法研究顯得尤為重要。木材缺陷的檢測方法成了最近幾年很多學(xué)者的研究課題,歐美等一些發(fā)達(dá)國家已將超聲波、射線和微波等無損檢測技術(shù)[1]應(yīng)用于木材檢測中。但這些檢測手段仍存在一定局限性。比如射線法設(shè)備成本較高,檢測工作過程中需要必要的保護(hù)設(shè)施;微波法檢測木材缺陷及物理性質(zhì)時(shí)受到木材含水率的影響[2]。近10 a,國內(nèi)專家學(xué)者對木材表面缺陷圖像檢測技術(shù)和其他木材分選技術(shù)的研究也從未間斷,如基于改進(jìn)C-V模型的木材缺陷彩色圖像分割方法[3],基于OTSU(最大類間方差法)算法的圖像分割方法[4],空頻變換的圖像分割[5],對木材試件進(jìn)行試驗(yàn)?zāi)B(tài)分析[6],基于權(quán)重系數(shù)的木材圖像增強(qiáng)方法等[7]。
由于木材表面缺陷圖像的復(fù)雜性、多變性以及多種噪聲影響,以上各種缺陷檢測算法仍存在一定的不足,得到的分割結(jié)果往往不理想。其中改進(jìn)C-V模型對輕微灰度變化不夠敏感,容易造成欠分割現(xiàn)象;單一OTSU算法分割技術(shù)受噪聲影響比較嚴(yán)重;空頻變換的圖像分割技術(shù)分割精度不夠高、計(jì)算量比較大;采用試驗(yàn)?zāi)B(tài)分析方法和權(quán)重系數(shù)的木材圖像增強(qiáng)方法局限于檢測單一種類的缺陷位置和單一品種木材的分選。本研究主要研究一種基于OTSU算法與數(shù)學(xué)形態(tài)學(xué)相結(jié)合的方法分割木材表面缺陷,提取清晰的木材表面缺陷邊緣,為后續(xù)的木材分選提供有力的依據(jù)。
木材表面缺陷特征輪廓提取流程如圖1所示。首先將采集的樣本圖像按照灰度級為256進(jìn)行灰度化處理。下一步對其進(jìn)行預(yù)處理,這一步是為了降低木材表面常見的黑點(diǎn)和紋理等噪聲對后續(xù)目標(biāo)圖像分割的影響。接著進(jìn)行圖像分割,對比分割結(jié)果圖,選擇較優(yōu)分割圖像進(jìn)行下一步試驗(yàn)。針對分割結(jié)果中可能存在偽分割或者孔洞等情況,采用數(shù)學(xué)形態(tài)學(xué)對圖像進(jìn)行濾波和填充,最后對圖像進(jìn)行邊緣提取,以達(dá)到高精度的邊緣圖像。
在光照條件良好、拍攝角度一致等理想的拍攝條件下,使用HUAWEI LLD-AL20相機(jī)拍攝,拍攝樣品距離鏡頭為15~20 cm,分辨率為3 120×4 160。
圖1 木材表面缺陷特征提取流程
針對木材表面常見的黑點(diǎn)和紋理非線性噪聲,首先進(jìn)行一定程度的降噪[8]。二維中值濾波是一種常用于濾除圖像中非線性噪聲的非線性數(shù)字濾波技術(shù)。首先確定一個(gè)窗口領(lǐng)域作為濾波窗口,通過在整幅圖像中上下左右滑動,將窗口領(lǐng)域中的像素按灰度等級進(jìn)行排序,選擇該組像素的中間值作為輸出像素值[9]。
二維中值濾波可以表示為:Y(i,j)=mediam(F(i,j)),其中F(i,j)為領(lǐng)域窗口。
圖像分割算法分為基于邊緣閾值和基于區(qū)域的2種分割方法。因?yàn)槟静谋砻嫒毕菰趫D像中目標(biāo)與背景的灰度有明顯區(qū)別,所以本研究采用基于邊緣閾值的分割方法。閾值法是按圖像的灰度特性,將圖像目標(biāo)和背景分開。閾值法有全局閾值法、OTSU閾值法和局部閾值法等。局部閾值法主要應(yīng)用于多目標(biāo)的分割,針對各個(gè)區(qū)域給出不同的閾值進(jìn)行分割。本研究針對圖像中單一缺陷目標(biāo)進(jìn)行分割,考慮到木材表面紋理、黑點(diǎn)干擾,采用全局閾值和OTSU閾值法做分割試驗(yàn)對比。
OTSU閾值法是由日本學(xué)者大津[10]在1979年提出的,又被稱作最大類間方差法。與全局閾值分割算法相比,它選取閾值的方法更加合理,在圖像亮度和對比度較低的情況下也能較好地選取合適的分割閾值。類間方差值是度量灰度分布均勻性的一種指標(biāo),背景區(qū)域和目標(biāo)區(qū)域之間類間方差越大,說明圖像的背景和目標(biāo)差異越大。因此,類間方差值取最大時(shí)錯(cuò)分的概率最小。
設(shè)有一幅圖像f,總像素?cái)?shù)為n,nq表示灰度級為q的像素個(gè)數(shù)?;叶确秶鸀?0,L-1),灰度級為L。pq是像素級為q的像素出現(xiàn)的概率。即圖像f的直方圖可表示為:
(1)
OTSU閾值法選擇閾值k,使得2個(gè)集合C1、C2的發(fā)生概率P1(k)、P2(k)分別為:
(2)
(3)
使得其最大類間方差為:
σ2(k)=P1(k)[m1-mG]2+P2(k)[m2-mG]2
(4)
式中,m1為集合C1中的像素的平均值;m2為集合C2中的像素的平均值。全局均值(整個(gè)圖像的平均灰度)mG的表示為:
(5)
類間方差值越大,說明集合C0和C1的像素差別越大,分離效果就會越好,σ2(k)為最大值對應(yīng)的k值,即為圖像分割的最佳閾值點(diǎn)。即
k=Argmax{σ2(k)},0≤k≤L-1
(6)
數(shù)學(xué)形態(tài)學(xué)由法國學(xué)者Serra和Matheron[11]在1964年共同提出,現(xiàn)在已經(jīng)成為計(jì)算機(jī)數(shù)字圖像處理的重要研究領(lǐng)域之一。首先使用生成的結(jié)構(gòu)元素來獲取圖像信息,其方法是通過圖像中結(jié)構(gòu)元素的移動,分析圖像區(qū)域間的關(guān)系和圖像構(gòu)成,從而達(dá)到識別目標(biāo)的效果[12]。其基本方法包括腐蝕與膨脹、開運(yùn)算與閉運(yùn)算、骨架抽取、形態(tài)學(xué)梯度、Top-hat變換、顆粒分析、極限腐蝕、擊中擊不中變換、流域變換等。
根據(jù)現(xiàn)行國家原木缺陷標(biāo)準(zhǔn),木材缺陷分為節(jié)子、裂紋、干形缺陷、木材結(jié)構(gòu)缺陷、真菌造成的缺陷、傷害6大類[13]。木材表面常見缺陷有蟲眼、活節(jié)和死節(jié)。本研究選用最具有代表性的蟲眼、活節(jié)和死節(jié)圖片進(jìn)行試驗(yàn)仿真。圖像預(yù)處理、圖像分割、數(shù)學(xué)形態(tài)學(xué)處理和邊緣檢測等步驟均使用MATLAB R2014b編程實(shí)現(xiàn)。
圖2a分別為蟲眼、活節(jié)和死節(jié)的灰度圖像;圖2b分別為蟲眼、活節(jié)和死節(jié)的灰度圖像經(jīng)過中值濾波后的結(jié)果;圖2c為3種缺陷類型灰度圖像相對應(yīng)的灰度直方圖;中值濾波后的結(jié)果圖像,分別通過全局閾值法和OTSU算法分割后獲得蟲眼、活節(jié)和死節(jié)的分割結(jié)果圖像,結(jié)果如圖2d、圖2e所示。
圖2 木材表面缺陷圖預(yù)處理及缺陷分割過程
從圖2d、圖2e可以發(fā)現(xiàn),對直方圖表現(xiàn)為雙峰的蟲眼和死結(jié)灰度圖像,全局閾值法和OTSU算法都可以較好地分割出主要的缺陷部分。而對于直方圖表現(xiàn)為單峰的活節(jié)灰度圖,全局閾值分割算法得到的閾值無法將背景和目標(biāo)區(qū)分開,在顏色較深的紋理處出現(xiàn)嚴(yán)重的偽分割現(xiàn)。但OTSU算法對直方圖表現(xiàn)為單峰的灰度圖也有較好的分割效果。
存在的目標(biāo)外偽分割區(qū)域和目標(biāo)區(qū)域內(nèi)孔洞,對提取目標(biāo)邊緣的準(zhǔn)確性有較大影響。因此,需要做進(jìn)一步的后處理,使分割圖像更易于識別。此外,在提取圖像特征的時(shí)候,我們習(xí)慣將目標(biāo)部分設(shè)置為亮區(qū)域,將背景部分設(shè)置為暗區(qū)域,所以在對圖像做進(jìn)一步處理前,先對其做負(fù)片處理(圖3a)。
數(shù)學(xué)形態(tài)學(xué)處理可以分為填補(bǔ)和濾除2種方式。填補(bǔ)的目的是為了得到一個(gè)完整的目標(biāo)圖像區(qū)域,常采用閉運(yùn)算對目標(biāo)圖像內(nèi)部孔洞來實(shí)現(xiàn)。濾除可以使用開運(yùn)算消除目標(biāo)圖像邊緣的凸起部分來使得目標(biāo)圖像邊緣變得平滑或者使用規(guī)定面積閾值來去除目標(biāo)圖像外部偽分割區(qū)域。
利用OTSU算法對圖像進(jìn)行分割后我們會發(fā)現(xiàn)在缺陷外部依然有很多小面積的偽分割區(qū)域(圖3a),這是木材深色紋理、木材加工環(huán)境中造成的。實(shí)驗(yàn)中首先使用規(guī)定面積閾值的方法濾除偽分割區(qū)域(圖3b)。緊接著使用數(shù)學(xué)形態(tài)學(xué)中孔洞填充的方法填補(bǔ)目標(biāo)圖像存在的內(nèi)部孔洞(圖3c)。試驗(yàn)過程中使用小面積去除和孔洞填充2種數(shù)學(xué)形態(tài)學(xué)方法對分割后3種缺陷圖進(jìn)行濾波,具體試驗(yàn)過程如圖3b、圖3c所示。
圖3 缺陷特征圖數(shù)學(xué)形態(tài)學(xué)處理過程
邊緣檢測的目的在于識別數(shù)字圖像中亮度變化明顯的點(diǎn)來組成目標(biāo)區(qū)域的邊緣,是圖像處理和計(jì)算機(jī)視覺領(lǐng)域的常用手段[14]。
邊緣檢測的方法有很多,本研究采用sobel算子對缺陷圖像求取邊緣。Sobel算子包含2組3×3的矩陣,分別是水平方向和垂直方向矩陣,前者適用于檢測圖像中的水平方向的邊緣,后者則適用于檢測圖像中垂直方向的邊緣。在邊緣提取試驗(yàn)中,分別用2個(gè)方向的sobel算子矩陣對原圖像做卷積運(yùn)算,結(jié)果取最大值即為輸出值,每個(gè)像素點(diǎn)的輸出值構(gòu)成一副邊緣圖像[15]。Sobel算子的優(yōu)點(diǎn)是抗噪性好,計(jì)算量小,并且所得的邊緣光滑、連續(xù)。用Sobel算子邊緣提取結(jié)果如圖4a、圖4b和圖4c所示,結(jié)果表明用Sobel算子提取的木材表面缺陷邊緣光滑、連續(xù)、準(zhǔn)確。
圖4 蟲眼、活節(jié)、死節(jié)邊緣提取結(jié)果
圖像預(yù)處理中使用中值濾波能有效地平滑圖像,為接下來的分割步驟提供有效支持;采用閾值法和全局閾值法對缺陷圖像分割實(shí)驗(yàn)表明OTSU算法提供的最優(yōu)閾值可以較好地分割出3種不同形態(tài)的缺陷部分,特別是在針對對比度不強(qiáng)(直方圖表現(xiàn)為單峰)的灰度圖像時(shí),OTSU閾值法明顯比全局閾值法更好地分離背景與目標(biāo)圖像。OTSU閾值法分割中都存在缺陷外部的偽分割區(qū)域和缺陷內(nèi)部的孔洞現(xiàn)象;相比較于蟲眼和活節(jié)缺陷圖,死節(jié)缺陷圖在分割時(shí)由于缺陷邊緣天然造成的陰影導(dǎo)致輕微過分割現(xiàn)象;形態(tài)學(xué)處理過程中先去除小面積的偽分割部分可以很好地避免在進(jìn)行填充操作時(shí)造成偽分割區(qū)域進(jìn)一步加大。
這表明OTSU算法和數(shù)學(xué)形態(tài)學(xué)相結(jié)合的木材表面缺陷分割方法可以有效提取木材表面缺陷特征,有利于實(shí)現(xiàn)木材的智能化分選,具有應(yīng)用于實(shí)際生產(chǎn)的價(jià)值??紤]到木材表面紋理、缺陷的多樣性和復(fù)雜性和其他因素的影響,如缺陷周圍天然形成的顏色較深區(qū)域在圖像分割時(shí)會形成輕微過分割現(xiàn)象等。本研究的算法還有待改進(jìn),下一步將針對木材表面缺陷分割時(shí)出現(xiàn)的過分割等情況進(jìn)行研究。