當前位置:
首頁 > 最新 > 室內三維重建技術綜述

室內三維重建技術綜述

摘要

隨著智慧城市、文物保護、室內導航、虛擬現實等對室內精細化三維模型的需求越來越多,室內三維重建成為了研究熱點。最近SLAM作為高效的室內三維重建技術得到了廣泛關注與快速發展,並被成功應用於各種移動測圖平台,如移動背包、推車、微型無人機等。該文首先對SLAM發展現狀及關鍵技術進行整體回顧,然後對基於不同移動平台及深度相機SLAM室內三維重建系統進行深入分析和比較,最後討論SLAM技術在室內三維重建中存在的問題及發展趨勢。

引用格式

危雙豐, 劉振彬, 趙江洪, 等.SLAM 室內三維重建技術綜述[J]. 測繪科學,2018,43(7):15-26.

正文

隨著智慧城市、文物保護、災害應急響應、室內導航、虛擬現實等對室內精細化3D模型的需求越來越多,如何快速有效地獲取室內3D精細化模型成為了研究熱點。近年來,針對室內3D重建,出現了以3D激光掃描技術和近景攝影測量技術為主的測量手段。相比較而言,3D激光掃描技術效率更高。然而由於傳統靜態3D激光掃描技術不能實時快速進行整體3D重建,所需工作量仍然較大。隨著SLAM(simultaneous localization and mapping)同步定位與地圖構建技術日趨成熟,室內3D實時快速重建成為可能。本文從室內3D重建角度,對SLAM方法進行綜述。

SLAM是指攜帶感測器的運動物體,在運動過程中實現自身定位,並以適當的方式對周圍環境進行同步建圖的過程。文獻[3]稱SLAM問題在1986—2004年這個階段被稱為「古典時代」(class age),這一階段主要將概率公式引入SLAM問題中,使得SLAM問題在理論上更為嚴謹。主要理論方法包括EKF(extended kalman filters)、RaoBlackwellised粒子濾波和最大似然估計等。2004—2015這一階段稱作演算法分析時代(algorithmic-analysis age),主要包括對SLAM演算法基礎性質如可觀測性、收斂性和一致性等的研究,同時在用於提高SLAM效率上的稀疏性解法取得進展。當前這個階段稱為魯棒性時代(robust age),讓現有框架能夠成功處理動態形變,有遮擋,光照變化等場景。目前SLAM技術基於兩大類感測器,激光感測器和視覺感測器,激光感測器分為2D激光掃描器和3D激光掃描器,視覺感測器分為單目視覺和雙目視覺以及新興的RGB-D(red green blue-depth camera)深度相機。

典型SLAM主要由前端里程計、後端非線性優化、迴環檢測、建圖四個模塊構成。前端里程計(Front End Odometry)主要計算相鄰時間內感測器運動關係,從而解算運動軌跡。基於視覺感測器的前端里程計演算法採用直接法或特徵點法獲得相鄰兩幀圖像間的運動關係,文獻[5-8]對視覺SLAM進行了較全面的綜述;基於激光感測器的前端里程計採用迭代最近點(iterative closest point,ICP)及其變種演算法估算感測器相鄰時間的增量運動。後端優化(optimization)是對初始計算結果進行優化獲得最優解生成統一軌跡和地圖。迴環檢測(loop closure detection)主要解決隨著時間增加誤差積累問題,搭載感測器的平台在移動一段時間後又回到起點或者到達之前經過的某點,進行誤差檢測和改正。建圖(mapping)實質是運動過程對環境的描述,所構建地圖形式分為度量地圖和拓撲地圖。度量地圖分為稀疏地圖和稠密地圖,稀疏地圖對環境進行了一定的抽象表達,不能表達周圍環境所有信息,通常用於快速定位與導航,具有較快的計算能力;稠密地圖分為二維(2D)和三維(3D),2D稠密地圖由一定解析度的小格子組成,3D稠密地圖則由一定解析度的方塊或3D點雲構成,主要用於三維重建。拓撲地圖由節點和邊兩種元素組成,主要表達地圖元素之間的連通性。

