本次內(nèi)容包括三個部分,分別是三維幾何學(xué)的基礎(chǔ)和特征點法和直接法的對比,直接法的代表工作以及對于未來發(fā)展的展望。
三維幾何學(xué)基礎(chǔ)知識
關(guān)于基礎(chǔ)知識,首先要了解的是剛體運動的基本屬性。三維空間的剛體運動通常包括六個自由度,對應(yīng)的轉(zhuǎn)換矩陣的表達方式在不同的文獻中有不同的方式,而在學(xué)術(shù)寫作的時候,不管用哪一種,重要的是一定要保持格式的統(tǒng)一和連貫。此外,轉(zhuǎn)換矩陣所描述的不是某種運動,而是點在不同坐標(biāo)系的轉(zhuǎn)換。第二個比較重要的基礎(chǔ)知識是本質(zhì)矩陣和對極幾何。
考慮下列場景:我們用兩個攝像頭可以同時觀測到一個特征點,利用匹配的特征點,我們將可以建立對極約束,當(dāng)匹配的特征點足夠多時,我們將可以求解本質(zhì)矩陣,比如使用常用的八點法,當(dāng)求解完成后,我們就可以從本質(zhì)矩陣中分解得到兩個相機位置相對的位移和旋轉(zhuǎn)。值得注意的是本質(zhì)矩陣的自由度是5,因為在位移上,我們丟失了一個自由度的尺度信息。
圖1:多視覺幾何基礎(chǔ)
而關(guān)于SLAM,它是英文“同時定位與建圖”的縮寫。而有時候,我們還會聽到VO,SfM等概念,而因此容易混淆。對于這些概念,我的理解是,sfm用于基于圖像的三維重建,過程可以是在線或者離線,圖像的順序可以是連續(xù)的,也可以是亂序的;視覺slam一般處理的圖像是連續(xù)的,并且過程也是在線的;視覺里程計中有局部地圖生成的模式其實就是slam,而沒有地圖的模式就是單獨的里程計。雖然我們接觸到的大部分視覺里程計都是有對應(yīng)的地圖,但是,也有些情況,比如現(xiàn)在的一些深度網(wǎng)絡(luò)可以通過兩張圖片直接訓(xùn)練輸出相對位姿,這就是單獨的里程計信息。
圖2:SLAM相關(guān)概念的關(guān)系圖
接下來我們來看看特征點法和直接法直接的對比。關(guān)于特征點法,通常我們在兩張圖片上找到特征點以及對應(yīng)的匹配特征點,從而求兩幀圖像之間的相對位姿以及特征點的三維位置。當(dāng)有一個初始的相對位姿估計時,我們可以計算特征投影到另一幀圖像的位置,從而可以建立重投影誤差。
相比于使用兩張圖片,當(dāng)使用多張圖片時,重投影誤差則包括所有特征點在所有可被觀測到的幀上的誤差。而針對直接法,我們所關(guān)注的誤差稱為光度誤差。如果說特征點法關(guān)注的是像素的位置差,那么,直接法關(guān)注的則是像素的顏色差。
總結(jié)一下,特征點法通常會把圖像抽象成特征點的集合,然后去縮小特征點之間的重投影誤差;而直接法則通過warp function直接計算像素點在另一張圖像上的顏色差,這樣就省去了特征提取的步驟。
圖3:直接法和特征點法流程對比
直接法的應(yīng)用
關(guān)于直接法的應(yīng)用,主要介紹的是DSO和大范圍DSO。首先關(guān)于直接圖像對齊(direct image alignment),針對每一個圖像的每一個點,我們需要計算像素點顏色的變化,對應(yīng)點的尋找需要利用warp function,就是將一個點通過相機的內(nèi)外參數(shù)轉(zhuǎn)換到另一個相機的坐標(biāo)系中,更周全的考慮還需要將兩張圖的亮度進行一致化處理。然而單目相機還是需要面對一個很棘手的問題,那就是無法恢復(fù)尺度信息,并且往往會出現(xiàn)尺度漂移的現(xiàn)象。
為了解決這個問題,一種方式是采用雙目攝像頭,對此我們需要使用新的能量函數(shù),添加的優(yōu)化量就是雙目相機另一個攝像頭投影到它上面的誤差,值得注意的是,雙目攝像頭的相對位置需要已知,并且,通過雙目項的添加,會自然的得到尺度的約束。
而實際上,隨著雙目相機和對尺度約束的引入,相比于ORB-SLAM2和深度LSD,大范圍DSO在KITTI等室外場景具備了更好的里程計效果,而經(jīng)過反思,我們認(rèn)為通過將雙目相機用“聰明”的方式加以利用,我們確實可以得到正確的尺度信息。除了支持里程計信息的獲取,雙目DSO還能很好的支持三維重建。
圖4:雙目DSO三維重建效果
在實現(xiàn)了比較好的三維重建后,接下來值得繼續(xù)研究的方向之一就是語義重建。基于視覺SLAM的語義重建的流程包括實現(xiàn)定位和地圖后,通過點云信息來進行語義分割,基于分割好的點云,我們將進一步參數(shù)化,抽象化。
總之,我們希望實現(xiàn)對于點云比較簡潔的參數(shù)化描述。
我們接下來的一個工作是試圖從輸入的圖像直接得到想要的語義信息。對應(yīng)的輸入包括雙目相機獲取的左右圖像,初始的位姿和形狀估計,以及物體的語義分割結(jié)果。而誤差的計算則包括兩張圖片光度投影的誤差,和將物體估計的形狀投影到圖像上的誤差,以及關(guān)于車的形狀和位置的先驗知識。利用構(gòu)建的誤差,我們可以通過高斯牛頓法進行優(yōu)化。
而這里,涉及到的問題包括構(gòu)建車輛的模型來進行參數(shù)化表達,一種方式是利用有效距離場對于形狀以高維度向量的形式進行描述,然后采用PCA模型進行降維壓縮。而在利用能量函數(shù)建立優(yōu)化問題后,我們需要計算雅可比進行二階優(yōu)化,由于待優(yōu)化的變量較多,所以雅可比推導(dǎo)很復(fù)雜,不過在我們的論文 DirectShape: Direct Photometric Alignment of Shape Priors for Visual Vehicle Pose and Shape Estimation中,對于所有優(yōu)化變量的雅可比的求解都進行了推導(dǎo),從而提供了優(yōu)化問題的閉環(huán)解,感興趣的同學(xué)可以自行閱讀。而實驗效果也實現(xiàn)了很好的場景描述效果,包括在物體被部分遮擋的情況下。
圖5:語義重建的輸入信息
接下來一個主題是關(guān)于特征點法和直接法的結(jié)合,第一個工作是結(jié)合特征點實現(xiàn)的相機的在線光度標(biāo)定。要理解光度標(biāo)定,就要理解數(shù)碼攝像機的成像過程,首先光源發(fā)射到物體上的光會反射到鏡片上,經(jīng)過鏡頭后,光亮?xí)l(fā)生變化,然后打到傳感器上,一定時間內(nèi)形成能量積累,經(jīng)過響應(yīng)函數(shù)的處理從而得到對應(yīng)的光照強度。
從物體表面反射的光通常稱為輻射亮度(radiance),而發(fā)射到傳感器上的光通常稱為輻射照度(irradiance)。這一過程涉及到三個參數(shù),包括是鏡頭的暗角V,曝光時間E,鏡頭的響應(yīng)函數(shù)f。
圖6:數(shù)碼相機的成像過程
而相機的光度標(biāo)定的目標(biāo)就是求得相機的三個參數(shù),并利用這三個參數(shù)對于圖像進行矯正,從而確保輸出圖像的光度一致性。
為什么我們要進行光度標(biāo)定呢?因為直接法SLAM的假設(shè)就是光度的一致性,即對應(yīng)的點在不同的圖像中顏色要一致。已有的方法在進行光度標(biāo)定時,我們需要至少10分鐘的時間完成全部的復(fù)雜操作。而當(dāng)相機安裝在無人機上,或者曝光時間無法控制時,操作將更加復(fù)雜。我們所提出的在線光度標(biāo)定的方法是基于特征點在不同圖片中對應(yīng)的觀察,能量函數(shù)是所有的點在所有圖像中的實際顏色與模型估計出的顏色的誤差和。在定義了能量函數(shù)后,我們需要怎樣進行建模呢?
首先對于響應(yīng)函數(shù)的建模還是利用主成分分析,我們收集一百個相機的響應(yīng)函數(shù)進行PCA,任意一個相機的響應(yīng)函數(shù)都可以用四個主成分的線性組合來進行描述。對于暗角的建模是基于暗角是完全對稱的假設(shè),并用四階多項式來描述。在對能量函數(shù)進行參數(shù)化后,我們就可以進行優(yōu)化求解。而實際的效果也證明優(yōu)化參數(shù)可以很快收斂成真值。在進行光度標(biāo)定后,DSO在Euroc等數(shù)據(jù)集上也實現(xiàn)了更好的定位和建圖效果。
圖7:光度標(biāo)定后的成像效果
最后一個分享的課題是:如何在采用直接法的同時進行回環(huán)檢測?直接法中因為沒有描述子,所以很難利用進行數(shù)據(jù)關(guān)聯(lián)和回環(huán)檢測,一種思路就是對部分采樣的點添加描述子,在高翔博士的工作LDSO:Direct sparse odmetry with loop closure中,我們把采樣的點一部分換成角點,對于角點我們會建立描述子,從而得到整個圖像的描述子,然后就可以檢測回環(huán),進行全局的位姿圖優(yōu)化。
而實際效果說明,特征的替換并不會影響DSO的效果,并且還增加了新的回環(huán)檢測的功能。此外,還有一種思路是通過直接法得到的點云進行三維特征點的檢測,并且抽取局部特征點的描述子,從而合并成全局特征點的描述子。
未來的工作方向
而關(guān)于直接法的局限性,我認(rèn)為直接法做全局的優(yōu)化是很有挑戰(zhàn)性的,因為沒有描述子,做回環(huán)檢測和地圖的重定位不是很直觀。而且在極端的光照條件下,它的魯棒性沒有保證,還有一點就是目前的直接法采樣點都是隨機采樣,這就意味著采樣沒有決定性,這就會為之后的重定位引入誤差。
此外,直接法得到的點云如何得到更具備實際意義的表述形式?因為目前得到的點云還是無法直接使用的。直接法需不需要存儲歷史圖像?特征點法只需要保留特征點和描述子,而直接法如果需要全局優(yōu)化,那么就需要存儲圖像與歷史信息進行對照,而一旦存儲圖像,就會導(dǎo)致存儲數(shù)據(jù)的增加,那么這個問題該如何解決?
關(guān)于直接法未來的研究方向,一個可行的工作是增加點的描述性,如果能將之前不具備描述性的圖像的顏色信息,換成具備描述性的描述子信息,那么將可以開展很多新工作。有了這些東西,我們就可以進行跨季節(jié),跨時間,跨天氣的回環(huán)檢測。
此外,直接法獲取的點云質(zhì)量通常較高,但現(xiàn)在依舊沒有充分挖掘這些點云信息的潛力,所以未來如果能夠提取這些點云的描述子,并且和圖像的描述子結(jié)合,那么就可以對場景實現(xiàn)更好的描述性,點云還有可能的潛在用途就是提供簡潔的場景描述。此外,目前點的采樣具有隨機性,而未來,是否可以實現(xiàn)具有確定性的點的采樣?從而實現(xiàn)更準(zhǔn)確的重定位?還有就是直接法的全局地圖該如何更新和維護,現(xiàn)在還沒有解決。
審核編輯:劉清
-
DSO
+關(guān)注
關(guān)注
0文章
28瀏覽量
23354 -
SLAM
+關(guān)注
關(guān)注
23文章
419瀏覽量
31788 -
orb
+關(guān)注
關(guān)注
0文章
21瀏覽量
9886
原文標(biāo)題:視覺SLAM直接法及未來發(fā)展
文章出處:【微信號:3D視覺工坊,微信公眾號:3D視覺工坊】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論