陳肖蒙 王 瑜 邢素霞
(北京工商大學計算機與信息工程學院食品安全大數據技術北京市重點實驗室 北京 100048)
植物具有凈化空氣、涵養(yǎng)水源、食用、藥用、觀賞等一系列重要價值,為人類的生存與發(fā)展做出了極大貢獻。植物種類極多,對不同植物物盡其用的前提是對植物進行正確的分類鑒別,不同植物間肉眼可見的區(qū)別主要存在于植物的根、莖、葉、花、果、種子等外觀特征。傳統的分類方法需要人工對植物的外觀特征進行觀測、判斷,十分依賴觀測人員的專業(yè)知識,因此具有一定主觀性且效率較低。由于植物外觀特征能以數字圖片方式獲得,因此借助計算機進行植物自動識別成為植物分類學的發(fā)展趨勢。
在植物的諸多外部形態(tài)特征中,葉片更易于采集,且不同植物的葉片顏色、形狀和紋理都不盡相同,具備較強的區(qū)分性,同時葉片處于平面狀態(tài),適合二維圖像處理,因此是最常用來進行植物分類的依據。大多數研究傾向于對從植株上分離出來的單個葉片進行識別[1-4],其主要思路是提取葉片的形狀特征進行區(qū)分。此類方法對圖像要求極高,不容許有背景干擾、葉片破損等情況,仍需耗費較多人工。為了進一步提高植物識別的效率,研究自然背景下植物整體圖像的識別是十分必要的。人工在野外采集的植物圖像通常背景復雜,且植物枝葉分布具有隨機性,存在葉片重疊現象,難以獲取葉片的完整形狀。由于葉片包含豐富的紋理信息,且葉片紋理的提取不易受葉片重疊的影響,選用紋理特征進行復雜背景下整體植物的識別是可行的。
紋理可以定義為物體視覺或觸覺的表面特征與表觀[5],是高水平解釋和理解自然物體的有力信息。紋理特征在基于單個葉片的植物識別上已有諸多應用[6],并取得較好的效果。常用的紋理特征提取方法有灰度共生矩陣法[7]、分形模型[8]、局部二值模式[9]LBP(Local binary pattern)等。由于復雜植物圖像存在背景干擾等不利因素,葉片區(qū)域在圖像上尺度較小也會導致紋理信息不夠清晰,因此上述傳統的紋理特征方法對復雜植物圖像的識別效果并不理想。為了提高識別率,本文針對復雜植物圖像的特點,提出一種基于小波變換和可變局部邊緣模式[10]VLEP的綠色植物圖像識別方法,同時結合分塊融合和多分辨率融合的思想,使得所提取的圖像紋理特征更加準確、豐富。
人工采集植物圖像時,拍攝距離等因素會影響葉片區(qū)域在圖像上的尺度大小,導致葉片紋理信息不夠清晰,小波變換可以增強紋理基元的有效信息。小波變換能進行時、頻域的局部轉換,有利于提取和分析局部信息。二維小波分解算法[11]的小波函數和尺度函數都是由一維小波函數和尺度函數經過向量積變換得來的,是把尺度j的低頻部分cAj分解成如圖1所示的四部分,包括一個低頻成分和水平、垂直、斜線三個方向的高頻成分。
圖1 一級小波分解后的綠色植物圖像
尺度會隨著j值增加而加倍,但分辨率卻隨之變?yōu)樵瓉淼囊话?,每個層次的變換中,圖像都變成4個原圖像1/4大小的子圖像,具體分解公式如下:
{cAj+1,cHj+1,cVj+1,cDj+1}
(1)
式中:cAj+1表示分解后的低頻分量;cHj+1表示分解后水平方向的高頻分量;cVj+1表示分解后垂直方向的高頻分量;cDj+1表示分解后斜線方向的高頻分量。
(2)
(3)
(4)
(5)
式中:φk代表VLEP的方向角,φk∈θ(1≤k≤m)。m是所有邊緣模式的數目。
為了獲得更緊湊的特征向量,特征空間可以細分,每種類型的邊緣和非邊緣可以更詳細的分類,每種類型的邊緣和非邊緣的細分閾值Vth使用下面的方法計算:
(6)
細分閾值Vth被確定后,每種類型的邊緣或非邊緣可根據閾值Vth進一步分為B種類別。因此,每一個紋理圖像的特征向量的維數λ可以被描述為:
(7)
式中:邊緣VLEP算子是P/2類,非邊緣VLEP算子是P/4類。A是非邊緣VLEP操作方式的數目,具體信息可以查閱文獻[10]。如果在每一個紋理圖像中的同一類型的細分邊緣或非邊緣使用式(4)進行統計,可以獲得如下所示更緊湊的特征向量:
(8)
自然狀態(tài)下采集的植物圖像通常背景復雜,存在許多干擾,如:建筑物、路面等,能有效用于識別的葉片信息分散在局部。對圖像進行均勻分塊處理能使較大面積的干擾區(qū)域細分到各個子塊中,且能獲得若干只包含葉片信息的子塊。利用分塊后所有子塊或部分子塊識別,結果會優(yōu)于未分塊植物圖像。
分塊思想[12]可以應用于任何一種利用直方圖譜特征描述圖像紋理信息的方法。識別前,將圖像均勻分割成若干子塊,每個子塊用行向量表示,所有子塊按一定順序貯存成一個行向量,作為表達原始圖像的特征向量,可以用下式表示:
S=[s1,s2,…,sN]
(9)
式中:N表示子塊的個數,si(i=1,2,…,N)為行向量,表示第i個子塊的直方圖譜特征。
通常,圖像中既包含一些大結構特征,也蘊含一些微小的細節(jié)特征。對于同一幅圖像,支持不同空間范圍(P和R都不同)的紋理算子所涵蓋的信息并不一致,小尺度的紋理算子不足以準確地表達圖像的大結構特征,大尺度的紋理算子容易忽略細節(jié)信息。為了更加完整地描述圖像信息,本文提出融合不同尺度紋理算子的多分辨率思想。VLEP算子采用圓形結構,通過設置不同半徑和近鄰點數目,能獲得不同方向、不同尺度的紋理特征,通過融合不同尺度算子的多分辨率描述子表達圖像的紋理特征,會使所描述的圖像信息更準確、完備。
最近鄰是一種簡單有效的分類準則,它通過計算兩個直方圖之間的距離,如歐氏距離、馬氏距離等,來度量二者的相似性和差異性。本文實驗選用歐氏距離作為衡量準則,如下式所示:
(10)
本文算法的主要流程是:先根據式(1)將植物圖像分解成4幅子圖像,再將每幅子圖像分成兩塊,并使用不同分辨率的VLEP算子對每個子塊圖像進行特征提取,然后將不同圖像塊、不同分辨率的特征向量進行融合,利用融合特征向量進行分類,算法流程如圖2所示。
圖2 算法流程圖
本文算法的部分核心程序如下:
(a) 小波分解核心程序
[c,l]=wavedec2(I,1,′db1′);
%對圖像I用db1小波基函數進行一層分解
A{1}=wcodemat(appcoef2(c,l,′db1′,1),255);
%對低頻系數進行偽彩色編碼
A{2}=wcodemat(detcoef2(′h′,c,l,1),255);
%對高頻系數進行偽彩色編碼
A{3}=wcodemat(detcoef2(′v′,c,l,1),255);
A{4}=wcodemat(detcoef2(′d′,c,l,1),255);
(b) 圖像分塊核心程序
for x=1∶4
I=uint8(A{x});
L=size(I);
height=166;
%設置分塊后圖片高度
width=125;
%設置分塊后圖片寬度
max_row=floor(L(1)/height);
max_col=floor(L(2)/width);
%待分塊圖片為166*250,因此max_row=1,max_col=2
seg=cell(max_row,max_col);
data=[];
for row=1:max_row
for col=1:max_col
seg(row,col)={I((row-1)*height+1:row*height,(col-1)*width+1:col*width,:)};
%對圖像進行分塊,并保存
end
end
(c) VLEP算子核心程序
if (neighbors==8)
%近鄰點為8的VLEP算子設置
LEP_circle =[0 1 1 1 0 -1 -1 -1];
%邊緣VLEP算子
LEP_circle_noedge=[0 -1 0 1 0 -1 0 1];
%非邊緣VLEP算子
b=4;
c=2;
end
if (neighbors==16)
%近鄰點為16的VLEP算子設置
LEP_circle=[0 1 1 1 1 1 1 1 0 -1 -1 -1 -1 -1 -1 -1];
%LEP
LEP_circle_noedge =[0 -1 -1 -1 0 1 1 1 0 -1 -1 -1 0 1 1 1];
b=8;
c=4;
end
本文實驗中所使用的綠色植物圖像來自北京工商大學計算成像實驗室的綠色植物數據庫,共80類植物,每類植物包含15幅圖像,像素為500×331,9幅圖像作為訓練樣本,其余6幅作為測試樣本,故訓練集為720幅植物圖像,測試集為480幅植物圖像。該圖像庫復雜度較高,光照強度、植株數量(多株與單株),以及拍攝的背景、角度、距離等都不相同,這些因素均會增加物種識別的難度,但卻最大限度地接近了物種識別的真實情況,更具實際意義。圖3展示了數據庫中幾幅在不同條件下采集的木槿植物的典型圖例。
(a) 單葉片與多葉片
(b) 強光照與弱光照
(c) 大視角與小視角圖3 綠色植物物種數據庫圖例
為了驗證本文算法的有效性,使用綠色植物數據庫并精心設計了一系列的實驗。實驗的編譯環(huán)境為Matlab2013b,硬件環(huán)境PC機:處理器:Intel(R) Core(TM) i7-4790,CPU@3.60 GHz,內存4.00 GB。
為了驗證閾值細分的作用,選用(P=8,R=1),(P=8,R=2)和(P=8,R=3)三種VLEP算子,并選擇不同閾值數進行了一系列實驗,實驗結果見表1所示。
表1 不同閾值下VLEP算子的識別結果 %
由表1可知,閾值數的選取要適當,閾值數過少或過多都會影響識別率,當閾值數為16時識別率最高。因此,后續(xù)實驗都在閾值數為16的情況下進行。
為了驗證小波的作用,先對原始圖像進行一級小波分解,生成4個子圖像,然后用VLEP算子提取每個子圖像的紋理特征,最后將4個特征向量串聯為一個特征向量,并用于識別。為了驗證分塊的作用,將小波分解后生成的4個子圖像分別均分成2塊,如圖4所示,然后用VLEP算子提取每個圖像子塊的紋理特征,最后將8個特征向量串聯為一個特征向量,并用于識別,識別結果如表2所示 (16細分閾值)。
圖4 綠色植物圖像的分塊圖
識別率(P=8,R=1)(P=8,R=2)(P=8,R=3)小波28.0632.0832.70小波+分塊28.3332.7132.92
將表2與表1對比可知,小波變換能有效提高VLEP算子對復雜植物圖像的識別率。因為小波變換能將圖像紋理信息刻畫得更為清晰,有助于VLEP算子對紋理特征的提取。另外,在小波的基礎上再進行分塊,能進一步提高識別率。
為了驗證不同分辨率VLEP算子對實驗結果的影響,通過設置不同近鄰點P和半徑R,得到不同尺度的識別結果,如表3所示(16細分閾值,一級小波分解,每個子圖像分為2塊)。
表3 不同尺度的識別結果 %
由實驗結果可知:(1) 近鄰點P一定時,R增大,識別率升高,但是當增大到一定程度時,識別率反而會下降。這主要是因為半徑增大,可以獲得更大尺度支持空間內的完整特征信息,但是半徑過大,同時也會增加大尺度錯誤特征信息的概率,以及誤判多種小特征為一種大特征的概率。(2) 半徑R一定時,P=16的識別結果相對較高。因為近鄰點P越大,提取紋理信息的方向越多,細節(jié)信息越豐富,因此可得到更高的識別效果。(3)P、R的取值具有最優(yōu)組合,當P=16,R=5時識別率達到最高,為34.38%。
為了驗證多分辨率融合思想的有效性,對不同尺度的VLEP算子進行加權融合,識別結果如表4所示(16細分閾值,一級小波分解,每個子圖像分為2塊)。
表4 多分辨率融合結果 %
將表4與表3對比可知,不同尺度的VLEP算子融合后,識別率相對于單一尺度算子而言均有不同程度的提高。這主要是因為不同尺度,不同分辨率的算子可以提取不同尺度支持空間和不同方向的特征信息,使特征信息提取更加豐富和完備。值得注意的是,多分辨率融合也有最優(yōu)組合,(P=8,R=1)和(P=16,R=3)兩種VLEP算子融合后的識別率最高,達到了35.83%。
為了驗證本文算法的有效性,相同條件下,在綠色植物數據庫上,使用目前圖像分類效果較好的紋理特征提取算法進行對比實驗,表5列出了方差法[9](Rotation invariant variance)VAR、復合局部二值模式法[13]CLBP(Compound local binary pattern)、局部二值模式傅里葉變換法[14]LBPHF(Local binary pattern histogram fourier)、自適應局部二值模式法[15]ALBP(Adaptive local binary pattern)和本文算法的實驗結果。
表5 對比算法識別率 %
根據表5可知,以上4種對比算法中,當P為16,R為5時,VAR16,5、CLBP16,5、LBPHF16,5、ALBP16,5識別率最高,分別為24.79%、29.58%、29.79%、33.13%。但是,利用本文提出的算法(當加入小波分解和圖像分塊,閾值為16,(P=8,R=1)的算子與(P=16,R=3)算子融合后),識別率可以達到35.83%,證明本文算法的優(yōu)越性。
需要說明的是,現有的植物識別方法大多基于單個葉片的識別,而本文進行復雜背景下植物的識別,屬于細粒度分類的范疇,難度較大,因此,識別率的小幅度提升也非常不容易。實驗結果表明,本文方法與傳統的紋理算子相比,對復雜植物圖像的識別具有一定效果。
本文提出一種基于小波變換和可變局部邊緣模式的綠色植物識別方法。該方法先將圖像利用小波變換進行分解,然后利用可變局部邊緣模式提取圖像紋理特征,并結合分塊和多分辨率思想,進一步改善識別效果。由于可變局部邊緣模式具有多尺度和多方向(多分辨率)屬性,因此可以刻畫紋理的不同局部空間尺度與方向信息,小波變換可以增強紋理基元的有效信息,防止混疊現象,并降低噪聲所帶來的干擾。實驗結果表明,本文提出的方法可以用來快速識別綠色植物物種。未來工作是改進紋理特征提取算法,進一步提升識別的準確率。