在VINS、OKVIS等基於優化的VIO演算法中,構造優化問題的時候把重投影誤差和IMU的誤差直接相加,這些單位不同、量級不同的誤差為什麼可以直接相加。我感覺兩者是不是應該加權相加,或者各自做一下歸一化,來平衡兩種感測器對優化結果的貢獻。


加權值等價於scale每一項的協方差。以及這種最小二乘是有一種數學解釋的,它等價於把每個誤差看做服從高斯分佈的隨機變數,求一個極大似然。裡面的加法其實是從概率的乘法來的,只不過在指數上,取個log就變成加了,所以不需要同單位。


向你推薦一下Dellaert和Kaess大神的Factor Graphs for Robot Perception的21頁所講,你在具體計算誤差項的時候,Jacobian是要除以協方差的,你可以仔細讀一下


前段時間也正好看過這方面的知識。學習了一下。

在定位領域構如果獲得最優導航解,在slam 中大部分將這類問題構建成基於貝葉斯的概率論模型。

即已知測量信息和先驗條件下,求解概率模型最大似然估計。

如何去表述和求解上面的最大似然估計模型暱,論文中大部分採用圖優化的方式,Dellaert和Kaess採用因子圖(factor graph)來表述和求解,他們的論文解釋的是最清楚,最直觀,最容易理解的。利用因子圖將多種誤差項整合在一起,然後有化成最有估計。

這裡默認的是造成誤差的原因是白雜訊。所以假設每個誤差項都滿足高斯分佈。就如同題主想法類似,是需要歸一化的,只不過是高斯歸一化,將所有誤差項轉成正太分佈,即均值為0,方差為1的形式。誤差項都有個權值,這個其實是協方差的逆。協方差就是表示估計值的不確定度。VINS還有okvis都大量篇幅求解IMU的協方差,其實就是為了後面優化歸一化做準備。純視覺的重投影誤差一般默認協方差為單位陣,主要是協方差都是相等的,所以可以為零。相比較其他模型視覺模型協方差感覺很難計算,我所看到的都是默認單位陣,或者像素誤差,具體的如何確定,我還沒找到相關資料。

如果想了解因子圖如何計算概率模型:可以參考《Factor graphs

and the sum-product algorithm.》

多種感測器融合《Factor Graph Based Incremental Smoothing in

Inertial Navigation Systems》

具體的也可以參考kaess的iSam 和iSam2的相關文獻,這些都是利用圖模型解決後端優化問題的。


俺來提供另一種解讀思路。

每個殘差看作高斯分佈之後,我們知道任意高斯分佈都可以歸一化成標準的高斯分佈N(0,1),這種歸一化操作就是減均值「求平方」然後「除以」方差啦。殘差預期的均值為0,所以啥也不用減,只要除以方差。擴展到多維的話就變成這種信息矩陣加權形式。

這實際上是把每一類殘差項去量綱。

這種思路可以跳出vio,適用於各種融合。


vio、slam、三維重建,在你入行之前,會發現有很多論文、演算法、源碼,當你入行後,會發現這個效果不好、那個難用、另一個簡直狗屁不通。究其原因只有一個:缺乏理論。然後你也會絞盡腦汁湊出一個結果、寫出一篇論文、附上一段代碼,繼續擊鼓傳花。


mathop{argmin}_{b^{g}}{|log((Delta R_{i, i+1} exp(J_{Delta }^{g}b^{g}))^{T} R_{BW}^{i+1} R_{WB}^{i}| ^{2}}.

	heta = { R_{WB}^{j}, p_{B}^{j}, V_{B}^{j}, b_{g}^{j}, b_{a}^{j} }

	heta^{*} = mathop{argmin}_{	heta}{left( sum_{k}^{}{mathrm{E}_{proj}(k, j)} + mathrm{E}_{IMU}(i, j) 
ight)}.


謝邀,先說結論,這是一個白化(whitening)的過程,權重矩陣 W 做的正是歸一化,去除量綱的作用。

具體地,誤差項中的權重矩陣 W 是協方差陣 Sigma 的逆。我們有如下:

e^TWe = e^TSigma^{-1}e =(Sigma^{-frac{1}{2}}e)^T(Sigma^{-frac{1}{2}}e)

直觀上的理解是,我們對每個誤差項除以其對應的測量量的標準差,以此來達到歸一化的目的。


推薦閱讀:
查看原文 >>
相關文章