王靜文,劉 弘
(山東師范大學 a.信息科學與工程學院;b.山東省分布式計算機軟件新技術重點實驗室,濟南 250014)
葉片是植物進行光合作用、合成有機物質的主要器官,它的生長規律對光能利用、干物質積累等起著顯著作用。面積作為葉片的主要生物學特征之一,與其他的一些特征,如周長、圓形度、彎曲能等一起影響植物生長發育等生命活動[1],因此,如何精確地測量葉片面積日益引起科學工作者的密切關注。結合計算機圖像處理技術,自動準確地提取葉片面積,避免了傳統方法費時、費力的缺點,已經成為當今的一個研究熱點。利用葉片圖像和Image J測定葉片面積[2]是目前生物學研究中使用比較廣泛的一種方法,但該方法人工干預較多,影響了工作效率;計算之前需要對圖像進行灰度化處理,一定程度上影響了測量精度。
通過圖像處理提取目標輪廓時,一般先將彩色圖像轉換成灰度圖像,再使用相應算法提取輪廓。但彩色圖像中大約有 10%的邊緣在灰度圖像中是檢測不到的[3],一般做法將會舍棄圖像中大量的有用信息;并且在彩色圖像灰度化時,陰影顏色較黑,會歸為葉片區域。當前用于提取目標輪廓的一種主流模型是由文獻[4]提出的 Snake,即主動輪廓模型。Snake模型在邊緣檢測、圖像分割中已經有了廣泛的應用和很大的發展。然而,傳統Snake模型主要針對灰度圖像進行處理,它的外部函數不能區分相同灰度的不同顏色,用傳統Snake模型來處理彩色圖像會造成錯誤。
本文提出對標本葉片彩色圖像直接處理從而計算面積,去掉轉化為灰度圖像的中間環節,以提高計算精度。該方法首先提取葉片輪廓,然后構造輪廓的鏈碼表,根據鏈碼計算葉片面積。在提取葉片輪廓時,結合葉片圖像的特點,改進Snake的初值設置方案和外部能量函數。針對傳統Snake模型存在的處理彩色圖像失真的問題,定義一種顏色梯度代替灰度梯度作為外部能量函數,與文獻[5]中定義的顏色梯度相比,本文定義的顏色梯度降低了計算復雜度,提高了效率;針對傳統Snake模型設置初值時需要人工操作、比較繁瑣的問題,提出一種初值設置方案,在角點作為初始輪廓頂點的基礎上通過自適應增加或減少頂點得到接近葉片真實輪廓的初值。
Snake模型的基本思想是將目標輪廓的提取問題轉化為在圖像中尋找一定條件下封閉曲線能量泛函最小的問題。Snake模型的數學描述是尋找一條連續封閉曲線,使式(1)目標函數最小:


實現 Snake模型有 2個步驟:(1)輪廓初始化;(2)通過最小化能量函數使得輪廓演化并收斂到合適的形狀和位置。
本文在設置Snake模型的初值時,為更好地逼近真實輪廓,采用基于目標的角點設置Snake初始輪廓的方法。

其中,Ix為x方向的梯度;Iy為y方向的梯度;G(s)為高斯模板;?為卷積操作;det為矩陣的行列式;tr為矩陣的跡;k為經驗值,一般取0.04~0.06,本文中取k=0.04。若某點的R處于鄰域最大,且大于閾值R0時,判斷該點為角點。
本文在計算葉片面積時,首先利用改進Snake模型提取出標本葉片的輪廓,然后構造輪廓的8方向鏈碼表,最后計算葉片面積。
3.1.1 初值設置方案
基于圖像目標的角點設置Snake模型的初值,首先提取圖像目標的角點,在 HSI空間的亮度分量I中利用Harris算子提取角點,因為彩色圖像的亮度信息I一定程度上反映了圖像各部分之間的明暗對比情況;然后將角點作為 Snake初始輪廓的頂點,并且根據自適應算法增加或減少頂點;最后將連接頂點的多邊形作為 Snake的初始輪廓,如圖1所示。

