葉少挺,吳子朝,梁森苗,鄭可鋒,祝利莉,胡為群,彭一輝
(1.浙江省農業(yè)科學院,浙江杭州 310021;2.杭州電子科技大學,浙江杭州 310058)
一種基于Unity3D的虛擬楊梅三維修剪系統(tǒng)
葉少挺1,吳子朝2,梁森苗1,鄭可鋒1,祝利莉1,胡為群1,彭一輝1
(1.浙江省農業(yè)科學院,浙江杭州 310021;2.杭州電子科技大學,浙江杭州 310058)
本文基于Unity3D平臺,提出了一種虛擬楊梅三維修剪系統(tǒng)的實現(xiàn)方法。該方法重點解決了場景模型組織、切割求交、重新三角化、知識展示等問題,設計和實現(xiàn)了修剪教學、標準修剪和自由修剪等功能。試驗表明,系統(tǒng)功能完善,有較好的擬真度和交互性,可以滿足在Internet上發(fā)布和實時傳輸?shù)囊螅谕茝V中也獲得了較好的評價。
Unity3D;楊梅;虛擬修剪;建模
對楊梅進行適當?shù)恼涡藜簦欣谂囵B(yǎng)結構合理的豐產樹型,促進幼樹營養(yǎng)生長向生殖生長轉化,提早進入結果期,且可改善樹冠的通風透光條件,減少病蟲害的發(fā)生,有利于提升果實品質[1]。在實際生產中,種植者往往很難快速掌握修剪的技術和要訣,會由此導致修剪效果不佳,影響楊梅的生長和采收。
虛擬楊梅三維修剪系統(tǒng)(簡稱系統(tǒng))利用計算機圖形學和互聯(lián)網絡技術,模擬一系列高仿真、可自主學習的虛擬楊梅植株場景,提供一種方便的可多次模擬、反復練習,以掌握先進修剪技術的新方法[2]。用戶可在系統(tǒng)中一邊自主修剪,一邊學習相關科學知識,最終過渡到實際生產中的楊梅修剪操作[2],達到快速學習和掌握楊梅修剪實用關鍵技術的系統(tǒng)目標。
系統(tǒng)采用基于Web的虛擬現(xiàn)實技術,面向Internet發(fā)布。用戶通過Web瀏覽器訪問系統(tǒng),使用鼠標鍵盤可360°觀察虛擬楊梅植株,并進行枝條修剪等交互操作。其修剪操作滿足如下要求:準確、快速地拾取待剪枝條;修剪過程具有實時性;用戶界面友好,人機交互過程符合真實的人工修剪操作等[3]。
1.1 平臺選擇
目前,基于Web的虛擬現(xiàn)實開發(fā)工具主要有WebGL,Unity3D,VRML,Quest3D,Virtools, Cult3D等。其中Unity3D是由Unity Technologies開發(fā)的一個功能強大的集成游戲引擎和編輯器,它可以通過簡單的用戶界面迅速高效地創(chuàng)建對象、導入外部資源,并可通過簡單的拖拽操作實現(xiàn)諸如變量賦值,連接腳本等操作。目前,Unity3D以其優(yōu)越的框架已在眾多三維可視化應用系統(tǒng)開發(fā)中用作支撐平臺。經過綜合考慮,本系統(tǒng)采用Unity3D平臺進行開發(fā)。
1.2 功能設計
系統(tǒng)擬提供以下功能模塊。
修剪教學。提供修剪入門教程。包括如何使用鼠標選取枝條,選擇合理切割位置和切割方向等信息。
標準修剪。本模塊對用戶行為有一定的限制性和引導性。當用戶使用鼠標滑過待剪枝條時,系統(tǒng)會將該枝條高亮顯示,同時提示枝條類型和修剪位置等信息,并在修剪完成后提示修剪原因和相關技術知識,逐步引導用戶修剪出標準的楊梅樹型。
自由修剪。是“標準修剪”的進階功能,對用戶行為無限制。用戶可以沿任意方向對枝條進行自主修剪,修剪過程中系統(tǒng)不作任何提示,直到修剪完成后才會給出相關評價。
2.1 場景模型組織
為了保持楊梅植株逼真的視覺效果,同時降低系統(tǒng)負擔,系統(tǒng)使用面片建模法,在3D MAX中構建具有較少面片數(shù)但不影響真實感的植株模型[4]。
根據(jù)現(xiàn)實中楊梅植株的枝條層次關系和修剪規(guī)范要求,植株模型被分解成若干個子模型,如圖1所示,標號為②的二級主枝與③④號子枝條作為一個子模型被創(chuàng)建,該子模型的形態(tài)在術語中被稱為“直立枝”。在“標準修剪”模塊中這個“直立枝”模型將被整體高亮顯示并參與修剪運算。
圖1 植株模型的組織關系
模型組織完畢后,導入到Unity3D中,分別通過具體設計賦予其材質、光照等屬性,并添加交互事件和相關知識等接口,方便具體操作過程的交互和提示,具體流程如圖2所示。
圖2 虛擬場景構建的流程
2.2 修剪算法
修剪算法是系統(tǒng)實現(xiàn)的核心部分。為了逼真地實現(xiàn)枝條修剪操作,系統(tǒng)采用鼠標拖拽的方式來模擬該過程。
當用戶在虛擬場景中點擊鼠標并拖拽時,采用光射投射算法確定該射線同網格的具體相交點和拖拽方向,并根據(jù)該相交點和拖拽方向確定相交平面。然后將該平面與相交的模型作求交,并采用基于八叉樹的數(shù)據(jù)結構來加速該求交過程,得到三角形內的切割位置。如圖3所示,當用戶使用鼠標在模型上作切割之后,通過射線與模型求交,會得到一系列與線條有相交的三角形列表。隨后,采用Delaunay三角剖分的策略來重新網格化。具體Delaunay策略描述如下。
圖3 植株模型切割的示意圖
(1)找出面片內待插入的頂點(與邊有相交的頂點),將該點與該多邊形內其他點相連,從而生成一系列新的三角形。
(2)由2個公共邊組成的四邊形進行判斷,如果其中有一個三角形的外接圓包含第4個頂點,則將這個四邊形的對角線進行交換。
(3)對新的頂點,迭代(1)(2)步,直到對所有新插入的點都做好三角化。
具體細節(jié)如圖4所示:給定一個三角形(頂點以a,b,c來表示)(圖4中a),如果在e,f處將該三角形切割分開(圖4中b),則通過任意連接一條邊,假設為a,f,計算其外接圓,判斷是否包含其他點(圖4中c),通過優(yōu)化最終將邊a,f優(yōu)化為e,c(圖4中d)。
圖4 Delaunay三角化過程
2.3 知識集成
為了讓用戶快速有效地掌握楊梅修剪技術,系統(tǒng)在相關模塊中集成相關栽培知識,并在修剪過程中全方位實時展現(xiàn)。
這些知識存儲在一系列的XML文件中,并通過Unity3D自帶的GUI框架顯示。系統(tǒng)預加載和解析XML內容信息后,通過判斷鼠標位置和相關事件,觸發(fā)顯示事件。
圖5 “標準修剪”模塊的知識集成
系統(tǒng)開發(fā)完成后,相關實驗在一臺普通PC(Intel Celeron E3300 2.5GHz/2GB/IE8/電信寬帶4 Mbps)上進行。
速度試驗。如首次通過Internet訪問系統(tǒng),其響應時間平均為5~6 s,而再次訪問時間可縮短到2~3 s;訪問一些較大場景的響應時間平均在3~5 s;通過鼠標旋轉、縮放、平移和修剪操作響應較實時,基本感覺不到等待時間,其算法效率較高(模型擁有三角形面數(shù)55 180個)。
功能試驗。系統(tǒng)使用了一個典型的成年東魁楊梅植株模型,在這個模型上實現(xiàn)了修剪教學、標準修剪和自由修剪等功能模塊,部分修剪效果見圖6。
圖6 修剪前后植株形態(tài)的比較
系統(tǒng)存在局限性。在“自由修剪”功能模塊中,植株模型枝條在三維空間呈縱橫交錯之勢,如果用戶在視野較遠的情況下進行修剪,其動作形成的平面可能會與不同緯度的多個枝條同時形成交集,導致修剪算法較難準確判斷修剪目標枝條,容易對非目標枝條造成“誤傷”。
現(xiàn)階段實現(xiàn)精確修剪的操作規(guī)范。用戶需先使用鼠標中鍵拉近與目標枝條的距離,然后通過鼠標左鍵在修剪部位做小范圍的手勢動作來完成。圖7展示了2種修剪方式的比較。
然而,此局限性并不影響系統(tǒng)的功能完整性和擬真度,因為現(xiàn)實中種植者一般只對距離較近的單根枝條進行操作。
圖7 “自由修剪”模塊的鼠標動作
兼容試驗。因為Unity3D平臺具有優(yōu)秀的兼容性,系統(tǒng)在IE,Safari,F(xiàn)irefox和Chrome等主流版本的瀏覽器下均能流暢運行。
安全試驗。項目組使用Web安全測試工具IBM Security AppScan對系統(tǒng)進行了掃描實驗,發(fā)現(xiàn)中高風險0個,低風險6個,參考建議21個,表明系統(tǒng)的安全性較強。
推廣試驗??蒲腥藛T已將該系統(tǒng)推廣到5個鄉(xiāng)鎮(zhèn),共計培訓種植者1 253人,受訓人員評價該系統(tǒng)操作直觀,可反復練習,對掌握楊梅修剪關鍵技術要點有較大幫助。
本文提出了一種使用Unity3D平臺來虛擬楊梅修剪操作的方法,可以有效模擬實際生產中的修剪操作,能夠滿足Web用戶實時交互性的需求[4],是數(shù)字農業(yè)與傳統(tǒng)農業(yè)研究相結合的一次協(xié)同創(chuàng)新,在現(xiàn)階段具有一定的先進性和探索性,但系統(tǒng)的實用性仍有待進一步提高。
隨著虛擬現(xiàn)實技術的進一步發(fā)展和推廣,本方法將得到更多面數(shù)、更高逼真度和更優(yōu)秀算法的支撐,預期可以在農業(yè)實用技術推廣和科研領域得到更廣泛的應用。
[1] 謝志亮,吳振旺.浙江省四大楊梅良種及主要栽培技術[J].溫州農業(yè)科技,2011(12):26-29.
[2] 田世平,苗良.模擬果樹修剪系統(tǒng)研究[J].農業(yè)網絡信息,2006(2):32-38.
[3] 林定,陳崇成,唐麗玉,等.基于顏色編碼的虛擬樹木交互式修剪技術及其實現(xiàn)[J].計算機輔助設計與圖形學學報,2011,23(11):1799-1807.
[4] 張倩倩,淮永建.網絡環(huán)境中虛擬樹木的建模和實時渲染研究[J].計算機仿真,2009,26(2):259-262.
(責任編輯:高 峻)
TP 391.7
:B
:0528-9017(2014)10-1632-03
文獻著錄格式:葉少挺,吳子朝,梁森苗,等.一種基于Unity3D的虛擬楊梅三維修剪系統(tǒng)[J].浙江農業(yè)科學,2014(10):1632-1635.
2014-06-12
浙江省農科院科技創(chuàng)新能力提升工程項目(2012R28Y01E03);國家公益性行業(yè)(農業(yè))科研專項經費(201203089)
葉少挺(1979-),男,助理研究員,從事農業(yè)信息技術與數(shù)字農業(yè)研究工作。E-mail:ysting@mail.zaas.ac.cn。