張萌,林麗群,汪正祥,夏慧瓊,石遠坤,李亭亭,馬國飛
(1. 湖北大學資源環(huán)境學院, 湖北 武漢 430062; 2. 海南熱帶海洋學院創(chuàng)意設計學院, 海南 三亞 572022;3. 神農架國家公園管理局神農架金絲猴保育生物學湖北省重點實驗室, 湖北 神農架林區(qū) 442421)
近些年,科普教育在我國逐步發(fā)展,對國家公園及一些自然保護地起到了很好的載體作用,但科普內容與形式都較為單一,大多從科普宣教規(guī)劃設計、解說系統(tǒng)、解說形式、路線等進行規(guī)劃,受眾者不易理解和接受.為提高教育過程的效率,使用GIS和遙感、互聯(lián)網等技術手段作為在環(huán)境教育領域創(chuàng)新項目的主要方向具有極大的前景[1].用3S和虛擬現(xiàn)實技術(VR)為代表的現(xiàn)代空間信息技術對自然保護區(qū)、國家公園、濕地公園等構建的數(shù)字旅游[2-3]、數(shù)字景區(qū)[4]、虛擬現(xiàn)實旅游[5-6]等進展很快.
無人機傾斜攝影技術可以全自動、高效率地構建地表全要素三維模型,且場景真實,是目前數(shù)字化應用中的熱點[7-8].目前無人機數(shù)據(jù)在數(shù)字城市、智慧城市中有合理的解決方案[9].真三維場景模型結合情景式科普教育的交互式系統(tǒng)是國家公園科普宣教可嘗試的方向,可以更好地利用三維場景增加大眾對科普教育地的交互感和認知[10].但無人機獲取的三維模型精度低,后期模型單體化耗時長、高精度三維模型產生的費用成本高等問題一直有待突破,另外多數(shù)應用系統(tǒng)對傾斜攝影所生成的三維模型的使用有許多自身的限制[11-12],如模型格式不融洽和模型耗內存較大等問題,均限制了傾斜攝影三維模型的應用.
本研究中以神農架國家公園科普教育系統(tǒng)為例,針對以上問題,有效利用無人機傾斜攝影技術,探尋簡單、易于推廣應用的方案.首先在模型構建方面,本研究區(qū)域是自然保護地,不同于城市以建筑為主體,而是以具有自然地形地貌特征的森林、巖石等為主體,因此不能簡單利用模型工具構建模型;其次在三維場景搭建方面,以傾斜攝影模型搭建模擬真實三維場景需要與之契合的平臺,Unity3D是當前全球市場上主流的游戲引擎,借助Unity3D 三維虛擬引擎,研究其對無人機三維模型的處理能力、數(shù)據(jù)的適用性、系統(tǒng)性能等,將真實地形模型搭建虛擬三維場景,探索實現(xiàn)公眾基于三維模型的科普教育新產品.
神農架國家公園位于大巴山東緣、湖北省西北部,垂直海拔跨度398.0~3 105.4 m.神農架國家公園具有獨特的自然地理環(huán)境、豐富的生物多樣性與生態(tài)系統(tǒng)類型、古老的地質遺跡等,是普及各類動植物資源、生態(tài)系統(tǒng)類型、地質地貌構造等自然科學知識和開展資源保護與環(huán)境保護教育的絕佳場所.實驗區(qū)數(shù)據(jù)采集分布點如圖1所示.
圖1 神農架國家公園數(shù)據(jù)采集分布點圖
在實地野外數(shù)據(jù)采集過程中,設計大疆無人機精靈4 P以120 ~ 200 m的飛行高度、80%的航向重疊度、60%的旁向重疊度的飛行參數(shù)完成正射,以25°偏角完成4個角度的傾斜攝影.在實際野外數(shù)據(jù)采集中,由于神農架國家公園區(qū)域的飛行高度受限,且山行走勢非常險峻,僅部分地形開闊區(qū)域能夠完成4個角度的傾斜攝影,這對后期建模產生了一定影響.實驗中以神農架國家公園三堆河入口飛行場景為例,根據(jù)地形調整完成正射及一個角度的傾斜拍攝,實際飛行場景范圍為379 m×387 m,飛行高度120 m,如圖2所示.
本實驗基于無人機航拍獲取的影像數(shù)據(jù)分別構建基于FBX的三維模型和DSM+DOM的地形三維模型,利用Unity3D進行場景搭建以及漫游、交互功能的實現(xiàn),對兩種三維模型的建模方案進行比較分析,技術路線如圖3所示.
2.1 三維地形場景構建場景模型包括地形和地物兩部分,考慮到傾斜攝影的特點和本系統(tǒng)漫游功能的需求,對實驗中靜態(tài)地形三維模型,嘗試基于三維模型格式和基于地形的兩種無人機產品數(shù)據(jù),實現(xiàn)三維場景模型;對于部分精細的物模型則采用3DMax建模.
2.1.1 基于FBX模型方式 無人機航拍的影像經過建模軟件處理產出OSGB、OBJ、FBX等當前主流的三維模型格式,能夠創(chuàng)建細節(jié)豐富的三維實景模型,實驗中地形場景采用FBX三維模型格式,作為Unity3D的靜態(tài)加載模型.
針對FBX三維地形模型,采用三維修模軟件如Dpmolder或Geomagic等,利用其補洞、紋理映射等功能進行模型的編輯處理,對模型進行平滑處理.
2.1.2 基于DSM+ DOM的地形方式 基于地形模型的的三維場景構建流程如圖4所示,采用地形高度數(shù)據(jù)疊加紋理,在Unity3D下結合地形Terrain編輯,通過虛擬引擎渲染三維效果.
圖4 基于地形模型的三維場景構建流程
由于研究區(qū)為山地且森林覆蓋茂密,無人機高空獲取的地形信息為森林覆蓋的高度,通過無人機獲取的數(shù)字表面模型DSM部分細節(jié)會因此丟失并造成誤差,且生成的地形表面起伏不平,將增加后期在Unity3D中Terrain插件樹木種植的難度,因此實驗中嘗試一種平均地表高度提取方式,利用Unity3D的地形編輯功能實現(xiàn)地形平滑處理,再進行場景紋理貼圖和場景實現(xiàn).
針對DSM + DOM地形模型,借助Unity3D的地形插件完成場景構建,首先需要將DSM修正,得到具有地表特征信息的DOM.為滿足后期場景瀏覽效果,借助Unity3D 中Terrain繪制高度(Paint Height)及平滑高度(Smooth Height)等工具對DSM進一步精細處理,以DOM作為紋理進行貼圖,最后利用種樹工具(Paint Trees)進行人工植被覆蓋.
2.2 其他模型構建無人機數(shù)據(jù)自動處理時,部分人工建筑物或精細地物出現(xiàn)扭曲變形或失真效果,如房屋、特殊石頭等三維模型,對于這部分精細靜態(tài)物體則通過3D Max完成建模,滿足后期瀏覽的視覺效果[13],自動生成與人工構建的模型效果對比如圖5所示.
圖5 自動生成與人工構建的模型效果對比
利用Unity3D跨平臺三維引擎,結合C#或Javascript腳本語言實現(xiàn)場景的瀏覽,完成交互式功能的設計和實現(xiàn),達到僅利用電腦或手機移動平臺就可以實現(xiàn)場景瀏覽和知識學習的效果,以真實背景和互動的方式讓受眾者更容易理解相關專業(yè)知識.
三維場景構建的實驗中,我們著重探究FBX模型和地形模型這兩種方式在Unity3D三維場景瀏覽時能否滿足系統(tǒng)功能需求和視覺瀏覽的要求.其中涉及到的主要的技術是:場景建模技術、交互技術、場景漫游技術和碰撞檢測技術[14].若要實現(xiàn)自然、精確的人機交互,必須解決碰撞等問題,相機加入碰撞后能更好地解決模型的穿插問題[15].
漫游是交互式科普系統(tǒng)實現(xiàn)的關鍵,簡單的交互用JavaScript可實現(xiàn)在漫游系統(tǒng)中用鼠標按鍵控制自由行走的功能, 或以快捷鍵 WSAD 分別實現(xiàn)上下左右的移動[16].場景漫游技術主要包括鍵盤控制和鼠標控制, 能讓用戶在虛擬城市系統(tǒng)中前后左右任意方向行走,同時能控制運動的速度.
4.1 三維場景的構建分析兩種方式建立的三維地形場景中,F(xiàn)BX模型能一定程度地還原真實地形,例如河流、石頭能在一定尺度內呈現(xiàn)出較好的視覺效果,但不足以支撐地面漫游.
通過DSM + DOM數(shù)據(jù),采用raw格式的高度和紋理在Unity3D中渲染得到的地形模型,雖然初始形成的整體效果在各方面的表現(xiàn)均不理想,例如樹木、石頭等地物已經失去原有的形狀,但是這種方式生成的地形模型可以直接用作后期瀏覽和交互操作的地形場景,并且可以在Unity3D下直接進行二次處理.圖6(a)是FBX模型在Unity3D下的三維效果,圖6(b)是DSM + DOM模型在Unity3D下的三維效果.
圖6 兩種模型在Unity3D下的三維效果
圖7是FBX模型處理前與處理后的對比.圖8是地型模型處理的效果.總體而言,圖6~8表明,基于地形方式的優(yōu)勢表現(xiàn)在可以直接對其進行平滑、種樹、與人工構建的模型進行疊加等處理,并添加風吹草動,樹葉擺動等自然效果.FBX模型在河流、石頭和公路上的顯示效果比基于地形方式更貼近自然真實效果.但基于地形方式和FBX模型在植被顯示上均不理想,無法滿足瀏覽的視覺要求.FBX模型在Unity3D下處理涉及到花草、植被、水、風等具有物理性質的地物,需要寫腳本判斷模型的各個頂點,對于模型的實現(xiàn)有一定的難度.實驗表明,在三維場景構建方面,基于DSM + DOM的地形模型更適用與Unity3D結合實現(xiàn)科普系統(tǒng)的建立.
圖7 FBX模型處理前與處理后的對比
圖8 地型模型處理效果
4.2 三維場景的實現(xiàn)分析三維場景的流暢運用是本實驗系統(tǒng)開發(fā)方面中的關鍵,實驗對比了以上兩種三維場景構建方式在Unity3D運行中實現(xiàn)效果和性能參數(shù)的表現(xiàn).
4.2.1 實現(xiàn)效果 以國家公園入口處為例做功能展示,通過人物對話形式完成神農架國家公園的總體概況介紹,實現(xiàn)專業(yè)知識的科普;通過控制人物行走跑動、飛行的動作方式增加交互操作性和畫面動態(tài)感,實現(xiàn)科普系統(tǒng)的代入性.圖9(a)和圖9(b)分別為基于地形模型和基于FBX模型的電腦桌面或安卓手機端系統(tǒng)界面,其中基于地形的手機端APP大小為80 M,可發(fā)布至互聯(lián)網.
圖9 兩種模型的科普系統(tǒng)局部場景圖
從實現(xiàn)效果看,由于在基于地形方式中采用Unity3D的Terrain功能,添加樹木、草地等地物,解決了植被效果不理想的問題,使場景效果更精細、更美觀;而基FBX模型即使在修飾模型以后,由于在后期不易于實現(xiàn)樹木等覆蓋,效果仍然不夠理想.
4.2.2 性能參數(shù) 利用Unity測試工具profiler采用最高畫質對基于FBX模型和基于地形的兩套系統(tǒng)進行性能測試,分別測試系統(tǒng)的CPU、GPU 渲染Rendering和Memory內存消耗,各項指標值越低代表性能越好.
CPU的響應耗時上,F(xiàn)BX模型平均維持100幀/s,地形模型平均維持60幀/s,說明基于FBX的系統(tǒng)運行流暢度優(yōu)于基于地形模型的系統(tǒng)運行流暢度.GPU圖形處理器方面,基于地形的模型draw call總數(shù)達到2 374,需要處理的三角形數(shù)量1.2 M,頂點數(shù)量1.2 M;基于FBX模型draw call總數(shù)為63,三角形數(shù)量6.5 M,頂點數(shù)量4.5 M.基于FBX模型的GPU運算消耗遠小于基于地形的模型的GPU運算消耗.內存分配方面,基于地形的內存分配,最高分配1.55 G內存(其中顯存可分配1.24 G),基于FBX模型最高分布1.07 G(其中顯存可分配390 MB).系統(tǒng)性能參數(shù)方面,Unity3D中,基于地形的方式比基于FBX模型的方式更加耗能.
4.3 分析本實驗中基于FBX的模型無法實現(xiàn)大范圍的精細場景,在沒有添加花草樹木等自然地物的前提下,雖然基于FBX模型的科普系統(tǒng)性能更優(yōu)化,但是由于國家公園的科普更多涉及到花草植被,實現(xiàn)物體的疊加需要腳本判斷模型的各個頂點,難以實現(xiàn)大范圍的精細場景.因此,F(xiàn)BX的地形模型更適合應用于一定尺度下的、不需要精細瀏覽的大型場景的展示.基于地形構建的三維場景經Unity3D的Terrain編輯后的場景更加美觀,能較好地滿足地面瀏覽需求,更容易讓系統(tǒng)受眾者產生代入感,但其不足之處在于紋理細節(jié)不是真實的地面紋理,如河流、石頭等細節(jié)部分均采用貼圖的方式表現(xiàn).
總體而言,基于FBX模型細膩度消耗資源比基于地形的模型小,但基于地形的模型對于復雜的交互和物理性質更易于實現(xiàn).相比較而言,在有交互式的自然保護地科普系統(tǒng)中更適宜采用基于地形模型的方式實現(xiàn),而FBX模型更適用于大場景的地貌展示.
本研究中將無人機數(shù)據(jù)與虛擬引擎技術相結合,以神農架國家公園入口處為研究對象,通過對無人機數(shù)據(jù)采集、處理,完成三維地形模型的編輯與構建、結合Unity3D實現(xiàn)真實場景的虛擬搭建,探究利用虛擬引擎技術給大眾提供身臨其境的學習互動互聯(lián)網App系統(tǒng)的可行性.實驗發(fā)現(xiàn)Unity3D能夠較好地處理FBX模型和地形模型,對于小場景的真三維地形的實現(xiàn)、瀏覽和交互操作都能較理想地完成,并能夠保證場景的流暢運行,同時探討了這兩種方式的適用范圍.此外,這一過程的經濟、勞動和時間消耗小,這為科普教育的發(fā)展提供了一種新的面向大眾的可行性方案,對國家公園科普教育的展示與推進有非常重要的積極意義,也為無人機獲取的真實場景和虛擬引擎結合提供了一種新的應用思路.