本文對SLAM所涉及4個模塊的核心演算法進行了總結。目前SLAM研究重點主要放在後端優化上,主要演算法有粒子濾波、圖優化、最小二乘濾波等優化演算法。由於最小二乘濾波演算法(如滑動窗口濾波器或Kalman濾波器及其變體)簡單並能夠進行實時計算,曾被廣泛採用。該方法基於兩個假設:1)系統運動方程是線性或局部線性;2)測量雜訊服從高斯分布。基於該方法,將SLAM後端優化理解為一系列高斯隨機變數的線性變換操作(這些隨機變數由均值向量和協方差矩陣表示),最小二乘濾波器隨著建圖規模增大,協方差矩陣會呈指數增長,這對於實時解算很不利,且大多數SLAM系統都不滿足上述兩種假設,求解精度差。為此,文獻[17-19]成功將粒子濾波器應用到SLAM後端優化中,使用蒙特卡羅方法從一群離散粒子中估計變數,成功應用於2D和3D網格圖中。粒子濾波器對非線性問題具有很好的魯棒性但存在維度增長過快的問題,無法進行實時大規模建圖。最近非線性圖優化方法成為了主流方案,通過估計稀疏約束集的節點網路問題,能夠有效解決SLAM後端優化的問題。近年來,非線性優化正逐漸取代傳統濾波器,成為SLAM中主要處理手段,當前出現了基於非線性優化方法的開源庫(如TORO (tree based network)和g2o (a general framework for graph optimization))被成功應用於SLAM系統中。目前,針對不同感測器和演算法理論已經出現了多種SLAM方案,其中RGBD-SLAM V2是當前最為穩定有效的SLAM系統,該系統整合了SLAM各項關鍵技術如圖像特徵、迴環檢測、點雲渲染、圖優化等,是一個非常全面的SLAM系統,但提取SIFT(scale-invariant feature transform)特徵和渲染點雲,消耗計算資源較大。

由於背包的便攜性,並隨著感測器及演算法的發展,目前出現了多種不同感測器組合的背包SLAM系統[40-46],。文獻[40]針對2D激光掃描儀和慣性測量單元(inertial measurement units,IMU)組成的背包SLAM系統提出了4種方法,分別為:3×ICP、2×ICP+IMU、1×ICP+planer、1×ICP+IMU+planar。針對不同環境,四種方法有著不同優勢,但都是針對不同感測器數據進行求解,從而恢復運動過程中的六自由度,並未考慮感測器數據之間聯繫,沒有設計迴環檢測演算法,不適合大範圍室內3D重建。文獻[41]在基於激光和IMU結合演算法進行定位的基礎上,增加了改進的基於圖像相似性的快速匹配法(fast appearance-based mapping,FAB-MAP)的迴環檢測演算法,有效地消除了累積誤差。此方法整合的點雲和渲染圖像匹配效果不好,為改善點雲和像素之間的匹配效果,作者通過使用基於圖像特徵點匹配的定位方法增加節點限制條件,使用TORO重新優化。但該系統沒有對感測器數據進行濾波或相應的處理,生成的點雲精度仍可進一步提高。

文獻[42]添加了濾波演算法,用EKF方法融合IMU和2D激光掃描儀的數據解算人和周圍環境的位姿。該系統使用IMU測量獲得姿態的估計值,並根據建築物正交結構將掃描數據進行線-面匹配,能夠高效快速的初始化和估計地圖點。文獻[43]使用相同的感測器(IMU和LRF(laser range finder)),將這兩個硬體安裝在彈簧末端,在人運動過程中,彈簧系統在擺動進行掃描匹配,通過使用掃描匹配演算法,進行一體化匹配。該系統能夠獲得較大的視角,但要對彈簧擺動和彈簧性能進行研究,增加了演算法的複雜性。

由於室內存在大量相似場景,基於傳統光學圖像相似性的迴環檢測演算法容易造成大量的錯誤迴環檢測,針對這一弊端,文獻[44]使用已生成的2D柵格地圖檢測當前掃描位置,並使用幾何重疊的數量和複雜度兩個指標剔除錯誤的迴環檢測提高了系統整體精度。作者利用分段遺傳掃描匹配演算法(fractional genetic scan matching)在掃描過程中自動去除雜訊點,有效去除了人走路特性帶來的點雲雜訊,提高了匹配演算法的收斂性。然而,採用的2D柵格地圖的迴環檢測無法適用於多層建築;翻滾角(roll)和仰俯角(pitch)完全依賴IMU數據,IMU對運動軌跡有直接影響;另外,演算法沒有對豐富的圖像信息加以有效利用。為此,文獻[45]對系統進行了改進,設計一個緊耦合的擴展卡爾曼濾波(extended kalman filter,EKF)估計器,通過融合激光點雲數據、IMU數據和圖像獲得更精確地的運動軌跡。該系統在非平面環境下不會造成精度損失。基於氣壓計數據,作者首次提出樓層自動檢測演算法,自動檢測3D重建所在樓層,演算法流程如圖5。總之,該款背包SLAM系統是一個演算法上較為完備的系統,但是整體3D點雲精度仍需要繼續提高。作者可利用相機數據首先生成稀疏3D點雲,然後作為新的數據源融合EKF框架,提高3D重建精度。

