其他分享
首页 > 其他分享> > 深蓝学院从零开始手写VIO(五)——视觉前端

深蓝学院从零开始手写VIO(五)——视觉前端

作者:互联网

深蓝学院从零开始手写VIO(五)——视觉前端


声明:本专栏文章为深蓝学院《从零开始手写VIO》课程个人学习笔记,更多学习资源请咨询深蓝学院相关课程。

视觉前端算法

从大类上可以分为特征法和直接法两类,具体可参见《视觉SLAM十四讲》,课程这里给句几个简单的结论:

特征+光流跟踪算法

特征提取常使用角点,因为角点附近图像的梯度变换具有较高的可辨别性,包括Harris、FAST、GTFF等。在提取出一帧图像中的特征点后,通过光流跟踪,可以进一步确定对应特征点在下一帧图像中的位置。

对于图像中存在视角变化的目标区域,需要添加warp function计算光流:
I(x,y,t)=I(W(x+dx,y+dy),t+dt) \bm{I}(x,y,t)=\bm{I}(\bm{W}(x+dx,y+dy),t+dt) I(x,y,t)=I(W(x+dx,y+dy),t+dt)

其中W\bm{W}W为仿射变换函数:
W(x+dx,y+dy)=[1+p1p3p5p21+p4p6][x+dxy+dy1] \bm{W}(x+dx,y+dy)=\begin{bmatrix} 1+p_1 & p_3 & p_5\\ p_2 & 1+p_4 & p_6 \end{bmatrix}\left[\begin{array}{c}x+dx \\ y+dy \\ 1\end{array}\right] W(x+dx,y+dy)=[1+p1​p2​​p3​1+p4​​p5​p6​​]⎣⎡​x+dxy+dy1​⎦⎤​

式中p1p6p_1-p_6p1​−p6​为仿射变换参数。

而对于快速变化的图像,则可以采用金字塔光流提高光流的追踪距离。

关键帧与三角化

关键帧选取的由于主要有:1)为了后端的实时性考虑;2)避免相机出现停止,导致后端估计出现退化。关键帧的选择准则如下:

因此在不引起问题退化和计算量过度增加的情况下,应尽可能多的插入关键帧

在关键帧之间,或者关键帧和普通帧之间,可以通过三角化构建新特征的空间坐标。

标签:关键帧,bm,深蓝,VIO,角点,从零开始,dx,dy,光流
来源: https://blog.csdn.net/weixin_43991178/article/details/104895184