王靜文,劉 弘
(山東師范大學(xué) a.信息科學(xué)與工程學(xué)院;b.山東省分布式計(jì)算機(jī)軟件新技術(shù)重點(diǎn)實(shí)驗(yàn)室,濟(jì)南 250014)
葉片是植物進(jìn)行光合作用、合成有機(jī)物質(zhì)的主要器官,它的生長(zhǎng)規(guī)律對(duì)光能利用、干物質(zhì)積累等起著顯著作用。面積作為葉片的主要生物學(xué)特征之一,與其他的一些特征,如周長(zhǎng)、圓形度、彎曲能等一起影響植物生長(zhǎng)發(fā)育等生命活動(dòng)[1],因此,如何精確地測(cè)量葉片面積日益引起科學(xué)工作者的密切關(guān)注。結(jié)合計(jì)算機(jī)圖像處理技術(shù),自動(dòng)準(zhǔn)確地提取葉片面積,避免了傳統(tǒng)方法費(fèi)時(shí)、費(fèi)力的缺點(diǎn),已經(jīng)成為當(dāng)今的一個(gè)研究熱點(diǎn)。利用葉片圖像和Image J測(cè)定葉片面積[2]是目前生物學(xué)研究中使用比較廣泛的一種方法,但該方法人工干預(yù)較多,影響了工作效率;計(jì)算之前需要對(duì)圖像進(jìn)行灰度化處理,一定程度上影響了測(cè)量精度。
通過(guò)圖像處理提取目標(biāo)輪廓時(shí),一般先將彩色圖像轉(zhuǎn)換成灰度圖像,再使用相應(yīng)算法提取輪廓。但彩色圖像中大約有 10%的邊緣在灰度圖像中是檢測(cè)不到的[3],一般做法將會(huì)舍棄圖像中大量的有用信息;并且在彩色圖像灰度化時(shí),陰影顏色較黑,會(huì)歸為葉片區(qū)域。當(dāng)前用于提取目標(biāo)輪廓的一種主流模型是由文獻(xiàn)[4]提出的 Snake,即主動(dòng)輪廓模型。Snake模型在邊緣檢測(cè)、圖像分割中已經(jīng)有了廣泛的應(yīng)用和很大的發(fā)展。然而,傳統(tǒng)Snake模型主要針對(duì)灰度圖像進(jìn)行處理,它的外部函數(shù)不能區(qū)分相同灰度的不同顏色,用傳統(tǒng)Snake模型來(lái)處理彩色圖像會(huì)造成錯(cuò)誤。
本文提出對(duì)標(biāo)本葉片彩色圖像直接處理從而計(jì)算面積,去掉轉(zhuǎn)化為灰度圖像的中間環(huán)節(jié),以提高計(jì)算精度。該方法首先提取葉片輪廓,然后構(gòu)造輪廓的鏈碼表,根據(jù)鏈碼計(jì)算葉片面積。在提取葉片輪廓時(shí),結(jié)合葉片圖像的特點(diǎn),改進(jìn)Snake的初值設(shè)置方案和外部能量函數(shù)。針對(duì)傳統(tǒng)Snake模型存在的處理彩色圖像失真的問(wèn)題,定義一種顏色梯度代替灰度梯度作為外部能量函數(shù),與文獻(xiàn)[5]中定義的顏色梯度相比,本文定義的顏色梯度降低了計(jì)算復(fù)雜度,提高了效率;針對(duì)傳統(tǒng)Snake模型設(shè)置初值時(shí)需要人工操作、比較繁瑣的問(wèn)題,提出一種初值設(shè)置方案,在角點(diǎn)作為初始輪廓頂點(diǎn)的基礎(chǔ)上通過(guò)自適應(yīng)增加或減少頂點(diǎn)得到接近葉片真實(shí)輪廓的初值。
Snake模型的基本思想是將目標(biāo)輪廓的提取問(wèn)題轉(zhuǎn)化為在圖像中尋找一定條件下封閉曲線能量泛函最小的問(wèn)題。Snake模型的數(shù)學(xué)描述是尋找一條連續(xù)封閉曲線,使式(1)目標(biāo)函數(shù)最?。?/p>
實(shí)現(xiàn) Snake模型有 2個(gè)步驟:(1)輪廓初始化;(2)通過(guò)最小化能量函數(shù)使得輪廓演化并收斂到合適的形狀和位置。
本文在設(shè)置Snake模型的初值時(shí),為更好地逼近真實(shí)輪廓,采用基于目標(biāo)的角點(diǎn)設(shè)置Snake初始輪廓的方法。
其中,Ix為x方向的梯度;Iy為y方向的梯度;G(s)為高斯模板;?為卷積操作;det為矩陣的行列式;tr為矩陣的跡;k為經(jīng)驗(yàn)值,一般取0.04~0.06,本文中取k=0.04。若某點(diǎn)的R處于鄰域最大,且大于閾值R0時(shí),判斷該點(diǎn)為角點(diǎn)。
本文在計(jì)算葉片面積時(shí),首先利用改進(jìn)Snake模型提取出標(biāo)本葉片的輪廓,然后構(gòu)造輪廓的8方向鏈碼表,最后計(jì)算葉片面積。
3.1.1 初值設(shè)置方案
基于圖像目標(biāo)的角點(diǎn)設(shè)置Snake模型的初值,首先提取圖像目標(biāo)的角點(diǎn),在 HSI空間的亮度分量I中利用Harris算子提取角點(diǎn),因?yàn)椴噬珗D像的亮度信息I一定程度上反映了圖像各部分之間的明暗對(duì)比情況;然后將角點(diǎn)作為 Snake初始輪廓的頂點(diǎn),并且根據(jù)自適應(yīng)算法增加或減少頂點(diǎn);最后將連接頂點(diǎn)的多邊形作為 Snake的初始輪廓,如圖1所示。
圖1 Snake初值設(shè)置
由于已經(jīng)有一部分頂點(diǎn)在初始輪廓上,非常接近真實(shí)輪廓,因此Snake模型只需向內(nèi)搜索能量極小點(diǎn),既減少了計(jì)算量,又克服了Snake模型易收斂至局部極小值的缺陷。其中,自適應(yīng)增加、減少頂點(diǎn)的算法如下:
(1)增加頂點(diǎn):當(dāng)2個(gè)相鄰角點(diǎn)的連線在輪廓內(nèi)側(cè)時(shí)(如圖 1(a)所示),分別求出過(guò)這 2點(diǎn)的切線,將這2條切線的交點(diǎn)作為新增的頂點(diǎn)。葉片輪廓是不規(guī)則曲線,因此,不能用一般方法求過(guò)角點(diǎn)的切線。在角點(diǎn)的5×5鄰域內(nèi)用B樣條曲線擬合,從而求出過(guò)角點(diǎn)的切線。在圖 1(b)中,新增加的頂點(diǎn)為 P1、P2、P3、P4。
(2)減少頂點(diǎn):當(dāng)2個(gè)相鄰頂點(diǎn)的距離小于預(yù)定的門(mén)限時(shí),用它們的中間點(diǎn)代替這2個(gè)頂點(diǎn)。
判斷頂點(diǎn) Pi( x, y)鄰域的凹凸性的方法如下:
定義曲線的正向?yàn)檠剡吔邕\(yùn)動(dòng)時(shí),包圍區(qū)域在其 左 側(cè) 。 設(shè) ▽x1=xi? xi?1, ▽x2= xi+1? xi, ▽y1=yi?yi?1, ▽y2= yi+1?yi, φ=▽ x1▽ y2? ▽ x2▽ y1, 若φ< 0,則 Pi的鄰域?yàn)榘紖^(qū)域;若φ>0,則 Pi的鄰域?yàn)橥箙^(qū)域;φ=0,則Pi?1、iP、Pi+1共線。
3.1.2 顏色梯度的求解
本文采用顏色梯度來(lái)代替灰度梯度作為Snake的外部能量函數(shù)。像素點(diǎn)的灰度梯度值反映了該像素點(diǎn)與鄰域像素點(diǎn)的灰度差別,目標(biāo)或背景內(nèi)部灰度分布比較均勻,因而梯度值普遍較小。而在邊緣處,即目標(biāo)與背景相交的部分,梯度值較大。設(shè)函數(shù)f(x, y)表示圖像中坐標(biāo)為(x, y)的像素點(diǎn)的灰度值。對(duì)于函數(shù)f(x, y),在其坐標(biāo)(x, y)上的梯度定義為一個(gè)二維向量[9]:
泰勒級(jí)數(shù)分析表明對(duì)相鄰點(diǎn)進(jìn)行差分處理可以用來(lái)估算點(diǎn)的一階導(dǎo)數(shù),其誤差為O(Δx)。因此,在圖像處理中,常用差分代替微分,并利用小區(qū)域模板和圖像卷積來(lái)近似計(jì)算梯度值。對(duì)Gx和Gy可以采用不同的模板計(jì)算,采用Roberts模板計(jì)算梯度為:
與灰度梯度的原理類(lèi)似,顏色梯度是彩色圖像中顏色變化的一階導(dǎo)數(shù),因此可以用相鄰像素顏色的差分來(lái)近似。首先,定義HSI顏色空間中的顏色距離。在 HSI顏色空間中,亮度分量與圖像的彩色信息無(wú)關(guān);色度分量與飽和度分量和人感受彩色的方式緊密相連,對(duì)于區(qū)分不同的顏色非常有用,并且色度分量和飽和度分量是相關(guān)的。HSI空間中的歐式幾何距離如圖2所示。
圖2 HSI空間中的歐式幾何距離
在圓形彩色平面上,角度H是色度分量與紅色軸之間的夾角,S值是每個(gè)像素的飽和度的大小。假設(shè)2個(gè)像素的亮度分量相等,那么這兩個(gè)像素的色度差,可以通過(guò)平面幾何的余弦定理求得:
因此,在HSI顏色空間中兩點(diǎn)的歐氏距離為:
然后,采用Sobel邊緣檢測(cè)算子[10]進(jìn)行差分計(jì)算,設(shè)輪廓線上第i個(gè)像素iP坐標(biāo)為(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的加權(quán)歐式距離:
同理可得顏色梯度的垂直分量▽y,則顏色梯度▽G( x, y)有如下定義:
最后,用▽G( x, y)代替灰度梯度作為Snake的外部能量函數(shù),即:
采用 Williams和 Shah[11]提出的貪心算法實(shí)現(xiàn)Snake模型,該算法的輪廓最優(yōu)化過(guò)程是一個(gè)迭代求解的過(guò)程,通過(guò)對(duì)輪廓點(diǎn)周?chē)木植拷忂M(jìn)行檢索選取具有更小Snake模型能量的新輪廓,從而對(duì)Snake模型進(jìn)行演變。用改進(jìn)的Snake模型提取標(biāo)本葉片輪廓,由圖3可知,改進(jìn)的Snake模型排除了陰影區(qū)域,保留了原來(lái)葉片圖像的細(xì)節(jié),比傳統(tǒng)模型提取的輪廓更加精確,保證了接下來(lái)計(jì)算葉片面積的準(zhǔn)確性。
圖3 提取的葉片邊緣比較
為了提高面積計(jì)算的精確度,本文使用8方向鏈碼(如圖4所示)計(jì)算葉片面積。
圖4 8方向鏈碼
通過(guò)改進(jìn)Snake模型得到葉片輪廓后,構(gòu)造葉片輪廓的8方向鏈碼表,算法描述如下:
(1)找到一起始點(diǎn)(i, j),以其為中心點(diǎn)依次搜索(i+1, j),(i+1, j+1)…找到目標(biāo)點(diǎn)后即停止本次搜索,取得第一個(gè)鏈碼數(shù)字,該目標(biāo)點(diǎn)設(shè)置為下一中心點(diǎn)。
(2)設(shè)中心點(diǎn)為(x,y),依次搜索(x+1,y),(x+1,y+1)…找到目標(biāo)點(diǎn)后判斷其是否為上一點(diǎn),如果是則繼續(xù)搜索;如果不是,則判斷其是否為起點(diǎn)(i, j),如果不是則停止本次搜索,取得鏈碼數(shù)字,把該像素設(shè)置為下一個(gè)中心像素,繼續(xù)執(zhí)行(2);如果是起始點(diǎn),則結(jié)束全部搜索,然后返回鏈碼表。
得到鏈碼表后,使用類(lèi)似數(shù)學(xué)上定積分求面積的方式,分別求 2段邊界對(duì) y軸所圍的面積的和(根據(jù)邊界的方向有正負(fù))。設(shè)屏幕左上角為坐標(biāo)原點(diǎn),起點(diǎn)坐標(biāo)為(x0,y0),第k段鏈碼終端的y坐標(biāo)為:
其中,εi是第i個(gè)碼元。
(4)采用該方法計(jì)算擬南芥一個(gè)株系的葉片(如圖5所示)的像素面積,結(jié)果如表1所示。
圖5 標(biāo)本葉片圖像
表1 葉片的像素面積
圖像由若干網(wǎng)格狀排列的像素組成。如果圖像中每個(gè)像素所代表的實(shí)際面積和像素總數(shù)已知,那么,兩者之積就是圖像的實(shí)際面積。其中,每個(gè)像素的實(shí)際面積可以通過(guò)在同等條件下拍攝的已知面積的參照物獲得,參照物要求實(shí)際面積精確,即:
綜上,本文算法流程如圖6所示。
圖6 算法流程
系統(tǒng)配置:CPU為Intel Core2 Duo, 2.20 GHz,RAM為2 GB;操作系統(tǒng)為中文Windows XP,基本開(kāi)發(fā)環(huán)境是VS2003。
對(duì)于一組標(biāo)本葉片圖像,首先采用本文的算法計(jì)算出像素面積,然后根據(jù)3.2節(jié)中式(7)得到葉片的實(shí)際面積,對(duì)圖5中的葉片進(jìn)行上述處理,得到如表2所示的數(shù)據(jù)。
表2 不同算法的實(shí)驗(yàn)結(jié)果對(duì)比 mm2
將本文的計(jì)算結(jié)果和Image J的統(tǒng)計(jì)結(jié)果分別與實(shí)際測(cè)量結(jié)果作對(duì)比,本文計(jì)算結(jié)果與實(shí)際測(cè)量值的相似度為99.99%,Image J計(jì)算結(jié)果與實(shí)際測(cè)量值的相似度為 99.97%,可以驗(yàn)證本算法更接近于實(shí)際測(cè)量值。與Image J相比本文的算法更精確,并且人工干預(yù)更少。本文算法不需對(duì)圖像進(jìn)行灰度化處理,而Image J需要圖像灰度化和手工設(shè)置閾值等操作,對(duì)于批量處理,比較繁瑣。
本文改進(jìn)Snake模型的初值設(shè)置方案,提出一種顏色梯度,將Snake模型更好地應(yīng)用于彩色目標(biāo)輪廓提取。在得到葉片輪廓鏈碼表的基礎(chǔ)上對(duì)葉片面積進(jìn)行計(jì)算,并對(duì)結(jié)果進(jìn)行嚴(yán)格的準(zhǔn)確性驗(yàn)證。準(zhǔn)確提取葉片參數(shù)是為了更好地服務(wù)于葉片建模,因此,下一步工作是研究基于葉片的表型特征構(gòu)造植物三維葉片模型。
[1]陳愛(ài)軍.基于圖像處理的植物葉片參數(shù)的測(cè)量[J].東北林業(yè)大學(xué)學(xué)報(bào), 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顏色空間的彩色邊緣檢測(cè)方法研究[J].光學(xué)技術(shù), 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]李書(shū)達(dá), 張新榮.應(yīng)用 Snake模型提取彩色圖象目標(biāo)輪廓線的研究[J].中國(guó)圖象圖形學(xué)報(bào), 2003, 8(11): 1266-1271.
[6]王洪元, 周則明, 王平安, 等.一種改進(jìn)Snake模型的邊緣檢測(cè)算法[J].南京理工大學(xué)學(xué)報(bào), 2003, 27(4): 395-399.
[7]王 劍, 王敬東, 李 鵬.一種基于主動(dòng)輪廓模型的自適應(yīng)模板更新算法[J].光電子技術(shù), 2009, 29(1): 42-46.
[8]王長(zhǎng)元, 趙亞亭.一種基于 Harris和圖像對(duì)比度的角點(diǎn)檢測(cè)方法[J].計(jì)算機(jī)與數(shù)字工程, 2011, 39(10): 174-175.
[9]于天虎, 毛興鵬, 王國(guó)謙, 等.一種基于灰度的梯度邊界檢測(cè)優(yōu)化算法[J].計(jì)算機(jī)應(yīng)用研究, 2010, 27(1): 361-364.
[10]李燦燦, 孫長(zhǎng)輝, 王 靜, 等.基于改進(jìn)Sobel算子和色調(diào)信息的葉脈提取方法[J].農(nóng)業(yè)工程學(xué)報(bào), 2011, 27(7):196-199.
[11]Nixon M S, Aguada A S.特征提取與圖像處理[M].李實(shí)英, 楊高波, 譯.2版.北京: 電子工業(yè)出版社, 2011.