為了克服基於2D激光掃描儀的背包SLAM系統對室內2.5D環境的假設,文獻[46]首次將3D激光掃描儀應用到背包系統中。針對ROS(Robotic Operating System)[48]操作系統記錄時間離散化的特點,作者設計了半剛性匹配演算法(semi-rigid registration algorithm),可對軌跡進行全局優化。該系統使用ROS操作系統中的2D SLAM節點輸出位姿結果,參與解算半剛性匹配演算法生成一體化3D點雲,適用於更複雜的室內環境。文獻[49]對該系統進行了改進,增加了IMU感測器,使用Hector SLAM[34]系統處理2D激光掃描儀數據生成初始軌跡,並對生成的軌跡進行精度驗證。實驗結果顯示,正常情況下,絕對軌跡中誤差在0.1~0.15 m之間。該系統能夠在2D SLAM演算法出現錯誤的情況下通過半剛性匹配演算法較好地匹配3D點雲,具有較好的魯棒性。由於3D激光掃描儀較為昂貴,目前在背包SLAM系統中應用較少。

基於移動背包測量理論,我國已有可用於市場化的產品,如歐思徠(北京) 智能科技有限公司出的一款3D SLAM,中海達公司第二代iScan-P、Leica公司移動背包測量系統、北京數字綠土科技有限公司LiBackpack[54]等移動背包產品都能夠達到厘米級測量精度。總體來看,當前的背包SLAM系統並不成熟,仍處在發展階段,演算法和硬體的結合都在經歷著不斷改進和優化的過程,效率和精度仍然有待提高。

文獻[55,56]開發的推車SLAM系統,使用Gmapping演算法,融合垂直放置的2D激光掃描儀獲取室內3D信息,Gmapping演算法中融合了高精度車輪測距信息,實驗結果顯示位姿誤差在2 cm以內。文獻[57]設計了一款基於3個互相正交的2D激光掃描儀的推車SLAM系統,兩個藍色激光頭用於數據採集,上端紅色激光頭採集的數據用於進行2D SLAM。該系統配備觸摸顯示屏,可供用戶查看實時掃描區域,檢查掃描狀態。實驗結果為點雲均誤差在3 cm之內。文獻[58]設計了一款室內多感測器數據採集系統,該系統使用ROS作為操作系統,其中水平放置的2D激光掃描儀使用Hector SLAM[34]演算法解算位姿,假定翻滾角和俯仰角為零,高程為常數。系統對垂直放置的2D激光掃描儀採集到的數據和路徑軌跡按照時間節點進行匹配生成統一的3D點雲模型,系統沒有設計迴環檢測演算法,無法消除累計誤差。系統軌跡漂移率低於3%,點雲中誤差低於10 cm。目前國內的推車SLAM產品都取得了不錯的性能,如立得空間信息股份公司的推車產品由全景相機和兩個2D激光掃描儀組成,測量精度達為10 cm,北京華泰天宇的IMS 3D推車系統可實現厘米級的精度。基於推車平台的SLAM系統有兩個特點:可充分利用車輪的測距信息;主要應用於平坦的室內環境。基於上述兩個特點使得推車SLAM系統對點雲匹配演算法的複雜性要求較低,且容易取得較為精確的室內3D點雲,但同時基於推車的SLAM系統無法在不平坦的室內環境或多樓層間進行3D重建。

