朱東林,徐光輝,周 捷,狄恩彪,李明燦
(陸軍工程大學(xué),江蘇 南京 210007)
機(jī)器人領(lǐng)域作為如今熱門的研究領(lǐng)域之一受到了研究者們的廣泛關(guān)注,但是機(jī)器人的研究始終伴隨著如何使機(jī)器人能夠在陌生的環(huán)境中自主探索和行動這個關(guān)鍵性問題。SLAM 先前由Smith Self 和Cheeseman 提出,至今已有30 多年的研究歷程,大致分為傳統(tǒng)時期、算法分析時期和魯棒性-預(yù)測性時期3 個時間段。
對于未知環(huán)境,為了能夠自主移動和探索,機(jī)器人需要依靠傳感器獲取環(huán)境數(shù)據(jù)。機(jī)器人首先需要解決定位問題即明確自身位置,隨后測量自身周圍的環(huán)境信息并建立地圖,同時保存已建的地圖以備后期在該地區(qū)內(nèi)直接進(jìn)行定位和導(dǎo)航。2007 年,MonoSLAM[1]是首個利用純視覺恢復(fù)相機(jī)的移動路徑,使用概率框架在線創(chuàng)建稀疏并持久的自然地標(biāo)地圖,同時由先驗(yàn)信息輔助系統(tǒng)完成初始化,由擴(kuò)展卡爾曼濾波法實(shí)時更新狀態(tài)。此外,相機(jī)采用恒速度運(yùn)動模型,相機(jī)狀態(tài)的誤差用不確定性程度Qv衡量。2008 年,PTAM[2]實(shí)現(xiàn)了跟蹤和建圖用不同線程,并可在地圖中顯示AR 虛擬物體。前端采用FAST 角點(diǎn)檢測算法且引入關(guān)鍵幀技術(shù),利用極線約束法匹配特征點(diǎn)計算旋轉(zhuǎn)矩陣,后端則采用非線性優(yōu)化的BA(Bundle Adjustment)方法。2014 年,SVO[3]為了在無人機(jī)高速移動狀態(tài)下估計準(zhǔn)確位姿,采用特征點(diǎn)法和直接法相結(jié)合的方法實(shí)現(xiàn)高頻高精度里程計。直接法中摒棄傳統(tǒng)算法對圖像中少量的大補(bǔ)丁圖像塊的提取,轉(zhuǎn)而提取大量小補(bǔ)丁圖像塊。RTAB-MAP 針對大場景稠密建圖,并提出內(nèi)存管理方法來解決大場景長時間稠密建圖存在的回環(huán)檢測和實(shí)時性問題。2018 年,VINS-Mono[4]設(shè)計了一個完備的運(yùn)動狀態(tài)估計器。它是由單目和IMU組裝成的一個小巧裝置,用于度量六自由度,可以廣泛應(yīng)用移動機(jī)器人、無人機(jī)和移動電子設(shè)備等SLAM 系統(tǒng)。DSO[5]依靠圖像上的采樣像素生成稀疏地圖,所用模型涉及光度校正來消除曝光時間和鏡頭漸暈等影響。ORB-SLAM 在PTAM 基礎(chǔ)上添加了回環(huán)檢測線程,是第一個具備跟蹤、回環(huán)檢測和建圖環(huán)節(jié)的完整實(shí)例,最終準(zhǔn)確實(shí)現(xiàn)了相機(jī)的運(yùn)動軌跡和地圖中軌跡的一致。2019 年,基于模型的視覺慣性里程計VIMO[6]正逐步取代傳統(tǒng)的視覺慣性里程計VIO,關(guān)注點(diǎn)放在作用于系統(tǒng)的外力上,把動力學(xué)和外力結(jié)合在殘差中作為約束產(chǎn)生了一種精度較高的狀態(tài)估計器。2020 年,DeepFactors[7]建立在CodeSLAM[8]的基礎(chǔ)上,結(jié)合深度學(xué)習(xí)重新表示已學(xué)習(xí)的緊湊性深度圖對光度誤差、重投影誤差和幾何誤差,實(shí)現(xiàn)單目相機(jī)構(gòu)建稠密地圖。一個無需配置相機(jī)參數(shù),便可較靈活地選擇多個數(shù)量的相機(jī)組合使用,完成自適應(yīng)初始化的SLAM 系統(tǒng)[9]。語義NodeSLAM[10]根據(jù)VAE 和概率渲染引擎判別物體形狀及重構(gòu)多視圖物體。Vid2Curve[11]系統(tǒng)單憑RGB 視頻流也可實(shí)現(xiàn)細(xì)線條物體三維重建,摒棄傳統(tǒng)基于深度和圖像紋理,而采用基于2D 曲線特征的方法抽取出骨骼曲線,沿曲線按物體寬度融合相應(yīng)半徑圓餅反映物體線條。AVP-SLAM[12]借助對視角和光照具有魯棒性的語義特征構(gòu)建地下停車場地圖,完成了自動泊車任務(wù)。在任一亮環(huán)境下,基于物理的深度網(wǎng)絡(luò)考慮反射、折射和內(nèi)部全反射對物體表面法線重建,進(jìn)一步實(shí)現(xiàn)透明物體的三維重建[13]。ESVO[14]是SLAM 領(lǐng)域首次用雙目事件相機(jī)構(gòu)建的視覺里程計,在保證每幀圖像時空一致性前提下,逆深度估計附加時間戳,并采用了IRLS 非線性優(yōu)化和前向合成Lucas-Kanade 方法。除此之外,目前開源并且框架完備的算法有ORB-SLAM[15]、DTAM[16]、RGBD-SLAM[17-18]、改善大場景下回環(huán)檢測性能的算法[19-20]。綜上所述,對大量視覺算法進(jìn)行分析歸納出視覺SLAM框架涵蓋傳感器數(shù)據(jù)輸入、前端VO、后端優(yōu)化、回環(huán)檢測和建圖5 個主體。圖1 為視覺SLAM 的算法流程。
前端視覺里程計部分實(shí)現(xiàn)對位姿的計算。計算方法大致有特征點(diǎn)法、直接法、光流法和深度學(xué)習(xí)與幀間估計4 種。如圖2 所示,視覺里程計要計算估計出相機(jī)各幀位姿(R,t),從初始位置C0(可以自定義)起,當(dāng)前位置Ck通過(R,t)和上一時刻的位置Ck-1來計算,公式為Ck=RCk-1+t。其中,(R,t)為K和K+1 時刻之間的相機(jī)平移和旋轉(zhuǎn)變化,可根據(jù)圖像變換的基本矩陣、單應(yīng)矩陣和SVD 分解本質(zhì)矩陣計算獲得,從而恢復(fù)相機(jī)的運(yùn)動軌跡。
特征點(diǎn)法是在相鄰幀之間選取特征點(diǎn)并進(jìn)行匹配,然后使用RANSAC、M 估計或最小中值估計等方法,盡可能濾除錯誤匹配[21]的噪聲點(diǎn),最后求得位姿。介于對精度和時間的考慮,關(guān)鍵點(diǎn)檢測器和描述符組合[22]搭配使用。檢測器算法有ORB、SIFT 以及SURF 等,描述符算法有BRIEF、FREAK等。由于深度圖像的取舍,前端將面臨2D-2D、3D-2D 和3D-3D 共3 種情形,故使用特征點(diǎn)法時最主要考慮的問題是算法選擇問題和計算(R,t)方法的選擇問題。
(1)SIFT/SURF。SIFT[23]/SURF[24]算法使用基于梯度方法的HOG 作為描述符,通過物體在局部區(qū)域中的強(qiáng)度梯度分布來描述物體的結(jié)構(gòu)。
圖1 視覺SLAM 算法流程
圖2 相機(jī)運(yùn)動軌跡
(2)RISK/BRIEF/ORB/KAZE/FREAK。上述算法使用二進(jìn)制Binary 描述符,僅依靠圖像自身強(qiáng)度信息,將關(guān)鍵點(diǎn)周圍信息編碼成一串二進(jìn)制數(shù)。BRISK 算法[25]采用長距離對和短距離對,其中長距離對描述圖像補(bǔ)丁的梯度方向,而短距離對用于組成二進(jìn)制字符串來描述梯度大小。
長距離對搜索函數(shù)為:
短距離對搜索函數(shù)為:
長對計算關(guān)鍵點(diǎn)方向向量公式為:
短距離對組裝成二進(jìn)制串公式為:
上面使用相同數(shù)量圖片及同一工程對所有可能的檢測器和描述符組合進(jìn)行性能比較實(shí)驗(yàn)。由表1 各種檢測器和描述符組合的總運(yùn)行時間結(jié)果可以看出,F(xiàn)AST+BRIEF 速度最快,F(xiàn)AST+ORB 次之。表1 中×表示當(dāng)前檢測器和描述符不能搭配使用,相應(yīng)的實(shí)驗(yàn)結(jié)果也將不存在。表2 為各種檢測器和描述符組合的匹配點(diǎn)數(shù)目結(jié)果,可以看出BRISK+BRIEF 匹配點(diǎn)數(shù)目最多,BRISK+SIFT 和BRISK+FREAK 次之。對于所有類型的幾何變換來說,SIFT 和BRISK 的總體精度最高。
光流法[26]是為了應(yīng)對圖像中的特征點(diǎn)難提取、紋理簡單且單一的情況提出的。它是基于亮度不變的假設(shè)I(x+dx,y+dy,t+dt,)=I(x,y,t),即圖像中某一位置的像素其亮度在短時間內(nèi)不會變化的思想來選取圖像中某些像素點(diǎn)進(jìn)行跟蹤,最后計算出位姿。
表1 各種檢測器和描述符組合的總運(yùn)行時間(單位:ms)
表2 各種檢測器和描述符組合的匹配點(diǎn)數(shù)目(單位:個)
不變性假設(shè)關(guān)于時間t進(jìn)行求導(dǎo),得:
整理為矩陣形式,為:
式中:Ix代表該點(diǎn)x方向梯度,u代表該點(diǎn)x方向速度;同理,Iy、v分別代表y方向梯度和速度:It表示圖像隨時間的變化量。
直接法依據(jù)灰度不變性I1(x)=I2(x′)假設(shè),利用圖像中像素灰度值的變化來估計相機(jī)的運(yùn)動方向。只要環(huán)境中有亮度并使得相機(jī)運(yùn)動時圖像像素點(diǎn)有亮度的變化,直接法就能工作。因?yàn)橹苯臃ㄖ魂P(guān)注亮度變化,不關(guān)注特征信息,故效率較高。常見的塊匹配算法有NCC[27]、SSD 等。
DVO[28]在假設(shè)條件下用高斯牛頓迭代法計算相機(jī)的運(yùn)動位姿(R,t),預(yù)測場景點(diǎn)深度值和深度圖提供的實(shí)際深度值之間的差異預(yù)估運(yùn)動。
LSD-SLAM[29]是繼特征點(diǎn)法后將直接法應(yīng)用于SLAM 的典型算法,省略了特征點(diǎn)提取環(huán)節(jié),從而提高了算法效率,將圖像中梯度較大的像素點(diǎn)還原出對應(yīng)3D 地圖坐標(biāo)來盡量反映場景物體的輪廓信息,即建立了半稠密的地圖。
跟蹤線程中以歸一化的方差光度誤差最小化為目標(biāo),對上一關(guān)鍵幀的姿態(tài)值左乘這兩個關(guān)鍵幀之間的剛體變換值δξ(n),從而得到當(dāng)前關(guān)鍵幀的位姿。
后端優(yōu)化主要對前端的位姿值進(jìn)行優(yōu)化,盡量減少累積誤差。前端當(dāng)前建立的帶有累積誤差的局部地圖,后端會優(yōu)化當(dāng)前的地圖,避免地圖誤差越來越多。目前,最主要的后端算法包括基于濾波理論的擴(kuò)展卡爾曼濾波法和基于優(yōu)化理論的BA 和圖優(yōu)化法、位姿圖法。除此之外,基于濾波理論的算法還有UKF[30]、EIF、SEIF 以及PF 等,基于優(yōu)化理論的算法還有非線性優(yōu)化、TORO 以及G2O 等。
卡爾曼濾波器包含預(yù)測和更新兩個任務(wù),被看作兩步驟程序。
步驟1:使用上一狀態(tài)值估計下一狀態(tài)及不確定性:
步驟2:使用當(dāng)前的測量值透過加權(quán)平均來更新當(dāng)前的狀態(tài)估計值:
式中,Kk表示卡爾曼增益,Hk表示觀測模型,表示殘差。
MonoSLAM 的后端采用擴(kuò)展卡爾曼濾波法,相機(jī)采用恒速度運(yùn)動模型,受瞬間外力對相機(jī)的影響,需要再更新相機(jī)運(yùn)動狀態(tài)量。未知力度對相機(jī)瞬時作用的影響用噪聲向量n表示,其中n包含短時間內(nèi)外力的線加速度和角加速度產(chǎn)生的線速度和角速度。
BA(Bundle Adjustment)目標(biāo)函數(shù)中,相機(jī)位姿變量xc=[ξ1,ξ2,…,ξm]T∈R6m和路標(biāo)點(diǎn)變量xp=[p1,p2,…,pm]T∈R3n組成自變量,作為所有待優(yōu)化的變量x=[ξ1,…,ξm,p1,…,pn]T。變量發(fā)生變化時對應(yīng)的增量方程為:
式中,F(xiàn)、E分別表示關(guān)于相機(jī)位姿和路標(biāo)點(diǎn)位置的偏導(dǎo)數(shù)。無論使用G-N 方法還是L-M 方法,最后都將面對增量線性方程:
以G-N 為例,則H矩陣為:
認(rèn)識到矩陣H的稀疏結(jié)構(gòu),并發(fā)現(xiàn)該結(jié)構(gòu)可以自然地用圖優(yōu)化來表示,此處引入G2O。若一個場景內(nèi)有5 個相機(jī)位姿(C1,C2,C3,C4,C5)和2 個路標(biāo)(P1,P2)。關(guān)系結(jié)構(gòu)圖如圖3 所示,以最小化下列函數(shù)為目標(biāo),優(yōu)化所有圖中的變量:
式中,Pj表示第j個路標(biāo)點(diǎn),表示j=N個路標(biāo)點(diǎn)分別在第i個相機(jī)下的像素坐標(biāo),si表示各路標(biāo)點(diǎn)到各相機(jī)平面的深度值。
圖3 關(guān)系結(jié)構(gòu)
從圖優(yōu)化知,隨著相機(jī)運(yùn)動需加入大量路標(biāo)節(jié)點(diǎn)。路標(biāo)節(jié)點(diǎn)數(shù)量遠(yuǎn)大于位姿節(jié)點(diǎn)的數(shù)量,將嚴(yán)重降低計算效率。因此,舍棄路標(biāo)節(jié)點(diǎn)變量的優(yōu)化,只關(guān)注相機(jī)位姿變量xc=[ξ1,ξ2,…,ξm]T∈R6m的優(yōu)化,如圖4 所示。
圖4 關(guān)系結(jié)構(gòu)
首先根據(jù)兩幀已記錄(前端計算)的位姿得到相對位姿變換:
重新根據(jù)i、j兩幀圖像利用對極幾何得到實(shí)際位姿增量Tij,優(yōu)化的目標(biāo)為:
若所有位姿節(jié)點(diǎn)之間的邊集合記做κ,則總體目標(biāo)函數(shù)為:
三維地圖的表達(dá)方式有深度圖(Depth)、點(diǎn)云(Point Cloud)、體素(Voxel)和網(wǎng)格(Mesh)共4 種。圖5 為4 類三維建圖方式樣例,深度圖中每個像素表示物體距離相機(jī)平面的值。點(diǎn)云是大量點(diǎn)組成的數(shù)據(jù)集,每個點(diǎn)包含位置、顏色等信息。體素是由一個個矩形小方塊組成,類似于三維空間中的像素。網(wǎng)格由許多三角形面拼接成的多邊形以接近現(xiàn)實(shí)物體表面,每個網(wǎng)格包含三角形的頂點(diǎn)、邊和面。
圖5 4 類三維建圖方式樣例
Shao 等人[31]提出了一種立體視覺和陰影形狀(Shape From Shading,SFS)算法,能夠同時生成深度圖和方向圖,但很難作用在顏色和紋理不均一的場景。強(qiáng)度圖像與對應(yīng)的深度信息進(jìn)行隱馬爾可夫模型(Hidden Markov Model,HMM)建模,應(yīng)用單張圖像的3D 人臉或手的重構(gòu)系統(tǒng)[32]。Saxena 等人[33]將圖像劃分出多個區(qū)域塊,使用馬爾可夫隨機(jī)場(Markov Random Field,MRF)對逐個像素塊計算出相應(yīng)參數(shù),以描述每塊所指的3D 平面位置與方向,而各個平面共同組成最后的3D 場景。Liu等人[34]使用有監(jiān)督的學(xué)習(xí)方法對非結(jié)構(gòu)化場景圖進(jìn)行深度預(yù)測,其中模型采用經(jīng)過區(qū)分訓(xùn)練的馬爾可夫隨機(jī)場(MRF)。受生物學(xué)復(fù)雜單元[35]的啟發(fā),對圖像像素之間相關(guān)性進(jìn)行編碼,從數(shù)據(jù)中學(xué)習(xí)深度和運(yùn)動線索實(shí)現(xiàn)3-D 運(yùn)動分析。
最近,Karsch 等人[36]使用基于SIFT Flow[37]的KNN 傳輸機(jī)制從單個圖像估計靜態(tài)背景的深度,并利用運(yùn)動信息對其進(jìn)行增強(qiáng),以更好地估計視頻中的運(yùn)動前景對象。Eigen 等人[38]使用兩個深度網(wǎng)絡(luò)分別進(jìn)行圖像粗略預(yù)測和局部細(xì)化預(yù)測,實(shí)現(xiàn)了對單張圖像的深度估計,并提出了一個尺度不變的損失函數(shù)。Ladicky 等人[39]提出了將語義對象標(biāo)簽與單眼深度特征集成在一起的方法,以提高性能,但它們依靠手動添加的方式并使用超像素來分割圖像。Laina 等人[40]建議使用基于ResNet 的網(wǎng)絡(luò)結(jié)構(gòu)來預(yù)測深度。Xu 等人[41]建議使用CNN 結(jié)構(gòu)構(gòu)建用于深度預(yù)測的多尺度條件隨機(jī)場CRF。BA-Net[42]輸入圖像使用預(yù)先學(xué)習(xí)(端到端)的深度圖生成器產(chǎn)生多個基礎(chǔ)深度圖,并通過特征量度BA 將這些深度圖線性組合出最終深度。
Fan 等人[43]實(shí)現(xiàn)了對單圖像中單個物體以點(diǎn)云形式進(jìn)行三維重建,開創(chuàng)了點(diǎn)云生成的先例。從一張2D 圖像恢復(fù)一個3D 物體可能出現(xiàn)多個可能的較好結(jié)果,使得此問題不適用經(jīng)典回歸或分類方法解決,轉(zhuǎn)而研究基于點(diǎn)云表示的3D 幾何生成網(wǎng)絡(luò)。網(wǎng)絡(luò)由輸入圖像和推斷的視點(diǎn)位置確定3D 點(diǎn)云中的點(diǎn)位置。點(diǎn)集生成網(wǎng)絡(luò)恢復(fù)出多個可能的結(jié)果,再經(jīng)損失函數(shù)確立最終點(diǎn)云結(jié)果。圖6 為系統(tǒng)的整體結(jié)構(gòu)圖。
圖6 系統(tǒng)結(jié)構(gòu)
2D 圖恢復(fù)所有可能的3D 形狀:
損失函數(shù):
ElasticFusion[44]算法側(cè)重構(gòu)建清晰稠密地圖。對RGB-D 相機(jī)獲取的深度圖進(jìn)行操作,相關(guān)信息融合到初始的surfel 數(shù)學(xué)模型中,一步步優(yōu)化模型外形,最后使用此模型描畫場景。圖7 展示了ElasticFusion 算法的整體實(shí)現(xiàn)流程。
建圖線程的兩個步驟。一是surfel 模型初始化采用Deformation 圖使用均勻抽樣初始化。它由許多node 組成,每個node 帶有等參數(shù)來影響surfel 模型進(jìn)行表面變形。二是RGB-D 相機(jī)獲得深度圖像,使用內(nèi)參將深度圖轉(zhuǎn)為點(diǎn)云。點(diǎn)云和RGB彩色圖像使用跟蹤線程計算的相機(jī)幾何位姿和光度位姿,并利用OPENGL 融合到surfel 模型中。
3D-R2N2[45]沒有在觀察對象之前需先匹配合適的3D 形狀,以盡可能迎合2D 圖像中所描述的物體。而受早期使用機(jī)器學(xué)習(xí)來學(xué)習(xí)2D 到3D 映射以進(jìn)行場景理解的工作啟發(fā)[33,46],引入深度卷積神經(jīng)網(wǎng)絡(luò)。網(wǎng)絡(luò)建立在LSTM 和GRU 的基礎(chǔ)上,實(shí)現(xiàn)了單視圖和多視圖的3D 重建。
網(wǎng)絡(luò)框架包含Encoder、3D Convolutional LSTM和Decoder 共3 大部分,如圖8 所示。Encoder 是一種CNN 結(jié)構(gòu)對輸入圖像進(jìn)行編碼;Decoder 是解碼過程;3D Convolutional LSTM 是由許多LSTM 單元組成的正立方體網(wǎng)格結(jié)構(gòu),每個單元負(fù)責(zé)一個已編碼的部分并恢復(fù)出相應(yīng)體素,所有體素格組成3D物體。損失函數(shù)使用二分類交叉熵函數(shù),決定相應(yīng)體素格狀態(tài)是否占有。
圖7 ElasticFusion 算法框架流程
Pixel2Mesh[47]在基于圖的卷積神經(jīng)網(wǎng)絡(luò)中輸出3D 網(wǎng)格圖形。任一單圖像輸入之前,系統(tǒng)默認(rèn)同步初始化一橢圓球作為初始的物體形狀。全卷積神經(jīng)網(wǎng)絡(luò)一步一步提取2D 圖像中的細(xì)節(jié)特征,同時圖卷積神經(jīng)網(wǎng)絡(luò)受圖像特征的約束將細(xì)節(jié)附加于初始的橢球體上,隨著特征數(shù)量的不斷增加致使橢球不斷形變(粗糙到細(xì)密過程),最終得到最后物體。圖9 為雙網(wǎng)絡(luò)協(xié)作流程。
圖9 雙網(wǎng)絡(luò)協(xié)作流程
4 種約束網(wǎng)格形變的損失函數(shù)為:
圖卷積神經(jīng)網(wǎng)絡(luò)中包含與Mesh 網(wǎng)格對應(yīng)的頂點(diǎn)(V)、邊(E)和特征向量(F),定義函數(shù)如下:
當(dāng)前,視覺SLAM 的發(fā)展趨勢主要涵蓋以下3個方面。
透明物體的重建受光反射、折射和內(nèi)部全反射等因素影響。透明物體成像的物理基礎(chǔ)是界面處的折射遵循斯涅爾定律,反射由菲涅爾方程確定。由高折射率介質(zhì)進(jìn)入較低折射率介質(zhì)界面處的入射角大于臨界角時,就會發(fā)生全內(nèi)反射。文獻(xiàn)[13]中利用了深層網(wǎng)絡(luò)學(xué)習(xí)和模擬圖像形成的物理基礎(chǔ)知識。網(wǎng)絡(luò)內(nèi)的渲染層可對最多兩次反射的折射光路進(jìn)行建模,以建立對應(yīng)于物體正反兩面投影光線的曲面法線,可在任意環(huán)境下使用不受約束的圖像來重建透明形狀。圖10 為透明物體樣例。
圖10 透明物體樣例
由于無線電信號被海水吸收,因此無法使用GPS 系統(tǒng)定位水下機(jī)器人。Ferrera 等人[48]致力于在水下海床進(jìn)行同步定位和制圖,使用配備單目、IMU 和壓力傳感器的設(shè)備,采集制定了3 個不同環(huán)境下的數(shù)據(jù)集。對于每個數(shù)據(jù)集還使用SFM 離線計算了真實(shí)軌跡,以便能夠使后期和實(shí)時定位建圖方法進(jìn)行比較。圖11 為SFM 對水下場景的重建結(jié)果,曲線代表計算的水下機(jī)器人移動軌跡。此外,F(xiàn)errera 等人[49]提出一新型的單眼UW-VO(水下視覺測距法)算法,克服了由于介質(zhì)特定屬性導(dǎo)致的視覺退化。
圖11 重建的水下場景結(jié)果
纖細(xì)物體(如樹枝、電線和鐵絲等)通常表面積小且缺乏紋理特征和點(diǎn)特征,故無法使用傳統(tǒng)的基于圖像特征點(diǎn)的重建方法獲取3D 模型。Vid2Curve 使用曲線特征的新方法,鎖定連續(xù)圖像中同一物體的變化動態(tài)計算位姿,以一種迭代結(jié)構(gòu)優(yōu)化策略逐步添加和處理所有圖像幀,并改進(jìn)估計的物體曲線結(jié)構(gòu)。圖12 為鐵絲物體的重建結(jié)果。Usumezbas 等人[50]實(shí)現(xiàn)將圖像中大量2D 曲線拓?fù)溥B接為3D 曲線集合,最后生成一個3D 曲線圖。
圖12 重建的鐵絲物體結(jié)果圖
本文分析了SLAM 算法近20 年的最新進(jìn)展情況,歸納出視覺SLAM 算法的整體框架,并闡述前端和后端包含的各種方法和相關(guān)理論,實(shí)例分析三維建圖的各種方式,突出介紹了苛刻環(huán)境下的地圖構(gòu)建。視覺SLAM 是未來立體視覺感知頗具潛力的發(fā)展方向,其中視覺傳感器具有成本低和普及度高的優(yōu)勢,極大地促進(jìn)了SLAM 的研究及未來在電子設(shè)施上的應(yīng)用。