专栏系列文章如下:
视觉SLAM十四讲学习笔记-第一讲_goldqiu的博客-CSDN博客
视觉SLAM十四讲学习笔记-第二讲-初识SLAM_goldqiu的博客-CSDN博客
视觉SLAM十四讲学习笔记-第二讲-开发环境搭建_goldqiu的博客-CSDN博客
视觉SLAM十四讲学习笔记-第三讲-旋转矩阵和Eigen库_goldqiu的博客-CSDN博客
视觉SLAM十四讲学习笔记-第三讲-旋转向量、欧拉角、四元数_goldqiu的博客-CSDN博客
视觉SLAM十四讲学习笔记-第三讲-相似、仿射、射影变换和eigen程序、可视化演示_goldqiu的博客-CSDN博客
视觉SLAM十四讲学习笔记---前三讲学习笔记总结之SLAM的作用、变换和位姿表示_goldqiu的博客-CSDN博客
视觉SLAM十四讲学习笔记-第四讲-李代数求导与扰动模型_goldqiu的博客-CSDN博客
视觉SLAM十四讲学习笔记-第四讲-Sophus实践、相似变换群与李代数_goldqiu的博客-CSDN博客
视觉SLAM十四讲学习笔记-第五讲-相机模型_goldqiu的博客-CSDN博客
视觉SLAM十四讲学习笔记-第五讲-图像和实践_goldqiu的博客-CSDN博客
视觉SLAM十四讲学习笔记-第四讲---第五讲学习笔记总结---李群和李代数、相机_goldqiu的博客-CSDN博客
视觉SLAM十四讲学习笔记-第六讲-非线性优化的非线性最小二乘问题_goldqiu的博客-CSDN博客
视觉SLAM十四讲学习笔记-第六讲-非线性优化的实践-高斯牛顿法和曲线拟合_goldqiu的博客-CSDN博客
视觉SLAM十四讲学习笔记-第六讲学习笔记总结(1)---非线性优化原理_goldqiu的博客-CSDN博客
视觉SLAM十四讲学习笔记-第六讲学习笔记总结(2)---非线性优化应用_goldqiu的博客-CSDN博客
视觉SLAM十四讲学习笔记-第七讲-视觉里程计-特征点发和特征提取和匹配实践_goldqiu的博客-CSDN博客
视觉SLAM十四讲学习笔记-第七讲-视觉里程计-对极几何和对极约束、本质矩阵、基础矩阵
视觉SLAM十四讲学习笔记-第七讲-视觉里程计-单应矩阵和实践
视觉SLAM十四讲学习笔记-第七讲-视觉里程计-三角测量和实践_goldqiu的博客-CSDN博客
视觉SLAM十四讲学习笔记-第七讲-视觉里程计-PnP和实践_goldqiu的博客-CSDN博客
视觉SLAM十四讲学习笔记-第七讲-视觉里程计-ICP和实践_goldqiu的博客-CSDN博客
作用:根据相邻图像的信息估计出粗略的相机运动,给后端提供较好的初始值
两视图几何(Two-view geometry):提取、匹配图像特征点,然后估计两帧之间的相机运动和场景结构,从而实现一个两帧间视觉里程计
优势:稳定,对光照、动态物体不敏感
作用:直接从矩阵层面考虑运动估计非常困难,所以要简化运动估计问题。
特点:图像中选取的比较有代表性的点,在相机视角发生少量变化后会保持不变,在相机运动之后保持稳定,能在各个图像中找到相同的点。
定义:特征是图像信息的另一种数字表达形式。
特征点的“进化”:
首先考虑灰度值不同的图像块,
但灰度值受光照、形变、物体材质的影响严重,在不同图像间变化非常大,不够稳定。理想的情况是,当场景和相机视角发生少量改变时,算法还能从图像中判断哪些地方是同一个点。
于是考虑图像中的角点、边缘,
角点相比于像素区块而言更加“特别”,在不同图像之间的辨识度更强。所以角点就是所谓的特征。
角点的提取算法: Harris 角点、FAST 角点 、GFTT 角点等等。
然而在大多数应用中,单纯的角点依然不能满足很多需求。考虑尺度如,从远处看上去是角点的地方,当相机走近之后,可能就不显示为角点了。考虑旋转如,当旋转相机时,角点的外观会发生变化,也就不容易辨认出那是同一个角点。为此,就提出了许多更加稳定的局部图像特征,如SIFT 、SURF 、ORB ,等等。
于是有了人工设计的特征点,其性质:
其定义:由关键点(Key-point)和描述子(Descriptor)两部分组成。
关键点是指该特征点在图像里的位置,有些特征点还具有朝向、大小等信息。
描述子通常是一个向量,按照某种人为设计的方式,描述了该关键点周围像素的信息,是按照“外观相似的特征应该有相似的描述子”的原则设计的。因此只要两个特征点的描述子在向量空间上的距离相近,就可以认为它们是同样的特征点。
典型特征:
SIFT(尺度不变特征变换,Scale-Invariant FeatureTransform):充分考虑了在图像变换过程中出现的光照、尺度、旋转等变化,但随之而来的是极大的计算量。
FAST关键点:考虑适当降低精度和鲁棒性,以提升计算的速度,属于计算特别快的一种特征点(没有描述子);
ORB(Oriented FASTand Rotated BRIEF)特征:改进了 FAST 检测子不具有方向性的问题,并采用速度极快的二进制描述子BRIEF,使整个图像特征提取的环节大大加速。ORB在保持了特征子具有旋转、尺度不变性的同时,速度方面提升明显,对于实时性要求很高的SLAM来说是一个很好的选择。在目前的 SLAM方案中,ORB 是质量与性能之间较好的折中。
特征点进化表格:
ORB 特征:
关键点称为“Oriented FAST”,是一种改进的FAST角点。
描述子称为BRIEF(Binary Robust Independent Elementary Feature)。
提取 ORB 特征的步骤:
原始FAST关键点: 主要检测局部像素灰度变化明显的地方,以速度快著称。它的思想是:如果一个像素与邻域的像素差别较大(过亮或过暗),那么它更可能是角点。
检测过程如下:
更高效的FAST-12 算法:
FAST特征点的缺点:重复性不强,分布不均匀,不具有方向信息(旋转)和尺度信息(远处看着像是角点的地方,接近后看可能就不是角点了)。
添加了尺度和旋转描述的ORB特征:
Oriented FAST关键点
尺度不变性由构建图像金字塔,并在金字塔的每一层上检测角点来实现。而特征的旋转是由灰度质心法(Intensity Centroid)实现的。
BRIEF 描述子
其描述向量由许多个0和1组成,这里的0和1编码了关键点附近两个随机像素(比如p和q)的大小关系:如果p比q 大,则取1,反之就取0。如果取了128个这样的 p, q,最后就得到128维由0、1组成的向量。BRIEF使用了随机选点的比较,速度非常快,而且由于使用了二进制表达,存储起来也十分方便,适用于实时的图像匹配。原始的 BRIEF描述子不具有旋转不变性,因此在图像发生旋转时容易丢失。而ORB在FAST特征点提取阶段计算了关键点的方向,所以可以利用方向信息,计算旋转之后的“Steer BRIEF”特征使ORB的描述子具有较好的旋转不变性。
改进后的特征点鲁棒性和效率都更强了。
ORB特征点性能改进表
后补。。。
确定当前看到的路标与之前看到的路标之间的对应关系。通过对图像与图像或者图像与地图之间的描述子进行准确匹配,可以为后续的姿态估计、优化等操作减轻大量负担。然而由于图像特征的局部特性,误匹配的情况广泛存在,部分原因是场景中经常存在大量的重复纹理,使得特征描述非常相似。
匹配的算法:
第七章内容总结图
后补。。。
最近这个专栏比较少时间去写了,科研任务逐渐收紧,后面等过年放假有时间再整理,抱歉!