圖1 Snake初值設置
由于已經有一部分頂點在初始輪廓上,非常接近真實輪廓,因此Snake模型只需向內搜索能量極小點,既減少了計算量,又克服了Snake模型易收斂至局部極小值的缺陷。其中,自適應增加、減少頂點的算法如下:
(1)增加頂點:當2個相鄰角點的連線在輪廓內側時(如圖 1(a)所示),分別求出過這 2點的切線,將這2條切線的交點作為新增的頂點。葉片輪廓是不規則曲線,因此,不能用一般方法求過角點的切線。在角點的5×5鄰域內用B樣條曲線擬合,從而求出過角點的切線。在圖 1(b)中,新增加的頂點為 P1、P2、P3、P4。
(2)減少頂點:當2個相鄰頂點的距離小于預定的門限時,用它們的中間點代替這2個頂點。
判斷頂點 Pi( x, y)鄰域的凹凸性的方法如下:
定義曲線的正向為沿邊界運動時,包圍區域在其 左 側 。 設 ▽x1=xi? xi?1, ▽x2= xi+1? xi, ▽y1=yi?yi?1, ▽y2= yi+1?yi, φ=▽ x1▽ y2? ▽ x2▽ y1, 若φ< 0,則 Pi的鄰域為凹區域;若φ>0,則 Pi的鄰域為凸區域;φ=0,則Pi?1、iP、Pi+1共線。
3.1.2 顏色梯度的求解
本文采用顏色梯度來代替灰度梯度作為Snake的外部能量函數。像素點的灰度梯度值反映了該像素點與鄰域像素點的灰度差別,目標或背景內部灰度分布比較均勻,因而梯度值普遍較小。而在邊緣處,即目標與背景相交的部分,梯度值較大。設函數f(x, y)表示圖像中坐標為(x, y)的像素點的灰度值。對于函數f(x, y),在其坐標(x, y)上的梯度定義為一個二維向量[9]:

泰勒級數分析表明對相鄰點進行差分處理可以用來估算點的一階導數,其誤差為O(Δx)。因此,在圖像處理中,常用差分代替微分,并利用小區域模板和圖像卷積來近似計算梯度值。對Gx和Gy可以采用不同的模板計算,采用Roberts模板計算梯度為:

與灰度梯度的原理類似,顏色梯度是彩色圖像中顏色變化的一階導數,因此可以用相鄰像素顏色的差分來近似。首先,定義HSI顏色空間中的顏色距離。在 HSI顏色空間中,亮度分量與圖像的彩色信息無關;色度分量與飽和度分量和人感受彩色的方式緊密相連,對于區分不同的顏色非常有用,并且色度分量和飽和度分量是相關的。HSI空間中的歐式幾何距離如圖2所示。

圖2 HSI空間中的歐式幾何距離
在圓形彩色平面上,角度H是色度分量與紅色軸之間的夾角,S值是每個像素的飽和度的大小。假設2個像素的亮度分量相等,那么這兩個像素的色度差,可以通過平面幾何的余弦定理求得:

因此,在HSI顏色空間中兩點的歐氏距離為:



然后,采用Sobel邊緣檢測算子[10]進行差分計算,設輪廓線上第i個像素iP坐標為(x, y),其顏色梯度為▽ G( x, y),向量 Cx,y=(Ix,y,Sx,y,Hx,y)為像素(x, y)的 HSI顏 色 向量 , Cx–1,y=Cx–1,y–1+2Cx–1,y+Cx–1,y+1 , Cx+1,y=Cx+1,y–1+2Cx+1,y+Cx+1,y+1,則像素 iP的顏色梯度的水平分量▽x為Cx–1,y和 Cx+1,y的加權歐式距離:

同理可得顏色梯度的垂直分量▽y,則顏色梯度▽G( x, y)有如下定義:

最后,用▽G( x, y)代替灰度梯度作為Snake的外部能量函數,即:

采用 Williams和 Shah[11]提出的貪心算法實現Snake模型,該算法的輪廓最優化過程是一個迭代求解的過程,通過對輪廓點周圍的局部近鄰進行檢索選取具有更小Snake模型能量的新輪廓,從而對Snake模型進行演變。用改進的Snake模型提取標本葉片輪廓,由圖3可知,改進的Snake模型排除了陰影區域,保留了原來葉片圖像的細節,比傳統模型提取的輪廓更加精確,保證了接下來計算葉片面積的準確性。

圖3 提取的葉片邊緣比較
為了提高面積計算的精確度,本文使用8方向鏈碼(如圖4所示)計算葉片面積。

