關鍵詞:數(shù)字孿生,三維模型,輕量化,技術架構(gòu),評價方法
0 引言
數(shù)字孿生過程需要通過三維測繪、幾何建模、流程建模等技術,完成物理對象的數(shù)字化,構(gòu)建出相應的機理模型。三維模型的建模技術是用幾何概念描述對象的物理形狀,能夠?qū)⑽锢韺ο蟮膶嶓w形狀映射到虛擬空間,并配合渲染等實現(xiàn)更好的可視化展示和交互。這些模型通常包含大量的數(shù)據(jù)和信息,使得模型的存儲和計算成本極高,拖慢數(shù)字孿生系統(tǒng)三維模型的可視化展現(xiàn)速度,嚴重影響數(shù)字孿生應用效果。所以,在數(shù)字孿生應用中,模型的優(yōu)化(比如輕量化[1-4]和格式轉(zhuǎn)換[5-6]等)是至關重要的一環(huán),可以顯著提高模型的跨平臺使用能力,從而提高數(shù)字孿生的性能和精度。其中,通過模型的輕量化處理,可以有效地減少模型的數(shù)據(jù)量和計算量,降低系統(tǒng)的運行成本。目前,企業(yè)研發(fā)數(shù)字孿生應用時常用的優(yōu)化網(wǎng)格模型、優(yōu)化紋理貼圖、減少模型頂點數(shù)等輕量化手段缺少標準規(guī)范流程以及模型質(zhì)量評價方法。本文基于面向數(shù)字孿生應用場景需求的三維模型輕量化技術處理的主要原則,結(jié)合對國內(nèi)三維模型研發(fā)企業(yè)的調(diào)研成果,給出了滿足數(shù)字孿生應用特點的三維模型輕量化處理技術通用架構(gòu),對三維模型輕量化處理效果的評價方法進行了分析研究,為后續(xù)新國標的制定提供指引。
1 技術架構(gòu)
面向數(shù)字孿生可視化應用場景的三維模型輕量化的技術架構(gòu),由原始模型輸入、預處理輕量化、數(shù)字孿生項目生成、運行時輕量化和終端顯示等處理環(huán)節(jié)構(gòu)成,如圖1所示。
三維模型的輕量化處理技術主要體現(xiàn)在技術架構(gòu)中的預處理輕量化和運行時輕量化這兩個處理環(huán)節(jié)。其中,網(wǎng)格減面是通過對復雜的網(wǎng)格進行精簡,可以在保證幾何特征的前提下減少三角形面片的數(shù)量,進而減少網(wǎng)格的數(shù)據(jù)量的過程。預處理的實例化是在創(chuàng)建多個相同形狀和屬性的對象時,通過引用單個對象(稱為實例)的方式來代替逐個復制,可以在增加同類對象數(shù)量時不增加多邊形數(shù)量,從而節(jié)省文件存儲空間。模型合并是將多個獨立的三維模型,通過技術手段合并為一個整體模型的過程。模型結(jié)構(gòu)信息導出是指將模型的整體結(jié)構(gòu)或部分結(jié)構(gòu)以某種格式或方式從原始三維模型數(shù)據(jù)中導出,屬性信息導出是指從原始三維模型中提取和導出三維模型中各對象的屬性信息。運行時的實例化是指在加載與渲染多個相同形狀和屬性的對象時,通過引用單個實例的方式來代替逐個加載與渲染,可以在增加同類對象數(shù)量時不增加多邊形數(shù)量,從而節(jié)省內(nèi)存空間與計算資源。運行時的多層次細節(jié)(LOD)管理是指根據(jù)對象模型的節(jié)點在顯示環(huán)境中所處的位置和重要度,決定對象模型渲染的資源分配,降低非重要對象模型的面數(shù)和細節(jié)度,從而獲得高效率的渲染運算的過程。
2 輕量化過程
首先是原始模型的輸入,也就是BIM模型、CAD模型、單模型和傾斜攝影等各類三維模型的導入過程。這些類型的三維模型都可以作為待輕量化處理并生成數(shù)字孿生項目的原始模型。
然后進行預處理輕量化,是指對各類型三維模型在導入數(shù)字孿生項目之前進行輕量化預處理的過程。此過程的輕量化處理包括子模型實例化、多層次細節(jié)(LOD)生成、模型減面、數(shù)據(jù)壓縮等模型通用處理方法,也包括針對單模型的子模型合并,以及針對BIM類型模型與CAD類型模型的參數(shù)化模型轉(zhuǎn)換、模型結(jié)構(gòu)信息與屬性信息導出方法。
對于CAD/BIM模型,有兩部分的數(shù)據(jù)需要導出。一部分是CAD/BIM模型的模型結(jié)構(gòu)信息與屬性信息。這部分數(shù)據(jù)是用于描述CAD/BIM模型的PMI數(shù)據(jù)、裝配數(shù)據(jù)、構(gòu)件結(jié)構(gòu)數(shù)據(jù)等數(shù)據(jù)。模型結(jié)構(gòu)信息與屬性信息導出方法可以將導出的數(shù)據(jù)存放在XML、JSON等類型的文本文件中,然后執(zhí)行相同字符串合并等數(shù)據(jù)壓縮處理,也可以將導出的數(shù)據(jù)存放在數(shù)據(jù)庫中,通過模型與構(gòu)件的唯一標識進行數(shù)據(jù)訪問。另一部分CAD/BIM模型需要導出的數(shù)據(jù)是三維模型數(shù)據(jù)。這部分數(shù)據(jù)的導出需要經(jīng)歷參數(shù)化模型轉(zhuǎn)換、實例化、生成LOD、數(shù)據(jù)壓縮這四個過程。參數(shù)化模型轉(zhuǎn)換將三維模型表達由參數(shù)化形式轉(zhuǎn)換為網(wǎng)格形式,然后對各構(gòu)件進行實例化處理。CAD/BIM模型的構(gòu)件是標準化的,因此對CAD/BIM模型進行實例化處理通常能獲得很好的效果。實例化處理后再對CAD/BIM模型生成LOD。CAD/BIM模型生成LOD時可以合并所有構(gòu)件,由導出的模型結(jié)構(gòu)數(shù)據(jù)提供所有構(gòu)件的結(jié)構(gòu)信息。最后進行數(shù)據(jù)壓縮,就可以獲得數(shù)字孿生項目需要的輕量化后的三維模型以及導出的模型額外信息。
對于單模型(包括靜態(tài)模型與動畫模型),預處理輕量化包含四個處理過程:生成LOD、實例化、子模型合并和數(shù)據(jù)壓縮。對單模型的處理首先經(jīng)過實例化過程,對相同形狀與屬性對象進行實例化。再經(jīng)過生成LOD過程,在保持實例化的情況下通過減面等輕量化方法生成多個精度不同的LOD模型。然后經(jīng)過子模型合并過程,對各LOD模型的非實例化對象進行合并處理。最后經(jīng)過數(shù)據(jù)壓縮處理就能獲得數(shù)字孿生項目需要的輕量化后的單模型。
對于傾斜攝影模型,預處理輕量化包含三個處理過程:生成LOD根層級、模型減面和數(shù)據(jù)壓縮。
傾斜攝影模型首先經(jīng)過生成LOD根層級過程,對沒有根節(jié)點的傾斜攝影模型生成根節(jié)點。根節(jié)點是一個包含傾斜攝影模型整體輪廓的節(jié)點文件,能夠在查看傾斜攝影模型時提升模型加載速度及在數(shù)字孿生大場景中極大地減少內(nèi)存、顯卡等資源消耗。生成根節(jié)點后,傾斜攝影模型進入模型減面處理,對傾斜攝影模型根節(jié)點及其他各模型節(jié)點分別進行模型減面。最后經(jīng)過數(shù)據(jù)壓縮處理就能獲得數(shù)字孿生項目需要的輕量化后的傾斜攝影模型。
數(shù)字孿生項目生成是指將預處理輕量化后的模型與模型額外信息,合并導入到數(shù)字孿生項目的過程。
運行時輕量化是指在數(shù)字孿生項目運行時,進行輕量化處理的過程。此過程的輕量化處理,主要包括運行時LOD管理與運行時實例化兩部分。其中,運行時LOD管理在執(zhí)行時可以在確定LOD層級后,對同LOD層級的模型進行分區(qū)域合并處理,以提升渲染效率。
最后的終端顯示是指數(shù)字孿生項目經(jīng)過各種輕量化處理后,渲染出可視化結(jié)果,并在各種顯示終端上進行呈現(xiàn)的過程。
3 質(zhì)量評價
目前,對于數(shù)字孿生系統(tǒng)中經(jīng)過輕量化處理后的三維模型,國內(nèi)外都還沒有統(tǒng)一的質(zhì)量評價標準。數(shù)字孿生應用場景的三維實景模型在生產(chǎn)建模工藝、成果表現(xiàn)和應用層次等方面均與傳統(tǒng)三維模型的建模過程不同,完全依據(jù)現(xiàn)行的三維地理信息模型相關規(guī)范[7]進行質(zhì)量檢驗,會產(chǎn)生較大的應用偏差。
數(shù)字孿生系統(tǒng)的輕量化三維模型可能的質(zhì)量問題主要有以下幾個:(1)模型失真。在三角面簡化過程中,如果誤差控制不當,可能會導致模型失真,出現(xiàn)鋸齒狀等情況。(2)精度降低。在數(shù)據(jù)壓縮過程中,對數(shù)據(jù)進行采樣和刪除操作可能會導致精度下降,從而影響模型質(zhì)量。(3)紋理丟失。在紋理數(shù)據(jù)壓縮過程中,使用一些壓縮算法可能會導致紋理信息的丟失,從而影響模型的視覺效果。(4)渲染速度無法提升。即使對模型進行了輕量化處理,仍然可能會因為模型過大或復雜而導致渲染速度慢。
數(shù)字孿生系統(tǒng)中三維模型輕量化處理質(zhì)量可以通過一些具體的指標來進行度量,如網(wǎng)格減面技術的網(wǎng)格減少率和減面時間、實例化技術的實例化渲染效率和實例化壓縮率、LOD生成技術的LOD生成時間、模型合并技術的合并精度和合并時間、模型壓縮技術的數(shù)據(jù)壓縮比和數(shù)據(jù)壓縮速度等。具體的評價指標對應的操作和計算方法如下。
3.1 網(wǎng)格減面
(1)網(wǎng)格減少率
打開模型查看器,查看原始模型總面數(shù)并記錄為;對原始模型執(zhí)行網(wǎng)格減面處理,并導出為減面后的模型;打開模型查看器,查看減面后模型總面數(shù),并記錄為。面片減少率可按公式(1)計算:
3.3 LOD生成時間
選擇一個網(wǎng)格模型文件,通過模型查看器查看原始模型的總面數(shù)與總頂點數(shù),分別記錄為與;通過幀率、渲染時間等指標,對比使用LOD前后模型的性能差異;對原始模型執(zhí)行多級LOD生成處理生成n 個LOD層級,并使用秒表記錄總處理時長;通過模型查看器查看每個LOD層級模型的總面數(shù)與總頂點數(shù),分別記錄為與;檢查每個LOD層級模型總面數(shù)之間是否滿足如下關系:
3.4 模型合并
(1)合并精度
獲取合并前原始三維模型的所有頂點,形成點集A;對原始三維模型執(zhí)行模型合并處理,獲取合并后三維模型的所有頂點,形成點集B;對點集A中的所有頂點,獲取點集A中的每個點到點集B中的最近點的最大距離(Hausdorff距離-度量兩個點集之間相似度的指標),記錄為;對點集B中的所有頂點,獲取點集B中的每個點到點集A中的最近點的最大距離,記錄為;點集A與點集B的平均Hausdorff距離可按公式(6)計算:
3.5 模型壓縮
選擇一個網(wǎng)格模型文件,查看文件大小并記錄為;對原始模型執(zhí)行數(shù)據(jù)壓縮處理,并導出為壓縮后的模型文件,并通過秒表測試數(shù)據(jù)壓縮處理時間,記錄為TS;查看壓縮后的模型文件大小,并記錄為。數(shù)據(jù)壓縮比可按公式(8)計算:
4 結(jié)論
本文基于面向數(shù)字孿生應用場景需求的三維模型輕量化處理技術需求,提出一種數(shù)字孿生應用特點的三維模型輕量化處理技術通用架構(gòu),對技術架構(gòu)涉及的輕量化處理流程進行了具體論述。在分析數(shù)字孿生系統(tǒng)的輕量化三維模型質(zhì)量問題的基礎上,對影響輕量化三維模型質(zhì)量的關鍵評價指標及其評價方法進行了研究,給出了這些關鍵指標的計算方法,為后續(xù)新國標的制定提供了指引。