ORB-SLAM中的三維地圖點(diǎn)的刪除邏輯

普通幀的位姿優(yōu)化:先從其他幀處找到一些三維點(diǎn),然后匹配這些三維點(diǎn),再用三維點(diǎn)和二維點(diǎn)的投影關(guān)系來優(yōu)化位姿。
這里有些三維點(diǎn)雖然進(jìn)入匹配候選了,但是要么沒有匹配上,要么經(jīng)過位姿優(yōu)化,用優(yōu)化完的位姿來將三維點(diǎn)往二維點(diǎn)上投影,發(fā)現(xiàn)這些三維點(diǎn)投影不上原來的二維點(diǎn)了,也就是說,投影誤差過大了。
什么原因造成的?這些三維點(diǎn)可能一開始用三角化求的時候,誤差就大。也可能是其他原因,總是,應(yīng)該刪除它。
那么具體做的時候,刪除的指標(biāo)是什么?
具體的:刪除這些通過匹配、優(yōu)化次數(shù)少于被選為候選的次數(shù)1/4的三維點(diǎn),也就是說刪除優(yōu)化位姿后,有75%概率是異常的的三維點(diǎn)。
因?yàn)槭窃诰植扛檭?yōu)化函數(shù)TrackLocalMap()中統(tǒng)計(jì)三維點(diǎn)被選為候選的次數(shù)mnVisable,統(tǒng)計(jì)三維點(diǎn)在優(yōu)化后仍能正確投影次數(shù)mnFound的,所以,也可以說:
刪除那些參與普通幀的局部地圖跟蹤100次,但超過75次被優(yōu)化掉的三維地圖點(diǎn)。

標(biāo)簽: