回覆:OpenCV,下載OpenCV資料及練習代碼
回覆:MVG,下載計算機視覺中的多視圖幾何,英文原版及中譯本
回覆:ML,下載機器學習書籍及實戰資料
回覆:PCL,下載點雲庫PCL學習教程
本文轉自泡泡機器人,已授權
標題:Mobile3DRecon: Real-time Monocular 3D Reconstruction on a Mobile Phone
作者:Xingbin Yang, Liyang Zhou, Hanqing Jiang, Zhongliang Tang, Yuanbo Wang, Hujun Bao, Member, IEEE, and Guofeng Zhang, Member, IEEE
機構:浙江大學;商湯科技
來源:ISMAR 2020
編譯 : 張海晗
審核:管培育
本文下載連結,請在後臺回覆:單目重建
大家好,今天為大家帶來的文章是Mobile3DRecon: Real-time Monocular 3D Reconstruction on a Mobile Phone。在手機上實現實時的單眼3D重建
這是一篇由浙江大學和商湯合作完成,在ISMAR2020 上獲得BestPaper的研究。
本文展示了在手機上實現實時單眼3D重建的系統,稱為Mobile3DRecon。該系統使用嵌入式單眼相機,在後端提供了在線網格生成功能,並在前端提供了實時6DoF姿勢跟蹤,以供用戶在手機上實現具有真實感的AR效果。與大多數現有的僅使用基於點雲的3D模型在線生成技術或離線的表面網格生成技術不同,本文提供了一種全新的在線增量網格生成方法來實現快速的在線密集表面網格重建,以滿足實時的AR應用需求。對於6DoF跟蹤的每個關鍵幀,本文使用多視圖半全局匹配(SGM)的方法進行的單眼深度估計,然後進行深度細化處理。生成模塊將每個估計的關鍵幀深度圖融合到在線密集表面網格上,這對於實現逼真的AR效果(例如碰撞和遮擋等)。本文在兩個中距離移動平臺上驗證了實時重建的結果,通過定量和定性評估的實驗證明了所提出的單眼3D重建系統的有效性。該系統可以處理虛擬物體與真實物體之間的遮擋和碰撞場景以實現逼真的AR效果。
(1)本文提出了以中多視圖關鍵幀深度估計方法,該方法即使在具有一定姿態誤差的無紋理區域中也可以魯棒地估計密集深度,消除由姿勢誤差或無紋理區域引起的不可靠深度,並通過深度神經網絡進一步優化了噪聲深度。
(2)本文提出了以中有效的增量網格生成方法,該方法可以融合估計的關鍵幀深度圖以在線重建場景的表面網格,並逐步更新局部網格三角。這種增量網格方法不僅可以為前端的AR效果提供在線密集的3D表面重建,還可以確保將網格生成在後端CPU模塊上的實時性能。這對於以前的在線3D重建系統來說是有難度的。
(3)本文提出了帶有單眼相機的實時密集表面網格重建管線,在手機上實現了單眼關鍵幀深度估計和增量網格更新的執行速度不超過後端的125ms/關鍵幀,在跟蹤前端6DoF上快速到足以超過每秒25幀(FPS)。
整個系統的處理圖如圖1所示,當用戶使用手機上的單眼相機導航到他的環境時,本文提供的管道會使用基於關鍵幀的視覺慣性SLAM系統跟蹤手機的6DoF姿勢,該系統跟蹤前端的6DoF的同時,也可以保證關鍵幀後端具有全局優化模塊,以優化所有關鍵幀的姿勢,並將其反饋給前端跟蹤。本文在管道中使用了SenseAR SLAM進行姿勢跟蹤,並且任何基於關鍵幀的VIO或SLAM系統(例如谷歌的ARCore)目前都是適用的。
在前端正常初始化6DoF姿勢跟蹤之後,對於具有全局優化姿勢的關鍵幀池中的最新傳入關鍵幀,其密集深度圖是通過多視圖SGM在線估計的,其中先前的關鍵幀的一部分會被作為參考幀。卷積神經網絡和多視圖SGM被用來細化深度噪聲,然後通過融合細化的關鍵幀深度圖以生成周圍環境的密集表面網格。這裡的管道是用來執行增量在線網格生成,這更適合於手機平臺上AR應用程式對實時3D重建的要求,深度估計和增量網格劃分都作為後端模塊進行。隨著密集網格逐漸在後端被重建出來,高級別的AR應用程式可以使用這種實時的密集網格和6DoF SLAM的姿勢為前端用戶提供逼真的AR效果,比如遮擋和碰撞等。
1.單眼深度估計
單眼深度估計首先利用本文提出的多視圖SGM方法進行立體匹配,然後基於置信圖對深度信息進行濾波,最後利用深度學習細化深度信息。
立體匹配部分, 本文對深度空間的逆進行均勻採樣,然後利用人口普查變換(CT)作為特徵值描述子來計算補丁相似度(patch similarity)。這裡通過查找表來計算兩個人口普查位串之間的漢明距離,遍歷每個帶有標籤I的切片的像素,來計算立體匹配的成本。之後,會得到的大小為W * H * L尺寸的成本量,其中W和H是框架的寬度和高度。然後匯總成本量,採用Winner-Take-All的策略獲得初始深度圖。
本文通過懲罰像素鄰域的深度標記變化添加了額外的正則化來支持平滑度。對於帶有標籤l的圖像像素x,成本的匯總是通過遞歸計算相鄰方向的成本來完成的。
基於置信度的深度濾波利用SGM中的不確定度測量來計算置信度,同時也考慮了局部深度一致性。
深度信息的細化是基於深度神經網絡的,這是由一個兩階段的細化神經網絡來組成。第一階段是圖像引導子網絡CNNG,它將濾波後的深度與相應的關鍵幀上的灰度圖像相結合得到粗細化的結果Dct,其中,灰度圖像充當深度優化的引導,用以提供CNNG的物體邊緣和語義信息的先驗。第二階段是殘差U-Net CNNR,它可以進一步細化之前粗細化後的噪聲結果得到最終的精細化深度信息。U-Net結構主要有助於使學習過程更加穩定並克服特徵退化的問題。這裡的訓練集是採用Demon數據集進行訓練。
去除動態物體後,利用TSDF對體素進行融合。每一個估算出來的深度圖都被集成到TSDF體素上,然後通過連結生成和更新的體素來重建3D物體,生成漸進式網格。
實時的網格更新是將漸進式移動的立方體塊在單個CPU線程上集成,每一個關鍵幀只更新一部分立方體塊。除此之外,本文為每一個體素定義了一個狀態變量,用來判斷更新,添加,通用和刪除。更新和提取的三角網格只來自於添加和更新的立方體塊。最後,再利用深度細化神經網絡來提高平面網格的質量。
圖2.我們的單眼深度估計是根據序列「室內樓梯」和「沙發」的兩個代表性關鍵幀得出的:(a)原關鍵幀圖像及其兩個選定的參考關鍵幀圖像;「室內樓梯」參考幀中的兩個代表性像素及其極線繪製出從前端的6DoF跟蹤來證明某些相機姿態誤差的數據。(b)通過反投影進行的多視圖SGM和相應點雲的深度估計結果。(c)基於置信度的深度濾波後的結果及其對應的結果(d)在基於DNN的參考及其相應的點雲之後的最終深度估計結果。
圖3. OPPO R17 Pro捕獲的四個實驗序列「室內樓梯」,「沙發」,「桌面」和「內閣」的表面網格生成結果(A)顯示了每個序列的一些代表性關鍵幀。沒有基於DNN的深度細化的每個序列的生成的全局表面網格(C)我們的基於DNN的深度細化的生成的全局表面網格。
表1:我們報告了我們的Mobile3DRecon和[11,27,40]的深度和表面網格結果的RMSE和MAE,這些結果是由我們的五個實驗序列(由OPPO R17 Pro捕獲的,ToF深度測量為GT)進行深度評估的,僅像素在GT和估計深度圖中都有有效深度的情況下,將參與誤差計算;對於通用深度評估,所有方法和GT中只有具有有效深度相同的像素才參與評估;請注意,對於REMODE,我們僅考慮計算對於REMODE,由於深度小於35 cm,我們無法獲得深度融合結果;對於網格評估,我們使用CloudCompare 2通過將每種方法的深度融合到GT網格(通過融合ToF深度)來比較網格結果。對於REMODE,由於深度誤差嚴重,我們無法獲得深度融合結果。
表2:我們在所有子步驟中報告Mobile3DRecon的詳細每關鍵幀時間消耗(以毫秒為單位),時間統計信息在兩個移動平臺上給出:帶SDM710的OPPO R17 Pro和帶SDM845的MI8。
本文下載連結,請在後臺回覆:單目重建
最新電子書論文下載