張 露, 郭清宇, 梁靜靜, 劉衛(wèi)光
(中原工學(xué)院 計算機學(xué)院, 河南 鄭州 450007)
樹木是人類生態(tài)環(huán)境的重要組成部分,它的生長過程與氣候環(huán)境變化息息相關(guān),不同的光照、氣溫、降水量等會造成樹木年輪的差異。樹木的年輪常作為測定一顆樹的樹齡的依據(jù)。由于樹木年輪具有易于獲取、分辨率高、連續(xù)性強、定年準確等特點,其廣泛應(yīng)用于樹木年代學(xué)、生態(tài)學(xué)和城市樹木存活質(zhì)量研究等方面[1-2]。傳統(tǒng)的樹齡分析方法主要采用人工讀取年輪數(shù)、年輪寬度等參數(shù)值,這種處理方法復(fù)雜繁瑣、效率低下、容易出現(xiàn)誤差,尤其針對大量樣本時,測量的準確性會大大下降。
隨著計算機視覺學(xué)科的快速發(fā)展,利用該學(xué)科中的圖像處理技術(shù)(包括灰度化、圖像濾波、邊緣提取、圖像分割等)對年輪圖像進行處理,可得到年輪參數(shù)[3]。CERDA等提出了一種高效的年輪提取方法,該方法對噪聲有較強的抗干擾性,可以有效地提取年輪圖像的輪環(huán)[4]。MEENAKSHISUNDARI等對比了Sobel、Prewitt、Roberts、Canny等算子對年輪圖像的提取效果,發(fā)現(xiàn)使用Canny算子從年輪圖像中提取輪環(huán)的效果較好[5]。NORELL設(shè)計開發(fā)了一個可以自動檢測識別年輪輪環(huán)的系統(tǒng),利用圖像處理技術(shù)自動完成對年輪數(shù)的統(tǒng)計[6]。趙娟娟等將數(shù)字圖像處理技術(shù)與AutoCAD結(jié)合,有效地對年輪寬度進行了測量[7]。陳佶將統(tǒng)計學(xué)中的知識應(yīng)用到圖像處理中,相比傳統(tǒng)方法,其準確率得到了顯著提升[8]。王燕鳳等對Canny算子進行了改進,結(jié)合雙邊濾波算法對年輪邊緣進行提取,得到了清晰、光滑、準確的年輪邊緣;并提出了一種基于多數(shù)投票的樹齡統(tǒng)計方法[9]。朱琪對圖像預(yù)處理算法進行了改進,并結(jié)合自動區(qū)域生長算法直接實現(xiàn)了對彩色年輪圖像的分割,快速有效地提取到輪環(huán)[10-11]。
本文基于DoG(Different-of-Gaussian)算子,對高斯濾波卷積時的運算方式進行改進,對比不同尺寸的高斯卷積核對年輪圖像的處理效果,并通過對年輪圖像中的邊緣數(shù)量進行統(tǒng)計,實現(xiàn)樹齡測量。
年輪是樹木在生長過程中形成的。一年四季中,由于春夏季節(jié)雨水較多,樹木生長較快,形成層快速分化,該階段所形成的木質(zhì)被稱為早材(也叫春材);進入秋冬季節(jié)后,雨水減少,樹木生長變慢,形成層分化變慢,該階段所生成的木質(zhì)較少且顏色變深,被稱為晚材(也叫秋材)。圖1所示為樹木的部分年輪圖,中間的圓環(huán)部分為髓心,早材、晚材在髓心外圍交替出現(xiàn),形成不規(guī)則的輪環(huán),早材、晚材加起來即是一個完整的年輪。在樹木生長過程中,前一年生成的晚材和后一年生成的早材在顏色上會有一條明顯的區(qū)別線,該區(qū)別線即為年輪線。兩條相鄰的年輪線構(gòu)成一個完整的年輪。對年輪圖像的研究就是利用圖像處理技術(shù)(灰度化、圖像濾波、邊緣提取等)完成對年輪線的提取,從而更方便地統(tǒng)計年輪數(shù)、年輪寬度等參數(shù)。但通常情況下,獲取的年輪圖像會受到鋸痕、色斑、節(jié)子等因素的影響,給提取年輪線帶來困難。
圖1 年輪圖像示意圖
在計算機視覺中,二維高斯濾波使用的高斯函數(shù)為兩個一維高斯函數(shù)的乘積,其中兩個一維高斯函數(shù)的標準差σ通常相同,形式如下:
(1)
(2)
其中:式(1)表示一維高斯函數(shù);式(2)表示二維高斯函數(shù);σ為標準差,通過調(diào)整σ的值可以調(diào)整周圍像素對當前像素的影響程度。
對圖像進行高斯濾波,就是用某一尺寸的高斯卷積核與要處理的圖像進行卷積運算,遍歷整個圖像,形式如下:
g(x,y)=G(x,y)*f(x,y)
(3)
式中:f(x,y)表示要處理的圖像;G(x,y)表示高斯卷積核;*表示卷積操作;g(x,y)表示卷積后的圖像。
DoG(Difference of Gaussian)是高斯函數(shù)的差分,Gaussian是一個正態(tài)分布函數(shù)。在數(shù)字圖像中,圖像邊緣的形成通常是由于圖像中相鄰像素的灰度值突然變化所致。通過在不同參數(shù)下對圖像進行濾波處理,可得到邊緣灰度值不同的圖像,相減即可得到DoG算子的響應(yīng)圖像,進而得到圖像的邊緣[12]。
在DoG算子中,高斯函數(shù)定義同式(2)。
用參數(shù)值分別為σ1、σ2的高斯函數(shù)與要處理的圖像f(x,y)進行卷積操作,可以得到如下兩幅圖像:
g1(x,y)=Gσ1(x,y)*f(x,y)
(4)
g2(x,y)=Gσ2(x,y)*f(x,y)
(5)
將g1(x,y)和g2(x,y)相減,可得響應(yīng)圖像F(x,y):
F(x,y)=g1(x,y)-g2(x,y)=
Gσ1(x,y)*f(x,y)-Gσ2(x,y)*f(x,y)=
(Gσ1(x,y)-Gσ2(x,y))*f(x,y)=
DoG*f(x,y)
(6)
所以,DoG算子可以表示為:
(7)
利用DoG算子進行邊緣提取,其流程如圖2所示[13]。
通過濾波算法,可以對圖像進行增強。對于高斯濾波,卷積核的大小和圖像增強效果有直接的關(guān)系。若選擇的卷積核過小,則噪聲處理效果不好;若卷積核過大,則會造成圖像邊緣模糊、運算量大、算法時間復(fù)雜度高等問題。
本文將對高斯濾波算法的運算過程進行改進,對圖像作二維高斯濾波,設(shè)卷積核的半徑為r,結(jié)合式(1)—式(3)可得:
圖2 DoG邊緣提取流程圖
(8)
式中,I(x+u,y+v)表示領(lǐng)域中像素的灰度值。
對于M×N大小的圖像f(x,y),卷積核的大小為(2r+1)×(2r+1),由式(8)可知,需要進行(2r+1)×(2r+1)×M×N次乘法和((2r+1)×(2r+1)-1)×M×N次加法操作。將式(8)的計算過程進行轉(zhuǎn)化,可得:
(9)
由式(9)可知,二維高斯濾波的計算過程,可以轉(zhuǎn)換為先在水平方向上做一維高斯卷積運算,再在運算結(jié)果上做豎直方向上的一維高斯卷積運算。這樣對于M×N大小的圖像f(x,y)來說,需要進行(2r+1)×2×M×N次乘法和(2r+1-1)×2×M×N次加法操作,算法時間度是之前的2/(2×r+1),降低了運算復(fù)雜度。與傳統(tǒng)的高斯濾波算法相比,該算法減少了運算次數(shù),時間復(fù)雜度得到了優(yōu)化。
選取3張不同的樹木年輪圖片(見圖3)進行實驗。在利用DoG算子對樣本圖像進行邊緣提取前,需要先對其進行預(yù)處理,將其轉(zhuǎn)化為灰度圖像(見圖4)。
圖3 樣本圖像
圖4 灰度化后的圖像
使用DoG算子對圖4中灰度化后的年輪圖像進行邊緣提取操作,得到的結(jié)果如圖5—圖7所示,其中卷積核的大小分別為5×5、3×3、7×7,σ1=0.8,σ2=1 。圖5—圖7中(b)、(c)分別為圖4中(b)、(c)經(jīng)實驗處理后部分放大的效果圖,從中可以看到年輪線被很好地提取出來。
圖5 卷積核大小為5×5的年輪邊緣提取圖像
圖6 卷積核大小為3×3的年輪邊緣提取圖像
圖7 卷積核大小為7×7的年輪邊緣提取圖像
對比圖5與圖6可以看出,當卷積核的尺寸較小時,經(jīng)DoG算子處理后,依然存在較多的噪聲,這對后續(xù)的年輪參數(shù)的提取有可能造成影響。對比圖5和圖7可以看出,圖像處理效果大致相同,但由于卷積核變大,運算量增加,處理速度變慢。所以,本文在年輪圖像邊緣提取時選擇5×5大小的卷積核。
在年輪圖像中,對樹齡的測量就是對圖像邊緣數(shù)量的統(tǒng)計。通過前面的實驗,可有效提取到年輪圖像的邊緣。以圖3(c)為例,對提取到的邊緣圖像截取以髓心為中心的矩形圖像(見圖8),用于對樹木年輪數(shù)的統(tǒng)計,具體流程為:
圖8 統(tǒng)計年輪數(shù)圖像
(1) 對圖8進行二值化處理,記為BW;
(2) 獲取BW對應(yīng)矩陣的行數(shù)、列數(shù),分別記為m、n(BW對應(yīng)的部分圖像矩陣如圖9所示);
(3) 對矩陣中每行值連續(xù)為1的部分(如圖9中矩形框所示)進行個數(shù)統(tǒng)計,記為Ni;
通過計算,最終測得N=20,即年輪數(shù)為20,與實際情況相同。
圖9 圖像矩陣
本文根據(jù)樹木年輪的圖像特征,提出了基于DoG算子的年輪圖像邊緣提取方法及樹齡測量方法;對高斯濾波的運算過程進行改進,采用5×5大小的卷積核,優(yōu)化了因卷積核大小不合適導(dǎo)致的噪聲多、運算量大、處理速度慢等問題。實驗結(jié)果表明,利用DoG算子可以有效地提取年輪邊緣圖像;利用圖像矩陣的相關(guān)理論對圖像邊緣數(shù)量進行統(tǒng)計,可以準確測量樹齡。但本算法對于由鋸痕較多引起的年輪線模糊的圖像,不能很好地提取邊緣圖像,還有待改進。