汪 濤,成孝剛,李德志,呂泓君,李海波
(南京郵電大學(xué) 通信與信息工程學(xué)院,江蘇 南京 210003)
葉脈是植物的重要器官之一,其特征直接反映了樹葉的生長狀態(tài)[1-2]。目前,國內(nèi)外的學(xué)者從不同角度對葉脈特征進(jìn)行研究。李燦燦等[3-4]利用基于K-means聚類算法和基于改進(jìn)的Sobel算子和色調(diào)信息相結(jié)合的方法提取葉脈;張金瑞[5]利用基于數(shù)字圖像處理技術(shù)提取了毛白楊的葉面積等特征;余孝源等[6]針對葉片主莖脈與次莖脈之間的節(jié)點分部信息進(jìn)行提??;金秋春等[7-8]對HIS顏色空間中植物葉脈信息進(jìn)行提取,將多方向Top-Hat變換應(yīng)用到葉脈特征提取中;Cope等[9]運用蟻群算法對樹葉的葉脈進(jìn)行提?。煌鯐詽嵉萚10-11]設(shè)計了基于凸包的植物葉鋸齒方法,并對多種葉片進(jìn)行檢測?,F(xiàn)有算法無法適應(yīng)大批量樹葉的處理,這導(dǎo)致部分基因研究團(tuán)隊仍然采用人工測量方法。由此,亟待一種智能化的葉脈特征提取算法,以輔助植物基因研究。
文中提出一種基于霍夫變換[12-13]的葉脈特征提取算法。通過霍夫變換尋找主葉脈位置,判定其頂端和底端。通過角點檢測,得到主葉脈和次葉脈的交叉坐標(biāo),繼而得到主次葉脈的細(xì)節(jié)特征,并在此基礎(chǔ)上計算對應(yīng)角度。文中的主要貢獻(xiàn)在于:將霍夫變換與角點檢測相結(jié)合,應(yīng)用于樹葉主次葉脈提?。粦?yīng)用海量葉片掃描數(shù)據(jù),對算法進(jìn)行驗證。
文中主要利用霍夫變換對樹葉主莖脈進(jìn)行直線檢測?;舴蜃儞Q的原理是當(dāng)圖像平面上所有的點都對應(yīng)到參數(shù)平面上,如果有不同的點進(jìn)行變換后的曲線交于同一點,那么可以認(rèn)為這些點通過原始平面內(nèi)的同一條直線??梢约僭O(shè)一個閾值,若交于某一點的曲線大于規(guī)定的閾值,則可認(rèn)定這個交點為原始平面上的一條直線。
在求取樹葉主莖脈與次莖脈形成的夾角時,需要尋找角點,即主次葉脈的交叉點。文中主要運用Harris角點檢測的思想[14-16]。角點檢測的具體步驟為:(1)計算圖像一階高斯偏導(dǎo)數(shù)IX與IY;
(3)對步驟2的三個值進(jìn)行高斯模糊,得到SXX,SYY,SXY;
(4)定義Harris矩陣,計算矩陣特征值;
(5)計算R值,R=detM-K(traceM)2,其中detM=λ1λ2,traceM=λ1+λ2;
(6)使用3*3或者5*5的窗口,實現(xiàn)非最大值壓制。
該算法的研究主要分為三個部分:主次葉脈坐標(biāo)提?。恢魅~脈與葉片邊界角度提?。恢鞔稳~脈夾角提取。具體闡述如下:
首先使用Canny、Sobel、Roberts三種邊緣檢測算子獲取圖像的間斷邊緣;然后利用形態(tài)學(xué)膨脹方法將邊緣間斷處連接;繼而將膨脹邊緣圖像骨架化,細(xì)化到一個像素寬度的連續(xù)邊緣圖;接著去除圖像骨架化過程中形成的毛刺;最后得到樹葉葉脈和邊界的輪廓坐標(biāo)。預(yù)處理后得到了一個樹葉邊緣輪廓以及主莖脈與次莖脈的圖,如圖1所示。
圖1 葉片骨架化效果
通過圖中發(fā)現(xiàn),使用Canny算子提取樹葉主次莖脈的效果最好。
文中利用霍夫變換來檢測樹葉中的主莖脈的近似位置。通過提取的樹葉邊緣坐標(biāo)找到與主莖脈距離最近的點,即樹葉的頂端和底端坐標(biāo)。接著,以頂點和底點為起點向樹葉兩側(cè)使用區(qū)域增長法找到邊緣坐標(biāo)。最終得到葉片邊緣與主莖脈形成的四個夾角。
在此過程中,首先通過角點檢測得到圖像上的候選角點,繼而篩選出位于主葉脈上的關(guān)鍵角點,即主葉脈和次葉脈的交叉點。接著通過判斷候選角點與Hough變換檢測直線的兩個端點是否近似在一條直線以確定目標(biāo)角點的坐標(biāo)。針對每一個角點提取周圍一塊區(qū)域,使用區(qū)域增長法找到鄰近的主莖脈與次莖脈。根據(jù)已提取的主莖脈和次莖脈進(jìn)行角度計算。算法的詳細(xì)步驟如下:
算法:基于霍夫變換和角點檢測的葉脈特征提取算法。
輸入:1 200棵白楊樹(12 000片樹葉)。
輸出:單個樹葉主葉脈與樹葉邊界角度、主次葉脈夾角。
(1)預(yù)處理。
濾除噪聲并二值化;
Canny邊緣檢測獲取樹葉邊緣;
獲取樹葉邊界和葉脈坐標(biāo)。
(2)主葉脈與樹葉邊界角度提取。
利用霍夫變換檢測樹葉主莖脈;
搜索樹葉頂端和底端坐標(biāo);
利用區(qū)域增長法搜索以頂點和底點為起點的邊緣坐標(biāo)。
(3)主次葉脈及其角度提取。
角點檢測搜索候選角點;
篩選出主葉脈與次葉脈相交的角點;
針對每一個角點利用區(qū)域增長法找到鄰近的主次葉脈坐標(biāo)。
利用Matlab和Python對算法進(jìn)行驗證。計算硬件信息如下:CPU i7-6700HQ 2.60 GHz,顯卡NVIDIA GeForce GTX 960M,顯存2 GB,內(nèi)存8 GB。用于算法驗證的白楊樹葉來自瑞典等國家,共計12 000片(1 200棵樹*10片/棵)。實驗結(jié)果顯示良好,能夠提取樹葉的主次葉脈坐標(biāo)和角度特征參量。下面給出了一組樹葉中的部分效果圖。圖2為樹葉灰度化后的效果,圖中直線為霍夫變換找到的近似主莖脈的直線;圖3是主莖脈與次莖脈形成的角度效果;圖4是主莖脈與樹葉邊緣形成的角度效果。
圖2 樹葉灰度化效果
圖3 主莖脈與次莖脈夾角效果
綜上,文中算法可以得到葉脈角度的信息。在實驗中,對葉片的角度信息進(jìn)行了主觀評測,用以衡量算法的準(zhǔn)確性。表1給出了圖3中各角度參量,每一行下方給出了相應(yīng)的主觀評測數(shù)據(jù)。由上至下編號為1,2,3,4。此外,表1也分別給出了用Sobel、Roberts兩種算子提取的骨架形成的主次葉脈夾角的度數(shù),用以進(jìn)行比較。表2給出了圖4中各角度的參量,每一行下方給出了相應(yīng)的主觀評測數(shù)據(jù)。根據(jù)左上方,右上方,左下方,右下方角度的順序依次編號為1,2,3,4。角度單位均為角度制。
注:‘/’表示用該算子無法求出角度;‘N’表示沒有該角。
表2 主葉脈和葉片邊緣角度數(shù)據(jù)
根據(jù)表1、表2的數(shù)據(jù),繪制如圖5、圖6的折線圖,以比較各算子計算度數(shù)的準(zhǔn)確度。
圖6 主葉脈和葉片邊緣角度誤差比較
通過圖5發(fā)現(xiàn),在用三種不同算子計算角度時,由于Sobel、Roberts算子骨架化的效果較差,有些角度出現(xiàn)丟失,并且角度與主觀評測的誤差較大。而Canny算子的效果最好,與主觀評測的誤差最小。表2的實驗結(jié)果也與主觀評測的結(jié)果誤差較小。需要說明的是,在海量的算法驗證過程中,也出現(xiàn)了一些效果不理想的圖片,如圖4(a)所示??梢钥闯鲈跍y量樹葉頂部角度時,由于頂點坐標(biāo)選取的誤差導(dǎo)致角度的檢測并不精確。隨機抽取100張圖片,這種情況的概率為5%。這對于海量數(shù)據(jù)的檢測而言,已經(jīng)能夠滿足應(yīng)用需求。這也將成為后續(xù)改進(jìn)的方向。
采用霍夫變換對主葉脈進(jìn)行檢測,然后搜索樹葉頂點和底端坐標(biāo),繼而通過角點檢測法篩選出主次葉脈的交點,最后提取所有主次葉脈坐標(biāo)和角度特征信息。文中的研究對象是瑞典的白楊樹葉片,葉片數(shù)據(jù)經(jīng)過10年的采集,共計12 000片。實驗表明,該方法在提取角度以及主次葉脈信息方面效果良好。存在的局限性是該方法是否適用于其他種類的樹葉。同時,實驗中也出現(xiàn)了一些效果不好的情況,一方面在提取樹葉特征時效果還可以進(jìn)一步完善,另一方面是在提取角點以及尋找頂點底端坐標(biāo)時出現(xiàn)的誤差,還有待后續(xù)的改進(jìn)。另外,利用深度學(xué)習(xí)進(jìn)行訓(xùn)練,提取葉脈的相應(yīng)信息,將是非常有意義的嘗試。這些都將成為后續(xù)努力的方向。