讓文物“活”起來,火山引擎視頻云三維重建技術揭秘
中國歷史悠久,文化底蘊深厚,文物數目眾多,文物作為前人智慧的結晶,其文獻價值不言而喻。古籍是記錄中華文明的重要載體,也是流傳至今的寶貴文化遺產,文物保護也是一項長期重要的基礎工作。全國2800多家圖書館收藏有超過5000萬冊的古籍,其中1/3存在不同程度的破損。按現有的文物修復人員數量,需要數百年的時間才能把館藏文物全部修復好。
《古籍尋游記》是字節跳動聯合中國第一歷史檔案館、敦煌研究院、甘肅簡牘博物館、國家圖書館(國家典籍博物館),共同打造的古籍活化項目,還原古文獻四大發現 —— 殷墟甲骨、居延漢簡、敦煌遺書、明清檔案,讓古籍以數字化的形式 “活”起來。
該項目以 VR 互動紀錄片為核心,依托火山引擎多媒體實驗室最新的三維重建技術,復刻線下文物到 PICO 虛擬場景中,并應用自研光場視頻技術,采集并惟妙惟肖的還原動態人物的光場信息,在 VR 場景中提供高自由度的觀看和交互體驗。在這些紀錄片中,觀眾可以通過 PICO、抖音裸眼 VR 等方式,足不出戶穿越時空,親自參與歷史事件,零距離接觸與欣賞古籍。
本文重點介紹火山引擎多媒體實驗室的三維重建技術以及光場視頻技術的原理、先進性及應用領域,幫助大家能更好的了解和認識三維重建技術,助力相關技術在實際產品和應用中落地。
1. 技術挑戰與難點
文物的數字化需要對文物做三維重建和數字復原,同時也對三維重建技術提出了很大挑戰:
- 文物采集需要使用對于文物無侵害的設備,傳統的高精度激光等設備就無法使用。文物通常保護在陳列柜內,難以拿出,也對重建的采集提出了更高的要求;
- 文物往往形狀復雜,且具有一定的材質,尤其是古籍類文物,往往很薄,如何重建這種很薄的文物,是物品重建的一個難點。如何高真實感復現文物并表現其真實感紋理,包括漫反射、鏡面反射、半透明,等復雜材質的恢復與微細表面的重建,也對技術提出了挑戰;
- 對于石窟等文物,需要采集并重建一定的空間,如何采用純視覺的方式,在石窟內進行漫游采集,并進行完整重建,是項目的一個難點;
- 為了更好地實現博物館的文化推廣,實現歷史情景的在線還原,需要對動態人物和場景進行高真實度重建,然而,當前動態人物和場景的高真實度重建缺乏完整的有效解決方案。
2. 三維重建技術介紹
三維重建是計算機輔助幾何設計(CAGD)、計算機圖形學(CG)、計算機動畫、計算機視覺、醫學圖像處理、科學計算和虛擬現實、數字媒體創作等領域的共性科學問題和核心技術。三維重建技術,一般包括數據采集 、預處理、 點云拼接、特征分析、網格及紋理生成等步驟。
傳統的三維重建采用基于視覺或者基于多模態(深度數據,e.g.,激光)重建圖像三維信息的過程,能夠對靜態物體和場景進行建模,但缺乏有效的對于動態物體和場景建模的整體解決方案。
火山引擎多媒體實驗室具備自研的物品重建技術、場景重建技術,及光場視頻技術,能夠對靜態物體構建高保真的形態,并恢復其復雜材質;能夠對大場景,包括城市,園區,房屋空間等進行有效的建模,是數字孿生的重要基礎;且能夠對動態物體和動態場景,采用先進光場視頻技術進行重建和復現,實現點播和直播,具備整套的技術解決方案。
2.1 物品重建技術:既要保護文物又要精確掃描
在“古籍尋游記”項目中,火山引擎多媒體實驗室做了四十多樣文物的數字復原。在做文物數字復原的過程中,遇到的第一個難點就是,文物是需要重點保護的,對于采集設備有一定的限制,比如,常用的高精度激光設備是不能夠用來掃描文物的,這就驅使火山引擎多媒體實驗室團隊采用基于視覺的方式對文物進行三維重建。
然而傳統基于視覺的重建方法無法處理弱紋理物體,而且對于形狀比較復雜的物品也難以重建(例如狹長的簡牘、扁平的甲骨)。為此,采用符號距離場(Signed Distance Fields,簡稱SDF)的技術方案來表示三維物體,結合深度學習的方法克服了以上重建難點。SDF 表示了空間中每個點到物體的有向距離,是一種隱式表示,二維SDF的示意圖如下。
SDF 示意圖
如何監督神經網絡使其準確地擬合該 SDF 是需要研究的問題。先用運動恢復結構(Structure from Motion,簡稱SfM)算法,精確計算拍攝圖像的相機姿態。有了相機姿態,利用可微渲染的方法將 SDF 所表示的空間信息渲染到圖像上,把渲染得到的圖像和該視角下采集的圖像做比較,不斷優化神經網絡,使 SDF 在各個采集視角下的渲染結果盡可能與實際采集的圖像一致。
為了進一步提高重建精細度,在優化 SDF 的時候加入稀疏重建得到的三維點做約束,能更好的還原物體的細節特征。為了達到完整重建的目的, 火山引擎多媒體實驗室還將分割算法和重建算法相結合,能夠有效的重建出物體的底部區域。
由于物體在掃描過程中是要固定在某個位置,物體的底面采集不到圖片的。物體的完整重建就是要解決物體底部重建的問題,通常的做法是懸線法或多段重建加后處理拼接。懸線法對文物來說不夠安全,拼接后處理流程較長,不能自動化。為此, 火山引擎多媒體實驗室在重建算法中加入了自動化圖像分割,能夠將正反兩次拍攝的數據統一起來一起重建,直接得到完整的重建結果,完整重建的結果對比如下圖所示。
未使用完整重建技術建模結果
使用完整重建技術建模結果
高光是物體重建的一大挑戰,一方面高光影響特征點匹配,導致恢復的相機位姿不準確,再一個高光也會破壞不同視角間觀測結果的一致性,對重建造成干擾。為此,火山引擎多媒體實驗室總結出一套利用偏振光消除高光的方法,能有效去除大量高光,高光消除的結果對比如下圖所示。
消除高光前
消除高光后
火山引擎多媒體實驗室的方法還可以模擬不同物體的反射/折射性質,實現對特殊材質物體的建模 , 文物重建的結果展示如下圖所示。
文物原圖
文物重建結果
四大博物館的文物,有一些是紙質、竹簡類的珍貴文物,這些文物也難以從陳列柜中取出并采集。針對這種情況,火山引擎多媒體實驗室自研了加入光學偏振片的采集設備,可以消除玻璃陳列柜帶來的雜光、高光和反射問題,使得我們在有一層玻璃保護殼的狀態下,仍對文物進行高保真的掃描和重建。
玻璃陳列柜中文物
文物重建結果
此外,火山引擎多媒體實驗室的物品重建技術還包含精確位姿估計、真實感紋理 ( 漫反射、鏡面反射、半透明 ) 等復雜材質的恢復與微細表面的重建,也均在“古籍尋游記”項目中得以運用,將寶貴的文物實現高真實度的1:1還原,并轉換為數字化資源,讓觀眾“沉浸式”逛館,讓藏品更加深入人心。
火山引擎多媒體實驗室的物體重建技術具備很強的普適性,不僅適用于文物,一般物體也同樣適用,而且對一些傳統重建難以處理的物體,比如,刀刃等非常薄的物體等,也能有不錯的重建結果。
上:小刀及木棍等道具;下:電商物品
2.2 自建場景重建算法:更高效率、更高精度
場景重建是計算機視覺和攝影測量中的重要研究課題,也在智慧城市、虛擬現實、數字導航與數字遺產保護等方面有著重要的應用。通過視覺進行三維重建具有采集效率高、采集成本低、精度上限高、適應場景廣等優點,同時可以避免其他掃描設備對場景帶來不必要的損害,但在算法層面面臨諸多挑戰。對此, 火山引擎多媒體實驗室結合 AI 技術與多視角幾何基本原理,搭建了一套先進的魯棒、精確完整視覺重建算法框架。 重建過程包括三個關鍵步驟 :圖像處理、 點云優化和網格重建 。
火山引擎多媒體實驗室利用先進的人工智能技術,對圖像進行去噪、超分 、特征提取與匹配等處理,從而克服了諸多傳統方法限制。然后利用 SfM 算法以及捆集約束(Bundle Adjustment,簡稱 BA)從圖像中提取稀疏幾何結構和相機參數。同時團隊開發了支持全景相機、多相機組、RGBD 相機、激光雷達、GPS/IMU 等多傳感器數據輸入的位姿估計算法,實現高精度、多模態、自適應的稀疏重建。為了處理大規模數據,團隊開發分塊重建和地圖合并策略,實現分布式集群并行重建,顯著提高了重建效率。
在完成場景稀疏重建后,通過立體視覺 (Multiple View Stereo,簡稱 MVS)技術將二維圖像信息轉化為三維點云信息。團隊自研基于單目相機、雙目相機和多目立體視覺的深度估計算法,通過神經網絡進行稠密深度估計,在任意視差、各種紋理環境獲得穩定優秀的表現。獲得點云信息后,進行點云去噪和補全,并通過點云配準實現場景幾何一致性。最后,通過基于 VoxelHash 和圖像語義信息的點云融合策略,進一步濾除噪聲,生成更加平滑一致的完整場景點云。
獲得場景點云后,進行 Mesh 重建?;鹕揭娑嗝襟w實驗室自研多種網格優化算法,實現網格平滑、去噪、簡化和補洞,獲得更加精細、完整的高質量網格模型。得益于圖像處理期間高精度的相機位姿估計以及圖像超分等畫質優化,結合自研貼圖算法,獲得更高清、拼縫更少的高質量紋理貼圖。同時通過紋理重打包算法優化,實現更高的紋理利用率,降低存儲資源浪費,提升紋理有效分辨率。
傳統圖像配準算法
火山引擎視頻云算法
傳統建模算法
火山引擎視頻云算法建模結果
城市場景建模
火山引擎視頻云算法
蘇州圓通寺重建結果
火山引擎多媒體實驗室的物品重建技術和場景重建技術可以等比例、高精度的復原不同大小、不同形狀的文物。上述的技術可以將線下文物轉換到線上,在PICO、抖音里實現文物的虛擬呈現,用戶可以把甲骨文把玩在手里,清晰的看到上面的文字,實現傳統參觀沒有的文物觀賞體驗,同時也可以跨越空間限制,置身并漫游在敦煌石窟里。另外,該項技術可以將線下珍貴文物轉換為線上的永久數字資源,實現文物的數字化保護,可以讓后世的人們身臨其境體驗到文物的全貌。
2.3 自研光場視頻技術:平衡成本與精確度之間的難題
為了能夠在虛擬敦煌石窟內,身臨其境地觀看一場盛世舞蹈,感受超越現實的體驗,火山引擎多媒體實驗室自研的光場視頻技術,能夠對動態人物和場景進行高真實度重建,達到行業先進水平。
動態三維網格數據(Dynamic Mesh),可以表示動態人物和場景,但是如何重建出高質量的動態三維網格,并使得新渲染出的圖像能夠如照片般逼真是一個難題。 若通過三維場景設計師對場景進行手工重建,將獲得較好的重建質量,但將付出較大的人力成本;若通過SFM/MVS等算法自動重建三維場景,則需要重建場景紋理有一定要求,且重建結果可能包含不精確的幾何細節和紋理失真。
神經輻射場技術,采用神經網絡對隱式重建,利用可微渲染模型,從已有視圖中學習如何渲染新視角下的圖像,從而實現照片級逼真的圖像渲染, 即神經輻射場(NeRF)技術??晌秩灸P徒A藦娜S空間模型及紋理到圖像的渲染過程,其可微特性使得在已有視角圖像的監督下,通過神經網絡對三維空間幾何及紋理進行學習。在未知新視角下,可以對學習到的三維空間幾何進行重新渲染,從而獲得新視角下的圖像。
火山引擎多媒體實驗室融合神經輻射場技術與傳統的網格建模技術。在具體實踐中,首先重建出人物的大致幾何輪廓,并改進NeRF技術,融入幾何輪廓作為先驗加入訓練指導,隱式學習三維空間幾何,并重新渲染出稠密新視角下的圖像。在神經輻射場訓練過程中,針對動態人物場景,團隊通過一些優化策略以提升該場景下的新視角生成效果,如借助基于哈希編碼的層次化表達提升模型訓練速度,借助流式訓練提升動態場景的幀間一致性等。最后采用視頻融合技術, 能夠自動學習背景信息,實現前景的重光照,使得前景演員與背景場景能夠無縫融合。
同時,火山引擎多媒體實驗室的光場視頻技術,可以實現 NeRF 的編輯,重建并復現復雜的動態大場景。
火山引擎多媒體實驗室的光場視頻技術,僅僅需要稀疏的多相機輸入,就能夠生成稠密的光場數據,這主要是采用基于深度學習的新視角生成技術。光場視頻數據相對傳統視頻數據,具有數據量大的特點,團隊采用多視角聚合編碼技術壓縮光場數據,降低傳輸和存儲的壓力。結合大規模直播技術以及 RTC 傳輸技術,能夠實現光場視頻的點播和直播。
3. 總結與展望
隨著3D技術的不斷成熟,火山引擎多媒體實驗室的3D技術不僅在VR領域、自動駕駛、視頻直播、游戲等場景落地具體的應用,而且將會在在工業、醫療、建筑家居、航空航天等領域持續探索?;鹕揭嫦M軌驅⑽锲分亟夹g、場景重建技術及光場視頻技術廣泛應用到各行各業的產品和項目中去,服務于企業客戶,為用戶帶來更高清、更互動、更沉浸的創新體驗。
火山引擎多媒體實驗室是字節跳動旗下的研究團隊,致力于探索多媒體領域的前沿技術,參與國際標準化工作,其眾多創新算法及軟硬件解決方案已經廣泛應用在抖音、西瓜視頻等產品的多媒體業務,并向火山引擎的企業級客戶提供技術服務。實驗室成立以來,多篇論文入選國際頂會和旗艦期刊,并獲得數項國際級技術賽事冠軍、行業創新獎及最佳論文獎。