宋小虎,孫琪迦,劉 照
(1.江蘇省測繪工程院,江蘇 南京 210013;2.宜興市自然資源和規(guī)劃局,江蘇 宜興 214200)
隨著傾斜三維數(shù)據獲取與處理技術的逐漸成熟,以及處理設備與應用軟件的平民化,傾斜三維應用成為了目前測繪地理信息行業(yè)一個很重要的數(shù)據來源。幾乎每個測繪相關單位都能夠具備傾斜數(shù)據的生產能力,對應的傾斜三維數(shù)據在信息化系統(tǒng)中的使用比重也逐漸提高,國家層面也已經提出啟動“實景三維中國建設”計劃。傾斜數(shù)據最大的特點是真實,但是對于目前主流的可視化應用場景這是優(yōu)勢同樣是劣勢,本文將探討目前傾斜三維數(shù)據目前存在的問題,以及如何做好傾斜三維數(shù)據成果的發(fā)布優(yōu)化與可視化效果。
目前傾斜三維模型成果文件主流采用OSGB格式,本文討論的數(shù)據問題分析與優(yōu)化方法都是基于OSGB通用格式開展。
傾斜三維模型成果能否實現(xiàn)快速加載和調度,是衡量三維數(shù)據成果的一個重要指標。對海量傾斜攝影模型數(shù)據如何進行性能優(yōu)化處理。首先需要研究影響傾斜三維數(shù)據成果應用的主要因素。
圖形處理器場景幀率只有達到15幀以上,三維場景顯示才不卡頓。達到24幀人才能使得眼睛無法看出閃動,場景顯示自然流暢。達到30幀,畫面將非常流暢。為了提升數(shù)據瀏覽效率,我們在開展數(shù)據層面優(yōu)化之前,必須針對如下3個問題進行分析。
傾斜三維數(shù)據成果由于分塊存儲的特性以及生產數(shù)據的機器性能等原因,導致傾斜三維數(shù)據量非常大,且數(shù)據成果的Tile文件夾也很多,成果數(shù)據不光數(shù)據總量大,文件數(shù)據也是海量的,這就導致系統(tǒng)在進行數(shù)據調度的時候會比較慢,造成瀏覽應用加載不流暢,實際使用場景中經常會出現(xiàn)加載速度太慢、數(shù)據從不清晰到清晰要等待時間過長等問題。
傾斜攝影OSGB格式自帶多級分辨率的LOD數(shù)據,這個LOD是在模型的生產過程中創(chuàng)建的,是根據密集點云逐級抽稀后構建的三角網模型,在三維場景的瀏覽過程中,不同層級之間的過度很平滑,沒有突跳感,但是這樣的處理也導致數(shù)據體量變大、瀏覽時崩潰概率變大、低級數(shù)據不精細等問題。
傾斜三維成果基本都是按照Tile模式組織、調度、加載與渲染的。特別是在終端渲染過程中,都會把每個視野中的Tile全部載入內存,但是對于精度較高的傾斜數(shù)據,一個Tile內的數(shù)據量都可能上G,紋理解壓后再翻10倍左右,導致內存使用資源量過大。為了盡力減小渲染批次,傾斜三維數(shù)據成果在發(fā)布時,對于原來傾斜中的小數(shù)據塊(幾十K的數(shù)據,包含的小于1 024×1 024的紋理)會做合并處理,每個Tile需要完全讀入內存后再做處理。 但是這樣的處理,紋理渲染對內存的消耗過大,對于終端配置要求較高。
目前傾斜三維數(shù)據成果主要采用傾斜三維數(shù)據生產軟件導出軟件終端軟件平臺可以使用的標準格式,比如ContextCapture中直接可以導出成OSGB、3DTiles等格式,這樣已經能夠滿足了大多數(shù)的應用場景,但是一般這種直接導出的對于大場景的支持通常并不是很好,比如缺少必要的優(yōu)化,無法提升加載效率,還需要要借助商業(yè)平臺的場景優(yōu)化能力,比如紋理壓縮和合并根節(jié)點等方法來優(yōu)化場景的加載效率,但是無論哪種方法都是在原有OSGB分片的基礎上完成,但是從初始級別到最終級別中間的過度級別往往都很差,分級化簡非常嚴重,只有加載到最后一個高精度級別才能夠具備實用的價值,中間層級的數(shù)據技術過度的價值更高于使用價值,所以這也是一個明顯的問題。
傾斜數(shù)據獲取時的作業(yè)參數(shù)設置、航飛光影條件、天氣條件、數(shù)據采集設備、建模軟件等主觀因素,導致各類型的數(shù)據成果存在質量問題。其表現(xiàn)為模型建筑物出現(xiàn)重影、整體拉花、融化、光影嚴重斑駁、建筑錯位、變形、建筑粘連等問題。例如水面、玻璃、大面積單一紋理面的建筑物,無法反映物體真實紋理信息的反光面。因此模型質量差異問題在一定程度上降低了數(shù)據成果可視化效果。
針對傾斜三維成果數(shù)據的特點,目前行業(yè)已經形成了一些普適性的三維模型構建與模型處理優(yōu)化方法[1-4];其中針對無人機傾斜攝影三維成果數(shù)據冗余大的特點,行業(yè)專家也提出了一些針對性的建模方法優(yōu)化[5];同時,為更好基于WEB模式發(fā)布傾斜三維數(shù)據,應用時必須在數(shù)據管理與發(fā)布上開展針對性優(yōu)化研究[6]。
在傾斜三維數(shù)據成果生產過程中,需要設置瓦片邊長來輸出模型成果。最終每個文件夾存儲一個瓦片(Tile)數(shù)據,模型成果以測區(qū)中心區(qū)域為Tile-+000-+000開始命名,按照行列號以此類推;每個文件夾中的第一個文件(與文件夾同名),我們稱為根節(jié)點。
如果根節(jié)點數(shù)量過多,顯卡渲染的批次就比較多,而每個批的調用都會消耗一定的CPU時間,這樣會導致CPU負載過重,最終導致場景卡頓。
終端瀏覽在每批渲染調用(DP)過程中,渲染調用都會消耗一定的CPU時間,對于顯卡來說,一個批次的多邊形數(shù)量遠達不到最大繪制數(shù)量。因此盡可能將更多的多邊形放在一個批里渲染,以此來減少批的數(shù)目,最終降低CPU時間。
合并根節(jié)點后,根節(jié)點引用的二進制的瓦片數(shù)據文件可以采用點云或復合模型,目前融合的節(jié)點可以具有4種類型文件,如表1所示。
表1 實景三維數(shù)據類型
合并根節(jié)點的目的就是把單批的尺寸變大,減少批的數(shù)目進而提升性能。合并操作后大大減少了3DTiles文件夾的數(shù)據,合并傾斜攝影數(shù)據,使瀏覽速度大幅提升。在合并根節(jié)點的同時,進一步優(yōu)化、減少根節(jié)點金字塔層級,減少數(shù)據渲染調度的數(shù)據量,提高渲染調度效率。合并根節(jié)點環(huán)節(jié)比較費時,合并根節(jié)點需要采用多線程方式進行,采用分布式數(shù)據存儲方式,利用在線并發(fā)多節(jié)點云計算能力,大大提升優(yōu)化根節(jié)點合并速度。
傾斜三維成果中對于模型物體表面細節(jié)的表現(xiàn)主要依靠影像貼圖來實現(xiàn)的,越是高分辨率的貼圖影像自然表現(xiàn)力也是越強,但是同時帶來的問題是所需占用的內存會成倍的上升,因此紋理質量是制約傾斜三維成果渲染效率的主要因素,減少三維數(shù)據資源消耗,尤其是紋理的資源消耗,能夠大大提升終端渲染調度顯示效率。
此外,終端設備的顯卡并不能直接使用紋理數(shù)據的JPG格式去創(chuàng)建資源,需要在CPU和內存里把JPG解壓縮,這張圖片解壓縮后內大量占有內存資源,特別是在視野大范圍場景下,需要調取大量的tile格網數(shù)據量較大時,大量的紋理載入導致內存效果過大,導致單個渲染批次內耗時過長,導致瀏覽卡頓等問題的出現(xiàn)。所以各個三維承載平臺上在進行紋理壓縮的同時,需要考慮紋理貼圖在內存占用和顯示效果能達到一個盡可能的平衡,充分考慮到紋理的不同設備顯卡類型,將紋理壓縮成終端顯卡直接支持的格式,這樣顯卡在渲染過程中就不需要花費額外的開銷來解析紋理(不同的設備選擇不同的紋理壓縮方式,需要區(qū)分PC設備、安卓設備、IOS設備等情況),壓縮完成后數(shù)據會更小,加載數(shù)據更快捷,資源占用更少。
數(shù)據成果通過網絡實現(xiàn)在線發(fā)布,由于三維成果數(shù)據量較大,因此網絡終端對網絡環(huán)境配置要求很多,我們需要通過三角網壓縮、紋理壓縮等方式進行數(shù)據成果壓縮,進一步減少網絡數(shù)據傳輸壓力。
如果數(shù)據訪問的網絡配置較低,可以通過三角網壓縮,能夠節(jié)省帶寬50%左右,同時在發(fā)布服務器端設置 GZIP壓縮模式,能夠再節(jié)省20%左右的帶寬。但如果是在本地局域網中,可以不做壓縮,因為壓縮為有損壓縮,數(shù)據質量會降,降低的不明顯。
此外,本文采用Draco進行3DTiles模型壓縮,Draco是一個用于網格壓縮的glTF擴展,用于壓縮和解壓縮3D網格,能夠顯著減少3D內容的大小,通過壓縮頂點位置、法線、顏色、紋理坐標和任何其他一般的頂點屬性,提高3DTiles在WEB傳輸效率和速度。使用Draco壓縮與GZIP的glTF 2.0的tileset的總加載時間可以大大縮減。
為了達到更好的傾斜三維數(shù)據成果的快速加載與瀏覽,必須優(yōu)化傾斜三維數(shù)據成果圖層的LOD距離縮放比例參數(shù),優(yōu)化設置這個參數(shù)會在原來的LOD距離基礎上縮放對應的倍數(shù),進而在不同的相機距離切換對應的層級數(shù)據;最大可見距離同樣是在距離范圍之外的數(shù)據將會不可見,以此來提升瀏覽性能。
只有不斷提升傾斜三維數(shù)據成果的加載與瀏覽效率,才能進一步擴展傾斜三維數(shù)據成果的應用范圍。我們一方面可以進一步提升終端硬件配置,提升存儲、CPU、顯卡渲染與計算能力。另一方面,我們在傾斜三維成果的數(shù)據結構優(yōu)化與渲染調度方面,還可以進一步優(yōu)化策略和方法,使傾斜攝影模型在各種終端設備中能夠高效加載與流暢顯示。