日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vins中imu融合_VINS-Mono代码分析与总结(最终版)

發布時間:2024/1/23 编程问答 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vins中imu融合_VINS-Mono代码分析与总结(最终版) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

VINS-Mono代碼分析總結

參考文獻

前言

??視覺與IMU融合的分類:

松耦合和緊耦合:按照是否把圖像的Feature加入到狀態向量區分,換句話說就是松耦合是在視覺和IMU各自求出的位姿的基礎上做的耦合。

濾波法和優化法:

參考

??Vins-Mono是視覺與IMU的融合中的經典之作,其定位精度可以媲美OKVIS,而且具有比OKVIS更加完善和魯棒的初始化以及閉環檢測過程。同時VINS-Mono也為該鄰域樹立了一個信標吧,視覺SLAM的研究和應用會更新偏向于 單目+IMU。因為在機器人的導航中,尤其是無人機的自主導航中,單目不具有RGBD相機(易受光照影響、獲取的深度信息有限)以及雙目相機(占用較大的空間。。。)的限制,能夠適應室內、室外及不同光照的環境,具有較好的適應性。而且在增強和虛擬現實中,更多的移動設備僅具有單個相機,所以單目+IMU也更符合實際情況。

??那么為什么要進行視覺與IMU的融合呢,自己總結的主要有以下幾點:

視覺與IMU的融合可以借助IMU較高的采樣頻率,進而提高系統的輸出頻率。

視覺與IMU的融合可以提高視覺的魯棒性,如視覺SLAM因為某些運動或場景出現的錯誤結果。

視覺與IMU的融合可以有效的消除IMU的積分漂移。

視覺與IMU的融合能夠校正IMU的Bias。

單目與IMU的融合可以有效解決單目尺度不可觀測的問題。

??上面總結了視覺與IMU融合的幾個優點,以及與單目融合可以解決單目相機尺度不可測的問題。但是單目相機的尺度不可測也是具有優點的,參考[4]。單目尺度不確定的優點主要有兩方面:單目尺度的不確定性,可以對不同的規模大小的環境空間之間進行游走切換,起到無縫連接的作用,比如從室內桌面上的環境和大規模的戶外場景;諸如深度或立體視覺相機,這些具備深度信息的傳感器,它們所提供的可靠深度信息范圍,是有限制的,故而不像單目相機那樣具有尺度靈活性的特點。

1 預積分的推導

1.1 離散狀態下預積分方程

??關于這部分的論文和代碼中的推導,可以參考文獻[2]中Appendx部分“A Runge-Kutta numerical integration methods”中的歐拉法和中值法。