鑒於微型無人機的尺寸小、機動性強和懸停能力的特性,使其在無人環境中的室內3D重建中將成為理想的平台,但其有限的載重和高機動性也向其計算能力和搭載感測器的數量提出了挑戰。文獻[61,62]基於單目相機和IMU感測器設計了微型飛行器導航演算法。該系統首先EKF框架融合相鄰兩幀圖像的光流和IMU數據求解飛行器速度,能夠實時解算飛行器的狀態,由於計算能力的限制,未涉及對場景的3D重建。香港科技大學沈劭劼對微型無人機SLAM技術進行了深入的研究,提出了基於不同感測器的三種無人機SLAM方案。1)以2D激光掃描器為主要感測器的無人機平台。通過ICP演算法進行2D位姿解算,使用卡爾曼濾波融合IMU和重定向的激光掃描數據(指向天花板和地面的點雲數據)進行高度解算,然後使用EKF演算法融合2D姿態、高度和IMU數據恢復六自由度。該系統採用基於視覺的迴環檢測,最後使用批量式圖優化法(batch graph optimization)進行優化,SLAM模塊以一個很低的頻率單獨運行,在保證精度情況下盡量減少計算量,適用於規則的室內環境。2)基於相機為主感測器的系統設計能夠放鬆2.5D環境的假設,硬體系統由兩個相機(分為主相機和輔助相機)和一個IMU組成。基於硬體開發了單目-立體像對松耦合法(loosely-coupled, combined monocular-stereo approach)。主相機為廣角相機以高頻率運行,用於解算姿態和生成局部地圖,輔助相機為單目相機的補充,以低頻率運行用於和主相機結合形成立體像對恢復場景尺度。將視覺系統解算出位姿數據和IMU數據進行UKF(unscented Kalman filter)求解,該方案主要受環境紋理信息以及光照條件限制較大。3)為提高系統魯棒性,沈劭劼等人設計了多感測器融合方法,該方案融合之前無人機狀態向量和相對測量數據生成一個增強的狀態向量,參與UKF演算法框架進行松耦合解算。計算能力的限制使該系統需要外部模塊的支持,且無法對感測器數據以緊耦合方式進行融合,因此整體精度受限。

綜上所述,背包SLAM系統由於人的行走特性,使得演算法設計複雜性更高,但其相對推車SLAM系統有著很大的靈活性,對室內環境要求較低,能夠在多樓層之間進行一體化3D重建,因此其被關注和研究的程度最高。推車SLAM系統一般用於較為平坦的室內外環境,其可充分利用車輪的測距信息,因此繪圖效果較好,且演算法並沒有背包SLAM系統那樣複雜,但缺點是其靈活性較差,對環境適應能力較差。無人機SLAM系統側重點在於導航和位姿估計,而無法分配更多計算資源供後端優化實現高精度的3D重建,因此為了增強3D重建的精度,大多採用離線處理或將數據實時傳到高性能伺服器上進行計算。深度相機SLAM系統適合於小範圍室內3D重建,可作為背包系統的補充。隨著RGB-D深度相機的發展,將會逐漸產生基於新型感測器融合的,更加多樣化的SLAM系統。基於上述對不同SLAM系統的優缺點分析,本文認為以下幾方面仍有待進一步研究。

1)之前大多數SLAM 3D重建系統是基於某一特定感測器或某一環境假設設計的系統,演算法魯棒性較差。因此目前大多系統設計正朝著多感測器數據融合方向發展,通過各感測器間優勢互補來提高精度和演算法的魯棒性。

2)多感測器數據由於頻率不同,存在數據節點不一致的問題,如何提高數據耦合程度和提高數據利用率也將是研究的方向。

3)為解決多感測器數據處理計算量大的問題,大多數方案不得不採用基於離線的後端優化來取得高精度重建結果。在保證精度下,需對演算法進行優化或改進,提高數據處理的速度,使演算法具有實時性。

4)由於室內存在大量相似場景,目前基於視覺的迴環檢測演算法仍存在大量誤匹配,嚴重影響3D重建精度,提高迴環檢測的精確性,仍是需要解決的難題,未來結合深度學習構建語義地圖也將是提高3D建模精度的方向。

5)目前演算法基本上是基於靜態環境3D重建,如何拓展SLAM技術能夠在動態3D環境中依然保持演算法魯棒性仍是未來要探索的方向和難點。

SLAM室內快速三維重建是依賴硬體不斷發展的技術,目前,正經歷著快速發展,仍處於不成熟階段。如何使用更加輕便的感測器在複雜室內環境實時地獲得更加精確的室內3D模型是將來的研究目標。相信隨著新型感測器的產生,將會有更加魯棒的演算法隨之產生,並能快速獲得更加精確的室內3D模型。

編輯:鄧國臣

往期熱點文章

(查找往期消息:進入公眾號—號內搜)

覺得不錯,請點贊


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 測繪科學 的精彩文章:

慣導約束下的高光譜圖像行相關幾何校正演算法

TAG:測繪科學 |