謝永華,陳慶為
(東北林業(yè)大學 機電工程學院,哈爾濱 150040)
木材表面缺陷主要指木材在生長過程中由于客觀原因形成的活結、死結和蟲眼等變異的組織結構,這些變異的木質(zhì)結構會影響木材的整體質(zhì)量和正常性能,通過合理的鋸材加工,除去不必要的缺陷組織,不僅可以提高木材利用率,同時也使得木制品的性能得到大大提高。所以,正確地對木材表面缺陷進行識別分類就顯得尤為重要。隨著模式識別和人工智能的不斷發(fā)展,運用數(shù)字圖像處理技術進行木材表面缺陷檢測已經(jīng)成為木材加工行業(yè)的一大熱門話題,伴隨各種圖像處理理論的出現(xiàn),學者們已經(jīng)提出了千余種木材缺陷檢測算法,但是時至今日,在缺陷分割的過程中仍然沒有一種通用的分割算法或分割理論,所以,對木材表面缺陷的檢測和識別還有很長的路要走[1]。本文從圖像閾值分割的角度出發(fā),對多種閾值分割算法的木材圖像分割效果進行對比研究。
圖像閾值化分割是一種傳統(tǒng)的最常用的圖像分割方法,它以灰度直方圖為處理對象,特別適用于目標和背景占據(jù)不同灰度級范圍的圖像。圖像閾值分割就是按照灰度級,選取一個適當閾值對像素集合進行劃分,使得到的每個子集形成一個區(qū)域,各個區(qū)域內(nèi)部具有一致的屬性。而且這樣的劃分可根據(jù)實際情況通過從灰度級出發(fā)選取一個或多個閾值來實現(xiàn)。閾值分割以其計算簡單、運算效率較高、速度快的優(yōu)點,被應用于多個領域,成為圖像分割中最基本和應用最廣泛的分割技術。
常用的閾值分割算法有很多種,大致可以分為兩大類:全局閾值分割法和局部閾值分割法。
全局閾值分割方法在圖像處理中應用比較多,它在整幅圖像內(nèi)采用固定的閾值分割圖像。根據(jù)閾值選擇方法的不同,可以分為迭代閾值分割法、最大類間方差閾值分割法、最大熵分割法、模糊閾值分割法、共生矩陣分割法、區(qū)域生長法等。這些方法都是以圖像的灰度直方圖為研究對象來確定分割的閾值的。
局部閾值分割法就是將原始圖像劃分成多個較小的子圖像,對每個子圖像選取相應的閾值進行圖像分割。在閾值分割后,相鄰子圖像之間的邊界處可能產(chǎn)生灰度級的不連續(xù)性,因此需用平滑技術進行排除。局部閾值法常用的方法有灰度差直方圖法、微分直方圖法。
雖然局部閾值分割法能改善分割效果,但是其在使用過程中有很多局限性,比如子圖像大小選擇要合適,不能太小,還要盡量保證子圖像不要完全落入目標區(qū)域或背景區(qū)域,否則會帶來更多無用的干擾信息,另外,其分割速度慢,無法適應實時性要求。本文著重對幾種全局閾值分割算法進行研究。
經(jīng)典的閾值分割算法是以圖像的灰度直方圖為研究對象的,尤其適用于具有雙峰直方圖的圖像,雙峰直方圖如圖1所示,對于這樣的圖像,分割閾值可以選擇直方圖的兩個波峰間的波谷所對應的灰度值作為分割的閾值。
圖1 原圖、直方圖及閾值T分別為35、70、105的分割圖象
但是,簡單的選取波谷所對應的灰度值作為閾值進行圖像分割很多時候并不能得到正確的分割效果,以波谷的灰度值為閾值,有時也并不能將目標和背景圖像分開,而且,通常情況下的灰度圖像也不一定都具有典型的雙峰直方圖?;诖?,學者們采用不同的方法對閾值選擇進行研究,形成了不同的閾值分割算法。
迭代閾值圖像分割算法假設圖像中出現(xiàn)了兩種主要的灰度區(qū)域,那么就可以通過反復迭代選取一個最優(yōu)閾值,將圖像分為兩部分[2]。具體算法描述如下:
(1)為全局閾值選擇一個初始估計值T(圖像的平均灰度)。
(2)用T分割圖像。產(chǎn)生兩組像素:G1由灰度值大于T的像素組成,G2由小于等于T像素組成。
(3)計算G1和G2像素的平均灰度值m1和m2。
(4)計算一個新的閾值:T1=(m1+m2)/ 2。
(5)計算連續(xù)兩次的閾值差:△T=|T-T1|,T=T1。
(6)重復步驟(2)到(4),直到連續(xù)迭代后的T1值和T值間的差△T為零或小于某個精度要求的數(shù)值。
最大類間方差閾值分割算法又叫大津法,簡稱OTSU,是由日本學者大津于1979年提出的,是一種自適應的閾值確定方法[3]。大津算法的幾個常用公式如下:
假設T為目標與背景的分割閾值,目標所包含的像素點數(shù)為N0,占圖像比例為w0,平均灰度為u0;背景所包含的像素點數(shù)為N1點數(shù)占圖像比例為w1,平均灰度為u1,圖像的大小為M×N,則有:
w0=N0/(M×N)。
(1)
w1=N1/(M×N)。
(2)
N0+N1=M×N。
(3)
w0+w1=1。
(4)
圖像的總平均灰度為:
u=w0×u0+w1×u1。
(5)
某一分割閾值T所對應的目標和背景的類間方差公式表示為:
g=w0×(u0-u)2+w1×(u1-u)2。
(6)
T值取從最小灰度值直到最大灰度值的不同值時,圖像的類間方差值也不盡相同,求得使公式(6)最大類間方差最大的T的取值,就是最大類間方差閾值分割算法的最佳閾值。因為方差是灰度分布均勻性的一種度量,方差值越大,說明構成圖像的兩部分差別越大,當部分目標錯分為背景或部分背景錯分為目標都會導致兩部分差別變小,因此使類間方差最大的分割意味著錯分概率最小[4]。
熵的概念是1850年由德國物理學家魯?shù)婪颉た藙谛匏故状翁岢龅?,它用來表示能量在空間中分布的均勻程度,能量分布得越均勻,熵就越大。在數(shù)字圖像處理和模式識別領域應用廣泛,用以表征信息量的大小。
假設p0,p1,p2,p3,…,pm-1分別為圖象灰度值為0,1,2,3,…,m-1的像素點出現(xiàn)的概率,則某一灰度i的信息熵Hi為:
Hi=pi×lnpi,i=0,1,2,…,m-1。
(7)
。
(8)
假設n0,n1,n2,n3,…,nm-1分別為灰度值為0,1,2,3,…,m-1的像素點出現(xiàn)的次數(shù),則某一灰度值出現(xiàn)的概率Pi為:
Pi=ni/(M×N),i=0,1,2,…,m-1。
(9)
(10)
其中,M為灰度圖象的行數(shù);N為灰度圖像的列數(shù);m為圖像的灰度級數(shù)。
用一維最大熵閾值分割圖象,就是選取一個閾值,把圖象分成目標和背景兩部分,使得一維灰度統(tǒng)計的信息含量最大,信息含量用熵來表征。假設灰度直方圖中,灰度低于閾值T的為目標區(qū)域,高于閾值T的為背景區(qū)域,則各概率在本區(qū)域的分布分別為:
目標區(qū)域:
。
(11)
Pi=pi/po,i=0,1,2,…,T。
(12)
背景區(qū)域:
。
(13)
Pi=pi/pb,i=T+1,T+2,…,m-1。
(14)
則對于數(shù)字圖像而言,目標和背景區(qū)域的熵分別為:
(15)
(16)
所以整幅圖像的熵為:H=H0+Hb。
(17)
一維最大熵閾值分割算法就是對于圖象求取灰度閾值T,使得H可以取得最大值[5-6]。
圖2給出了運用閾值分割算法進行木材表面缺陷分割的詳細流程。首先利用儀器設備獲得木材表面缺陷彩色圖像,將彩色圖像轉化為灰度級為255的灰度圖像,然后使用中值濾波算法進行平滑處理,經(jīng)閾值分割算法處理獲得最優(yōu)分割閾值,使用該閾值對平滑后的灰度圖像進行分割得到二值圖像,然后經(jīng)一系列后續(xù)處理最終分割出缺陷所在。
圖2 木材缺陷分割算法流程圖
首先收集和獲取一些木材缺陷樣本彩色圖像,所有算法均在Matlab 2013a軟件環(huán)境下編程實現(xiàn),首先對彩色圖像灰度化處理,然后運用5×5的閾值窗口進行中值濾波,得到的圖像經(jīng)過閾值分割算法獲得最佳分割閾值以及分割后的區(qū)域圖像。
對3種木板材表面缺陷進行了實驗測試,這三種缺陷分別是蟲眼、死結和活結。具體分割效果如圖3所示,最后的二值圖像即為分割圖像,其中黑色部分為缺陷所在的具體位置。
通過對幾種木板材表面缺陷圖像的大量實驗研究,得出3種算法對于缺陷區(qū)域和背景區(qū)域具有較強對比度的圖像具有非常好的分割效果,比如蟲眼一般都呈現(xiàn)一塊黑色的暗斑,死結的周圍一般也會有一圈暗色區(qū)域,對于這兩種木板材表面缺陷,3種算法能夠準確的分割出來。而對于活結來說,活結部位的灰度值與正常部位灰度值相近,只是紋理的走向稍有不同,此種情況下,最大熵閾值分割算法的分割效果變差,只能夠分割出活結部位的裂紋,而迭代閾值分割算法分割效果稍好,不過分割出的活結多呈現(xiàn)環(huán)形嵌套的紋理區(qū)域,最大方差閾值分割效果最好。從圖3中也可看出,最大熵閾值分割對圖像的灰度明暗對比度較敏感,而最大方差閾值分割能較好的反映圖像的區(qū)域特征,迭代閾值分割則介于兩者之間。另外,如果木板材表面紋理較淺,該算法能夠很好的將其分割。如果活結部位與正常部位灰度差異不大,而且木板材又含有較深的表面紋理,那么該算法就會錯誤地將木板材的暗紋分割為缺陷區(qū)域。
圖3 三種分割算法對三種木材缺陷的分割效果對比
雖然,最大方差閾值分割算法是3種閾值分割算法中性能最好的一個,但是不難看出其分割效果并不是很理想,由于目標和背景區(qū)域的對比度的變化,該算法雖然能準確的定位出目標區(qū)域,但很多時候不能完全準確的將目標和背景分離,基于此,需要對分割算法進行進一步改進。改進算法的流程如圖4所示。
跟據(jù)流程圖我們很清晰的看出,算法的改進之處在于首先通過最大方差閾值分割算法尋找到最初的最優(yōu)閾值,然后根據(jù)此閾值對圖像的灰度級進行壓縮,然后再次拉伸灰度級,目的在于增強目標和背景區(qū)域的對比度,從而為最大方差閾值分割算法的二次尋優(yōu)和圖象分割作鋪墊。
假設中值濾波后原圖像的灰度級為255,第一次最大方差閾值分割算法得到的最優(yōu)閾值為T,則圖像灰度級的壓縮公式定義如下:
圖4 改進的木材缺陷分割算法流程圖
(18)
Xmax=[T*1.5]。
(19)
Xmin=[T/2]。
(20)
其中,Xmax是圖像灰度級壓縮后的最大灰度值;Xmin是圖像灰度級壓縮后的最小灰度值;G(i,j)代表原圖像中位于第i行、第j列的像素點的灰度值,[]表示取整。顯然,灰度級壓縮后的圖像的某些灰度值會消失。
為了增強目標和背景區(qū)域的對比度,還要對灰度級壓縮后的圖像進行灰度級拉伸。此處選用線性拉伸方法,即原圖像的灰度級和拉伸后的圖像灰度級呈線性關系。設原圖像灰度級用變量X表示,相應的拉伸后的圖像灰度級用變量Y表示,則:
(21)
由此可得,灰度級拉伸后的圖像的灰度級為:
(22)
其中,Ymax為灰度級拉伸變換之后期望的圖像的灰度最大值,Ymin為灰度級拉伸變換之后期望的圖像的最小灰度值。
令:
則:
Y=aX+b。
(23)
顯然,這是一條以a為變換斜率,以b為基數(shù)得線性變換函數(shù),當a>1時,圖像的灰度級得到拉伸。運用公式23可以對圖像灰度級進行合理調(diào)整。
灰度級拉伸之后,圖像中目標和背景區(qū)域的對比度得到大大增強,再次運用最大方差閾值分割算法對圖像進行分割,然后對分割圖像進一步處理,主要是去除小塊區(qū)域,填充分割圖像的孔洞,則可得到木材缺陷的分割圖像。選取蟲眼、活節(jié)和死節(jié)三種典型的木材缺陷對算法進行實驗,其具體分割效果對比如圖5所示:
通過幾種木材缺陷的閾值分割算法的比較,得出最大方差閾值分割算法分割效果較好,但是在某些情況下也有一定的局限性,尤其對于目標和背景區(qū)域?qū)Ρ榷炔幻黠@時,其分割效果的準確性大大降低。為解決這一問題,通過對原始圖像灰度級的壓縮和拉伸,使得圖像的目標和背景區(qū)域的對比度得到增強,進而使得最大方差閾值分割算法的分割效果得到很大改善。但是,這些都只是基于圖像灰度直方圖基礎上的,是一維閾值分割算法的應用研究。
圖5 改進算法對3種木材缺陷的分割效果對比
【參 考 文 獻】
[1] 馬大國,馬 巖,姜新波,等.基于LS-SVM的木材表面缺陷網(wǎng)格化檢測[J].林業(yè)科技開發(fā),2012,26(6):73-76.
[2] 汪丹平,唐 勇.基于直方圖的迭代式自動閾值分割技術研究[J].軟件導刊,2011,10(8):32-33.
[3] 吳東洋,葉 寧,徐 波,等.基于Otsu算法的木材缺陷圖像分割[J].計算機與數(shù)字工程,2012,40(10):116-118.
[4] 呂行軍,韓憲忠,王克儉,等.基于最大方差閾值法的火車票圖像二值化處理[J].計算機應用與軟件,2012,29(7):249-253.
[5] 王克奇,馬曉明,白雪冰.基于分形理論和數(shù)學形態(tài)學的木材表面缺陷識別的圖像處理[J].森林工程,2013,29(2):48-52.
[6] 李 瑱,夏良正,顧宗愨.一種新的二維最大熵圖像閾值分割算法[J].南京航空航天大學學報,1994(26):151-157.