零基础搞清ORB-SLAM

首先写ORB中的概念

一、前端提取

包括像素点选取和匹配两部分:

1.像素点选取:主要是ORB特征,看看这篇文章就够了:https://blog.csdn.net/maweifei/article/details/62887831   ORB主要有两个概念,角点还有就是Moment,Moment类似于重心的概念用来表示特征点的方向,在旋转能快速Match。另外特征点确定好后用BREAF确定来描述,BREAF在特征点周围使用两维高斯分布乘以图像像素值。实际就是BREAF和Moment来综合描述。           像素点选取好后,一般通过跟踪的方法加速图像间特征点选取。                                                                                                     

很显然,基于特征点的目标跟踪算法和1),2)两个步骤有关。特征点可以是Harris角点(见我的另外一篇博文),也可以是边缘点等等,而估计下一帧位置的方法也有不少,比如这里要讲的光流法,也可以是卡尔曼滤波法。

对于单目摄像机来说,一般需用IMU来配合检测摄像机移距离,实现两幅图像中像素的三角测量。

2.像素点匹配:

对于双目相机,ORB特征匹配,主要是像素点相似性的计算。ORB特征匹配。

包括RANSAC过滤误差较大的点。

二、后端优化

G2O,多副图像中的特征点形成三维位置和三维位置更新。

pnp,icp,主要是摄像头位姿改变,外参的校准和三维点云更新。

三、闭环检测

用磁力计,陀螺仪检测或者卡尔曼滤波+状态方法,检测摄像头实时位置,和构建的三维点图的误差项来矫正系统参数。

另外vslam需要懂摄像头的标定,即外参内参计算方法。

猜你喜欢

转载自blog.csdn.net/windfly_al/article/details/82696796
今日推荐