<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          SLAM實(shí)習(xí)生面試基礎(chǔ)知識(shí)點(diǎn)總結(jié)

          共 5702字,需瀏覽 12分鐘

           ·

          2021-10-02 20:24


          點(diǎn)擊上方小白學(xué)視覺(jué)”,選擇加"星標(biāo)"或“置頂

          重磅干貨,第一時(shí)間送達(dá)


          白白最近的時(shí)間投了一些SLAM相關(guān)的實(shí)習(xí),通過(guò)各種公司的面試了解了流程以及側(cè)重點(diǎn),有答的不好被拒絕的,也有拿到offer的,也有簡(jiǎn)歷石沉大海的。發(fā)現(xiàn)很多基礎(chǔ)的問(wèn)題自己都明白但是在面試緊張的情況下描述的邏輯不是很清晰,所以導(dǎo)致面試效果不是很好,通過(guò)自己這一段時(shí)間的學(xué)習(xí)和面試遇到的一些SLAM相關(guān)的基礎(chǔ)問(wèn)題做一個(gè)總結(jié)。


          問(wèn)題總結(jié)

          1、如何對(duì)匹配好的點(diǎn)做進(jìn)一步的處理,更好保證匹配效果

          (1)確定匹配最大距離,漢明距離小于最小距離的兩倍(2)使用KNN-matching算法,令K=2。則每個(gè)match得到兩個(gè)最接近的descriptor,然后計(jì)算最接近距離和次接近距離之間的比值,當(dāng)比值大于既定值時(shí),才作為最終match。(3)RANSAC(使用RANSAC找到最佳單應(yīng)性矩陣。由于這個(gè)函數(shù)使用的特征點(diǎn)同時(shí)包含正確和錯(cuò)誤匹配點(diǎn),因此計(jì)算的單應(yīng)性矩陣依賴于二次投影的準(zhǔn)確性),統(tǒng)計(jì)容差范圍內(nèi)匹配點(diǎn)最多的作為最適合的模型,剔除誤匹配的點(diǎn)。

          2. 單目相機(jī),F(xiàn)和H矩陣有何不同,E和F矩陣有何不同,只旋轉(zhuǎn)不平移能不能求F,只旋轉(zhuǎn)不平移能不能求H ?


          在相機(jī)只有旋轉(zhuǎn)而沒(méi)有平移的情況,此時(shí)t為0,E也將為0,導(dǎo)致無(wú)法求解R,這時(shí)可以使用單應(yīng)矩陣H求旋轉(zhuǎn),但僅有旋轉(zhuǎn),無(wú)法三角化求深度。

          3. 描述BA
          BA的
          本質(zhì)是一個(gè)優(yōu)化模型,其目的是最小化重投影/光度誤差,用于優(yōu)化相機(jī)位姿和世界點(diǎn)。局部BA用于優(yōu)化局部的相機(jī)位姿,提高跟蹤的精確度;全局BA用于全局過(guò)程中的相機(jī)位姿,使相機(jī)經(jīng)過(guò)長(zhǎng)時(shí)間、長(zhǎng)距離的移動(dòng)之后,相機(jī)位姿還比較準(zhǔn)確。BA是一個(gè)圖優(yōu)化模型,一般選擇LM(Levenberg-Marquardt)算法并在此基礎(chǔ)上利用BA模型的稀疏性進(jìn)行計(jì)算;可以直接計(jì)算,也可以使用g2o或者Ceres等優(yōu)化庫(kù)進(jìn)行計(jì)算。
          Bundle Adjustment : 從視覺(jué)重建中提煉出最優(yōu)的3D模型和相機(jī)參數(shù)(內(nèi)參和外參),好似每一個(gè)特征點(diǎn)都會(huì)反射幾束光線,當(dāng)把相機(jī)位姿和特征點(diǎn)位置做出最優(yōu)的調(diào)整后這些光線都收束到相機(jī)相機(jī)光心。也就是根據(jù)相機(jī)的投影模型構(gòu)造構(gòu)造代價(jià)函數(shù),利用非線性優(yōu)化(比如高斯牛頓或列文伯格馬夸而爾特)來(lái)求最優(yōu)解,利用雅克比矩陣的稀疏性解增量方程,得到相機(jī)位姿和特征點(diǎn)3D位置的最優(yōu)解。BA可以分為基于濾波器的BA和基于迭代的BA

          4. 描述PnP
          Perspective-n-Points, PnP(P3P)提供了一種解決方案,它是一種由3D-2D的位姿求解方式,即需要已知匹配的3D點(diǎn)和圖像2D點(diǎn)。目前遇到的場(chǎng)景主要就是SLAM算法中估計(jì)相機(jī)位姿時(shí)通常需要PnP給出相機(jī)初始位姿,第一幀圖像中的3D點(diǎn)以及對(duì)應(yīng)到第二幀圖像中的2D點(diǎn),通過(guò)相機(jī)成像模型,將3D點(diǎn)投影到二維平面,通過(guò)構(gòu)建誤差目標(biāo)函數(shù)通過(guò)優(yōu)化調(diào)整位姿的方法使得誤差目標(biāo)函數(shù)達(dá)到最小,所以它求得的是當(dāng)前幀相對(duì)于上一幀的位姿變換,都是基于已知3D點(diǎn)和對(duì)應(yīng)的圖像2D點(diǎn)求解相機(jī)運(yùn)動(dòng)的過(guò)程。

          5. 描述下GN、LM方法
          (1) GN:線搜索
          將f(x)進(jìn)行一節(jié)泰勒展開(kāi),最后求解線性方程H△x=b;用JT*J近似H矩陣,H的計(jì)算過(guò)程根據(jù)特定問(wèn)題特殊分析;該方法特點(diǎn)是:穩(wěn)定性差,可能不收斂;
          (2) LM:信賴區(qū)域;
          求解線性方程(H+λI)△x=b;通過(guò)調(diào)整拉格朗日乘子,可以判斷是H占據(jù)主導(dǎo)地位(二階近似較好),還是λI占據(jù)主導(dǎo)地位(一階近似較好),避免非奇異和病態(tài)問(wèn)題,提供更穩(wěn)定,更準(zhǔn)確的增量。

          6. 如何處理關(guān)鍵幀(可以參考ORBSLAM2中的Tracking線程)
          關(guān)鍵幀選取的指標(biāo)主要有:
          (1)跟蹤質(zhì)量(主要根據(jù)跟蹤過(guò)程中搜索到的點(diǎn)數(shù)和搜索的點(diǎn)數(shù)比例)/共視特征點(diǎn)
          (2)距離最近關(guān)鍵幀的距離是否足夠遠(yuǎn)(空間)/運(yùn)動(dòng)
          (3)距離上一關(guān)鍵幀的幀數(shù)是否足夠多(時(shí)間
          (4)局部地圖空閑

          7. 為什么要引入李群李代數(shù)
          旋轉(zhuǎn)矩陣自身是帶有約束的,正交且行列式為1,他們作為優(yōu)化變量時(shí),會(huì)引入額外的約束,使得優(yōu)化變的困難,通過(guò)李群李代數(shù)的轉(zhuǎn)換關(guān)系,把位姿估計(jì)變成無(wú)約束的優(yōu)化問(wèn)題。優(yōu)化過(guò)程求極值,由求導(dǎo)數(shù)的定義式,可以知道矩陣對(duì)于加法不封閉,對(duì)于乘法封閉;我們可以看錯(cuò)把李群就是變換矩陣的集合,但是用李代數(shù)的形式去表示變換矩陣,與李群的變換對(duì)應(yīng)關(guān)系恰好是與指數(shù)相乘的關(guān)系,用求導(dǎo)的定義式子就可以求解優(yōu)化問(wèn)題了。

          8. 什么是極線約束(對(duì)極幾何約束)
          所謂極線約束就是說(shuō)同一個(gè)點(diǎn)在兩幅圖像上的映射,已知左圖映射點(diǎn)p1,那么右圖映射點(diǎn)p2一定在相對(duì)于p1的極線上,這樣可以減少待匹配的點(diǎn)數(shù)量。可以畫(huà)圖解釋,注意成像平面、特征點(diǎn)、極點(diǎn)、極線、極平面、相機(jī)光心等概念。

          9. 單目視覺(jué)slam中尺寸漂移是怎么產(chǎn)生的
          單目相機(jī)根據(jù)一張圖片無(wú)法得出一張圖片中物體的實(shí)際大小,同理也就無(wú)法得出運(yùn)動(dòng)的尺度大小,這是產(chǎn)生尺度漂移的根源。而在優(yōu)化過(guò)程中,單目相機(jī)使用對(duì)極幾何中的三角測(cè)量原理求解深度信息,而三角測(cè)量中,極小的角度誤差在累積之后深度不確定都會(huì)變得很大,從而無(wú)法保證尺度一致性。

          10. SLAM中的綁架問(wèn)題
          綁架問(wèn)題就是重定位,是指機(jī)器人在缺少之前位置信息的情況下,如何去確定當(dāng)前位姿。例如當(dāng)機(jī)器人被安置在一個(gè)已經(jīng)構(gòu)建好地圖的環(huán)境中,但是并不知道它在地圖中的相對(duì)位置,或者在移動(dòng)過(guò)程中,由于傳感器的暫時(shí)性功能故障或相機(jī)的快速移動(dòng),都導(dǎo)致機(jī)器人先前的位置信息的丟失,在這種情況下如何重新確定自己的位置。

          11、描述特征點(diǎn)法和直接法的優(yōu)缺點(diǎn)

          特征點(diǎn)法優(yōu)點(diǎn):

          (1)精確,直接法屬于強(qiáng)假設(shè)

          (2)運(yùn)動(dòng)過(guò)大時(shí),只要匹配點(diǎn)在像素內(nèi),則不太會(huì)引起誤匹配,魯棒性好
          缺點(diǎn):

          (1)關(guān)鍵點(diǎn)提取、描述子、匹配耗時(shí)長(zhǎng)

          (2)特征點(diǎn)丟失場(chǎng)景無(wú)法使用

          (3)只能構(gòu)建稀疏地圖
          直接法優(yōu)點(diǎn):

          (1)省去計(jì)算特征點(diǎn)、描述子時(shí)間

          (2)可以用在特征缺失的場(chǎng)合使用(比如白墻,只要有像素梯度變化就好)(3)可以構(gòu)建半稠密乃至稠密地圖
          缺點(diǎn):

          (1)強(qiáng)假設(shè)條件,易受光照和模糊影響

          (2)運(yùn)動(dòng)必須微小,要求相機(jī)運(yùn)動(dòng)較慢或采樣頻率較高(用圖像金字塔改善)

          (3)非凸性;單個(gè)像素沒(méi)有區(qū)分度

          12. 特征點(diǎn)法和直接法的BA有何不同
          (1) 誤差函數(shù)不同。特征點(diǎn)法是重投影誤差,直接法是光度誤差
          (2) 雅克比矩陣不同

          13. 光流和直接法有何不同
          光流僅估計(jì)了像素間的平移,但
          (1)沒(méi)有用相機(jī)結(jié)構(gòu)
          (2)沒(méi)有考慮相機(jī)的旋轉(zhuǎn)和圖像縮放
          (3)邊界點(diǎn)追蹤效果差

          14. 特征匹配(稀疏)和稠密匹配區(qū)別
          特征匹配:
          (1)速度快,效率高,可以到亞像素級(jí)別,精度高
          (2)匹配元素為物體的幾何特征,對(duì)照明變化不敏感
          稠密匹配
          (1)速度慢,效率低
          (2)對(duì)無(wú)紋理區(qū)域匹配效果不理想,對(duì)光強(qiáng)條件敏感

          15. EKF和BA的區(qū)別
          (1) EKF假設(shè)了馬爾科夫性,認(rèn)為k時(shí)刻的狀態(tài)只與k-1時(shí)刻有關(guān)。非線性優(yōu)化使用所有的歷史數(shù)據(jù),做全體的SLAM
          (2) EKF做了線性化處理,在工作點(diǎn)處用一階泰勒展開(kāi)式近似整個(gè)函數(shù),但在工作點(diǎn)較遠(yuǎn)處不一定成立。非線性優(yōu)化每迭代一次,狀態(tài)估計(jì)發(fā)生改變,我們會(huì)重新對(duì)新的估計(jì)點(diǎn)做泰勒展開(kāi),可以把EKF看做只有一次迭代的BA

          16. 單目,雙目,深度相機(jī)對(duì)比

          單目:成本低,搭建簡(jiǎn)單,單目相機(jī)有尺度不確定性,需要專門(mén)初始化;
          雙目:不需要專門(mén)初始化,能夠計(jì)算深度,
          基線距離越大,測(cè)量距離越遠(yuǎn),可以用于室內(nèi)和室外,標(biāo)定較為復(fù)雜,視差計(jì)算比較消耗資源,視差最小為一個(gè)像素,此時(shí)基線固定的化,所測(cè)距離最遠(yuǎn);深度:測(cè)量范圍窄,噪聲大,易受日光干擾,無(wú)法測(cè)量透射材料,主要用于室內(nèi)。

          17. 常用的邊緣檢測(cè)算子和優(yōu)缺點(diǎn)

          邊緣檢測(cè)一般分為三步,分別是濾波、增強(qiáng)、檢測(cè)。基本原理都是用高斯濾波器進(jìn)行去噪,之后在用卷積內(nèi)核尋找像素梯度。常用有三種算法:canny算子,sobel算子,laplacian算子
          canny算子:一種完善的邊緣檢測(cè)算法,抗噪能力強(qiáng),用高斯濾波平滑圖像,用一階偏導(dǎo)的有限差分計(jì)算梯度的幅值和方向,對(duì)梯度幅值進(jìn)行非極大值抑制,采用
          雙閾值檢測(cè)和連接邊緣
          sobel算子:一階導(dǎo)數(shù)算子,引入局部平均運(yùn)算,對(duì)噪聲具有平滑作用,抗噪聲能力強(qiáng),計(jì)算量較大,但定位精度不高,
          得到的邊緣比較粗,適用于精度要求不高的場(chǎng)合。laplacian算子:二階微分算子,具有旋轉(zhuǎn)不變性,容易受噪聲影響,不能檢測(cè)邊緣的方向,一般不直接用于檢測(cè)邊緣,而是判斷明暗變化

          18. 一階梯度下降,G-N和L-M三種方法的關(guān)系

          (H+λI)△x=b當(dāng)λ= 0時(shí),L-M等于G-N;當(dāng)λ= ∞時(shí),L-M等于一階梯度下降。L-M的好處就在于:如果下降的太快,使用較小的λ,如果下降的太慢,使用較大的λ

          19. 為什么SLAM中常用L-M

          G-N中的H矩陣可能為奇異矩陣或者病態(tài)矩陣,導(dǎo)致算法不收斂。而且當(dāng)步長(zhǎng)較大時(shí),也無(wú)法保證收斂性,所以采用L-M求解增量方程,但是它的收斂速度可能較慢。

          20. 介紹RANSAC算法

          RANSAC算法的基本假設(shè)是樣本中包含正確數(shù)據(jù)(inliers,可以被模型描述的數(shù)據(jù)),也包含異常數(shù)據(jù)(outliers,偏離正常范圍很遠(yuǎn)、無(wú)法適應(yīng)數(shù)學(xué)模型的數(shù)據(jù)),即數(shù)據(jù)集中含有噪聲。這些異常數(shù)據(jù)可能是由于錯(cuò)誤的測(cè)量、錯(cuò)誤的假設(shè)、錯(cuò)誤的計(jì)算等產(chǎn)生的。同時(shí)RANSAC也假設(shè),給定一組正確的數(shù)據(jù),存在可以計(jì)算出符合這些數(shù)據(jù)的模型參數(shù)的方法。舉個(gè)例子通俗的講,從一群點(diǎn)中估算直線模型,該算法先假設(shè)一個(gè)直線模型,并設(shè)定一定的容差范圍,通過(guò)迭代統(tǒng)計(jì)一群點(diǎn)中所有在容差范圍內(nèi)的點(diǎn)的個(gè)數(shù),最終統(tǒng)計(jì)最多的模型最適應(yīng)這群點(diǎn),迭代次數(shù)越多越準(zhǔn)確,其他的容差范圍外的點(diǎn)就是被剔除的點(diǎn),
          優(yōu)缺點(diǎn):RANSAC算法的優(yōu)點(diǎn)是能魯棒的估計(jì)模型參數(shù)。例如,他能從包含大量局外點(diǎn)的數(shù)據(jù)集中估計(jì)出高精度的參數(shù)。缺點(diǎn)是它計(jì)算參數(shù)的迭代次數(shù)沒(méi)有上限,如果設(shè)置迭代次數(shù)的上限,得到的結(jié)果可能不是最優(yōu)的結(jié)果,甚至可能得到錯(cuò)誤的結(jié)果
          。RANSAC只有一定的概率得到的可信的模型,概率與迭代次數(shù)成正比。另一個(gè)缺點(diǎn)是它要求設(shè)置跟問(wèn)題相關(guān)的閾值,RANSAC只能從特定的數(shù)據(jù)集中估計(jì)出一個(gè)模型,如果存在兩個(gè)(或多個(gè))模型,RANSAC不能找到別的模型。

          21、如何優(yōu)化重投影誤差?采用什么方法求解?如果誤匹配的點(diǎn)重投影之后誤差很大,如何解決它對(duì)整個(gè)優(yōu)化問(wèn)題的影響?

          圖優(yōu)化模型,將路標(biāo)點(diǎn)和相機(jī)位姿作為兩個(gè)節(jié)點(diǎn),觀測(cè)模型作為邊,同時(shí)優(yōu)化兩個(gè)變量,SLAM中常用L-M求解,如果誤匹配誤差很大可以考慮用核函數(shù)(Huber),核函數(shù)可以減小誤匹配對(duì)整個(gè)方法的影響。


          22、 g2o工程化的注意事項(xiàng)

          圖優(yōu)化流程:
          ①選擇節(jié)點(diǎn)和邊,確定參數(shù)化形式
          ②加入節(jié)點(diǎn)和邊
          ③選擇初值,開(kāi)始迭代

          ④計(jì)算J和H
          ⑤解H△x = -b
          ⑥GN/LM


          g2o需要實(shí)現(xiàn)其中的③-⑥g2o結(jié)構(gòu)如下圖所示:
          ①選擇線性方程求解器(PCG/Cspare/Choldmod)
          ②選擇一個(gè)blockslover
          ③選擇迭代方式(GN/LM/Dogleg)

          實(shí)現(xiàn)過(guò)程 :選擇節(jié)點(diǎn)和邊
          節(jié)點(diǎn):g2o :: VertexSE3Expmap(相機(jī)位姿)
          ? ? ? ? ?g2o :: VertexSBApointXYZ(路標(biāo))
          邊:g2o :: EdgeProjectXYZ2UV(重投影誤差)

          ? ? ? ? ? ? ? ? ? ? g2o函數(shù)架構(gòu)圖? ? ? ? ? ? ? ? ? ? ? ?

          24、卡爾曼濾波

          預(yù)測(cè):如何從上一時(shí)刻的狀態(tài),根據(jù)輸入信息推斷當(dāng)前時(shí)刻的狀態(tài)分布(先驗(yàn))計(jì)算協(xié)方差
          更新:計(jì)算增益Kg,然后計(jì)算后驗(yàn)觀測(cè),更新?tīng)顟B(tài)和協(xié)方差

          25、 坐標(biāo)系轉(zhuǎn)換世界坐標(biāo)系(world) 相機(jī)坐標(biāo)(camera)歸一化坐標(biāo)系 ?像素坐標(biāo)(pixel)

          26、解釋相機(jī)內(nèi)外參數(shù)

          相機(jī)內(nèi)參包括焦距fx,fy,cx,cy,徑向畸變系數(shù)k1,k2,k3,切向畸變系數(shù)p1,p2其中內(nèi)參一般來(lái)說(shuō)是不會(huì)改變,但是當(dāng)使用可變焦距鏡頭時(shí)每次改變焦距需要重新標(biāo)定內(nèi)參當(dāng)圖像裁剪時(shí)內(nèi)參cx,cy會(huì)發(fā)生改變,比如圖像從8*8變成4*4時(shí),cx,cy需要除以2一般標(biāo)定工業(yè)相機(jī)時(shí)只需要得到畸變系數(shù)k1,k2即可,對(duì)于畸變系數(shù)較大的魚(yú)眼相機(jī)需要得到k3,p1,p2相機(jī)外參分為旋轉(zhuǎn)矩陣R和平移矩陣t,旋轉(zhuǎn)矩陣和平移矩陣共同描述了如何把點(diǎn)從世界坐標(biāo)系轉(zhuǎn)換到攝像機(jī)坐標(biāo)系

          好消息,小白學(xué)視覺(jué)團(tuán)隊(duì)的知識(shí)星球開(kāi)通啦,為了感謝大家的支持與厚愛(ài),團(tuán)隊(duì)決定將價(jià)值149元的知識(shí)星球現(xiàn)時(shí)免費(fèi)加入。各位小伙伴們要抓住機(jī)會(huì)哦!


          下載1:OpenCV-Contrib擴(kuò)展模塊中文版教程
          在「小白學(xué)視覺(jué)」公眾號(hào)后臺(tái)回復(fù):擴(kuò)展模塊中文教程即可下載全網(wǎng)第一份OpenCV擴(kuò)展模塊教程中文版,涵蓋擴(kuò)展模塊安裝、SFM算法、立體視覺(jué)、目標(biāo)跟蹤、生物視覺(jué)、超分辨率處理等二十多章內(nèi)容。

          下載2:Python視覺(jué)實(shí)戰(zhàn)項(xiàng)目52講
          小白學(xué)視覺(jué)公眾號(hào)后臺(tái)回復(fù):Python視覺(jué)實(shí)戰(zhàn)項(xiàng)目即可下載包括圖像分割、口罩檢測(cè)、車(chē)道線檢測(cè)、車(chē)輛計(jì)數(shù)、添加眼線、車(chē)牌識(shí)別、字符識(shí)別、情緒檢測(cè)、文本內(nèi)容提取、面部識(shí)別等31個(gè)視覺(jué)實(shí)戰(zhàn)項(xiàng)目,助力快速學(xué)校計(jì)算機(jī)視覺(jué)。

          下載3:OpenCV實(shí)戰(zhàn)項(xiàng)目20講
          小白學(xué)視覺(jué)公眾號(hào)后臺(tái)回復(fù):OpenCV實(shí)戰(zhàn)項(xiàng)目20講即可下載含有20個(gè)基于OpenCV實(shí)現(xiàn)20個(gè)實(shí)戰(zhàn)項(xiàng)目,實(shí)現(xiàn)OpenCV學(xué)習(xí)進(jìn)階。

          交流群


          歡迎加入公眾號(hào)讀者群一起和同行交流,目前有SLAM、三維視覺(jué)、傳感器自動(dòng)駕駛、計(jì)算攝影、檢測(cè)、分割、識(shí)別、醫(yī)學(xué)影像、GAN算法競(jìng)賽等微信群(以后會(huì)逐漸細(xì)分),請(qǐng)掃描下面微信號(hào)加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三?+?上海交大?+?視覺(jué)SLAM“。請(qǐng)按照格式備注,否則不予通過(guò)。添加成功后會(huì)根據(jù)研究方向邀請(qǐng)進(jìn)入相關(guān)微信群。請(qǐng)勿在群內(nèi)發(fā)送廣告,否則會(huì)請(qǐng)出群,謝謝理解~



          瀏覽 59
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  婷婷五月在线 | aaa国产免费 | 大香蕉伊人丁香五月 | 小泽玛利亚性爱视频 | 怡春院在线视频 |