首先写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需要懂摄像头的标定,即外参内参计算方法。