圖4 8方向鏈碼
通過改進Snake模型得到葉片輪廓后,構造葉片輪廓的8方向鏈碼表,算法描述如下:
(1)找到一起始點(i, j),以其為中心點依次搜索(i+1, j),(i+1, j+1)…找到目標點后即停止本次搜索,取得第一個鏈碼數字,該目標點設置為下一中心點。
(2)設中心點為(x,y),依次搜索(x+1,y),(x+1,y+1)…找到目標點后判斷其是否為上一點,如果是則繼續搜索;如果不是,則判斷其是否為起點(i, j),如果不是則停止本次搜索,取得鏈碼數字,把該像素設置為下一個中心像素,繼續執行(2);如果是起始點,則結束全部搜索,然后返回鏈碼表。
得到鏈碼表后,使用類似數學上定積分求面積的方式,分別求 2段邊界對 y軸所圍的面積的和(根據邊界的方向有正負)。設屏幕左上角為坐標原點,起點坐標為(x0,y0),第k段鏈碼終端的y坐標為:

其中,εi是第i個碼元。

(4)采用該方法計算擬南芥一個株系的葉片(如圖5所示)的像素面積,結果如表1所示。

圖5 標本葉片圖像

表1 葉片的像素面積
圖像由若干網格狀排列的像素組成。如果圖像中每個像素所代表的實際面積和像素總數已知,那么,兩者之積就是圖像的實際面積。其中,每個像素的實際面積可以通過在同等條件下拍攝的已知面積的參照物獲得,參照物要求實際面積精確,即:

綜上,本文算法流程如圖6所示。

圖6 算法流程
系統配置:CPU為Intel Core2 Duo, 2.20 GHz,RAM為2 GB;操作系統為中文Windows XP,基本開發環境是VS2003。
對于一組標本葉片圖像,首先采用本文的算法計算出像素面積,然后根據3.2節中式(7)得到葉片的實際面積,對圖5中的葉片進行上述處理,得到如表2所示的數據。

表2 不同算法的實驗結果對比 mm2
將本文的計算結果和Image J的統計結果分別與實際測量結果作對比,本文計算結果與實際測量值的相似度為99.99%,Image J計算結果與實際測量值的相似度為 99.97%,可以驗證本算法更接近于實際測量值。與Image J相比本文的算法更精確,并且人工干預更少。本文算法不需對圖像進行灰度化處理,而Image J需要圖像灰度化和手工設置閾值等操作,對于批量處理,比較繁瑣。
本文改進Snake模型的初值設置方案,提出一種顏色梯度,將Snake模型更好地應用于彩色目標輪廓提取。在得到葉片輪廓鏈碼表的基礎上對葉片面積進行計算,并對結果進行嚴格的準確性驗證。準確提取葉片參數是為了更好地服務于葉片建模,因此,下一步工作是研究基于葉片的表型特征構造植物三維葉片模型。
[1]陳愛軍.基于圖像處理的植物葉片參數的測量[J].東北林業大學學報, 2009, 37(4): 46-47.
[2]O’Neal M E, Landis D A, Isaacs R.An Inexpensive,Accurate Method for Measuring Leaf Area and Defoliation Through Digital Image Analysis[J].Journal of Economic Entomology, 2002, 95(6): 1190-1194.
[3]孫慧賢, 張玉華, 羅飛路.基于 HSI顏色空間的彩色邊緣檢測方法研究[J].光學技術, 2009, 35(2): 221-224.
[4]Kass M, Witkin A, Terzopoulos D.Snake: Active Contour Models[J].International Journal of Computer Vision, 1988,1(4): 321-331.
[5]李書達, 張新榮.應用 Snake模型提取彩色圖象目標輪廓線的研究[J].中國圖象圖形學報, 2003, 8(11): 1266-1271.
[6]王洪元, 周則明, 王平安, 等.一種改進Snake模型的邊緣檢測算法[J].南京理工大學學報, 2003, 27(4): 395-399.
[7]王 劍, 王敬東, 李 鵬.一種基于主動輪廓模型的自適應模板更新算法[J].光電子技術, 2009, 29(1): 42-46.
[8]王長元, 趙亞亭.一種基于 Harris和圖像對比度的角點檢測方法[J].計算機與數字工程, 2011, 39(10): 174-175.
[9]于天虎, 毛興鵬, 王國謙, 等.一種基于灰度的梯度邊界檢測優化算法[J].計算機應用研究, 2010, 27(1): 361-364.
[10]李燦燦, 孫長輝, 王 靜, 等.基于改進Sobel算子和色調信息的葉脈提取方法[J].農業工程學報, 2011, 27(7):196-199.
[11]Nixon M S, Aguada A S.特征提取與圖像處理[M].李實英, 楊高波, 譯.2版.北京: 電子工業出版社, 2011.