三维网格精简算法java版_ISMAR 2020 | 商汤提出手机端实时单目三维重建系统
導(dǎo)讀:商湯研究院和浙江大學(xué)CAD&CG國家重點(diǎn)實(shí)驗(yàn)室合作研發(fā)了一個手機(jī)端實(shí)時單目三維重建系統(tǒng)Mobile3DRecon。與現(xiàn)有的基于RGBD的在線三維重建或離線生成表面網(wǎng)格的系統(tǒng)不同,該系統(tǒng)結(jié)合前端位姿跟蹤結(jié)果,允許用戶使用單目攝像頭在線重建場景表面網(wǎng)格。
在深度估計方面,提出結(jié)合多視圖半全局匹配算法和深度神經(jīng)網(wǎng)絡(luò)優(yōu)化后處理過程魯棒地估計場景深度。在表面網(wǎng)格生成過程,本文提出的在線網(wǎng)格生成算法可以實(shí)時增量地融合關(guān)鍵幀深度到稠密網(wǎng)格中,從而重建場景表面。通過定性和定量的實(shí)驗(yàn)驗(yàn)證,所研制的單目三維重建系統(tǒng)能夠正確處理虛擬物體與真實(shí)場景之間的遮擋和碰撞,在手機(jī)端實(shí)現(xiàn)逼真的AR效果和交互。
論文名稱: Mobile3DRecon: Real-time Monocular 3D Reconstruction on a Mobile Phone
論文地址:
Mobile3DRecon: Real-time Monocular 3D Reconstruction on a Mobile Phone?ieeexplore.ieee.orgOral slides:
https://www.youtube.com/watch?v=W95Vs4REUGM?www.youtube.com問題和挑戰(zhàn)
遮擋和碰撞檢測一直是AR行業(yè)面對的一大難題,其技術(shù)難點(diǎn)在于需要實(shí)時獲取場景的三維表面信息,從而使虛擬物體和真實(shí)環(huán)境能融為一體。
當(dāng)前已有的實(shí)時場景重建系統(tǒng)通常需要RGB-D或Lidar攝像頭的支持(如KinectFusion, InfiniTAM, ElasticFusion, BundleFusion等),然而受硬件的限制目前市面上大部分的手機(jī)無法使用該功能;
另一類重建系統(tǒng)雖然可以根據(jù)單目RGB攝像頭計算深度,從而重建場景表面(如MonoFusion, MobileFusion, CHISEL等),但是需要較大的計算時間和內(nèi)存開銷,大多僅能在PC或高端的移動平臺上實(shí)時運(yùn)行。
針對上述問題,本文提出了一個手機(jī)端實(shí)時單目三維重建系統(tǒng)Mobile3Drecon,該工作的主要貢獻(xiàn)在于:
方法介紹
本系統(tǒng)框架如圖2所示。移動設(shè)備獲取的RGB圖像和IMU信息經(jīng)過前端視覺慣性SLAM系統(tǒng)后可以實(shí)時得到關(guān)鍵幀的6自由度位姿,該位姿經(jīng)過后端全局優(yōu)化后進(jìn)入深度估計模塊,對于新增的每個關(guān)鍵幀,首先基于多視圖半全局匹配方法計算關(guān)鍵幀初始深度圖,然后采用置信度和深度神經(jīng)網(wǎng)絡(luò)優(yōu)化深度圖噪聲,優(yōu)化后的深度圖輸入增量式網(wǎng)格生成模塊后實(shí)時構(gòu)建場景表面稠密網(wǎng)格。
通過實(shí)時6自由度位姿估計和場景表面網(wǎng)格構(gòu)建,Mobile3DRecon系統(tǒng)支持用戶在手機(jī)端實(shí)現(xiàn)真實(shí)的AR遮擋和碰撞效果。下面分別介紹系統(tǒng)的單目深度估計和增量式網(wǎng)格構(gòu)建兩個主要功能模塊。
圖2:系統(tǒng)框架圖1. 單目深度估計
動機(jī):
傳統(tǒng)基于多視圖立體匹配的深度估計算法通常需要較強(qiáng)的GPU算力來滿足實(shí)時計算的要求,而輕量的算法又難以獲得精確完整的深度圖結(jié)果。盡管一些基于深度神經(jīng)網(wǎng)絡(luò)的深度估計算法在公開數(shù)據(jù)集上表現(xiàn)出了較好的效果,然而在實(shí)際應(yīng)用過程中受場景弱紋理和SLAM位姿偏差的影響較大,手機(jī)平臺算力的影響也使其難以在移動端部署。
鑒于此,本文期望結(jié)合輕量化的深度神經(jīng)網(wǎng)絡(luò)和快速的多視圖半全局匹配算法實(shí)現(xiàn)場景深度計算,考慮到手機(jī)平臺算力、SLAM位姿偏差和弱紋理場景的影響,本文希望多視圖半全局匹配方法在保證深度估計泛化能力的同時,能夠融合多幀信息提升對位姿偏差和弱紋理區(qū)域的容忍度,通過結(jié)合深度神經(jīng)網(wǎng)絡(luò)能夠有效改善位姿偏差和弱紋理產(chǎn)生的深度噪聲,從而得到精確、完整的深度圖結(jié)果。
方法:
本文提出的單目深度估計算法主要包含三個部分:
具體方式如下:
① 步驟:多視圖深度估計
② 步驟:置信度噪聲剔除
圖3:單目深度估計結(jié)果③ 步驟:基于深度神經(jīng)網(wǎng)絡(luò)的深度圖優(yōu)化
去除深度圖噪聲后,本文使用一個輕量的深度神經(jīng)網(wǎng)絡(luò)優(yōu)化深度圖,網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示,包含了多任務(wù)網(wǎng)絡(luò)和深度優(yōu)化網(wǎng)絡(luò)兩個部分。
圖4:深度圖優(yōu)化神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)網(wǎng)絡(luò)第二個階段的輸入為原始深度圖和一階段的深度圖噪聲預(yù)測結(jié)果,使用U-Net殘差深度優(yōu)化網(wǎng)絡(luò)優(yōu)化原始輸入的深度,得到更高質(zhì)量的深度輸出。本文使用Demon數(shù)據(jù)集[2]訓(xùn)練上述網(wǎng)絡(luò),然后使用手機(jī)采集的帶TOF深度的3700組序列影像微調(diào)該網(wǎng)絡(luò)。圖5所示為帶有一定位姿偏差的圖像,第二列為置信度剔除噪聲后的深度圖,最后一列為經(jīng)過深度優(yōu)化網(wǎng)絡(luò)后的深度圖結(jié)果,可以看出深度圖僅存在少量的空間噪聲。
圖5:基于深度神經(jīng)網(wǎng)絡(luò)的深度圖優(yōu)化2. 增量式網(wǎng)格生成
動機(jī):
在線網(wǎng)格重建的難點(diǎn)在于如何在保證較好重建效果和重建規(guī)模的前提下,能夠?qū)崟r在線地重建場景三維表面信息。傳統(tǒng)基于TSDF融合的方法雖然能夠在線融合深度圖,TSDF的更新通常需要在GPU平臺上才能達(dá)到實(shí)時,受平臺算力的影響該過程很難在一些中低端的手機(jī)上實(shí)時應(yīng)用。
此外,現(xiàn)有的表面網(wǎng)格生成的算法(如Marching Cubes[4])是離線的,難以實(shí)現(xiàn)在線增量式表面網(wǎng)格生成和更新。鑒于此,本文希望能夠?qū)崿F(xiàn)一種適合手機(jī)端AR應(yīng)用的實(shí)時增量式在線網(wǎng)格生成算法,通過構(gòu)建一種快速的基于空間索引的voxel hash機(jī)制,并對傳統(tǒng)的Marching Cubes算法進(jìn)行改進(jìn),使其能夠在線增量地擴(kuò)展場景網(wǎng)格表面,從而重建場景三維信息。同時,考慮到空間中的動態(tài)物體可能會對AR遮擋和碰撞效果產(chǎn)生影響,因此本文希望增量式網(wǎng)格生成算法能夠快速有效地剔除空間動態(tài)物體。
方法:
本文的增量式網(wǎng)格生成方法主要包含三個部分:
具體方式如下:
① 可擴(kuò)展的哈希函數(shù)
圖6:可擴(kuò)展哈希索引示意圖② 體素的融合與動態(tài)物體移除
對于輸入的每個關(guān)鍵幀深度圖,通過將深度值投影到三維的體素塊中,從而判斷是否需要分配新的體素塊,如果需要則將體素塊的TSDF和權(quán)值信息插入到索引表中,否則按照下式(7)更新當(dāng)前體素塊體素的TSDF值和權(quán)重。
為了處理動態(tài)物體產(chǎn)生的網(wǎng)格,本文將可見的體素投影到當(dāng)前幀深度上進(jìn)行可視性檢查,如果發(fā)現(xiàn)與當(dāng)前深度存在差異,則更改體素的TSDF值。通過這種方式可以使移出場景的動態(tài)物體產(chǎn)生的網(wǎng)格被逐漸消除。如圖7展示了增量式網(wǎng)格構(gòu)建過程中動態(tài)物體移除的過程。
圖7:動態(tài)物體移除示意圖③ 增量式網(wǎng)格更新
圖8:三個關(guān)鍵幀的增量式網(wǎng)格更新示意圖實(shí)驗(yàn)結(jié)果
本文使用OPPO R17 Pro手機(jī)采集帶有真實(shí)場景深度的5組數(shù)據(jù),用于從定性和定量兩個方面對比Mobile3DRecon與一些SOTA方法的效果, 其中g(shù)round truth為OPPO R17 Pro獲取的與單目相機(jī)對齊的TOF深度。圖9和圖10所示為室外樓梯場景分別使用REMODE、DPSNet、MVDepthNet以及本文方法生成深度圖和mesh網(wǎng)格,可以看出本文方法生成的深度圖細(xì)節(jié)更加明顯,在此基礎(chǔ)上生成的網(wǎng)格質(zhì)量優(yōu)于其它幾種方法。
圖9:本文的單目深度估計與其他方法的結(jié)果比較圖10:本文方法最終融合的表面網(wǎng)格與其他方法的結(jié)果比較為了定量評價本文方法和REMODE、DPSNet、MVDepthNet生成的深度圖和網(wǎng)格的精度,本文對比了5個場景下幾種方法的實(shí)驗(yàn)結(jié)果,如表1所示。
分別統(tǒng)計了幾種方法的深度和網(wǎng)格與真值深度(ToF)和真值網(wǎng)格在公共有效區(qū)域的RMSE和MAE精度,可以看出Mobile3DRecon方法不論是在深度圖還是網(wǎng)格質(zhì)量上都要優(yōu)于其它的一些SOTA方法,深度圖和網(wǎng)格精度可以達(dá)到厘米級。其余4個場景重建的網(wǎng)格結(jié)果如圖11所示。
表1:Mobile3DRecon系統(tǒng)重建五個由OPPO R17 Pro采集的實(shí)驗(yàn)場景的精度評估,每個場景給出了本文的方法和其他方法的深度和網(wǎng)格的RMSE和MAE誤差,以ToF深度作為真值。
圖11:四個由OPPO R17 Pro采集的實(shí)驗(yàn)場景用本文方法生成的表面網(wǎng)格結(jié)果本文在OPPO R17 Pro和小米8兩個中端手機(jī)平臺上測試了Mobile3DRecon各個過程的耗時,如下表所示。Mobile3DRecon在小米8(高通驍龍845)平臺上基本可以達(dá)到OPPO R17 Pro(高通驍龍710)兩倍的運(yùn)行速度,然而即使是在性能較弱的OPPO R17 Pro手機(jī)上,本系統(tǒng)基于關(guān)鍵幀深度估計和增量式網(wǎng)格構(gòu)建的過程仍然可以滿足每秒5關(guān)鍵幀的運(yùn)行幀率,從而達(dá)到實(shí)時的效果。
表2:Mobile3DRecon系統(tǒng)每個關(guān)鍵幀各步驟的詳細(xì)耗時情況,分別在OPPO R17 Pro和小米8兩個手機(jī)平臺上統(tǒng)計。
圖12展示了Mobile3DRecon系統(tǒng)集成到移動端Unity的運(yùn)行效果,可以看出在OPPO R17 Pro和小米8手機(jī)上該系統(tǒng)能夠通過精確重建場景表面網(wǎng)格使得虛擬物體的放置不局限于平面結(jié)構(gòu),同時室內(nèi)樓梯和打印機(jī)場景的示例也展示了虛擬球與真實(shí)場景產(chǎn)生的正確遮擋和碰撞交互效果。
圖12:Mobile3DRecon在手機(jī)平臺上的AR應(yīng)用結(jié)語
本文提出了一個實(shí)時的單目三維重建系統(tǒng),該系統(tǒng)允許用戶在一些中端的手機(jī)平臺上使用單目攝像頭提供在線網(wǎng)格生成功能。與現(xiàn)有的基于點(diǎn)云或TSDF的在線重建方法不同,Mobile3DRecon系統(tǒng)可以根據(jù)單目攝像頭圖像魯棒地估計場景深度,同時將估計的關(guān)鍵幀深度實(shí)時增量地融合到稠密網(wǎng)格表面。
本文在兩個中端手機(jī)平臺上驗(yàn)證了Mobile3DRecon系統(tǒng)的重建結(jié)果,通過定量和定性的實(shí)驗(yàn)驗(yàn)證了所提出的實(shí)時單目三維重建系統(tǒng)的有效性。
Mobile3DRecon系統(tǒng)能夠正確處理虛擬物體與真實(shí)場景之間的遮擋和碰撞,從而達(dá)到逼真的AR效果。
References
[1] A. Drory, C, et al. Semi-global matching: A principled derivation in terms of message passing. In German Conference on Pattern Recognition, pp. 43–53. Springer, 2014.
[2] Ummenhofer B, Zhou H, Uhrig J, et al. Demon: Depth and Motion Network for Learning Monocular Stereo. In CVPR, 2017.
[3] Matthias Nie?ner, Michael Zollh?fer, Izadi S , et al. Real-time 3D Reconstruction at Scale using Voxel Hashing. ACM Transactions on Graphics (TOG), 2013.
[4] W. E. Lorensen and H. E. Cline. Marching cubes: A high resolution 3D surface construction algorithm. ACM SIGGRAPH Computer Graphics, 21(4):163–169, 1987.
[5] P. Ondruska, P. Kohli, and S. Izadi. MobileFusion: Real-time volumetric surface reconstruction and dense tracking on mobile phones. IEEE Transactions on Visualization and Computer Graphics, 21(11):1–1.
[6] Y. Yao, Z. Luo, S. Li, T. Fang, and L. Quan. MVSNet: Depth inference for unstructured multi-view stereo. In ECCV, pp. 767–783, 2018.
[7] S. Im, H.-G. Jeon, S. Lin, and I. S. Kweon. Dpsnet: End-to-end deep plane sweep stereo. In International Conference on Learning Representations, 2019.
論文作者
楊幸彬、周立陽、姜翰青、唐中樑、王元博、鮑虎軍、章國鋒
總結(jié)
以上是生活随笔為你收集整理的三维网格精简算法java版_ISMAR 2020 | 商汤提出手机端实时单目三维重建系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java专业术语 ioc_什么叫IOC(
- 下一篇: python自定义模块和三方模块_pyt