\[

w_{k}^{{}'}=\frac{w_{k+1}+w_{k}}{2}-b_{w}

\tag{1.1}

\]

\[

q _{i+1}=q _{i}\otimes \begin{bmatrix}

1

\0.5w_{k}^{{}'}

\end{bmatrix}

\tag{1.2}

\]

\[

a_{k}^{{}'}=\frac{q_{k}(a_{k}+n_{a0}-b_{a_{k}})+q_{k+1}(a_{k+1}+n_{a1}-b_{a_{k}})}{2}

\tag{1.3}

\]

\[

\alpha _{i+1}=\delta\alpha _{i}+\beta _{i}t+0.5a_{k}^{{}'}\delta t^{2}

\tag{1.4}

\]

\[

\beta _{i+1}=\delta\beta _{i}+a_{k}^{{}'}\delta t

\tag{1.5}

\]

1.2 離散狀態下誤差狀態方程

??論文中Ⅱ.B部分的誤差狀態方程是連續時間域內,在實際代碼中需要的是離散時間下的方程式,而且在前面的預積分方程中使用了中值法積分方式。所以在實際代碼中和論文是不一致的。在推導誤差狀態方程式的最重要的部分是對 \(\delta \theta _{k+1}\) 部分的推導。

??由泰勒公式可得:

\[

\delta \theta _{k+1} = \delta \theta _{k}+\dot{\delta \theta _{k}}\delta t

\tag{1.6}

\]

依據參考文獻[2]中 "5.3.3 The error-state kinematics"中公式(222c)及其推導過程有:

\[

\dot{\delta \theta _{k}}=-[w_{m}-w_]_{\times }\delta \theta _{k}-\delta w_-w_{n}

\]

對于中值法積分下的誤差狀態方程為:

\[

\dot{\delta \theta _{k}}=-[\frac{w_{k+1}+w_{k}}{2}-b_{g_{k}}]_{\times }\delta \theta _{k}-\delta b_{g_{k}}+\frac{n_{w0}+n_{w1}}{2}

\tag{1.7}

\]

將式(1.7)帶入式(1.6)可得:

\[

\delta \theta _{k+1} =(I-[\frac{w_{k+1}+w_{k}}{2}-b_{g_{k}}]_{\times }\delta t) \delta \theta _{k} -\delta b_{g_{k}}\delta t+\frac{n_{w0}+n_{w1}}{2}\delta t

\tag{1.8}

\]

這部分也可以參考,文獻[2]中“7.2 System kinematics in discrete time”小節。

??接下來先推導 \(\delta \beta _{k+1}\) 部分,再推導 \(\delta \alpha _{k+1}\) 部分。\(\delta \beta _{k+1}\) 部分的推導也可以參考文獻[2]中“5.3.3 The error-state kinematics”公式(222b)的推導。將式(1.5)展開得到:

\[

\delta\beta _{i+1}=\delta\beta _{i}+\frac{q_{k}(a_{k}+n_{a0}-b_{a_{k}})+q_{k+1}(a_{k+1}++n_{a1}-b_{a_{k}})}{2}\delta t

\]

即,

\[

\delta\beta _{i+1}=\delta\beta _{i}+\dot{\delta\beta_{i}}\delta t

\tag{1.9}

\]

文獻[2]中,公式(222b)

\[

\dot{\delta v}=-R[a_{m}-a_]_{\times}\delta \theta-R\delta a_+\delta g-Ra_{n}

\]

對于中值法積分下的誤差狀態方程為:

\[

\begin{align}\nonumber

\dot{\delta\beta_{i}} =&-\frac{1}{2}q_{k}[a_{k}-b_{a_{k}}]_{\times}\delta \theta-\frac{1}{2}q_{k+1}[a_{k+1}-b_{a_{k}}]_{\times}\delta \theta _{k+1} -\delta b_{g_{k}}\delta t+\frac{n_{w0}+n_{w1}}{2}\delta t)\delta \theta \\\nonumber

&-\frac{1}{2}q_{k}\delta b_{a_{k}}-\frac{1}{2}q_{k+1}\delta b_{a_{k}}-\frac{1}{2}q_{k}n_{a0}-\frac{1}{2}q_{k}n_{a1}

\end{align}

\tag{1.10}

\]

將式(1.8)帶入式(1.10)可得

\[

\begin{align}\nonumber

\dot{\delta\beta_{i}} =&-\frac{1}{2}q_{k}[a_{k}-b_{a_{k}}]_{\times}\delta \theta-\frac{1}{2}q_{k+1}[a_{k+1}-b_{a_{k}}]_{\times}((I-[\frac{w_{k+1}+w_{k}}{2}-b_{g_{k}}]_{\times }\delta t) \delta \theta _{k} -\delta b_{g_{k}}\delta t+\frac{n_{w0}+n_{w1}}{2}\delta t) \\\nonumber

&-\frac{1}{2}q_{k}\delta b_{a_{k}}-\frac{1}{2}q_{k+1}\delta b_{a_{k}}-\frac{1}{2}q_{k}n_{a0}-\frac{1}{2}q_{k}n_{a1}

\end{align}

\tag{1.11}

\]

同理,可以計算出 \(\delta \alpha _{k+1}\) ,可以寫為:

\[

\delta\alpha _{i+1}=\delta\alpha _{i}+\dot{\delta\alpha_{i}}\delta t

\tag{1.12}

\]

\[

\begin{align}\nonumber

\dot{\delta\alpha_{i}} =&-\frac{1}{4}q_{k}[a_{k}-b_{a_{k}}]_{\times}\delta \theta\delta t-\frac{1}{4}q_{k+1}[a_{k+1}-b_{a_{k}}]_{\times}((I-[\frac{w_{k+1}+w_{k}}{2}-b_{g_{k}}]_{\times }\delta t) \delta \theta _{k} -\delta b_{g_{k}}\delta t+\frac{n_{w0}+n_{w1}}{2}\delta t)\delta t \\\nonumber

&-\frac{1}{4}q_{k}\delta b_{a_{k}}\delta t-\frac{1}{4}q_{k+1}\delta b_{a_{k}}\delta t-\frac{1}{4}q_{k}n_{a0}\delta t-\frac{1}{4}q_{k}n_{a1}\delta t

\end{align}

\tag{1.13}

\]

最后是加速度計和陀螺儀bias的誤差狀態方程,

\[

\delta b_{a_{k+1}}=\delta b_{a_{k}}+n_{ba}\delta t

\tag{1.14}

\]

\[

\delta b_{w_{k+1}}=\delta b_{w_{k}}+n_{bg}\delta t

\tag{1.15}

\]

??綜合式(1.8)等誤差狀態方程,將其寫為矩陣形式,

\[

\begin{align}\nonumber

\begin{bmatrix}

\delta \alpha_{k+1}\\delta \theta _{k+1}\\delta \beta _{k+1} \\delta b _{a{}{k+1}} \\delta b _{g{}{k+1}}

\end{bmatrix}&=\begin{bmatrix}

I & f_{01} &\delta t & -\frac{1}{4}(q_{k}+q_{k+1})\delta t^{2} & f_{04}\0 & I-[\frac{w_{k+1}+w_{k}}{2}-b_{wk}]_{\times }\delta t & 0 & 0&-\delta t \0 & f_{21}&I & -\frac{1}{2}(q_{k}+q_{k+1})\delta t & f_{24}\0 & 0& 0&I &0 \ 0& 0 & 0 & 0 & I

\end{bmatrix}

\begin{bmatrix}

\delta \alpha_{k}\\delta \theta _{k}\\delta \beta _{k} \\delta b _{a{}{k}} \\delta b _{g{}{k}}

\end{bmatrix} \\\nonumber

&+

\begin{bmatrix}

\frac{1}{4}q_{k}\delta t^{2}& v_{01}& \frac{1}{4}q_{k+1}\delta t^{2} & v_{03} & 0 & 0\ 0& \frac{1}{2}\delta t & 0 & \frac{1}{2}\delta t &0 & 0\ \frac{1}{2}q_{k}\delta t& v_{21}& \frac{1}{2}q_{k+1}\delta t & v_{23} & 0 & 0 \0 & 0 & 0 & 0 &\delta t &0 \ 0& 0 &0 & 0 &0 & \delta t

\end{bmatrix}

\begin{bmatrix}

n_{a0}\n_{w0}\n_{a1}\n_{w1}\n_{ba}\n_{bg}

\end{bmatrix}

\end{align}

\tag{1.16}

\]

其中,

\[

\begin{align}\nonumber

f_{01}&=-\frac{1}{4}q_{k}[a_{k}-b_{a_{k}}]_{\times}\delta t^{2}-\frac{1}{4}q_{k+1}[a_{k+1}-b_{a_{k}}]_{\times}(I-[\frac{w_{k+1}+w_{k}}{2}-b_{g_{k}}]_{\times }\delta t)\delta t^{2} \\\nonumber

f_{21}&=-\frac{1}{2}q_{k}[a_{k}-b_{a_{k}}]_{\times}\delta t-\frac{1}{2}q_{k+1}[a_{k+1}-b_{a_{k}}]_{\times}(I-[\frac{w_{k+1}+w_{k}}{2}-b_{g_{k}}]_{\times }\delta t)\delta t \\\nonumber

f_{04}&=\frac{1}{4}(-q_{k+1}[a_{k+1}-b_{a_{k}}]_{\times}\delta t^{2})(-\delta t) \\\nonumber

f_{24}&=\frac{1}{2}(-q_{k+1}[a_{k+1}-b_{a_{k}}]_{\times}\delta t)(-\delta t) \\\nonumber

v_{01}&=\frac{1}{4}(-q_{k+1}[a_{k+1}-b_{a_{k}}]_{\times}\delta t^{2})\frac{1}{2}\delta t \\\nonumber

v_{03}&=\frac{1}{4}(-q_{k+1}[a_{k+1}-b_{a_{k}}]_{\times}\delta t^{2})\frac{1}{2}\delta t \\\nonumber

v_{21}&=\frac{1}{2}(-q_{k+1}[a_{k+1}-b_{a_{k}}]_{\times}\delta t^{2})\frac{1}{2}\delta t \\\nonumber

v_{23}&=\frac{1}{2}(-q_{k+1}[a_{k+1}-b_{a_{k}}]_{\times}\delta t^{2})\frac{1}{2}\delta t

\end{align}

\]

將式(1.16)簡寫為,

\[

\delta z_{k+1} = F\delta z_{k}+VQ

\]

??最后得到系統的雅克比矩陣 \(J_{k+1}\) 和協方差矩陣 \(P_{k+1}\),初始狀態下的雅克比矩陣和協方差矩陣為單位陣和零矩陣,即

\[

J_{k}=I \\ P_{k}=0

\]

\[

J_{k+1}=FJ_{k}

\tag{1.17}

\]

\[

P_{k+1}=FP_{k}F^{T}+VQV_{T}

\tag{1.18}

\]

2 前端KLT跟蹤

3 系統初始化

??在提取的圖像的Features和做完IMU的預積分之后,進入了系統的初始化環節,那么系統為什么要進行初始化呢,主要的目的有以下兩個:

系統使用單目相機,如果沒有一個良好的尺度估計,就無法對兩個傳感器做進一步的融合。這個時候需要恢復出尺度;

要對IMU進行初始化,IMU會受到bias的影響,所以要得到IMU的bias。

所以我們要從初始化中恢復出尺度、重力、速度以及IMU的bias,因為視覺(SFM)在初始化的過程中有著較好的表現,所以在初始化的過程中主要以SFM為主,然后將IMU的預積分結果與其對齊,即可得到較好的初始化結果。

??系統的初始化主要包括三個環節:求取相機與IMU之間的相對旋轉、相機初始化(局部滑窗內的SFM,包括沒有尺度的BA)、IMU與視覺的對齊(IMU預積分中的 \(\alpha\)等和相機的translation)。

3.1 相機與IMU之間的相對旋轉

??這個地方相當于求取相機與IMU的一部分外參。相機與IMU之間的旋轉標定非常重要,偏差1-2°系統的精度就會變的極低。這部分的內容參考文獻[3]中Ⅴ-A部分,這里做簡單的總結。

??設相機利用對極關系得到的旋轉矩陣為 \(R^{c_{k}}_{c_{k+1}}\),IMU經過預積分得到的旋轉矩陣為\(R^{b_{k}}_{b_{k+1}}\),相機與IMU之間的相對旋轉為 \(R^_{c}\),則對于任一幀滿足,

\[

R^{b_{k}}_{b_{k+1}}R^_{c}=R^_{c}R^{c_{k}}_{c_{k+1}}

\tag{3.1}

\]

對式(3.1)可以做簡單的證明,在其兩邊同乘 \(^{c}x_{k+1}\) 得

\[

\begin{align}\nonumber

R^{b_{k}}_{b_{k+1}}R^_{c}{^{c}x_{k+1}}&=R^_{c}R^{c_{k}}_{c_{k+1}}{^{c}x_{k+1}} \\\nonumber

R^{b_{k}}_{b_{k+1}}{^x_{k+1}}&=R^_{c}{^{c}x_{k}}

\\\nonumber

^x_{k}&=^x_{k}

\end{align}

\]

將旋轉矩陣寫為四元數,則式(3.1)可以寫為

\[

q^{b_{k}}_{b{k+1}}\otimes q^_{c}=q^_{c}\otimes q^{c_{k}}_{c{k+1}}

\]

將其寫為左乘和右乘的形式,綜合為

\[

[Q_{1}(q^{b_{k}}_{b{k+1}})-Q_{2}(q^{c_{k}}_{c{k+1}})]q^_{c}=Q^{k}_{k+1}q^_{c}=0

\tag{3.2}

\]

其中 \(Q_{1}(q^{b_{k}}_{b{k+1}})\),\(Q_{2}(q^{c_{k}}_{c{k+1}})\) 分別表示四元數的左乘和右乘形式,

\[

\begin{align}\nonumber

Q_{1}(q)&=\begin{bmatrix}

q_{w}I_{3}+[q_{xyz }]_{\times} & q_{xyz}\\\nonumber

-q_{xyz} & q_{w}

\end{bmatrix} \Q_{2}(q)&=\begin{bmatrix}

q_{w}I_{3}-[q_{xyz }]_{\times} & q_{xyz}\\\nonumber

-q_{xyz} & q_{w}

\end{bmatrix}

\end{align}

\tag{3.3}

\]

這個地方因為四元數的實部在前在后的表達不一樣,而左右乘的形式也不一樣,所以文獻[2]和文獻[3]存在區別。Vins-Mono使用的是Eigen實部在后的表達方式。

那么對于 \(n\)對測量值,則有

\[

\begin{bmatrix}

w^{0}_{1}Q^{0}_{1}\w^{1}_{2}Q^{1}_{2}\\vdots \w^{N-1}_{N}Q^{N-1}_{N}

\end{bmatrix}q^_{c}=Q_{N}q^_{c}=0

\tag{3.4}

\]

其中 \(w^{N-1}_{N}\) 為外點剔除權重,其與相對旋轉求取得殘差有關,\(N\)為最新的視覺幀的index,其由最終的終止條件決定。殘差可以寫為,

\[

r^{k}_{k+1}=acos((tr(\hat{R}^{b^{-1}}_{c}R^{b_{k}^{-1}}_{b_{k+1}}\hat{R}^_{c}R^{c_{k}}_{c_{k+1}} )-1)/2)

\tag{3.5}

\]

殘差還是很好理解的,在具體的代碼中可以計算公式(3.1)兩邊兩個旋轉的得角度差。在得到殘差之后就可以進一步得到公式(3.4)中的權重,

\[

w^{k}_{k+1}=\left\{\begin{matrix}

1,\qquad r^{k}_{k+1}

\end{matrix}\right.

\tag{3.6}

\]

一般會將閾值 \(threshold\) 取做 \(5°\)。至此,就可以通過求解方程(3.4)得到相對旋轉,式(3.4)的解為 \(Q_{N}\) 的左奇異向量中最小奇異值對應的特征向量。

??但是,在這里還要注意 求解的終止條件(校準完成的終止條件) 。在足夠多的旋轉運動中,我們可以很好的估計出相對旋轉 \(R^_{c}\),這時 \(Q_{N}\) 對應一個準確解,且其零空間的秩為1。但是在校準的過程中,某些軸向上可能存在退化運動(如勻速運動),這時 \(Q_{N}\) 的零空間的秩會大于1。判斷條件就是 \(Q_{N}\) 的第二小的奇異值是否大于某個閾值,若大于則其零空間的秩為1,反之秩大于1,相對旋轉\(R^_{c}\) 的精度不夠,校準不成功。

3.2 相機初始化

??這一階段的思路就是單目相機的初始化過程,先求取本質矩陣求解位姿,進而三角化特征點,然后PnP求解位姿,不斷重復的過程,直到恢復出滑窗內的Features和相機位姿,代碼比較清晰。要注意的就是坐標系的和位姿的變換,容易混亂。如以下幾個函數:

triangulateTwoFrames :輸入是相機外參(世界到相機),求解出的3D點是在世界坐標系下。

cv::solvePnP:該API輸入是世界坐標系的點,求解出的是世界坐標系到相機坐標系的變換,所以一般需要將結果轉置。

3.3 視覺與IMU對齊

??視覺與IMU的對齊主要解決三個問題:

??(1) 修正陀螺儀的bias;

??(2) 初始化速度、重力向量 \(g\)和尺度因子(Metric scale);

??(3) 改進重力向量 \(g\)的量值;

3.3.1 陀螺儀Bias修正

??發現校正部分使用的都是一系列的約束條件,思路很重要啊。陀螺儀Bias校正的時候也是使用了一個簡單的約束條件:

\[

\underset{\delta b_{w}}{min}\sum_{k\in B}^{ }\left \| q^{c_{0}^{-1}}_{b_{k+1}}\otimes q^{c_{0}}_{b_{k}}\otimes\gamma _{b_{k+1}}^{b_{k}} \right \|^{2}

\tag{3.7}

\]

其中

\[

\gamma _{b_{k+1}}^{b_{k}}\approx \hat{\gamma}_{b_{k+1}}^{b_{k}}\otimes \begin{bmatrix}

1\\frac{1}{2}J^{\gamma }_{b_{w}}\delta b_{w}

\end{bmatrix}

\tag{3.8}

\]

公式(3.7)的最小值為單位四元數 \([1,0_{v}]^{T}\) ,所以將式(3.7)進一步寫為,

\[

\begin{align}\nonumber

q^{c_{0}^{-1}}_{b_{k+1}}\otimes q^{c_{0}}_{b_{k}}\otimes\gamma _{b_{k+1}}^{b_{k}}&=\begin{bmatrix}

1\0

\end{bmatrix} \\\nonumber

\hat{\gamma}_{b_{k+1}}^{b_{k}}\otimes \begin{bmatrix}

1\\frac{1}{2}J^{\gamma }_{b_{w}}\delta b_{w}

\end{bmatrix}&=q^{c_{0}^{-1}}_{b_{k}}\otimes q^{c_{0}}_{b_{k+1}} \\end{align}

\]

\[

\begin{bmatrix}

1\\frac{1}{2}J^{\gamma }_{b_{w}}\delta b_{w}

\end{bmatrix}=\hat{\gamma}_{b_{k+1}}^{b_{k}^{-1}}\otimes q^{c_{0}^{-1}}_{b_{k}}\otimes q^{c_{0}}_{b_{k+1}}

\tag{3.9}

\]

只取式(3.9)式虛部,在進行最小二乘求解

\[

J^{\gamma^{T}}_{b_{w}}J^{\gamma }_{b_{w}}\delta b_{w}=2*J^{\gamma^{T}}_{b_{w}}(\hat{\gamma}_{b_{k+1}}^{b_{k}^{-1}}\otimes q^{c_{0}^{-1}}_{b_{k}}\otimes q^{c_{0}}_{b_{k+1}}).vec

\tag{3.10}

\]

求解式(3.10)的最小二乘解,即可得到 \(\delta b_{w}\),注意這個地方得到的只是Bias的變化量,需要在滑窗內累加得到Bias的準確值。

3.3.2 初始化速度、重力向量 \(g\)和尺度因子

??在這個步驟中,要估計系統的速度、重力向量以及尺度因子。所以系統的狀態量可以寫為,

\[

X_{I}=[v^{c_{0}}_{b_{0}},v^{c_{0}}_{b_{1}},\cdots ,g^{c_{0}},s]

\tag{3.11}

\]

上面的狀態量都是在 \(c_{0}\) 相機坐標系下。接著,有前面的由預積分部分,IMU的測量模型可知

\[

\begin{align}\nonumber

\alpha^{b_{k}}_{b_{k+1}}&=q^{b_{k}}_{c_{0}}(s(\bar{p}^{c_{0}}_{b_{k+1}}-\bar{p}^{c_{0}}_{b_{k}})+\frac{1}{2}g^{c_{0}}\triangle t_{k}^{2}-v^{c_{0}}_{b_{k}}\triangle t_{k}^{2}) \\\nonumber

\beta ^{b_{k}}_{b_{k+1}}&=q^{b_{k}}_{c_{0}}(v^{c_{0}}_{b_{k+1}}+g^{c_{0}}\triangle t_{k}-v^{c_{0}}_{b_{k}})

\end{align}

\tag{3.12}

\]

在3.1小節,我們已經得到了IMU相對于相機的旋轉 \(q_^{c}\),假設IMU到相機的平移量\(p_^{c}\) 那么可以很容易地將相機坐標系下的位姿轉換到IMU坐標系下,

\[

\begin{align}\nonumber

q_{b_{k}}^{c_{0}} &= q^{c_{0}}_{c_{k}}\otimes q_^{c} \\\nonumber

s\bar{p}^{c_{0}}_{b_{k}}&=s\bar{p}^{c_{0}}_{c_{k}}+q^{c_{0}}_{c_{k}}p_^{c}

\end{align}

\tag{3.13}

\]

綜合式(3.12)和式(3.13)可得,

\[

\begin{align}\nonumber

\hat{z}^{b_{k}}_{b_{k+1}}&=\begin{bmatrix}

\alpha^{b_{k}}_{b_{k+1}}-q^{c_{0}}_{c_{k+1}}p^{c}_+q^{c_{0}}_{c_{k}}p^{c}_&\\\nonumber

\beta ^{b_{k}}_{b_{k+1}}

\end{bmatrix}=H^{b_{k}}_{b_{k+1}}X_{I}+n^{b_{k}}_{b_{k+1}} \\\nonumber

&\approx \begin{bmatrix}

-q^{b_{k}}_{c_{0}}\triangle t_{k} &0& 1/2q^{b_{k}}_{c_{0}}\triangle t_{k}^{2} &q^{b_{k}}_{c_{0}}(\bar{p}^{c_{0}}_{b_{k+1}}-\bar{p}^{c_{0}}_{b_{k}}) \ -q^{b_{k}}_{c_{0}}& q^{b_{k}}_{c_{0}} &q^{b_{k}}_{c_{0}}\triangle t_{k} & 0

\end{bmatrix}\begin{bmatrix}

v^{c_{0}}_{b_{k}}\v^{c_{0}}_{b_{k+!}}\g^{c_{0}}\s

\end{bmatrix}

\end{align}

\tag{3.14}

\]

這一步的推導也比較簡單,以\(H\)矩陣的第一行,將式(3.13)的(2)式帶入(3.12)的(1)式可得

\[

\begin{align} \nonumber

\alpha^{b_{k}}_{b_{k+1}}&=q^{b_{k}}_{c_{0}}(s(\bar{p}^{c_{0}}_{c_{k+1}}-\bar{p}^{c_{0}}_{c_{k}}+(q_{c_{k+1}}^{c_{0}}-q_{c_{k}}^{c_{0}})p^_{c}+\frac{1}{2}g^{c_{0}}\triangle t_{k}^{2}-v^{c_{0}}_{b_{k}}\triangle t_{k}^{2}) \\ \nonumber

\alpha^{b_{k}}_{b_{k+1}}&-q^{b_{k}}_{c_{0}}(q_{c_{k+1}}^{c_{0}}-q_{c_{k}}^{c_{0}})p^_{c}=q^{b_{k}}_{c_{0}}(s(\bar{p}^{c_{0}}_{c_{k+1}}-\bar{p}^{c_{0}}_{c_{k}}p^_{c})+\frac{1}{2}g^{c_{0}}\triangle t_{k}^{2}-v^{c_{0}}_{b_{k}}\triangle t_{k}^{2})

\end{align}

\]

但是不知道為什么論文,在做了近似之后漏了上式等式左邊的\(q^{b_{k}}_{c_{0}}\)。

最后求解最小二乘問題

\[

\underset{\delta b_{w}}{min}\sum_{k\in B}^{ }\left \|

\hat{z}^{b_{k}}_{b_{k+1}}-H^{b_{k}}_{b_{k+1}}X_{I}

\right \|^{2}

\]

至此即可求解出所有狀態量,但是對于重力向量 \(g^{c_{0}}\) 還要做進一步的糾正。在糾正\(g^{c_{0}}\) 的過程中,會對速度也做進一步的優化。

3.3.3 糾正重力向量

??這部分和上一小節的內容差不多,就是迭代不斷更新重力向量的過程,要注意重力向量被表達為:

\[

\hat{g} = g\cdot \hat{\bar{g}} + \omega_{1}b_{1}+\omega_{2}b_{2}

\]

4 后端優化

??后端優化是VINS-Mono中除了初始化之外,創新性最高的一塊,也是真真的 緊耦合 部分,而初始化的過程事實上是一個 松耦合。因為初始化過程中的狀態量并沒有放在最底層融合,而是各自做了位姿的計算,但是在后端優化的過程中,所有優化量都是在一起的。

??狀態量

\[

\begin{align}\nonumber

X&=[x_{0},x_{1},\cdots ,x_{n},x^_{c},\lambda_{0},\lambda _{1}, \cdots , \lambda_{m}] \\\nonumber

x_{k}&=[p^{w}_{b_{k}},v^{w}_{b_{k}},q^{w}_{b_{k}},b_{a},b_{g}],\quad k\in[0,n] \\\nonumber

x^_{c}&= [p^_{c},q^_{c}]

\tag{4.1}

\end{align}

\]

優化過程中的誤差狀態量

\[

\begin{align}\nonumber

\delta X&=[\delta x_{0},\delta x_{1},\cdots ,\delta x_{n},\delta x^_{c},\lambda_{0},\delta \lambda _{1}, \cdots , \delta \lambda_{m}] \\\nonumber

\delta x_{k}&=[\delta p^{w}_{b_{k}},\delta v^{w}_{b_{k}},\delta \theta ^{w}_{b_{k}},\delta b_{a},\delta b_{g}],\quad k\in[0,n] \\\nonumber

\delta x^_{c}&= [\delta p^_{c},\delta q^_{c}]

\end{align}

\]

進而得到系統優化的代價函數

\[

\begin{align}\nonumber

\underset{X}{min}

\left\{

\left \|

r_{p}-H_{p}X

\right \|^{2} +

\sum_{k\in B}^{ } \left \|

r_{B}(\hat{z}^{b_{k}}_{b_{k+1}},X)

\right \|^{2}_{P^{b_{k}}_{b{k+1}}} \+\sum_{(i,j)\in C}^{ } \left \|

r_{C}(\hat{z}^{c_{j}}_{l},X)

\right \|^{2}_{P^{c_{j}}_{l}}

\right\}

\end{align}

\tag{4.2}

\]

其中三個殘差項依次是邊緣化的先驗信息、IMU測量殘差以及視覺的觀測殘差。三種殘差都是用馬氏距離來表示的,這個在后面ceres的優化殘差中要特別注意。

??在優化過程中,每一次的高斯迭代,式(4.2)可以進一步被線性化為,

\[\nonumber

\begin{align}

\left\{

\underset{X}{min}

\left \|

r_{p}-H_{p}X

\right \|^{2} +

\sum_{k\in B}^{ } \left \|

r_{B}(\hat{z}^{b_{k}}_{b_{k+1}},X)+H^{b_{k}}_{b_{k+1}}\delta X

\right \|^{2}_{P^{b_{k}}_{b{k+1}}} \+\sum_{(i,j)\in C}^{ } \left \|

r_{C}(\hat{z}^{c_{j}}_{l},X)+H^{c_{j}}_{l}\delta X

\right \|^{2}_{P^{c_{j}}_{l}}

\right \}

\end{align}

\tag{4.3}

\]

其中 \(H^{b_{k}}_{b_{k+1}}, H^{c_{j}}_{l}\) 為IMU測量和視覺測量方程的雅克比矩陣,在后面會有進一步的推導。

進一步將式(4.3)寫作

\[

\begin{align}\nonumber

&(\Lambda _{p}+\sum H^{b_{k}^{T}}_{b_{k+1}}P^{-1}H^{b_{k}}_{b_{k+1}}+\sum H^{c_{j}^{T}}_{l}R^{-1}H^{c_{j}}_{l})\delta x \\\nonumber

=&(b_{p}+\sum H^{b_{k}^{T}}_{b_{k+1}}P^{-1}r_{B}+\sum H^{c_{j}^{T}}_{l}R^{-1}r_{C})

\end{align}

\]

最小化式(4.3)相當于求解線性方程

\[

(\Lambda _{p}+\Lambda _{B}+\Lambda _{C})\delta X=(b_{p}+b_{B}+b_{C})

\tag{4.4}

\]

其中 \(\Lambda _{p}, \Lambda _{B}, \Lambda_{C}\) 分別對應邊緣先驗、IMU和視覺測量的信息矩陣。這部分還需要進一步的理解。

4.1 IMU測量誤差

??這部分內容主要對應在后端的優化過程中IMU測量部分的殘差以及在優化過程中的雅克比矩陣的求解。

??首先推導IMU測量的殘差部分,由文獻[1]中body系下的預積分方程式(4),可以得到IMU的測量模型式(13)

\[

\begin{bmatrix}

\hat{\alpha }^{b_{k}}_{b_{k+1}}\\hat{\gamma }^{b_{k}}_{b_{k+1}}\\hat{\beta }^{b_{k}}_{b_{k+1}}\0\0

\end{bmatrix}

=\begin{bmatrix}

q^{b_{k}}_{w}(p^{w}_{b_{k+1}}-p_{b_{k}}^{w}+\frac{1}{2}g^{w}\triangle t^{2}-v_{b_{k}}^{w}\triangle t)\p_{b_{k}}^{w^{-1}}\otimes q^{w}_{b_{k+1}}\q^{b_{k}}_{w}(v^{w}_{b_{k+1}}+g^{w}\triangle t-v_{b_{k}}^{w})\b_{ab_{k+1}}-b_{ab_{k}}\b_{wb_{k+1}}-b_{wb_{k}}

\end{bmatrix}

\tag{4.5}

\]

那么IMU測量的殘差即可寫為

\[

\begin{align}\nonumber

r_{B}(\hat{z}^{b_{k}}_{b_{k+1}},X)=

\begin{bmatrix}

\delta \alpha ^{b_{k}}_{b_{k+1}}\\delta \theta ^{b_{k}}_{b_{k+1}}\\delta \beta ^{b_{k}}_{b_{k+1}}\\delta b_{a}\\delta b_{g}

\end{bmatrix}

&=\begin{bmatrix}

q^{b_{k}}_{w}(p^{w}_{b_{k+1}}-p_{b_{k}}^{w}+\frac{1}{2}g^{w}\triangle t^{2}-v_{b_{k}}^{w}\triangle t)-\hat{\alpha }^{b_{k}}_{b_{k+1}}\2[q_{b_{k+1}}^{w^{-1}}\otimes q^{w}_{b_{k}}\otimes \hat{\gamma }^{b_{k}}_{b_{k+1}}]_{xyz}\q^{b_{k}}_{w}(v^{w}_{b_{k+1}}+g^{w}\triangle t-v_{b_{k}}^{w})-\hat{\beta }^{b_{k}}_{b_{k+1}}\b_{ab_{k+1}}-b_{ab_{k}}\b_{gb_{k+1}}-b_{gb_{k}}

\end{bmatrix}

\end{align}

\tag{4.6}

\]

其中 \([\hat{\alpha }^{b_{k}}_{b_{k+1}},\hat{\gamma }^{b_{k}}_{b_{k+1}},\hat{\beta }^{b_{k}}_{b_{k+1}}]\) 來自于IMU預積分部分。式(4.4)和文獻[1]中的式(22)有些不同,主要是第1項,在兩個式子中是逆的關系,本文中的寫法是為了和代碼保持一致。本質上兩者是沒有區別的,因為殘差很小的時候,第一項接近于單位四元數,所以取逆并沒有什么影響,只是寫殘差的方式不一樣。

??在式(4.4)中,殘差主要來自于兩幀IMU的位姿、速度及Bias,即 \([p^{w},q^{w},v^{w},b_{a},b_{w}]\),或者說我們要利用IMU殘差要優化的狀態量也是這5個,如果是兩幀IMU就是10個。在計算雅克比矩陣的時候,分為 \([p^{w}_{b_{k}},q^{w}_{b_{k}}]\) , \([v^{w}_{b_{k}},b_{ab_{k}},b_{wb_{k}}]\),\([p^{w}_{b_{k+1}},q^{w}_{b_{k+1}}]\) , \([v^{w}_{b_{k}},b_{ab_{k}},b_{wb_{k}}]\) 等四部分, 分別表示為 \(J[0],J[1],J[2],J[3]\)。這部分內容的推導可以參考文獻[2] 中III.B式(14)部分。

??這個地方很容易出錯誤,原因就是沒有搞清楚求偏導的對象。整個優化過程中,IMU測量模型這一塊,涉及到的狀態量是 \(x_{k}\),但是參考文獻[5]中IV.A部分,以及十四講中10.2.2小節的目標函數可知,這個地方的雅克比矩陣是針對變化量 \(\delta x_{k}\)的。所以,在后面求取四部分雅可比的時候,也不是對狀態量求偏導,而是對誤差狀態量求偏導。

??式(4.4)對 \([\delta p^{w}_{b_{k}},\delta \theta ^{w}_{b_{k}}]\) 求偏導得,

\[

J[0]=\begin{bmatrix}

-q^{b_{k}}_{w} & R^{b_{k}}_{w}[(p^{w}_{b_{k+1}}-p_{b_{k}}^{w}+\frac{1}{2}g^{w}\triangle t^{2}-v_{b_{k}}^{w}\triangle t)]_{\times }\0 & [q_{b_{k+1}}^{w^{-1}}q^{w}_{b_{k}}]_{L}[\hat{\gamma }^{b_{k}}_{b_{k+1}}]_{R}\0 & R^{b_{k}}_{w}[(v^{w}_{b_{k+1}}+g^{w}\triangle t-v_{b_{k}}^{w})]_{\times } \0 &0\0 &0

\end{bmatrix}

\tag{4.7}

\]

\(J[0]\) 是 \(15*7\)的矩陣,其中 \(R^{b_{k}}_{w}\) 是四元數對應的旋轉矩陣,求偏導可以看做是對四元數或者旋轉矩陣求偏導,求解過程可以參考文獻[2]。第3項只需右下角的3行3列。第1項可以參考文獻[1]中4.3.4“旋轉向量的雅克比矩陣”推導得到,第3項是可以參考文獻[1]中公式(22)和文獻[9]中3.2部分。

??式(4.4)對 \([\delta v^{w}_{b_{k}},\delta b_{ab_{k}},\delta b_{wb_{k}}]\) 求偏導得,

\[J[1]=

\begin{bmatrix}

-q^{b_{k}}_{w}\triangle t & -J^{\alpha }_{b_{a}} & -J^{\alpha }_{b_{a}}\0 & 0 & -[q_{b_{k+1}}^{w^{-1}}\otimes q^{w}_{b_{k}}\otimes \hat{\gamma }^{b_{k}}_{b_{k+1}}]_{L}J^{\gamma}_{b_{w}}\-q^{b_{k}}_{w} & -J^{\beta }_{b_{a}} & -J^{\beta }_{b_{a}}\ 0& -I &0 \0 &0 &-I

\end{bmatrix}

\tag{4.8}

\]

\(J[1]\) 是 \(15*9\)的矩陣,第5項仍然取右下角的3行3列。

??式(4.4)對 \([\delta p^{w}_{b_{k+1}},\delta \theta ^{w}_{b_{k+1}}]\) 求偏導得,

\[J[2]=

\begin{bmatrix}

-q^{b_{k}}_{w} &0\0 & [\hat{\gamma }^{b_{k}^{-1}}_{b_{k+1}}\otimes q_{w}^{b_{k}}\otimes q_{b_{k+1}}^{w}]_{L} \0 & 0 \ 0& 0 \0 &0

\end{bmatrix}

\tag{4.9}

\]

\(J[2]\) 是 \(15*9\)的矩陣,第5項仍然取右下角的3行3列。

??式(4.4)對 \([\delta v^{w}_{b_{k+1}},\delta b_{ab_{k+1}},\delta b_{wb_{k+1}}]\) 求偏導得,

\[J[3]=

\begin{bmatrix}

0 &0 & 0\0 & 0 &0 \q^{b_{k}}_{w} & 0 & 0\ 0& I &0 \0 &0 &I

\end{bmatrix}

\tag{4.10}

\]

\(J[3]\) 是 \(15*9\)的矩陣。

以上便是IMU測量模型的雅可比的矩陣的推導過程,雅克比矩陣主要還是在Ceres做優化的過程中,高斯迭代要使用到。

4.2 相機測量誤差

??相機測量誤差萬變不離其宗,還是要會到像素坐標差或者灰度差(光度誤差)。Vins-Mono中的相機測量誤差本質還是特征點的重投影誤差,將特征點 \(P\)從相機的\(i\) 系轉到相機的\(j\) 系,即把相機的測量殘差定義為,

\[

r_{C}=(\hat{z}_{l}^{c_{j}},X)=[b_{1},b_{2}]^{T}\cdot (\bar{P}_{l}^{c_{j}}-\frac{P_{l}^{c_{j}}}{\left \| P_{l}^{c_{j}} \right \|})

\tag{4.11}

\]

因為最終要將殘差投影到切平面上,\([b_{1},b_{2}]\)是切平面上的一對正交基。反投影后的\(P_{l}^{c_{j}}\) 寫為,

\[

P_{l}^{c_{j}}=q_^{c}(q_{w}^{b_{j}}(q_{b_{i}}^{w}(q_{c}^ \frac{\bar{P}_{l}^{c_{i}}}{\lambda _{l}}+p_{c}^)+p_{b_{i}}^{w}-p_{b_{j}}^{w})-p_{c}^)

\]

反投影之前的坐標 \(\bar{P}_{l}^{c_{j}}\),\(\bar{P}_{l}^{c_{i}}\)寫為,

\[

\begin{align}\nonumber

\bar{P}_{l}^{c_{j}}&=\pi_{c}^{-1}(\begin{bmatrix}

\hat{u}_{l}^{c_{j}}\\

\hat{v}_{l}^{c_{j}}

\end{bmatrix}) \\\nonumber

\bar{P}_{l}^{c_{i}}&=\pi_{c}^{-1}(\begin{bmatrix}

\hat{u}_{l}^{c_{i}}\\

\hat{v}_{l}^{c_{i}}

\end{bmatrix})

\end{align}

\]

??參與相機測量殘差的狀態量有,\([p^{w}_{b_{i}},q^{w}_{b_{i}}]\),\([p^{w}_{b_{j}},q^{w}_{b_{j}}]\),\([p^_{c},q^_{c}]\)以及逆深度 \(\lambda_{l}\)。所以下面分別對這幾個狀態量對應的誤差狀態量求式(4.9)的偏導,得到高斯迭代過程中的雅克比矩陣。

??式(4.9)對\([\delta p^{w}_{b_{i}},\delta \theta ^{w}_{b_{i}}]\)求偏導,得到\(3*6\)的雅克比矩陣,

\[\nonumber

J[0]=\begin{bmatrix}

q_^{c}q_{w}^{b_{j}} & -q_^{c}q_{w}^{b_{j}}q_{b_{i}}^{w}[q_{c}^ \frac{\bar{P}_{l}^{c_{i}}}{\lambda _{l}}+p_{c}^]_{\times }

\end{bmatrix}

\tag{4.12}

\]

??式(4.9)對\([\delta p^{w}_{b_{j}},\delta \theta ^{w}_{b_{j}}]\)求偏導,得到\(3*6\)的雅克比矩陣,

\[\nonumber

J[1]=\begin{bmatrix}

-q_^{c}q_{w}^{b_{j}} & q_^{c}q_{w}^{b_{j}}[q_{b_{i}}^{w}(q_{c}^ \frac{\bar{P}_{l}^{c_{i}}}{\lambda _{l}}+p_{c}^)+p_{b_{i}}^{w}-p_{b_{j}}^{w}]_{\times }

\end{bmatrix}

\tag{4.13}

\]

??式(4.9)對\([\delta p^_{c},\delta \theta ^_{c}]\)求偏導,得到\(3*6\)的雅克比矩陣,

\[\nonumber

J[2]=

\begin{bmatrix}

q_^{c}(q_{w}^{b_{j}}q_{bi}^{w}-I_{3*3}) & -q_^{c}q_{w}^{b_{j}}q_{b_{i}}^{w}q_{c}^[\frac{\bar{P}_{l}^{c_{i}}}{\lambda _{l}}]_{\times }+[q_^{c}(q_{w}^{b_{j}}(q_{b_{i}}^{w}p_{c}^+p_{b_{i}}^{w}-p_{b_{j}}^{w})-p_{c}^)]

\end{bmatrix}

\tag{4.14}

\]

??式(4.9)對\(\delta \lambda_{l}\)求偏導,得到\(3*1\)的雅克比矩陣,

\[\nonumber

J[3]=-q_^{c}q_{w}^{b_{j}}q_{b_{i}}^{w}q_{c}^ \frac{\bar{P}_{l}^{c_{i}}}{\lambda _{l}^{2}}

\tag{4.15}

\]

以上就是相機測量誤差以及誤差方程的雅克比矩陣的求解過程。

??在相機測量誤差的文件projection_factor.cpp中的ProjectionFactor::check還沒有理解

4.3 閉環修正與優化

??這部分內容默認已經檢測到閉環,只涉及到后續的優化部分。

4.4 系統邊緣化

4.4.1 邊緣化的定義和目的

??邊緣化(marginalization)的過程就是將滑窗內的某些較舊或者不滿足要求的視覺幀剔除的過程,所以邊緣化也被描述為將聯合概率分布分解為邊緣概率分布和條件概率分布的過程(說白了,就是利用shur補減少優化參數的過程)。利用Sliding Window做優化的過程中,邊緣化的目的主要有兩個:

滑窗內的pose和feature個數是有限的,在系統優化的過程中,勢必要不斷將一些pose和feature移除滑窗。

如果當前幀圖像和上一幀添加到滑窗的圖像幀視差很小,則測量的協方差(重投影誤差)會很大,進而會惡化優化結果。LIFO導致了協方差的增大,而惡化優化結果?

直接進行邊緣化而不加入先驗條件的后果:

無故地移除這些pose和feature會丟棄幀間約束,會降低了優化器的精度,所以在移除pose和feature的時候需要將相關聯的約束轉變為一個先驗的約束條件作為prior放到優化問題中

在邊緣化的過程中,不加先驗的邊緣化會導致系統尺度的缺失(參考[6]),尤其是系統在進行__退化運動__時(如無人機的懸停和恒速運動)。一般來說只有兩個軸向的加速度不為0的時候,才能保證尺度可觀,而退化運動對于無人機或者機器人來說是不可避免的。所以在系統處于退化運動的時候,要加入先驗信息保證尺度的客觀性。

以上就可以描述為邊緣化的目的以及在邊緣化中加入先驗約束的原因。

4.4.2 兩種邊緣化措施

??這兩種邊緣化的措施主要還是針對懸停和恒速運動等退化運動。下面就邊緣化的過程做簡要的總結。

??設共有 \((B_{0}, B_{1}, \cdots , B_{N} , B_{N+1} ,\cdots, B_{N++n})\) 個狀態量,其中狀態量\(X=\begin{bmatrix} x_{B_{0}}^{B_{0}} & \cdots & x_{B_{N-1}}^{B_{0}}\mid\lambda _{l} \end{bmatrix}\)中的加速度計是經過充分激勵的,那么狀態量\(x_{B_{N}}^{B_{0}}\)只有滿足下面兩個條件之一的時候才能被加入到滑窗內。

??(1) 兩幀圖像之間的時間差 \(\triangle t\)超過閾值\(\delta\)。

??(2) 排除旋轉運動,兩幀之間共同Features的視差超過閾值\(\varepsilon\)。

其中,條件(1)避免了兩幀圖像之間的IMU長時間積分,而出現漂移。條件(2)保證了系統的運動時,有足夠視差的共視幀能夠被加入到滑窗。

??因為滑窗的大小是固定的,要加入新的Keyframe,就要從滑窗中剔除舊的Keyframe。在VINS-Mono中剔除舊幀有兩種方式,剔除滑窗的首幀或者倒數第二幀(假設滑窗默認是由右向左滑的!)。所以關于剔除舊幀也有一定的剔除規則或者說是邊緣化規則。

??設定一個變量\(S=float/fix\),\(S\) 是由滑窗內的最新的兩個Keyframe視差決定的,如果視差大于閾值$\varepsilon \(,則邊緣化最舊幀\)x_{B_{0}}^{B_{0}}\(,如果視差小于\)\varepsilon \(,則邊緣化倒數第二幀\)x_{B_{0}}^{B_{N-1}}$。具體可以參考文獻[6]中_Algorithm1。_ __要注意邊緣化的時候,不僅要移除相機位姿,被該相機首次觀測到的Features也要移除。__最終構建出的先驗約束可以寫為,

\[ \nonumber

\Lambda ^{+}_{p}=\Lambda _{p}+\sum_{k\in I}^{ }H_{B_{k+1}}^{B_{k}^{T}}P_{B_{k+1}}^{B_{k}^{-1}}H_{B_{k+1}}^{B_{k}}+\sum_{k\in C}^{ }H_{l}^{B_{j}^{T}}P_{l}^{B_{j}^{-1}}H_{l}^{B_{j}}

\tag{4.16}

\]

其中\(\Lambda _{p}\)即為式(4.4)中的先驗約束條件,矩陣\(H,P\)分別對應被移除的IMU和視覺狀態量對應的雅克比矩陣和協方差矩陣。

??由上面的剔除策略可知,當飛機處于懸停或者微小運動的時候,會一直邊緣化新的視差較小的視覺幀。在保留了舊幀的同時,也保留了加速度信息,保證了尺度的可觀測性。但是,當系統處于速度較大的恒速運動時,加速度信息會伴隨著舊幀移除,因此會發生尺度的漂移。(沈老師也在視頻中提到,系統對恒速運動處理的還不是很好)。

??圖1.(a)所示為第一種邊緣化方式,當狀態量5和狀態量4之間的視差過小的時,在下一狀態量6添加的時候,會把狀態量5給邊緣化,包括特征點\(f_{1}\)也會被剔除。但是要注意的是這個時候狀態量6也處于float狀態,只有比較了狀態量4和6的視差之后,6的狀態才能確定。這種邊緣化措施一般用在無人機處于懸停或者是微小運動的時候。

??圖1.(b)所示為第二種邊緣化方式,如果狀態量4和狀態量5之間有足夠大的視差則邊緣化狀態量0,接受狀態量6,進一步判斷狀態量6的狀態。

圖1 兩種邊緣化方式示意圖

4.4.3 舒爾補邊緣化優化狀態量

??這一小節主要總結下面兩個問題:舒爾補邊緣化優化狀態量和式(4.2)的非線性優化過程中的優化一致性(FEJ)。

??設狀態量\(\delta x_{m}\)和\(\delta x_{r}\)分別是需要被邊緣化和保留的狀態量,根據式(4.4)的線性方程及H矩陣的稀疏性和特性,將式(4.4)進一步寫作:

\[\nonumber

\begin{bmatrix}

A &B \\

C& D

\end{bmatrix}\begin{bmatrix}

\delta x_{m}\\

\delta x_{r}

\end{bmatrix}=\begin{bmatrix}

b_{m}\\

b_{r}

\end{bmatrix}

\tag{4.17}

\]

在式(4.17)兩邊同乘矩陣,得

\[\nonumber

\begin{bmatrix}

I &0 \\

-CA^{-1}& I

\end{bmatrix}

\begin{bmatrix}

A &B \\

C& D

\end{bmatrix}\begin{bmatrix}

\delta x_{m}\\

\delta x_{r}

\end{bmatrix}=

\begin{bmatrix}

I &0 \\

-CA^{-1}& I

\end{bmatrix}

\begin{bmatrix}

b_{m}\\

b_{r}

\end{bmatrix}

\]

可得

\[\nonumber

(-CA^{-1}B+D)\delta x_{r}=-CA^{-1}b_{m}+b_{r}

\tag{4.18}

\]

令,

\[

H = (-CA^{-1}B+D),\qquad b=-CA^{-1}b_{m}+b_{r}

\]

在進行舒爾補過程中,已經將 \(\delta x_{m}\)給邊緣掉,得到了關于 \(\delta x_{r}\) 新的帶有先驗信息的關系式。然后將這部分帶入到代價函數的邊緣化殘差中即可。也可以說,由邊緣化得到了條件概率 \(p(\delta x_|\delta x_{m})\sim N(-CA^{-1}b_{m},-CA^{-1}B+D)\)。正如文獻[7]中作者說的,"SLAM is tracking a noraml distribution through a large state space"

4.4.4 關于優化一致性(First Estimate Jacobin, FEJ算法)

??FEJ算法貌似是在邊緣化過程中比較重要的內容。付興銀師兄在講解OKVIS的博客中提到,在Pose和Landmark分開邊緣化的時候,要使用FEJ算法,為了只計算一次雅克比矩陣(還沒弄懂)。博哥在畢設論文中提到,在IMU和視覺測量殘差分開邊緣化的時候,要保證優化一致性,確保各部分在線性化的時候具有相同的線性化點。

??個人理解,這個地方應該有兩層意思?;叵敫咚沟^程中,我們在求取雅克比矩陣的時候是針對 \(x_{0}\)求取的,在后面的迭代更新過程中,雅克比矩陣是不變的(或者說是求取雅克比矩陣的點是不變的,仍然在 \(x_{0}\)處。只能說是還是在\(x_{0}\)附近計算雅克比,而不是更新之后的\(x\),),也就是稱作"fix the inearization point"。,這樣的話雅克比矩陣就是不變的了。但是僅能說,在marg掉某些點之后,和這些點相關聯的點的雅克比矩陣是不變的。

4.4.5 滑窗優化(Slide window)

??按理說是不應該把滑窗當做一小節來講的,邊緣化、舒爾補都屬于滑窗的范圍,但前面已經總結了。而且正如賀一加師兄在其博客中提到的,滑窗的三大法寶"Marginalization","Schur complement","First estimate jacobin",這些在前面也提到了,所以這一小節基本沒什么可以總結的地方。關于這部分內容,可以參考這幾篇博客,講的真是太好了。okvis1,okvis2,知行合一1,知行合一2

4.5 系統關鍵幀選擇

??要注意的是在vins-mono中,添加關鍵幀的時候是在添加完新的圖像幀,做完滑窗優化之后,將滑窗內的倒數第二幀作為關鍵幀,并加入到了關鍵幀序列當中,具體位置。

??Vins-mono在選擇關鍵幀的共有兩個條件:

根據平均視差(這里的視差包括了平移量和旋轉量);

根據tracking的狀態(以跟蹤到的Features為主)。

??對于視差的判斷,在特征處理主程序Estimator::processImage就有,但是關于視差的判斷,并沒有看到關于角度的補償,或者是在后面邊緣化的具體過程中存在角度的補償。關于視差判斷的具體思路是:

??建立包含滑窗內所有特征點集合的vectorfeature,若滿足以下條件就邊緣化最舊幀,否則邊緣化倒數第二幀

滑窗內的關鍵幀個數小于3

如果當前幀的Features在滑窗內被觀測到的個數小于20

計算滑窗內所有滿足條件的Feature(至少有三幀觀測到該Feature)的觀測幀倒數第二幀和導數第三幀的視差(歸一化平面上的距離),如果最終的平均距離大于10個像素點

滿足上面條件的Feature的個數為0的時候

5 閉環校正

??直接法不能像特征法那樣直接將拿描述子利用Dbow進行閉環檢測,所以在閉環的時候只能重新對Keyframe提取Brief等描述子建立Database進行閉環檢測,或者使用開源的閉環檢測庫__FabMap__來進行閉環檢測。Vins-Mono選擇了第一種閉環檢測的方法。

5.1 閉環檢測

??Vins-Mono還是利用詞袋的形式來做Keyframe Database的構建和查詢。在建立閉環檢測的數據庫時,關鍵幀的Features包括兩部分:VIO部分的200個強角點和500 Fast角點。然后描述子仍然使用BRIEF(因為旋轉可觀,匹配過程中對旋轉有一定的適應性,所以不用使用ORB)。

5.2 閉環校正

??在閉環檢測成功之后,會得到回環候選幀。所以要在已知位姿的回環候選幀和滑窗內的匹配幀做匹配,然后把回環幀加入到滑窗的優化當中,這時整個滑窗的狀態量的維度是不發生變化的,因為回環幀的位姿是固定的。

6 全局的位姿優化

??因為之前做的非線性優化本質只是在一個滑窗之內求解出了相機的位姿,而且在回環檢測部分,利用固定位姿的回環幀只是糾正了滑窗內的相機位姿,并沒有修正其他位姿(或者說沒有將回環發現的誤差分配到整個相機的軌跡上),缺少全局的一致性,所以要做一次全局的Pose Graph。全局的Pose Graph較之滑窗有一定的遲滯性,只有相機的Pose滑出滑窗的時候,Pose才會被加到全局的Pose Graph當中。

7 關鍵變量含義和代碼注釋中的一些稱呼

??因為VINS-Mono的代碼寫的有點亂,好多變量的命名過于隨意,不能很好理解,而且為了注釋方便自己也給某些變量或者環節做了命名。

7.1 代碼注釋中的自定義名稱

閉環幀和匹配幀

??閉環幀:在閉環匹配成功之后,Keyframe Database中的舊幀;匹配幀:當前滑窗之內,和閉環幀匹配的匹配幀。

7.2 代碼中的關鍵變量

image(estimator.cpp)

??某一幀圖像得到的某個特征點,某一幀圖像得到的特征點,>

f_manager

??滑窗的特征點管理器

keyframe_database(estimator_node.cpp)

??關鍵幀集合,每次在閉環檢測線程中增加新元素,每個關鍵幀在滑窗內的導數第二個位置時被添加。

retrive_data_vector

??存儲閉環檢測結果,包塊閉環幀和匹配幀的位姿關系、匹配幀的ID、閉環幀的位姿、閉環幀中良好的匹配點以及匹配正良好匹配點的ID。

****

8 遺留的問題

1.為什么至少兩個軸向上的加速度不為0的時候,尺度才是客觀的。

??在文獻6的第3小節提到,在單目和視覺融合的時候,只有當至少兩個軸向的加速度不為0的時候,尺度才是客觀的。針對無人機來說,無人機的正常俯仰、橫滾運動都會在兩個軸向上有加速度。加速度僅存在于一個軸向的情況多屬于平面運動的機器人。

2.當視差角過小的的時候,視覺測量的協方差會很大。

總結

以上是生活随笔為你收集整理的vins中imu融合_VINS-Mono代码分析与总结(最终版)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

一级黄色毛片 | 亚洲黄色av网址 | 久久久综合九色合综国产精品 | 精品一区二区影视 | 中文字幕日韩高清 | 久久久久久久久久久久国产精品 | 亚洲理论在线 | 天天爱天天爽 | 一区二精品 | av在线官网| 碰天天操天天 | 国产精品成人一区二区 | 91看片成人| 成人久久视频 | 免费精品国产va自在自线 | 久久影院午夜论 | 欧美a影视| 久草免费在线观看视频 | 精品国内自产拍在线观看视频 | 在线视频app | 久久久久免费网 | 国产精品精品国产 | 一区二区三区国产欧美 | 国产成人99久久亚洲综合精品 | 久久国语露脸国产精品电影 | 波多野结衣一区三区 | 日韩高清精品免费观看 | 成片免费观看视频大全 | 精品一区二区三区久久 | 免费人成在线观看网站 | 亚洲午夜久久久久久久久电影网 | 亚洲精品视频网站在线观看 | 欧美一二三区在线观看 | 欧美亚洲国产一卡 | 在线日韩精品视频 | 天天摸天天操天天爽 | 久久九九国产视频 | 五月av在线| 欧美在线18| 久久人人爽人人爽人人片av免费 | 夜色资源站国产www在线视频 | 国产一区二区在线观看视频 | 国产精品手机在线观看 | 一区二区不卡在线观看 | 天天草天天摸 | 在线国产一区二区 | 国产精品久久一区二区三区不卡 | 久久精品国产亚洲精品2020 | 久久精品视频免费播放 | 欧美另类交人妖 | 狠狠色丁香婷综合久久 | 日批视频 | 久久成人精品电影 | 免费看污片 | 一区二区三区视频 | 91精品国产高清自在线观看 | 免费久久网 | 激情欧美xxxx | av一级片网站 | 中文字幕在线视频一区二区三区 | 一级一片免费观看 | 日韩成人精品在线观看 | 一区二区在线电影 | 久久综合九色综合欧美就去吻 | 日韩欧美综合精品 | 成人免费视频免费观看 | 视频国产区| 天天草天天干 | 涩av在线 | 国产高清视频免费最新在线 | 色视频成人在线观看免 | 91专区在线观看 | 亚洲精品一区二区18漫画 | 亚洲精品看片 | 久久国产麻豆 | 在线看成人av| 97视频在线观看视频免费视频 | 亚洲自拍av在线 | 日韩电影中文 | 久久精品屋 | 国产91免费在线 | 日韩中文在线播放 | 中文字幕精品一区二区精品 | 久久精品国产亚洲aⅴ | 美女性爽视频国产免费app | 黄色三级在线观看 | 最近中文字幕高清字幕在线视频 | 国产精品免费一区二区三区 | 中文字幕 国产视频 | 狠狠干网站 | 欧美激情精品 | 丝袜美腿在线播放 | 一区二区亚洲精品 | 国产福利不卡视频 | 精品国内自产拍在线观看视频 | 99久热精品| 久热免费 | 日韩性色| 日韩精品中文字幕在线播放 | 91丨九色丨国产丨porny精品 | 色综合久久88 | 亚洲天堂网在线视频观看 | 伊人亚洲综合 | 国产精品免费观看在线 | 91免费在线视频 | 中文字幕资源网在线观看 | 毛片激情永久免费 | 一级淫片在线观看 | 777xxx欧美 | 国内小视频在线观看 | 2019中文字幕网站 | 国产黄色播放 | 黄色特一级 | 欧美精品中文 | 少妇性xxx | 天堂av色婷婷一区二区三区 | 99久久er热在这里只有精品15 | 99久久婷婷 | 国产精品久久久久av福利动漫 | 国产精品一区在线 | 国产在线观看99 | 91在线在线观看 | 天天弄天天干 | 久久成人高清视频 | 欧美日韩一区二区久久 | 欧美精品久久久久性色 | a级国产毛片 | 97碰在线视频 | 国产中文字幕三区 | 一级做a视频 | 久久99精品久久只有精品 | 欧美二区视频 | www.色综合.com | 久草免费资源 | av一区在线 | 在线免费av网站 | www.亚洲激情.com| 亚洲视屏 | 免费视频二区 | 成人av高清在线观看 | 天天操天天玩 | 91九色精品 | 日韩欧美视频免费在线观看 | 欧美日韩伦理一区 | 一区二区精品在线 | 国产无遮挡又黄又爽馒头漫画 | 国产欧美在线一区 | 日韩在线观看精品 | 亚洲黄色在线 | 国产精品一区在线观看 | 伊人久久精品久久亚洲一区 | 久久久综合 | 九九热精 | 五月天堂色 | 欧美精品做受xxx性少妇 | 亚洲精品在线观看网站 | 欧美日韩高清不卡 | 亚洲视频1区2区 | 久久久久亚洲精品男人的天堂 | 最近中文字幕mv免费高清在线 | 日韩av午夜| 懂色av一区二区在线播放 | 五月婷婷另类国产 | 国产精品破处视频 | 99视频在线精品国自产拍免费观看 | 二区三区在线视频 | 成片免费观看视频大全 | 丁香六月在线观看 | 午夜三级在线 | av成人免费观看 | 二区中文字幕 | 久久久高清免费视频 | 免费精品视频在线 | 国产精品欧美激情在线观看 | 午夜.dj高清免费观看视频 | 五月婷婷中文字幕 | 99精品网站| 欧美精品一二 | 五月婷婷色丁香 | 中文字幕久久亚洲 | 国产中文字幕视频在线观看 | 亚洲天堂在线观看完整版 | 成年人免费看的视频 | 欧美精品在线观看一区 | 丰满少妇在线观看资源站 | 五月婷久 | 99精品久久久久久久久久综合 | 超碰午夜| 国产午夜亚洲精品 | 婷婷六月天在线 | 三级av片| 91免费视频黄| 免费一级片在线观看 | 国产三级视频在线 | 久色小说 | 日韩av在线免费看 | 丁香五香天综合情 | 日韩欧美综合在线视频 | 成人蜜桃 | 黄色app网站在线观看 | 在线免费看黄网站 | 色婷婷a| 91在线免费播放 | 一区二区三区影院 | 免费看一级一片 | 国产啊v在线观看 | 96国产在线 | 久久精品久久精品久久39 | 成人一级片视频 | 黄色大片入口 | 中文字幕中文中文字幕 | 亚洲精品2区 | 色综合久久精品 | 国产成人专区 | 热99在线视频 | 草久视频在线观看 | 欧美激情精品久久久 | 成人一区二区三区中文字幕 | 99久久精品一区二区成人 | 久久综合久久综合九色 | 1024在线看片 | 免费在线播放 | 美女视频网站久久 | 国产精品久久久久影视 | 久久激情五月激情 | 天天射天天干天天 | 精品久久久久_ | 香蕉网在线观看 | av电影一区二区 | 婷婷婷国产在线视频 | 日韩免费观看视频 | 久久久久久久久久久免费 | 久久午夜精品视频 | 涩五月婷婷 | 欧美日韩69| 96久久欧美麻豆网站 | 婷婷综合网 | 成人在线观看影院 | 国产精品一区电影 | 在线欧美最极品的av | 黄色电影网站在线观看 | 狠狠狠色丁香婷婷综合激情 | 夜夜夜夜猛噜噜噜噜噜初音未来 | 国产在线色视频 | 999国产| 国产不卡免费视频 | 国产精品18久久久久久久网站 | 亚洲一区二区三区四区在线视频 | 亚洲国产免费 | 婷婷国产在线观看 | 美女视频黄频大全免费 | 91视频亚洲 | 成年人精品| 成人在线小视频 | 五月婷婷丁香综合 | 久久午夜免费视频 | av天天草| 天天色天天综合 | 中文在线字幕免费观看 | 国际精品久久久久 | 狠狠操导航 | 亚洲狠狠婷婷综合久久久 | 午夜影院先| 91精品啪在线观看国产 | av一级片网站 | 欧美久久久久久久久久久 | 中文在线√天堂 | 视频一区二区在线 | 亚洲精品国产成人av在线 | 新版资源中文在线观看 | 精品国产乱码久久久久久久 | 天天草天天摸 | 狠狠狠色丁香婷婷综合久久五月 | 一级理论片在线观看 | 在线精品视频在线观看高清 | 日韩精品一区二区免费 | 久久精品亚洲精品国产欧美 | 亚洲精品午夜久久久久久久 | 久久国产精品99久久久久久进口 | 999在线精品 | 久草视频免费在线观看 | 国产日产在线观看 | 四虎影院在线观看av | 大胆欧美gogo免费视频一二区 | 五月天综合网站 | 青草草在线 | 久久高清视频免费 | 欧美成人在线免费观看 | 久99久精品 | 欧美精品中文字幕亚洲专区 | 日韩精品在线免费播放 | 91爱看片 | a电影免费看 | 在线视频 91 | 五月天婷婷在线观看视频 | av无限看 | 激情五月五月婷婷 | 精品国产一区二区三区四区在线观看 | 特级免费毛片 | 日韩三级.com | 亚洲热视频 | www久久久久 | 夜夜夜夜操 | 日韩在线视频免费观看 | 超碰97免费在线 | 在线色亚洲 | 一区二区欧美日韩 | av成人资源 | 国产精品一区二区av日韩在线 | 日韩理论在线 | 狠狠狠的干 | 久草免费电影 | 天天操夜夜操夜夜操 | 久久久久久免费网 | 成年人电影免费在线观看 | 黄色影院在线播放 | 激情丁香婷婷 | 国产无遮挡又黄又爽在线观看 | 成人国产精品免费观看 | 国产黄色一级片在线 | 国产精品欧美一区二区三区不卡 | 久久综合九色综合久99 | 国产精品无av码在线观看 | 久久久综合九色合综国产精品 | 久久免费国产电影 | 日韩欧美一区二区三区视频 | 亚洲国产精品日韩 | 久精品视频在线观看 | 亚洲免费国产视频 | 麻豆 videos| 国产精品18毛片一区二区 | www99久久 | 天天天天干 | 日韩成人av在线 | 久久理论电影网 | 黄色精品久久 | 日韩免费在线视频 | 国产成人精品福利 | 97超视频免费观看 | a极黄色片 | 亚洲一区二区天堂 | 日韩av网址在线 | 日韩视频免费观看高清完整版在线 | www国产亚洲精品久久麻豆 | av理论电影 | 国产精品密入口果冻 | 麻豆视频91 | 国产精品a久久 | 999男人的天堂 | 五月婷婷视频在线 | 欧美高清成人 | 天天干,夜夜爽 | 天天干人人插 | 国产精品一区二区三区电影 | 99re国产视频| 日韩中文字幕亚洲一区二区va在线 | 色偷偷88888欧美精品久久久 | 亚洲综合小说电影qvod | 国产一区二三区好的 | 国产精品久久久久久久久免费 | 亚洲精品视频在线播放 | 成人影音在线 | 久草在线费播放视频 | 国产精品永久久久久久久久久 | 婷婷激情五月 | 久久99电影 | 中文字幕一区二区三区精华液 | 久草视频在线看 | 黄色av成人在线观看 | se视频网址 | 97热视频 | 美女久久视频 | 亚洲精品动漫在线 | 亚洲日本国产精品 | 亚洲成av片人久久久 | 国产美腿白丝袜足在线av | 成人a视频片观看免费 | 国产日韩精品一区二区在线观看播放 | 久久久av电影 | 麻花豆传媒mv在线观看网站 | 久久九九国产视频 | 中文字幕婷婷 | 亚洲综合日韩在线 | 四虎在线视频免费观看 | 日韩动漫免费观看高清完整版在线观看 | 国产一区二区在线精品 | 精品国产人成亚洲区 | 日本电影久久 | 草久久久久 | 久久成人亚洲欧美电影 | 日韩视频在线观看视频 | 美女黄网久久 | 久久人人97超碰精品888 | 精品国产人成亚洲区 | 五月婷婷色综合 | 亚洲影音先锋 | 九九免费观看全部免费视频 | 成人亚洲欧美 | 婷婷久久网 | 色婷婷一区 | www.色就是色 | 日韩在线精品 | 这里有精品在线视频 | 国产亚洲精品久久久久动 | 亚洲欧洲一级 | 500部大龄熟乱视频 欧美日本三级 | 精品久久网 | 久草在线免费电影 | 国产黄在线 | 97在线观看免费高清 | 亚洲精品成人av在线 | 成人黄色毛片视频 | 日韩av一区二区三区 | 最近中文字幕完整高清 | 欧美在线久久 | 91久久丝袜国产露脸动漫 | av线上看| 国产1级毛片 | 免费裸体视频网 | 天天操天天操天天操天天 | 成人高清在线 | 亚洲一级片av | 日日干天天爽 | 久久综合网色—综合色88 | 激情欧美丁香 | 欧美日韩不卡一区二区 | 狠狠色狠狠色综合日日小说 | 韩国av电影网 | 日韩免费视频线观看 | 91免费版成人 | 久久人人97超碰精品888 | 特级a毛片 | 亚洲va综合va国产va中文 | 黄色av一区二区 | 91精彩视频在线观看 | 成人免费视频播放 | 国产精品手机看片 | 色综合久久中文综合久久牛 | 日韩精品在线免费播放 | 天天拍天天爽 | 成人黄色大片网站 | 午夜av剧场 | 国产 一区二区三区 在线 | 最新免费中文字幕 | 久色伊人| 人人看黄色 | 免费91在线 | 免费一级特黄录像 | 日韩字幕| 中文永久免费观看 | 天天色中文 | 亚洲综合一区二区精品导航 | avv天堂| 精品一区二区在线播放 | 一区二区不卡视频在线观看 | 国产 欧美 日本 | 成人在线免费看视频 | 97电影网手机版 | 国产电影一区二区三区四区 | 五月天久久综合网 | 欧美日高清视频 | 免费看久久 | 中文在线字幕免费观看 | 国产精品三级视频 | 成人福利在线观看 | 免费韩国av| www.午夜| 日韩a级免费视频 | 97在线视频免费观看 | 午夜精品麻豆 | 久久久久成 | 最新国产视频 | 国产免费xvideos视频入口 | 亚洲精品欧美视频 | 欧美一区二区在线刺激视频 | 黄色美女免费网站 | 999国产在线| 欧美大片第1页 | 国产亚洲婷婷免费 | 久久久国产精品一区二区中文 | av免费福利 | 香蕉影院在线观看 | 亚洲高清精品在线 | 欧美孕交vivoestv另类 | 免费成人在线视频网站 | 久久综合综合久久综合 | 成人性生交大片免费观看网站 | 日韩亚洲在线视频 | 欧洲高潮三级做爰 | 久久久九九 | 国产精品高清免费在线观看 | 亚洲精品国偷拍自产在线观看蜜桃 | 国产精品色 | 国产精品欧美久久久久无广告 | 一区二区三区韩国免费中文网站 | 午夜精品久久久久久久久久久久久久 | 在线观看视频一区二区三区 | 91福利视频免费观看 | 欧美成人猛片 | 国产999精品久久久 免费a网站 | 国产专区视频在线观看 | 精品在线视频观看 | 亚洲免费精品视频 | 精品国产综合区久久久久久 | 伊人六月 | 人人狠狠综合久久亚洲婷 | 久久久国产精品麻豆 | 亚洲精品一区二区三区四区高清 | 在线观看视频你懂得 | 丁香六月色 | 国产精品视频大全 | 欧美日韩高清一区二区 国产亚洲免费看 | 国产在线欧美日韩 | 中文av免费 | 色国产精品一区在线观看 | 欧美一区二区免费在线观看 | 天天爽综合网 | 国产精品原创 | www.五月天婷婷.com | 精品国产乱码久久久久久三级人 | 视频在线观看日韩 | 六月丁香六月婷婷 | 亚洲欧美怡红院 | 免费在线观看av网站 | 国产成人精品一区一区一区 | 日韩av手机在线观看 | 91精品一区二区三区蜜桃 | 久久黄色精品视频 | 免费视频资源 | 日本视频高清 | 天天综合视频在线观看 | 欧美专区国产专区 | 啪啪动态视频 | 欧美在线1| a电影在线观看 | 色视频在线免费 | 久久久久久久久黄色 | 色视频网站在线 | 亚洲欧美精品一区二区 | av看片在线观看 | 91九色精品女同系列 | 高清不卡一区二区三区 | 韩国中文三级 | 91人人揉日日捏人人看 | 亚洲国产中文字幕在线 | 国产精品久久影院 | 91成人在线视频观看 | 精品久久一 | 成人超碰在线 | 国产精品久久久久av免费 | 国产精品久久久久一区二区国产 | 久久精品1区| 波多野结衣精品在线 | 欧美精品中文 | 亚洲成av人影片在线观看 | 国产精品18久久久久久久久 | 成人一级黄色片 | 亚洲 中文 欧美 日韩vr 在线 | 日韩欧美aaa| 中文字幕一区二区三区久久蜜桃 | 亚洲波多野结衣 | 久久人人爽人人爽人人 | 国产资源在线免费观看 | 国产国产人免费人成免费视频 | 国产精品嫩草影院9 | av在线h| 天天天色综合 | av在线h| 九色琪琪久久综合网天天 | 久爱综合 | 中文字幕在线色 | 99精品观看 | 亚洲一区二区黄色 | 99在线国产 | 国产视频在线观看免费 | 国产特级毛片aaaaaaa高清 | 久碰视频在线观看 | 中文字幕一区二区三区久久 | 成人羞羞免费 | 久久99精品久久久久久三级 | 色婷婷综合久久久久中文字幕1 | 久久视频免费在线观看 | 99久久精品免费看 | 精品久久久久久亚洲 | 久久艹在线 | 久久99免费观看 | 国产精品一区二区三区四区在线观看 | 久草在线在线精品观看 | 欧美成人亚洲成人 | 91九色在线播放 | 青春草免费视频 | 日韩在线观看中文 | 婷婷在线色 | 免费在线观看视频一区 | 81精品国产乱码久久久久久 | 国产一线天在线观看 | 成人资源在线播放 | www.91av在线 | 久久午夜免费视频 | 亚洲精品在线免费看 | 亚洲精品美女在线观看 | 国产精品理论片在线播放 | 久久精品96 | 成人黄大片视频在线观看 | www.夜夜干.com | 国产麻豆精品传媒av国产下载 | 国产精品美女久久久 | 国产人成看黄久久久久久久久 | 久久夜视频 | 欧美视频二区 | 欧美a级免费视频 | 久久久久亚洲精品国产 | 久草久 | 欧美日韩高清免费 | 综合久久久久 | 国产成年人av | 亚洲最新av在线 | 免费观看丰满少妇做爰 | 亚洲精品乱码久久久久久久久久 | 黄色av一区二区 | 日本黄色大片免费看 | 日韩精品大片 | 久久人人97超碰国产公开结果 | 黄色在线观看免费 | 欧美黑人性爽 | 日韩久久久久久久久 | 久草在线免费新视频 | 精品久久久久久亚洲综合网 | 黄色av影院 | 麻豆超碰 | 色婷婷综合久久久中文字幕 | 欧美一级小视频 | 欧美一进一出抽搐大尺度视频 | 国产999久久久 | 国产精品自产拍在线观看桃花 | 99色亚洲 | av 一区 二区 久久 | 久久久久欠精品国产毛片国产毛生 | 日韩网站在线 | 永久免费毛片 | 日本精品va在线观看 | 日本久久影视 | 99精品系列 | 在线播放一区二区三区 | 91在线国内视频 | 日韩欧美综合 | 伊人欧美| 国产91全国探花系列在线播放 | 国产99re| 亚洲自拍av在线 | 日韩在线理论 | 精品国产一区二区在线 | 免费福利视频网 | 99久久婷婷国产综合亚洲 | 日韩在线视频网 | 亚洲精品在线视频观看 | 久久精品五月 | 国产无套精品久久久久久 | 91九色国产 | av免费片| 亚洲免费激情 | 香蕉久久久久久av成人 | 四虎www.| 亚洲精品自拍视频在线观看 | 成年人看片 | 三级黄色理论片 | 色综合国产 | 国产一级黄色片免费看 | 久草在线久| 欧美一级片免费观看 | 97国产精品亚洲精品 | 国产乱码精品一区二区三区介绍 | 国产精品专区h在线观看 | 国产美女精品久久久 | 一色av| 久久久久久久久久免费视频 | 天天曰视频 | 久久久久欧美精品999 | 99视频免费 | 日本一区二区三区视频在线播放 | 97品白浆高清久久久久久 | 狠狠狠色狠狠色综合 | 成人一区二区三区中文字幕 | 国产91九色蝌蚪 | 久久天天躁夜夜躁狠狠躁2022 | 免费黄色网址网站 | 免费看污污视频的网站 | 国产美女视频 | 中文不卡视频在线 | 久久99精品国产91久久来源 | 91大神电影| 麻豆视频入口 | 韩国三级一区 | 国产99久| 国产午夜精品av一区二区 | 免费看的国产视频网站 | 久久精品一区二区国产 | 欧美亚洲一区二区在线 | 韩国在线视频一区 | 日日夜夜人人精品 | 九九热精品国产 | 在线免费色视频 | 亚洲黄色区 | 国产破处精品 | 日本成人中文字幕在线观看 | 国产精品刺激对白麻豆99 | 99色视频| 天天操天天干天天 | 中文字幕精品三区 | 午夜性盈盈 | 欧美精品国产综合久久 | 中文字幕在线不卡国产视频 | 又黄又爽又湿又无遮挡的在线视频 | 最近中文字幕视频网 | 91在线影院| 国产精品毛片久久久久久久久久99999999 | 日韩久久电影 | 在线免费观看国产精品 | 91麻豆精品国产91久久久无需广告 | 国产一级片在线播放 | 国产中文字幕一区二区三区 | 国产在线观看午夜 | 深夜激情影院 | 中文字幕在线观看第一区 | 欧美日韩中文字幕视频 | 人成在线免费视频 | 97人人澡人人添人人爽超碰 | www.狠狠插.com | 日日干夜夜干 | 国产精品美女 | 五月婷婷中文网 | 中文在线| 久久精品99久久久久久2456 | 午夜12点 | 国产精品久久久一区二区 | 伊人色**天天综合婷婷 | 天天综合网 天天 | aaa毛片视频 | 亚洲人av免费网站 | 免费在线观看午夜视频 | 亚洲精品高清在线 | 日韩av网站在线播放 | 久久夜色精品国产欧美一区麻豆 | 丁香久久久 | 综合网av | 一区二区三区在线观看免费 | av电影在线免费 | 日韩欧美亚州 | 97成人免费 | 日本久久久精品视频 | 在线观看网站黄 | 美女网站视频免费黄 | 精品在线观看一区二区 | 在线欧美日韩 | 中文字幕在线中文 | 日韩av中文在线 | 久久这里精品视频 | 国产又粗又硬又爽视频 | 91一区二区三区久久久久国产乱 | 国产视频一区在线 | 一本一本久久a久久精品综合妖精 | 中文字幕在线一区观看 | 一区二区伦理电影 | 国产成人综合在线观看 | 五月婷婷激情网 | 欧美日韩亚洲精品在线 | 色大片免费看 | 久久综合精品一区 | 国产成人99久久亚洲综合精品 | 天天曰天天干 | 黄色小说免费观看 | 久久久免费 | 国产精品亚洲精品 | 久草线| 国产精品久久久久久久久费观看 | 中文字幕观看在线 | 在线观看国产日韩欧美 | 久久久久久综合网天天 | 久久大香线蕉app | 精品免费久久 | 黄色片视频免费 | 午夜视频在线观看一区二区 | 久久久久在线视频 | 亚洲一级片免费观看 | 色综合夜色一区 | 在线91视频 | 麻豆小视频在线观看 | 亚洲精品国产精品国 | 黄网站色欧美视频 | 久久免费美女视频 | 亚洲国产精彩中文乱码av | 在线视频中文字幕一区 | 日本黄色免费电影网站 | 91在线视频导航 | 国产91精品一区二区 | 国产精品一区二区三区观看 | 亚洲国产中文字幕在线观看 | 国产麻豆果冻传媒在线观看 | 国产精品女同一区二区三区久久夜 | 日韩大片在线免费观看 | 久久久久综合精品福利啪啪 | 探花视频在线版播放免费观看 | 欧美日韩视频一区二区 | 亚洲精品一区二区三区在线观看 | 久久国产福利 | av一区二区三区在线 | 日韩久久一区 | 不卡的av在线 | 亚洲经典中文字幕 | 精品国产一区二区三区久久 | 福利视频区| 欧美亚洲一级片 | 欧美孕妇视频 | 在线免费观看av网站 | 色综合咪咪久久网 | 亚洲综合视频在线 | 五月天婷婷在线视频 | 欧美日韩免费视频 | 色综合色综合久久综合频道88 | 亚洲一二三区精品 | 日韩三级成人 | 亚洲我射av | 高清av中文在线字幕观看1 | 国产在线传媒 | 日女人免费视频 | 99久久精品无免国产免费 | 国产手机在线播放 | 亚洲成人av在线播放 | 深夜国产福利 | 亚洲国产日韩一区 | 亚洲小视频在线观看 | 中文字幕在线观看视频一区二区三区 | 园产精品久久久久久久7电影 | 超级碰碰碰视频 | 国产精品一区二区吃奶在线观看 | 最新日韩视频 | 免费观看v片在线观看 | 韩日av一区二区 | 五月天高清欧美mv | 日韩欧美大片免费观看 | 国产韩国精品一区二区三区 | 国产精品大片在线观看 | 在线观看亚洲精品 | 在线观看资源 | 亚洲成人一区 | 久久久久久免费网 | 国产精品视频最多的网站 | 亚洲伦理电影在线 | 久久久福利视频 | 在线看片中文字幕 | av在线专区 | 狠狠色免费 | 国产午夜精品免费一区二区三区视频 | 四虎国产精品免费观看视频优播 | 欧美色图东方 | 国产精品影音先锋 | 91久久久久久久 | 808电影免费观看三年 | 麻豆传媒在线视频 | 久久人人97超碰com | 99精品热视频 | 激情网第四色 | 中文字幕电影高清在线观看 | 国产视频一区二区三区在线 | 日韩大片在线免费观看 | 成人app在线免费观看 | 日本黄色免费观看 | av黄色成人 | 久久免费观看视频 | 国产麻豆精品传媒av国产下载 | 国产日韩视频在线观看 | 五月情婷婷 | 一区二区三区日韩精品 | 中文在线 | 中文字幕第 | 久草在线视频资源 | 一级成人免费视频 | 国产精品一区二区久久国产 | 麻豆91视频 | 奇米7777狠狠狠琪琪视频 | 久草久热| 国产精品久久久免费看 | 91在线视频 | 国产精品亚洲视频 | 国产日韩欧美精品在线观看 | 午夜精品一二区 | 国产精在线 | 国产粉嫩在线观看 | 97久久精品午夜一区二区 | av在线看片 | 一级一级一片免费 | 久久只精品99品免费久23小说 | 久久性生活片 | 免费视频久久久 | 91视视频在线直接观看在线看网页在线看 | 欧美精品久久久久久久免费 | 亚洲激色| 成人网在线免费视频 | 奇米四色影狠狠爱7777 | 亚洲综合色视频在线观看 | 中文字幕一区二区三区视频 | 色狠狠综合天天综合综合 | 成人午夜剧场在线观看 | 中文字幕在线免费97 | av不卡免费在线观看 | 日韩av成人在线观看 | 成人免费在线观看电影 | 人人躁 | 亚洲精品国久久99热 | 日本女人在线观看 | 区一区二区三区中文字幕 | 午夜视频黄 | 色操插 | 欧美精品日韩 | 在线视频专区 | 国产精品国产亚洲精品看不卡15 | 视频在线亚洲 | 久久久久这里只有精品 | 久久久一本精品99久久精品66 | 色91在线| 国产一区免费 | 国产中出在线观看 | 超碰在线94| 婷婷六月天天 | 中文字幕在线免费观看视频 | 国产亚洲一区 | 99在线视频观看 | 午夜影视av | 黄色a一级视频 | 久香蕉 | 精品国产一二三四区 | 国产一区二区不卡视频 | 午夜久久久影院 | 成人黄色小说视频 | 亚洲第一中文字幕 | 久久成人国产精品一区二区 | 免费三级黄色片 | 国产精品成人免费一区久久羞羞 | 91亚洲精品久久久蜜桃 | 中文字幕在线播放一区 | 手机av看片 | www国产亚洲 | 久久成电影| 四虎影视精品永久在线观看 | 国产精品久久久久久高潮 | 91麻豆精品国产 | 亚洲精品中文字幕在线观看 | 国产精品99久久免费黑人 | 99九九免费视频 | 美女免费视频一区二区 | 国产色视频网站2 | 超碰.com | 日韩av成人在线 | 久久久亚洲影院 | 韩日电影在线免费看 | 久久国内精品视频 | 91av小视频| 成年人免费在线播放 | 久久久久久久久久久黄色 | 亚洲精品99| 国偷自产视频一区二区久 | 色综合天天爱 | av免费黄色 | 亚洲欧美精品在线 | 午夜精品电影一区二区在线 | 久久国产网站 | 99久久www| 成人亚洲欧美 | 香蕉视频91 | 黄色网在线免费观看 | 免费视频国产 | 日韩在线观看视频免费 | 免费在线成人av电影 | 亚洲第一成网站 | 五月天亚洲激情 | 免费三及片 | 日韩精品免费专区 | 日韩一级黄色大片 | 天天综合网~永久入口 | 久久综合九色99 | 91精品成人 | 国产成人精品综合久久久 | 六月丁香社区 | 最近日本中文字幕a | 国产成人免费网站 | 久久国语露脸国产精品电影 | 日韩午夜网站 | 91在线产啪| 在线视频精品播放 | 日韩av伦理片 | 欧美在线视频一区二区三区 | 欧美福利视频一区 | 婷婷中文字幕 | 成人免费看片98欧美 | 91精品国自产在线 | 久久精品99北条麻妃 | 午夜精品一区二区三区免费 | 国内精品久久久久久 |