摘要
植物形態(tài)可視化技術是實現(xiàn)虛擬農業(yè)中關鍵技術之一。該文對生菜圖像進行預處理后,研究圖像的各個特征,并提取生菜葉片的R、G、B顏色特征和葉片長度、寬度等特征。基于提取的各個特征,在OpenGL平臺上,對生菜進行三維可視化建模,并進行顏色、光照模擬等渲染處理,主要建立了生菜二維圖像與三維可視化模型之間的聯(lián)系,實現(xiàn)生菜的可視化,能夠直觀地表現(xiàn)生菜的成長狀態(tài)。將虛擬植物技術應用到農業(yè)領域的教學中,能夠幫助同學直觀地學習理解,對于農業(yè)科研、教育有積極作用。
關鍵詞生菜;特征提取;可視化;OpenGL
中圖分類號S126;TP391.9文獻標識碼A文章編號0517-6611(2015)24-265-04
虛擬作物是在計算機上利用相關技術模擬植物在三維空間中生長發(fā)育狀況的可視化模型。建立植物形態(tài)的可視化模型,可以全方位、多層次考察生菜表層的形態(tài)、紋理和空間分布關系。這對于探討生菜組織結構與功能的關系、進行直觀形象的生菜研究以及促進現(xiàn)代農業(yè)發(fā)展有著重要的意義。國外研究人員在計算機輔助模擬植物形態(tài)方面進行了大量研究,主要代表有:法國的CIRAD、澳大利亞的 CPAJ、加拿大的 Prusinkiewicz 等人研究室,建立了L系統(tǒng)、迭代函數(shù)系統(tǒng)[1]、粒子系統(tǒng)[2]等多種植物生長模型,并開發(fā)了多種模擬植物形態(tài)的軟件,如L-Studio。國內近年也在植物可視化方面有諸多研究,包括基于Nurbs曲面建立了植物葉片靜態(tài)模型[3];光、水、溫度等環(huán)境因素對植物可視化的影響[4];大豆根系及辣椒、茄子等作物的生長模擬[5-6]。最近,一些基于機器視覺的特征提取也出現(xiàn)很多[7-9]。
綜合國內外現(xiàn)階段研究現(xiàn)狀,多數(shù)可視化建模并沒有與實測數(shù)據進行聯(lián)系,尤其對于利用靜態(tài)二維圖像建立植物形態(tài)可視化模型的研究并不多見。該文利用圖像處理相關技術,提取生菜顏色、幾何特征,在OpenGL環(huán)境下利用從二維圖像中獲得的特征參數(shù),實現(xiàn)了生菜形態(tài)的三維可視化建模。通過二維圖像生成三維模型,實現(xiàn)了準確、無損的可視化仿真,可視化模型關鍵數(shù)據來自真實葉片的測量值,符合自然界真實的生物學規(guī)律,是對圖像的準確重現(xiàn),對于農業(yè)教學、培訓有很大的促進幫助作用,能夠使人們在模型上進行虛擬實驗,學習植物學相關知識。
1 基于二維圖像特征的三維建模方法簡介
生菜三維可視化建模需要長度、寬度、顏色值等關鍵參數(shù),這些參數(shù)控制生菜的形狀與色彩,準確的參數(shù)不僅能夠使得形態(tài)模擬更加準確,而且符合生菜成長的客觀規(guī)律,能夠在一定程度上反映生菜的植物學特性。從圖像中可以提取出相應顏色、幾何參數(shù),所以該文提出了基于圖像特征提取的三維建模方法。
該文根據從圖像中提取的顏色特征值、幾何特征值作為三維建模的原始參數(shù),主要包括圖像的預處理、圖像特征提取和可視化建模三部分。圖像預處理主要包括圖像分割、邊緣檢測,利用預處理后圖像進行特征提取,得到顏色特征值、幾何特征值,最后利用獲取的特征值進行可視化建模,重點在于如何獲得三維建模中所需要的相應特征數(shù)據。
2 生菜圖像預處理
圖像預處理是在圖像進行分析之前,對獲取的圖像進行增強、降噪等處理,以使圖像能夠更便于分析。該文主要對獲取的生菜圖像進行分割和邊緣輪廓提取。
2.1 圖像分割
圖像分割是指根據圖像的顏色、幾何形狀、灰度的特征把圖像劃分成若干個互不相交的區(qū)域,圖像分割的好壞直接影響到后續(xù)特征提取的效果。生菜是典型的綠色植物,顏色特征較背景更明顯,因此該文采用文獻[10]的綠色作物圖像分割方法,提取生菜圖像顏色指數(shù)后,利用均值漂移算法,對生菜圖像進行分割,分割效果如圖1所示。由圖1可知,分割后生菜圖像邊緣鋸齒狀較明顯,并不平滑,為了使邊緣檢測更加準確,對圖像進行一次膨脹、腐蝕處理(圖2)。
2.2 邊緣檢測與輪廓提取
邊緣是圖像局部特性的不連續(xù)性,是前景物與背景圖的交界處,這些部分往往是整幅圖像中變化差異最大的地方。邊緣處圖像的灰度值和亮度都會產生
跳變,數(shù)學算法模型中會表現(xiàn)出一階導的不連續(xù)行。因此,利用圖像的梯度函數(shù)就可以求得圖像的邊緣[11]。
大部分情況下邊緣檢測是圖像分割一種方法,但是這里邊緣檢測主要是為了生菜的輪廓提取,在分割的基礎上進行邊緣檢測,使得提取出的生菜輪廓更完整,干擾更少,使下一步幾何特征的提取更準確。
主要的邊緣檢測算子包括sobel算子、prewitt算子、canny算子、robert算子。通過前期大量實驗表明,在生菜的輪廓提取中,canny算子所提取的輪廓更加連續(xù)、完整(圖3),所以最終選取canny算子。
3 生菜葉片特征提取
圖像的特征包括顏色特征、幾何特征、紋理特征,而影響三維建模準確性的主要是顏色特征和幾何特征,所以該文主要提取生菜葉片的顏色特征和幾何特征,并不涉及紋理特征。顏色特征提取主要是利用圖像分割結果,提取生菜葉片的R、G、B分量值。幾何特征提取主要是利用邊緣檢測結果,提取生菜葉片的長度與寬度值。
43卷24期孔繁爽等基于圖像特征提取的生菜形態(tài)可視化建模
3.1 顏色特征提取
顏色是圖像中很重要的特征,尤其對于描述生菜葉片來講,顏色特征的準確與否影響可視化建模的真實感程度。圖像顏色特征主要有顏色直方圖、顏色距、顏色聚合向量等,該文采用顏色的R、G、B分量值。
進行圖像分割后,主要對于生菜葉片顏色中R、G、B分量值的提取,以作為圖形可視化部分顏色模擬的關鍵參數(shù)。在顏色空間中,顏色是可被度量的,所以可以提取一幅圖像中R、G、B 3個分量的具體值,用于調節(jié)可視化中各個分色的比例。
3.2 幾何特征提取
生菜葉片的幾何特征關鍵參數(shù)的提取是后續(xù)可視化建模是否準確的關鍵,通過獲取葉片的長度與寬度值來確定生菜的大體輪廓與形狀。主要通過和標準圖像對比的方法獲取準確的相關參數(shù)。
3.2.1
參照物與比例尺。為了能夠測得準確生菜長度、寬度值,選取一個邊長為5 cm的黑色正方形作為參照物,鏡頭距離正方形正中心30 cm(圖4),獲取圖像后,測得邊長像素點數(shù)和距離,進而可得長度與像素點數(shù)比,作為生菜長度、寬度計算的比例尺。
3.2.2
生菜葉片長度測量。
獲取圖像比例尺后,則可以測量生菜葉片的幾何值。按照圖4,以生菜根部為中心,用同像素的相機,鏡頭距生菜30 cm高度處進行圖像獲取。根據邊緣檢測所提取的輪廓,進行長度和寬度的計算。
首先,按照像素點顏色為黑色而統(tǒng)計出所有邊緣像素點,并記錄其坐標。因為拍照時生菜根部在圖像中心,即葉片的根部在圖像中心,記錄中心點坐標,設圖像中心點坐標(a,b),為計算方便,將所有像素點橫縱坐標分別減a、b,即以圖像中間點為原點建立坐標系(圖5),計算所有邊緣點到中心點的長度
d=(x)2+(y)2,找到最大的長度值,即為生菜葉片的長度,并記錄葉尖像素坐標為L(x1,y1),且可知長度上像素點數(shù),結合“3.2.1”所測比例尺,則可知葉片實際長度。
3.2.3
生菜葉片寬度測量。生菜葉片寬度的獲取,主要是從葉尖到葉根,不連續(xù)取7個寬度,不連續(xù)是因為生菜葉片在靠近葉尖部分變化較快,在靠近葉根部分變化較小甚至基本不變,所以7段寬度大多集中在葉尖部分,且寬度所在直線與長度所在直線垂直(圖6)。
在取得長度后,由(0,0)與L(x1,y1),求得長度所在直線斜率
k=y1/x1,長度所在直線為l∶y=kx,則7段寬度所在直線斜率為-1/k。取直線l1∶y=(k+1)x和l2∶y=(k-1)x,設葉片所在區(qū)域像素點集合{(xi,yi)},可限定對于任意(xi,yi)在2條直線之間,且與葉尖坐標同象限。
在此集合中找到以下2個關鍵點,①距離l∶y=kx直線距離最遠點MAX,②葉尖點L與坐標原點的中點(x1/2,y1/2),并從像素點集合中找到點(p,q),使此像素點與中點所確定的直線斜率為-1/k,記點(p,q)為HALF。2個關鍵點是生菜可視化建模中最關鍵的數(shù)據。
最后以MAX為基準點,在葉片點集中找到距離相對減小的另外5個邊緣點,共計7點,對找到關鍵點標記如圖7所示。
設其中任意1個為(c,d),則寬度所在直線為l4∶(y-d)=-1/k(x-c),在葉片下半部分所在集合中找到在直線上的點(e,f),使得(e,f)滿足l4,則寬度為
L=(e-c)2+(f-d)2。以此類推,則可求出所有7段寬度值。
在所有像素點的集合中除去第1片葉子所在區(qū)域像素點集合,即可得剩余葉片像素點集合,為方便計算,按照“3.2.2”“3.2.3”,可以重設坐標軸,重復以上方法,依次找到第2片葉子的長度、區(qū)域、7段寬度。以此類推,即可求出所有葉片幾何特征值。
4 基于Nurbs曲面的生菜葉片形態(tài)可視化
4.1 Nurbs曲面
Nurbs曲面建立在非有理貝塞爾方法與非有理B樣條方法的基礎上,不僅可以精確表示規(guī)則曲線與曲面,同時可把規(guī)則曲面和自由曲面統(tǒng)一在一起,并且權因子出現(xiàn),有利于曲線和曲面形狀的修改[12],所以選取Nurbs曲面作為生菜形態(tài)可視化建模的工具。
Nurbs曲面定義為:
S(u,v)=∑ni=0 ∑mj=0Wi,jPi,jNi,p(u)Ni,q(v)
∑ni=0 ∑mj=0Wi,jNi,p(u)Ni,q(v)
0≤u,v≤1
(Ⅰ)
式中,Pi,j為控制頂點,Wi,j為與控制點相聯(lián)系的權因子,Ni,p(u)和Ni,q(v)分別為B樣條基函數(shù)。
4.2 生菜形態(tài)的幾何建模
利用Nurbs曲面繪制生菜葉片的關鍵是對于控制點的選取。由生菜長寬比可知,生菜葉片更趨近于矩形,且長度遠大于寬度,對于生菜寬度的控制尤為重要,所以對于每個葉片,選取7行5列共計35個控制點來控制生菜葉片的大體形狀。最終通過圖像處理獲取生菜長度與7段寬度來確定控制點的具體位置。
在OpenGL中,封裝了繪制Nurbs曲面的常用函數(shù),利用OpenGL函數(shù)庫所提供函數(shù)生成一個Nurbs曲面的具體方法與關鍵過程如下:
(1)創(chuàng)建曲面對象theNurb1=gluNewNurbsRenderer();
(2)控制點改變,通過長度與7段寬度值,計算出所有控制點位置;
(3)曲面繪制開始gluBeginSurface(theNurb1);
(4)具體繪制Nurbs曲面gluNurbsSurface(theNurb1,10,knots,10,knots,5*3,3, &points[0][0][0],5, 5,GL_MAP2_VERTEX_3),其中&points[0][0][0]為控制點;
(5)曲面繪制結束 gluEndSurface(theNurb1)。
取得結果如圖8所示:
4.3 生菜葉片的真實感技術
4.3.1
顏色渲染。利用圖像處理在RGB空間中提取的紅色、綠色、藍色分量值,通過glColor()函數(shù)來設置生菜葉片顏色,顏色參數(shù)來自生菜真實圖像,使得顏色更加逼真。
4.3.2
隨機扭曲處理。
由于圖像提供的控制點坐標是在二
維空間中,且生菜葉片較其他葉片來說,彎曲程度較大,所以該文根據生菜葉片不同位置寬度不同的扭曲變化程度,分別
設定7個隨機控制函數(shù)來控制7排共35個控制點的z坐標,以更真實地模擬生菜葉片。
4.3.3
光照渲染。光照對于模擬三維真實感圖形非常重要,如果沒有光照,所制作的三維圖形就沒有立體感,和二維圖形基本沒有區(qū)別[13]。在OpenGL中光照渲染具體步驟如下:
(1)為光照模型指定材質參數(shù)glMaterialfv();
(2)設置光源參數(shù)glLightfv();
(3)設置光照模型參數(shù)glLightModeli();
(4)激活光照glEnable()。
4.3.4
紋理映射。真實的生菜葉片上有復雜的紋理結構,紋理結構的模擬對生菜可視化模型最終的信息表達有著至關重要的作用。該研究采用紋理貼圖的方式來實現(xiàn)生菜葉片的紋理映射,所貼圖片來自圖像的分割結果,能夠很大程度上實現(xiàn)生菜葉片的重現(xiàn)。具體過程如下:
(1)載入紋理,即生菜圖像分割結果;
(2)創(chuàng)建紋理 glGenTextures ();
(3)生成紋理 glTexImage2D ()。
進行以上4步處理后,就能夠從形態(tài)、色彩方面真實模擬生菜葉片,效果如圖9所示。
4.4 生菜植株的可視化
基于上述結果,可生成多個生菜葉片,對于每個生菜葉片增加屬性:葉片角度,在每次生成1個生菜葉片后,通過重置坐標軸進而繪制下1片葉子,多次之后即可最終實現(xiàn)整株生菜的可視化建模(圖10) 。
5小結
虛擬植物技術在景觀、教學等領域應用廣泛。尤其教學方式日益趨于多元化,多媒體教學的利用越來越廣泛,虛擬植物的研究能夠幫助同學直觀地學習理解,對于農業(yè)科研、教育有積極作用。該文主要利用靜態(tài)圖像所提取出的顏色特征值和幾何特征值,在OpenGL環(huán)境下利用Nurbs曲線模擬生菜的形態(tài),能夠生動形象地模擬出生菜某時刻的成長狀態(tài),符合生菜真實的植物學特性,而圖像特征提取與可視化建模的有機結合對研究生菜生長模型與虛擬植物技術有一定積極作用與理論參考價值,并且為研究符合成長規(guī)律的動態(tài)可視化模型提供有效方法。
參考文獻
[1]
ROOM P M,MAILLETTE L,HANAN J S.Module and metamer dynamics and virtual plants[J].Advances in Ecological Research,1994,25:105-157.
[2] REEVES W T,BLAU R.Approximate and probabilististic algorithms for shading and rendingstructured particle system[J].Computer Graphics,1985,19(3):313-322.
[3] 劉瑩瑩,劉哲,楊焱.基于NURBS的植物葉片幾何建模[J].北京農學院學報,2008,23(4):63-66.
[4] 葉飛.環(huán)境因素影響下的植物可視化模型研究[D].重慶:重慶大學,2007.
[5] 鐘南,羅錫文,秦琴.基于生長函數(shù)的大豆根系生長的三維可視化模擬[J].農業(yè)工程學報,2008,24(7):151-154.
[6] 劉驥.植物生長模擬與可視化研究[D].重慶:重慶大學,2009.
[7] 劉長青,陳兵旗.基于機器視覺的玉米果穗參數(shù)的圖像測量方法[J].農業(yè)工程學報,2014,30(6):131-138 .
[8] 李文勇,李明,陳梅香,等.基于機器視覺的作物多姿態(tài)害蟲特征提取與分類方法[J].農業(yè)工程學報,2014,30(14):154-161.
[9] 劉太磊.相機標定與三維重建相關技術研究[D].南京:南京信息工程大學,2012.
[10] 伍艷蓮,趙力,姜海燕,等.基于改進均值漂移算法的綠色作物圖像分割方法[J].農業(yè)工程學報,2014,30(24):161-167.
[11] 黃佳.基于OPENCV的計算機視覺技術研究[D].上海:華東理工大學,2012.
[12] 高斌.曲面造型中NURBS曲面曲線離散及顯示算法的研究與實現(xiàn)[D].杭州:浙江大學,2002.
[13] 和平鴿工作室.OpenGL三維圖形系統(tǒng)開發(fā)與實用技術[M].清華大學出版社,重慶大學出版社,2003.