劉秀偉,任鏷*,孫曉敏,徐崇斌,周明全
(1.北京印刷學(xué)院 設(shè)計(jì)藝術(shù)學(xué)院,北京 102600;2.北京空間機(jī)電研究所,北京 100094;3.文化遺產(chǎn)數(shù)字化保護(hù)與虛擬現(xiàn)實(shí)北京市重點(diǎn)實(shí)驗(yàn)室,北京 100875)
中國(guó)古建筑造型精美,結(jié)構(gòu)精妙,以木架構(gòu)為主形成了獨(dú)立完整的營(yíng)造體系,兼具科學(xué)技術(shù)和藝術(shù)審美價(jià)值,是中華文明的重要組成,也是世界文化遺產(chǎn)的璀璨明珠。中國(guó)古建筑的三維數(shù)字化是計(jì)算機(jī)圖形圖像技術(shù)應(yīng)用于建筑學(xué)研究、文化遺產(chǎn)數(shù)字化保護(hù)和數(shù)字娛樂等多種應(yīng)用場(chǎng)景的具體實(shí)例。相對(duì)于二維圖像,古建筑的三維模型可以更加直觀地對(duì)其外形、結(jié)構(gòu)以及營(yíng)造方式等信息進(jìn)行表達(dá),支持古建筑在圖形空間的數(shù)字孿生和交互應(yīng)用。
與西方石質(zhì)古建筑主體結(jié)構(gòu)簡(jiǎn)單、裝飾性構(gòu)件復(fù)雜等特點(diǎn)不同,中國(guó)古建筑以木質(zhì)結(jié)構(gòu)為主體,建筑外形很難通過球、圓柱、圓錐等標(biāo)準(zhǔn)幾何形狀直接進(jìn)行描述,而是由斗、拱、椽、檁、梁架等構(gòu)件榫卯拼接而成,這些構(gòu)件本身互相遮擋并且具有復(fù)雜的連接關(guān)系。且古建筑結(jié)構(gòu)與其所屬政治人文環(huán)境、歷史年代等因素密不可分,因此中國(guó)古建筑的三維建模問題相對(duì)于一般三維建模問題更加復(fù)雜,值得學(xué)術(shù)界圍繞相關(guān)問題展開專門研究。本文從中國(guó)古建筑三維數(shù)字化問題描述開始,對(duì)現(xiàn)有古建筑三維建模方法和研究現(xiàn)狀進(jìn)行分析討論,總結(jié)不同方法和對(duì)應(yīng)的適用場(chǎng)景并提出展望。
古建筑具有極強(qiáng)的地域特點(diǎn)和功能屬性,形式多樣且特點(diǎn)鮮明,本文討論的中國(guó)古建筑是指以木作結(jié)構(gòu)為基礎(chǔ),明確具有臺(tái)基、房體、屋頂三部分構(gòu)件集合和相應(yīng)子構(gòu)件的中式宮殿、民居、園林和寺廟建筑。信息技術(shù)應(yīng)用于中國(guó)古建筑數(shù)字化工作以來,三維模型在遺址遺存的實(shí)體修復(fù),古建筑結(jié)構(gòu)形態(tài)虛擬復(fù)原、科學(xué)仿真等方面具有重要作用。不同應(yīng)用場(chǎng)景對(duì)三維數(shù)據(jù)需求不同,有些僅需展示建筑外形,有些需要詳細(xì)的內(nèi)部結(jié)構(gòu);有些需要實(shí)現(xiàn)實(shí)體從物理空間到虛擬空間的高精度數(shù)字孿生,有些需要實(shí)現(xiàn)符合約束規(guī)則和應(yīng)用場(chǎng)景的古建筑高效率三維內(nèi)容制作。因此中國(guó)古建筑三維數(shù)字化問題涉及不同三維數(shù)據(jù)表示方式、生成方法和處理技術(shù)。
在三維幾何處理研究領(lǐng)域,三維形狀存在多種表示方式,如點(diǎn)云、網(wǎng)格、深度圖像、體素和隱式函數(shù)等。不同數(shù)據(jù)類型具有不同幾何特征,且生成方式和處理技術(shù)均不同。最常見的中國(guó)古建筑三維數(shù)據(jù)類型為三維點(diǎn)云和三維網(wǎng)格。
三維點(diǎn)云包含從形狀表面采樣得到的三維點(diǎn),通常表示為的矩陣形式,代表三維點(diǎn)個(gè)數(shù),代表描述點(diǎn)的特征維數(shù),除空間坐標(biāo)之外,還可以為空間點(diǎn)的其他屬性,如顏色、深度等。三維點(diǎn)云數(shù)據(jù)是利用光學(xué)設(shè)備采集得到的原始類型,也是計(jì)算機(jī)視覺研究領(lǐng)域三維重建算法生成的初始結(jié)果。隨著光學(xué)掃描硬件設(shè)備和三維重建技術(shù)發(fā)展,古建筑三維點(diǎn)云數(shù)據(jù)越來越容易獲取。點(diǎn)云表示中,三維空間點(diǎn)之間不存在拓?fù)浣Y(jié)構(gòu),無順序和連接關(guān)系等信息。大多數(shù)應(yīng)用中,需把點(diǎn)云數(shù)據(jù)重建為三維網(wǎng)格進(jìn)行下一步處理。圖1 左為激光掃描的高精度古建筑點(diǎn)云。
圖1 古建筑三維數(shù)字化數(shù)據(jù)形式Fig.1 3D data forms of CAA
三維網(wǎng)格利用頂點(diǎn)和連接頂點(diǎn)的邊組成多邊形表面表示三維形狀,通常為三角形或四邊形網(wǎng)格。三角網(wǎng)格作為使用最為廣泛的三維形狀表示方式,具有存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)單、逼近效果好等優(yōu)點(diǎn)。以三角網(wǎng)格為例,網(wǎng)格數(shù)據(jù)可表示為點(diǎn)、邊、面的集合{V,E,F(xiàn)},其中V={v1,v2,…,vn} 為網(wǎng)格的n個(gè)頂點(diǎn);E={(vi,vj)|vi,vj為邊的頂點(diǎn)} 表示網(wǎng)格中頂點(diǎn)間連接關(guān)系;F={(vi,vj,vk)|vi,vj,vk}構(gòu)成網(wǎng)格中三角面片。與離散點(diǎn)云不同,網(wǎng)格可表示相鄰頂點(diǎn)的連通性,因此更適合計(jì)算描述三維形狀的局部幾何特征,更適于交互式幾何建模以及模型渲染和展示。古建筑三維網(wǎng)格數(shù)據(jù)可基于點(diǎn)云重建生成,也可通過算法自動(dòng)或交互式生成。圖1 中為基于掃描點(diǎn)云泊松重建生成的三角網(wǎng)格模型,右為設(shè)計(jì)師利用幾何造型軟件制作的四邊形網(wǎng)格。由統(tǒng)計(jì)數(shù)據(jù)可知,重建生成的網(wǎng)格雖然可以降低原始數(shù)據(jù)頂點(diǎn)數(shù),但是相對(duì)幾何造型數(shù)據(jù)仍具有很大數(shù)據(jù)量。此外,基于深度圖像、三維體素和隱式函數(shù)的三維重建方法也是相關(guān)領(lǐng)域的研究熱點(diǎn),但是在中國(guó)古建筑三維建模實(shí)踐中應(yīng)用有限。實(shí)踐中,不同數(shù)據(jù)類型、建模方式的選擇需要由應(yīng)用需求來決定。
中國(guó)古建筑具有獨(dú)特的營(yíng)造方法和支撐結(jié)構(gòu),在統(tǒng)一的建筑體系下又極富變化。從三維形狀幾何處理角度考慮,中國(guó)古建筑的三維形狀屬于具有復(fù)雜子結(jié)構(gòu)的人造物體三維形狀。中國(guó)古建筑的三維數(shù)字化不僅要考慮建筑整體的幾何外形生成,還要考慮子結(jié)構(gòu)部件的相對(duì)位置和空間關(guān)系,多個(gè)建筑單體組合生成院落場(chǎng)景布局。理論上,三維重建和三維建模是兩種不同的三維模型生成技術(shù)。應(yīng)用于古建筑數(shù)字化問題中,前者可解決現(xiàn)實(shí)世界中,古建筑文物的數(shù)字孿生問題;后者解決虛擬世界中,古建筑三維模型從無到有的生成問題。實(shí)際工作中兩種技術(shù)存在融合應(yīng)用,本文對(duì)現(xiàn)有研究中針對(duì)古建筑三維數(shù)字化問題的解決方法進(jìn)行文獻(xiàn)綜述,按照生成方式不同將現(xiàn)有方法歸納為基于幾何造型軟件的交互式建模、三維重建、過程式建模和數(shù)據(jù)驅(qū)動(dòng)建模方法。
交互式幾何建模屬于計(jì)算機(jī)輔助設(shè)計(jì)(CAD)研究方向,是計(jì)算機(jī)圖形學(xué)領(lǐng)域最早出現(xiàn)的三維建模方法。經(jīng)過數(shù)十年的發(fā)展,目前在行業(yè)內(nèi)已經(jīng)存在大量成熟的幾何建模工具,如3Ds Max、SketchUp、Blender 等。在大部分實(shí)際應(yīng)用中,基于三維幾何造型軟件的方法依然是古建筑三維內(nèi)容制作的主流方法[1],其需要建模人員具有較高領(lǐng)域?qū)I(yè)知識(shí),包括對(duì)建模軟件的使用、對(duì)古建筑構(gòu)造規(guī)則的了解以及專業(yè)的藝術(shù)審美能力,建模過程耗時(shí)費(fèi)力,成本較高。并且對(duì)于非專業(yè)用戶來說,按照繁雜的規(guī)則進(jìn)行幾何建模并不現(xiàn)實(shí)?;谟?jì)算機(jī)圖形學(xué)和計(jì)算機(jī)視覺技術(shù)發(fā)展,已有一些針對(duì)古建筑特定對(duì)象的快速建模方法研究。
三維重建(3D reconstruction)是光學(xué)傳感設(shè)備應(yīng)用于古建筑三維數(shù)據(jù)采集的基本方法,可以在圖形空間快速生成與物理世界相對(duì)應(yīng)的真實(shí)模型。此類方法是測(cè)繪領(lǐng)域的關(guān)注熱點(diǎn),不同技術(shù)的主要區(qū)別在于古建筑空間信息采集設(shè)備,不同設(shè)備的采集方法、適用場(chǎng)景和生成數(shù)據(jù)類型均有不同。但此類方法均涉及三維幾何處理中的多種基礎(chǔ)研究問題,如空間點(diǎn)云數(shù)據(jù)采集、點(diǎn)云數(shù)據(jù)處理、多視點(diǎn)云拼接融合、點(diǎn)云網(wǎng)格化等。
典型的中國(guó)古建筑三維點(diǎn)云采集方法以激光測(cè)量技術(shù)為主,常見設(shè)備包括車載、機(jī)載Li-DAR 激光掃描儀、TLS 站式地面掃描儀等。利用激光掃描古建筑獲得表面點(diǎn)云數(shù)據(jù)是測(cè)繪領(lǐng)域關(guān)注的應(yīng)用問題。應(yīng)用于建筑三維數(shù)據(jù)采集的站式激光掃描儀出現(xiàn)于20 世紀(jì)末,目前已形成非常成熟的技術(shù)流程?;驹硎抢眉す怙w行時(shí)間(Time of flight,TOF)來判斷空間點(diǎn)的位置信息,即設(shè)備向目標(biāo)發(fā)射連續(xù)的激光脈沖,通過特定傳感器接收物體傳回的光信號(hào),計(jì)算光線往返的飛行時(shí)間得到古建筑表面的3D 深度信息,以點(diǎn)云形式表達(dá)。對(duì)于大體量的古建筑,通常需要在標(biāo)定靶等參照物輔助下實(shí)現(xiàn)多站掃描,拼接生成完整數(shù)據(jù)。激光掃描得到的古建筑點(diǎn)云數(shù)據(jù)精度高,能夠滿足測(cè)繪、高精度存檔等要求,因此在實(shí)踐中應(yīng)用廣泛[2]。目前可用于古建筑三維掃描的激光掃描設(shè)備已集成了點(diǎn)云去噪、拼接、修補(bǔ)、網(wǎng)格化等幾何處理功能[3],支持生成古建筑工程測(cè)繪圖等應(yīng)用。
激光掃描設(shè)備價(jià)格昂貴,操作復(fù)雜,在基層文保工作實(shí)踐中難以普及推廣。因此基于普通照片的古建筑掃描方法也得到廣泛關(guān)注。此類方法基于計(jì)算機(jī)視覺領(lǐng)域被動(dòng)式三維重建算法的研究成果,能夠?qū)崿F(xiàn)從多視角圖像,甚至單幅圖像到三維點(diǎn)云的自動(dòng)生成。
利用多個(gè)視點(diǎn)對(duì)同一目標(biāo)拍攝多張圖像,可以通過算法對(duì)不同圖像中相同像素點(diǎn)進(jìn)行匹配,再結(jié)合三角測(cè)量原理計(jì)算空間點(diǎn)的三維坐標(biāo)信息,進(jìn)而重建出三維模型,這一過程被稱為運(yùn)動(dòng)恢復(fù)結(jié)構(gòu)(Structure from motion,SfM)。可以采用多視圖幾何方法實(shí)現(xiàn)基于SfM 的古建筑三維重建[4],通常包括4 個(gè)基本步驟:
1) 特征檢測(cè)與匹配:利用圖像特征局部不變性進(jìn)行檢測(cè),定義描述算子在一組古建筑圖像序列中提取特征點(diǎn),計(jì)算不同圖像中同一空間位置對(duì)應(yīng)像素的特征點(diǎn)對(duì)。
2) 多視圖幾何約束關(guān)系計(jì)算:根據(jù)對(duì)極幾何原理求解基礎(chǔ)矩陣,利用基礎(chǔ)矩陣和攝像機(jī)內(nèi)參數(shù)求解本質(zhì)矩陣,對(duì)輸入圖像中任意對(duì)應(yīng)點(diǎn)之間的約束關(guān)系進(jìn)行描述,包含物理空間中攝像機(jī)的旋轉(zhuǎn)和平移信息,攝像機(jī)的內(nèi)參數(shù)。
3) 優(yōu)化估計(jì)結(jié)果: 對(duì)前兩步操作計(jì)算生成的三維點(diǎn)位置和相機(jī)參數(shù)進(jìn)行非線性優(yōu)化,根據(jù)捆綁調(diào)整算法(bundler adjustment)將問題轉(zhuǎn)化為非線性最小二乘問題并求解。
4) 稀疏點(diǎn)云稠密化:經(jīng)過以上步驟可生成反映目標(biāo)表面主要特征信息的稀疏點(diǎn)云,但不具備可視化展示條件。針對(duì)中國(guó)古建筑,多利用PMVS 算法[5]實(shí)現(xiàn)多幅圖像到稠密點(diǎn)云的三維重建。PMVS 算法基于局部灰度一致性和全局可見度一致性定義面片(patch)模型,通過初始化特征匹配生成稀疏面片,迭代執(zhí)行面片擴(kuò)散和過濾操作得到稠密的面片點(diǎn)云。針對(duì)古建筑大體量帶來的如圖像采集過程中拍攝角度受限、表面細(xì)節(jié)多等具體問題,一些工作利用空間幾何信息[6]、多特征融合預(yù)處理等方法對(duì)PMVS 算法進(jìn)行改進(jìn),提高了重建精度和效率。
單幅圖像提供的空間信息非常有限,通常需要結(jié)合其他約束條件進(jìn)行三維信息恢復(fù)。一種思路是根據(jù)滅點(diǎn)定標(biāo)原理,利用滅點(diǎn)幾何關(guān)系計(jì)算相機(jī)內(nèi)外方位參數(shù),恢復(fù)相機(jī)空間姿態(tài),進(jìn)而結(jié)合地形圖、基本體素和高程數(shù)據(jù)等信息實(shí)現(xiàn)古建筑的三維信息復(fù)原[7]。Jiang 等提出利用古建筑對(duì)稱性對(duì)相機(jī)參數(shù)進(jìn)行標(biāo)定,基于單幅圖像計(jì)算三維特征點(diǎn)云,用戶提供少量交互標(biāo)定主要建筑構(gòu)件,最終生成完整網(wǎng)格模型[8]。深度學(xué)習(xí)技術(shù)為單幅圖像三維重建算法提供了新的思路,但由于缺少針對(duì)中國(guó)古建筑的專用數(shù)據(jù)集,因此利用深度學(xué)習(xí)算法從單幅圖像生成古建筑三維模型仍存在困難。
近年來隨著無人機(jī)技術(shù)發(fā)展,航空傾斜攝影測(cè)量也常用于古建筑的三維信息采集[9]。利用飛行器搭載高清攝像頭實(shí)現(xiàn)多角度圖像采集,在高空域?qū)崿F(xiàn)密集多角度自動(dòng)拍照計(jì)算三維點(diǎn)云,其本質(zhì)原理仍是基于圖像的三維重建。由于完整的古建筑單體規(guī)模較大,單一數(shù)據(jù)采集方法在實(shí)際應(yīng)用中存在缺陷,如站式掃描儀無法采集古建筑頂部數(shù)據(jù),而航空傾斜攝影技術(shù)在這一場(chǎng)景具有優(yōu)勢(shì)。在古建筑內(nèi)部小型復(fù)雜構(gòu)件掃描中,有時(shí)需要結(jié)合結(jié)構(gòu)光掃描技術(shù),提高生成模型精度。在此過程中,多源點(diǎn)云數(shù)據(jù)的匹配融合、稠密點(diǎn)云的網(wǎng)格化重構(gòu)也是值得研究的重要方向[10]。圖2 給出了利用多源融合方法進(jìn)行古建筑三維重建的基本流程。在大規(guī)模古建筑三維數(shù)據(jù)重建應(yīng)用中,需要根據(jù)需求利用多種技術(shù)采集重建三維點(diǎn)云,通過配準(zhǔn)融合多源點(diǎn)云數(shù)據(jù),三角化后生成完整古建筑三維網(wǎng)格。
在三維空間實(shí)現(xiàn)從無到有的古建筑建模屬于三維建模(3D modeling)問題的研究范疇。最常見的思路是過程式建模(procedural modeling)方法,即定義參數(shù)化形狀語法和生成規(guī)則,在圖形空間自動(dòng)生成三維模型或場(chǎng)景。過程式建模方法通過調(diào)整參數(shù)可生成不同的復(fù)雜結(jié)果,適合生成具有重復(fù)子結(jié)構(gòu)和自相似特征的目標(biāo)物體。通過定義完備的形式語法,如形狀語法、分裂語法、CGA(computer generated architecture)語法等對(duì)幾何結(jié)構(gòu)的邏輯和規(guī)則進(jìn)行描述,可實(shí)現(xiàn)大規(guī)模現(xiàn)代建筑和城市三維可視化建模應(yīng)用。
考慮古建筑的自相似性和子結(jié)構(gòu)重復(fù)出現(xiàn)的基本特點(diǎn),早期的中國(guó)古建筑三維快速建模方法直接引入過程式建模技術(shù),在構(gòu)件庫(kù)和規(guī)則庫(kù)驅(qū)動(dòng)下實(shí)現(xiàn)模型的自動(dòng)生成[11]。劉華等從中國(guó)古建筑建造規(guī)范中提取造型規(guī)則,參數(shù)化表示建筑結(jié)構(gòu)特征。將古建筑三維形狀的構(gòu)造模塊定義為組件,用形式語言對(duì)構(gòu)造規(guī)則進(jìn)行描述,如:
規(guī)則號(hào):組件串:構(gòu)建條件∶∶=組件串:概率因子。
通過迭代解釋造型規(guī)則控制組件的變換組合,實(shí)現(xiàn)古建筑模型自動(dòng)生成[12]。Liu 等提出基于語義的建模方法,將點(diǎn)、線、面等基本幾何單元轉(zhuǎn)換成生成古建筑的語義組件,利用XML語言和地理信息系統(tǒng)常用的數(shù)據(jù)描述語法控制模型生成過程[13-14]。Liu 等提出一種面向中國(guó)古建筑的營(yíng)造語法(Constructive Grammar,CG),定義五元組<M,F(xiàn),R,S,$>,其中M是古建筑結(jié)構(gòu)組件的有限集合;F是約束的有限集合;R是規(guī)則集,規(guī)則的表現(xiàn)形式為α→β,其中α是一個(gè)組件,β是一個(gè)組件串;S是一個(gè)空間占位符的有限集合;$是起始狀態(tài)符。構(gòu)造語法的字符表可表示為
其中T表示包括旋轉(zhuǎn)、平移、縮放等在內(nèi)的基本變換函數(shù)。字符表構(gòu)成的空間決定構(gòu)造語法所能表現(xiàn)的范圍,通過對(duì)語法解釋執(zhí)行,即可實(shí)現(xiàn)古建筑三維形狀的自動(dòng)生成[15]。
由于古建筑構(gòu)件在三維形狀方面存在多義性,引入本體概念可有效輔助過程式建模。本體是實(shí)現(xiàn)語義網(wǎng)的基礎(chǔ),其概念常用于共享概念模型的形式化規(guī)范說明,其定義目標(biāo)為獲取相關(guān)領(lǐng)域知識(shí),從不同層次定義詞匯和相互關(guān)系。Liu 等利用本體設(shè)計(jì)方法改進(jìn)古建筑的過程式建模,通過挖掘復(fù)雜建筑風(fēng)格的隱含模式自動(dòng)生成標(biāo)注,提高建模智能性和效率[16-17]。
中國(guó)古建筑形式多樣,構(gòu)件復(fù)雜,而上述過程式建模方法將結(jié)構(gòu)部件簡(jiǎn)化為基本幾何形狀進(jìn)行組合繪制,在細(xì)節(jié)上缺乏真實(shí)性。后續(xù)研究關(guān)注古建筑構(gòu)件的幾何特異性,在構(gòu)件和規(guī)則驅(qū)動(dòng)下生成古建筑結(jié)構(gòu)模型。自宋代《營(yíng)造法式》記載以來,中國(guó)古建筑的大木結(jié)構(gòu)營(yíng)造規(guī)則均以模數(shù)制進(jìn)行規(guī)范,即將古建筑中某一關(guān)鍵構(gòu)件尺寸作為基準(zhǔn),推算其余構(gòu)件尺寸參數(shù)。官式建筑多以斗口為基本模數(shù),民居等不適用斗拱的小式建筑可以檐柱徑為基本模數(shù)。真實(shí)世界中的古建筑可以通過標(biāo)準(zhǔn)構(gòu)件的組合裝配進(jìn)行營(yíng)造,構(gòu)件和規(guī)則驅(qū)動(dòng)的過程式建模方法定義形式語法對(duì)模數(shù)制和古建筑構(gòu)件進(jìn)行參數(shù)化描述,實(shí)現(xiàn)古建筑結(jié)構(gòu)的自動(dòng)或交互式生成。如王茹等以斗口模數(shù)十一等材為基礎(chǔ),構(gòu)建了古建筑構(gòu)件3D 模型庫(kù),并基于CAD 軟件開發(fā)可視化應(yīng)用接口,實(shí)現(xiàn)不同類型和規(guī)格的古建筑快速建模[18]。Liu 等提出規(guī)則驅(qū)動(dòng)的中國(guó)古建筑過程式建模方法,通過定義構(gòu)件組裝過程的XML 文件實(shí)現(xiàn)標(biāo)準(zhǔn)式樣的建筑建模,解決構(gòu)件參數(shù)設(shè)置規(guī)則和構(gòu)件位置關(guān)系的協(xié)同問題[19]。圖3 展示了文獻(xiàn)[19]中國(guó)古建筑典型木結(jié)構(gòu)民居的三維數(shù)字化效果圖以及對(duì)應(yīng)構(gòu)件的語義名稱。Liu 等基于模數(shù)確定開間數(shù)、開間面闊、廊步和舉架尺度等參數(shù),并根據(jù)建筑形制、樣式、構(gòu)造做法等規(guī)則計(jì)算結(jié)構(gòu)部件在空間中的位置信息,實(shí)驗(yàn)中對(duì)復(fù)雜建筑構(gòu)件如斗拱、不同形制古建筑單體、古建筑群落布局的自動(dòng)生成進(jìn)行了測(cè)試[20]。
圖3 古建筑構(gòu)件的三維模型經(jīng)參考文獻(xiàn)[20]許可部分轉(zhuǎn)載,版權(quán)所有(2018)美國(guó)計(jì)算機(jī)學(xué)會(huì)Fig.3 3D model of CAA structural componentReprinted (adapted) with permission from ref.[20] Copyright (2019) Association for Computing Machinery
加入圖像引導(dǎo)可以提高過程式建模結(jié)果的真實(shí)性,實(shí)現(xiàn)與現(xiàn)實(shí)中真實(shí)古建筑視覺一致的快速建模。Hou 等利用古建筑工程圖紙進(jìn)行快速建模,從正視線畫圖中分割古建筑語義組件,通過啟發(fā)式算法實(shí)現(xiàn)層次化的子部件語義選擇,根據(jù)形狀語法生成與語義樹一致的古建筑形狀[21]。后續(xù)工作中提出一種基于單幅圖像的過程式建模方法,通過用戶標(biāo)注的建筑輪廓計(jì)算滅點(diǎn),識(shí)別重復(fù)出現(xiàn)的曲線元素確定三維方向和建筑組件,結(jié)合形狀語法實(shí)現(xiàn)過程式建模[22]。
由于古建筑風(fēng)格形狀的多樣性,還有一些工作針對(duì)特定類型古建筑類型開展過程式建模研究,利用過程式建模方法提高交互建模工具的可用性。如郭武等提出古建筑 L 系統(tǒng)建模方法,通過參數(shù)控制頂部曲率等幾何參數(shù),實(shí)現(xiàn)塔式建筑快速建模[23]。Huang 等提出中式亭子快速建模方法,通過位置控制點(diǎn)和曲率控制點(diǎn)對(duì)屋頂形狀進(jìn)行參數(shù)調(diào)整,且支持屋頂細(xì)節(jié)構(gòu)件的動(dòng)態(tài)生成,為用戶提供一種交互式過程建模工具,快速生成不同風(fēng)格的亭子模型[24]。Hu等提出一種從未分割古建筑網(wǎng)格模型中提取框架的自動(dòng)算法,為用戶提供可交互編輯的初始框架,輔助非專業(yè)建模用戶的快速建模[25]。
考慮古建筑與子結(jié)構(gòu)部件之間存在層次關(guān)系,圖結(jié)構(gòu)的引入為古建筑過程式建模提供新的思路。薛峰等提出一種徽派建筑快速建模方法,將建筑體的各個(gè)模塊參數(shù)化為圖的拓?fù)涔?jié)點(diǎn),通過對(duì)圖節(jié)點(diǎn)遍歷實(shí)現(xiàn)徽派建筑三維模型的自動(dòng)構(gòu)建[26]。后續(xù)工作通過子圖拓?fù)鋽U(kuò)展,基于有限的初始節(jié)點(diǎn)信息自動(dòng)擴(kuò)展徽派建筑平面布局二維拓?fù)鋱D,采用模塊組合實(shí)現(xiàn)參數(shù)化的過程式快速建模。李尚林等針對(duì)徽派建筑的特定風(fēng)格,在營(yíng)造語法基礎(chǔ)上提出基于概率網(wǎng)絡(luò)的高層語義參數(shù)和底層組件參數(shù)描述,通過規(guī)則求解生成符合需求的徽派建筑[27]。
過程式建模方法的本質(zhì)是對(duì)硬編碼(hardcode)過程規(guī)則的可視化表示,優(yōu)點(diǎn)在于能夠?qū)沤ㄖI(yíng)造規(guī)則進(jìn)行精準(zhǔn)地表達(dá),有效支持靜態(tài)或動(dòng)態(tài)的中國(guó)古建筑結(jié)構(gòu)三維可視化應(yīng)用,與交互式建模方法結(jié)合避免專業(yè)級(jí)別的幾何造型建模過程。然而硬編碼的規(guī)則無法實(shí)現(xiàn)對(duì)所有古建筑樣式的統(tǒng)一描述,只能生成與參數(shù)一致的古建筑模型。用戶只能通過調(diào)節(jié)規(guī)則參數(shù)得到不同形制的建筑模型,或在規(guī)則中加入隨機(jī)擾動(dòng)一定程度上提高生成結(jié)果多樣性。
隨著三維數(shù)據(jù)的積累和深度學(xué)習(xí)技術(shù)的發(fā)展,數(shù)據(jù)驅(qū)動(dòng)的三維建模方法逐漸成熟。三維形狀不僅能夠提供可復(fù)用的三維幾何數(shù)據(jù),還蘊(yùn)含著高層次語義信息和復(fù)雜的結(jié)構(gòu)知識(shí)。作為典型的人造物體,建筑的幾何結(jié)構(gòu)存在可復(fù)制的規(guī)律和邏輯,數(shù)據(jù)驅(qū)動(dòng)的三維建模方法旨在對(duì)已有同類三維形狀的分析理解基礎(chǔ)上,啟發(fā)式或開放交互式生成新的具有相同語義屬性的同類三維模型。
數(shù)據(jù)驅(qū)動(dòng)的三維物體和場(chǎng)景建模已有多年研究基礎(chǔ),Cohen-Or 等在文獻(xiàn)[28]中提出創(chuàng)意性三維建模,在少量三維模型基礎(chǔ)上,通過智能分析和子結(jié)構(gòu)重組生成更多同類模型,并在少量古建筑數(shù)據(jù)集上進(jìn)行測(cè)試。在古建筑三維建模應(yīng)用中,杜國(guó)光等提出基于樣例的三維建模方法,在構(gòu)建古建筑結(jié)構(gòu)部件數(shù)據(jù)庫(kù)的基礎(chǔ)上,提出基于語義的檢索方法,根據(jù)古建筑多維屬性和分類之間的關(guān)系,建立語義網(wǎng)和推理規(guī)則,利用HowNet 實(shí)現(xiàn)古建筑結(jié)構(gòu)部件的檢索與復(fù)用,進(jìn)而實(shí)現(xiàn)快速建模[29]。在政治因素和自然因素影響下,古建筑構(gòu)件需要遵循嚴(yán)格的等級(jí)和制式規(guī)定,同時(shí)也要匹配不同應(yīng)用場(chǎng)景;這意味著古建筑結(jié)構(gòu)部件三維形狀的幾何參數(shù)和對(duì)應(yīng)匹配也存在相應(yīng)依賴關(guān)系?;诖擞^察,Ren 等提出數(shù)據(jù)驅(qū)動(dòng)的古建筑三維建模方法,利用概率圖模型實(shí)現(xiàn)古建筑結(jié)構(gòu)部件關(guān)系推理(如圖4 所示),在已知部分結(jié)構(gòu)部件條件下向用戶推薦生成完整古建筑三維模型的合理匹配[30]。Wang 等提出從文本到古建筑的三維快速建模方法,對(duì)古建筑描述文本進(jìn)行自然語言處理,利用預(yù)訓(xùn)練的貝葉斯網(wǎng)絡(luò)計(jì)算合理匹配的最大后驗(yàn)概率,拼合結(jié)構(gòu)部件實(shí)現(xiàn)三維古建筑單體模型生成[31]。
圖4 數(shù)據(jù)驅(qū)動(dòng)方法生成的古建筑三維模型經(jīng)參考文獻(xiàn)[30]許可部分轉(zhuǎn)載,版權(quán)所有(2017)美國(guó)麻省理工學(xué)院出版社Fig.4 3D CAA models generated by the data driven methodReprinted(adapted) with permission from ref.[30] Copyright (2019) MIT press
在已有古建筑數(shù)據(jù)基礎(chǔ)上實(shí)現(xiàn)場(chǎng)景快速生成的任務(wù)可轉(zhuǎn)化為位置參數(shù)離散狀態(tài)空間的組合優(yōu)化問題進(jìn)行求解。Ren 等提出通過手繪草圖實(shí)現(xiàn)三維模型檢索復(fù)用,將古建筑布局約束定義為目標(biāo)函數(shù),通過智能優(yōu)化算法進(jìn)行動(dòng)態(tài)求解,實(shí)現(xiàn)場(chǎng)景快速生成[32]。Li 等定義古建筑布局的重疊規(guī)則、距離規(guī)則、旋轉(zhuǎn)規(guī)則、凸包面積規(guī)則等約束和隨機(jī)擾動(dòng),通過GPU 加速的動(dòng)態(tài)概率優(yōu)化實(shí)現(xiàn)古建筑民居群落的快速生成[33]。
逆向建模技術(shù)用于古建筑三維建模也是基于數(shù)據(jù)驅(qū)動(dòng)的思路,可以將參數(shù)建模生成的構(gòu)件標(biāo)準(zhǔn)幾何模型和采集得到的三維點(diǎn)云進(jìn)行配準(zhǔn),采用基于拉普拉斯坐標(biāo)的模型變形方法擬合標(biāo)準(zhǔn)構(gòu)件和采集數(shù)據(jù)?;驒z測(cè)輸入點(diǎn)云的邊緣特征,利用平面擬合大大降低點(diǎn)云數(shù)量,實(shí)現(xiàn)高精度掃描數(shù)據(jù)到精簡(jiǎn)網(wǎng)格的三維重建[3]。Liu 通過改進(jìn)RANSAC 算法在古建筑三維點(diǎn)云中提取平面、圓柱、圓錐等基本體素,校準(zhǔn)基本形狀體素的位置和方向,按照相鄰形狀體素之間的交線裁剪形狀體素,最終生成對(duì)應(yīng)的古建筑構(gòu)件CAD 模型[34]。
近幾年的研究中,生成對(duì)抗網(wǎng)絡(luò)、變分自編碼器等生成式深度學(xué)習(xí)模型被用于一般三維形狀的自動(dòng)生成[35]。在預(yù)處理大量古建筑三維模型,或其他可提供結(jié)構(gòu)語義信息的數(shù)據(jù)基礎(chǔ)上,結(jié)合此類算法將提高數(shù)據(jù)驅(qū)動(dòng)古建筑建模的智能性,輔助古建筑虛擬復(fù)原、智能場(chǎng)景生成等領(lǐng)域的快速建模應(yīng)用。
古建筑遺址文物的數(shù)字化保護(hù)是三維數(shù)字化的主要應(yīng)用場(chǎng)景。目前,針對(duì)中國(guó)古建筑保護(hù)修繕的三維數(shù)字化多采用圖2 所示的多源數(shù)據(jù)融合的三維重建方法,實(shí)現(xiàn)古建筑文物空間數(shù)據(jù)的高精度測(cè)繪和存檔,支持古建筑考古數(shù)據(jù)測(cè)量和可視化展示[36]。除了測(cè)繪數(shù)據(jù)記錄,高精度的三維數(shù)字化結(jié)果可輔助中國(guó)古建筑預(yù)防性保護(hù)應(yīng)用工作[37]。利用三維數(shù)據(jù)對(duì)建筑整體結(jié)構(gòu)、梁架、墻壁以及周期性形變進(jìn)行比對(duì)分析,可以對(duì)其平面位移、沉降、傾斜、形變進(jìn)行監(jiān)測(cè),對(duì)文物建筑的風(fēng)險(xiǎn)評(píng)估提供準(zhǔn)確的判斷依據(jù)。
BIM 系統(tǒng)是中國(guó)古建筑三維數(shù)字化的延伸方向,也是近年來古建筑數(shù)字化保護(hù)的重要手段?;诠沤ㄖS數(shù)據(jù),BIM 系統(tǒng)可以建立一個(gè)完整的涵蓋項(xiàng)目全壽命周期和全部信息的建筑信息模型[18]。理想的古建筑BIM 系統(tǒng)應(yīng)包含工程數(shù)據(jù)、材料數(shù)據(jù)和工藝數(shù)據(jù)在內(nèi)的基礎(chǔ)數(shù)據(jù)和完整參數(shù),以及與之相關(guān)的歷史檔案、史料等,可支持古建筑的完整生命周期記錄,支持真實(shí)世界建筑工程施工、古建筑虛擬復(fù)原、古建筑結(jié)構(gòu)分析和應(yīng)力仿真測(cè)試等具體應(yīng)用[38]。中國(guó)古建筑的BIM 系統(tǒng)實(shí)現(xiàn)是涉及完整的三維建模、整體和局部構(gòu)件建筑信息管理、文保數(shù)據(jù)管理等關(guān)鍵問題的綜合性課題,對(duì)古建筑數(shù)字化保護(hù)具有重要意義。
影視特效和動(dòng)畫制作也是中國(guó)古建筑三維數(shù)字化的重要應(yīng)用場(chǎng)景,要求在預(yù)算成本內(nèi)實(shí)現(xiàn)高質(zhì)量古建筑模型制作和渲染。對(duì)于真實(shí)世界存在的古建筑,可使用三維重建方法生成一致的三維場(chǎng)景,需解決網(wǎng)格處理和真實(shí)感繪制等問題;對(duì)于已不完整或消失的古建筑遺址,可利用數(shù)據(jù)驅(qū)動(dòng)的快速建模方法生成三維模型,需解決其中缺失構(gòu)件推理和拼合等問題;對(duì)于完全虛構(gòu)的古建筑,可基于交互式過程建模方法提高傳統(tǒng)幾何造型方法效率。影視動(dòng)畫采用離線渲染方式制作視頻內(nèi)容,可根據(jù)需求保證三維效果的真實(shí)感或藝術(shù)風(fēng)格,而不在模型精度方面進(jìn)行妥協(xié)。
相對(duì)而言,支持實(shí)時(shí)渲染的應(yīng)用場(chǎng)景對(duì)古建筑三維形狀的數(shù)據(jù)量要求極為苛刻,如3D 游戲、可交互的VR/AR 應(yīng)用、三維可視化線上應(yīng)用等,需要在用戶交互、甚至是遠(yuǎn)程傳輸?shù)耐瑫r(shí)完成渲染畫面的計(jì)算和輸出。隨著GPU 硬件發(fā)展、渲染算法效率提升和移動(dòng)互聯(lián)網(wǎng)傳輸性能提升,實(shí)時(shí)渲染可支持的三維模型面片數(shù)不斷提高,但是合理有效地分配畫面中的渲染資源依然是此類應(yīng)用場(chǎng)景關(guān)注的重點(diǎn)問題。許多古建筑過程式建模方法利用LOD(Level of detail)技術(shù)解決這一問題,即根據(jù)模型在顯示環(huán)境中的位置判斷顯示程度,自動(dòng)降低畫面中非重要物體的面數(shù)和細(xì)節(jié)度(圖5),獲得高效率的渲染運(yùn)算[39-40]。
圖5 古建筑LOD模型Fig.5 LOD models of CAA
通過對(duì)比生成點(diǎn)云坐標(biāo)與真實(shí)坐標(biāo)的位置誤差,可以對(duì)古建筑三維重建結(jié)果進(jìn)行精確的定量分析和評(píng)估。在激光掃描技術(shù)中,點(diǎn)云的測(cè)繪誤差主要來自于測(cè)量過程中的客觀因素,如設(shè)備精度限制、目標(biāo)遮擋、掃描距離、換站和多點(diǎn)云拼接帶來的累計(jì)誤差等。目前可用于古建筑三維掃描的主流站式激光掃描儀設(shè)備精度可達(dá)2 mm,用于局部細(xì)節(jié)掃描的手持設(shè)備精度可達(dá)0.02 mm,但是在實(shí)際工作中點(diǎn)云測(cè)量誤差會(huì)更大[1]?;趫D像的重建方法生成點(diǎn)云精度會(huì)受到更多環(huán)境因素影響,比如光照、目標(biāo)材質(zhì)、顏色等。此外圖像的分辨率對(duì)多視角圖像匹配算法也會(huì)帶來直接影響。通過密集采集高質(zhì)量圖像,目前基于傾斜攝影技術(shù)采集三維點(diǎn)云的精度可達(dá)厘米級(jí)[10]。除了精度要求,建模完整度也是評(píng)價(jià)重建結(jié)果的重要指標(biāo)。單一采集方法很難完成完整的古建筑數(shù)字化,通過多源點(diǎn)云數(shù)據(jù)融合生成的三維網(wǎng)格模型可以有效提高數(shù)據(jù)完整度和可視化效果。
中國(guó)古建筑快速建模方法的研究目標(biāo)有差異,如過程式建模方法以實(shí)現(xiàn)中國(guó)古建筑完整結(jié)構(gòu)建模為目標(biāo),數(shù)據(jù)驅(qū)動(dòng)方法更加關(guān)注交互易用性和生成結(jié)果多樣性,需要結(jié)合定量和定性分析對(duì)建模結(jié)果進(jìn)行評(píng)價(jià)。研究中通常通過生成建模實(shí)例、計(jì)算建模時(shí)間、用戶評(píng)價(jià)等方式對(duì)方法有效性進(jìn)行驗(yàn)證。表1 對(duì)調(diào)研文獻(xiàn)提出的不同類別中國(guó)古建筑三維數(shù)字化方法的優(yōu)缺點(diǎn)、生成數(shù)據(jù)特點(diǎn)、自動(dòng)化程度和應(yīng)用場(chǎng)景進(jìn)行了對(duì)比。實(shí)際應(yīng)用中需結(jié)合場(chǎng)景需求,選擇不同的方法實(shí)現(xiàn)中國(guó)古建筑三維數(shù)字化應(yīng)用。
表1 古建筑三維數(shù)字化方法對(duì)比與分析Table 1 Comparison and analysis of 3D CAA digitalization methods
研究者已針對(duì)中國(guó)古建筑三維數(shù)字化的具體問題提出了許多解決方法,目前為止仍有一些難點(diǎn)值得進(jìn)一步研究,并且在理論研究和硬件進(jìn)展支持下,呈現(xiàn)出一些值得關(guān)注的研究趨勢(shì)。
一是完整古建筑的三維數(shù)字化。雖然基于多源數(shù)據(jù)的融合生成已經(jīng)是古建筑三維重建領(lǐng)域的基本方法,但是在實(shí)際應(yīng)用中,生成完整古建筑三維形狀仍是難點(diǎn)。從重建方法來說,古建筑自身結(jié)構(gòu)存在遮擋,且數(shù)據(jù)體量過大給后期處理帶來很多困難,如建筑外形、內(nèi)室、內(nèi)部結(jié)構(gòu)細(xì)節(jié)的掃描數(shù)據(jù)很難融合處理和展示。對(duì)建模方法來說,生成模型完整度受限于規(guī)則,符合制式、應(yīng)用場(chǎng)景要求的合理細(xì)節(jié)信息仍需要額外的專家經(jīng)驗(yàn)指導(dǎo),快速建模方法可支持的應(yīng)用非常有限。
二是缺少標(biāo)準(zhǔn)數(shù)據(jù)集。標(biāo)注語義的古建筑三維標(biāo)準(zhǔn)構(gòu)件庫(kù)是支持許多方法研究的數(shù)據(jù)基礎(chǔ)。從規(guī)則驅(qū)動(dòng)的過程式建模方法來講,標(biāo)準(zhǔn)構(gòu)件可提高生成古建筑數(shù)據(jù)的真實(shí)性。目前的研究方法中,構(gòu)件庫(kù)的組織管理缺少統(tǒng)一的開源數(shù)據(jù)庫(kù)。從數(shù)據(jù)驅(qū)動(dòng)的建模方法來講,標(biāo)注語義的古建筑數(shù)據(jù)庫(kù)是智能化算法實(shí)現(xiàn)的基礎(chǔ),可通過標(biāo)注多源數(shù)據(jù)提高訓(xùn)練樣本數(shù)量。結(jié)合幾何數(shù)據(jù)分析和完整構(gòu)件庫(kù)可實(shí)現(xiàn)精確的古建筑逆向建模。
三是缺少對(duì)古建筑形狀風(fēng)格分析的深入研究。已有研究提出基于三維點(diǎn)云數(shù)據(jù)的風(fēng)格化幾何特征描述算子[41],或采用深度度量學(xué)習(xí)算法對(duì)古建筑三維模型的形狀風(fēng)格進(jìn)行相似度分析[42],但是缺少針對(duì)中國(guó)古建筑特點(diǎn)的具體研究,如不同朝代、不同地域古建筑屋檐的風(fēng)格形狀描述,不同制式和功能的裝飾構(gòu)件風(fēng)格描述等。形狀風(fēng)格分析可有效提升快速建模結(jié)果的合理性,并對(duì)古建筑復(fù)原推理和藝術(shù)化場(chǎng)景建模提供支持。
鑒于中國(guó)古建筑幾何形狀的復(fù)雜性,融合多種思路的三維數(shù)字化方法已成為研究趨勢(shì)。如文獻(xiàn)[22]結(jié)合圖像重建和過程式建模方法實(shí)現(xiàn)單幅圖像驅(qū)動(dòng)的古建筑快速建模,文獻(xiàn)[24]和[39]等結(jié)合過程式參數(shù)化建模方法提高交互建模的易用性,文獻(xiàn)[26]、[27]和[30]結(jié)合過程式和數(shù)據(jù)驅(qū)動(dòng)建模方法,采用圖網(wǎng)絡(luò)對(duì)古建筑構(gòu)件關(guān)系進(jìn)行描述。逆向建模、古建筑BIM 系統(tǒng)研發(fā)等綜合應(yīng)用,更是需要不同方法支持三維建模。
中國(guó)古建筑快速建模方法一方面更加智能化,旨在降低非專業(yè)用戶的建模門檻,如數(shù)據(jù)驅(qū)動(dòng)的建模方法,通過部件重組生成古建筑單體,避免用戶的交互建模過程。另一方面更加專業(yè)化,旨在為專業(yè)用戶提供易用的交互建模工具。如基于Rhino 建模軟件的參數(shù)化建模工具Grasshopper,通過可視化編程實(shí)現(xiàn)參數(shù)控制的過程式建模,大大提高了古建筑交互建模效率[43]。SketchUp 的古建筑生成插件CTA Construction Tools 覆蓋《營(yíng)造法式》中大木作的主要內(nèi)容,提供不同風(fēng)格古建筑的參數(shù)化建模。此外如Houdini、Blender 等幾何建模軟件也集成了參數(shù)控制的程序化建模功能,非常適合中國(guó)古建筑的快速建模。
引入深度學(xué)習(xí)算法對(duì)中國(guó)古建筑快速建模的智能性和專業(yè)性提升均有幫助。如已有研究利用pointNet 對(duì)古建筑構(gòu)件點(diǎn)云數(shù)據(jù)進(jìn)行識(shí)別和分類。對(duì)古建筑圖像的智能處理也可輔助三維建模,如已有研究利用R-CNN 對(duì)古建筑圖像中的缺失構(gòu)件進(jìn)行識(shí)別和推理,可輔助過程式建模方法的規(guī)則生成??梢越Y(jié)合deepDNN 從多源古建筑語義描述數(shù)據(jù)中學(xué)習(xí)生成規(guī)則,指導(dǎo)古建筑三維模型快速生成,甚至實(shí)現(xiàn)基于缺失信息的古建筑虛擬修復(fù)。此外,基于深度學(xué)習(xí)的圖形渲染技術(shù)研究已經(jīng)取得一些進(jìn)展,如近兩年來關(guān)注度極高的神經(jīng)輻射場(chǎng)(NeRF)技術(shù)[44],通過訓(xùn)練神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)少量視角到三維任意視角的渲染合成,可在古建筑模型的真實(shí)感和風(fēng)格化可視渲染應(yīng)用中進(jìn)行推廣應(yīng)用。