SLAM14讲学习笔记(十)建图与SLAM开源方案对比

217
0
2020年12月1日 09时14分

单目稠密重建和深度滤波器的内容我已经总结在了上一个学习笔记中(SLAM14讲学习笔记(九)单目稠密重建、深度滤波器详解与补充(纠正第13讲 建图 中的错误)),因为在那一部分内容中高博讲的有所欠缺和错误。这一节的学习笔记把14讲中剩下所有的内容做一个总结。


1.像素梯度和极线匹配的不确定性是存在联系的,具体表现在:梯度与极线夹角较大,极线匹配不确定性大;夹角较小,极线匹配的不确定性小。(举例:如果梯度垂直于极线,说明极线两侧的像素亮度值各自都一样,沿着它走的每个地方结果都一样,因此不确定性大;如果梯度平行于极线,那么说明沿着极线到某一位置以后,亮度会突然变化,这样特征很明显,因此不确定性小)

2.逆深度:逆深度是深度的倒数,提逆深度的原因是研究和仿真发现,深度的分布可能不是高斯分布,但是深度的倒数比较接近高斯分布。

3.为了防止图像之间的变换过大,比如下黑上白的图像颠倒后是下白上黑,极线搜索匹配的时候相关性会受到影响,因此在块匹配的时候,要考虑参考帧和当前帧的运动。这块的处理公式好几个,其实原理比较简单:同一个三维点世界坐标Pw,投影到两个帧上(一个用R表示一个用C表示),构建两个转换的公式。然后把Pw消掉,把两个式子变成一个,就构建出一个两幅图像直接的像素关系(有点像之前VO部分基础矩阵的形目的,两个特征点的像素坐标构建的对极几何,但这里是指两幅图像的所有的像素坐标的变换关系):

 

1

 

在上面的式子里,根据dR和PR,求出PC。之后,如果PR有增量,PC的增量就也能算出来了,构成仿射变换:

 

2

 

这个的目的是把中间的仿射变换矩阵算出来。回顾一下第三章的几个带星号的变换:

 

3

 

 

这样的目的是,当前帧的像素经过仿射变换进行变换以后,再进行块匹配。

其实走到这里,对于具体为什么这样就能块匹配了,就不受颠倒的影响了,讲了还是不是很懂。我的理解是,根据仿射变换,一个方的东西变换完就不再是方的了,可以变成平行四边形。如果用于对比的两帧不是相邻的两帧,离得比较远,应该会出现物体形状发生变换的问题,大概是用仿射变换可以弄成统一的。有不对的地方欢迎指正。


其他问题:给的代码里没有显示的处理外点(Outlier)的情况。外点指的是异常值。


其他介绍类型知识:

1.体素滤波器(Voxel Filter):保证某个一定大小的立方体(或称体素)内仅有一个点,起到降采样的作用。

2.SFM算法是一种基于各种收集到的无序图片进行三维重建的离线算法。

3.泊松重建方法在SFM中常用,可以得到物体的表面信息(而不是点云是离散的点)

4.Surfel重建:以面元作为地图的基本单位。

5.八叉树地图:

 

4

 

好处是节省空间(当某个方块中的所有子节点都被占据或者都没被占据,就不用展开这个节点)

另外利用对数概率更新,还有特殊技巧:在深度值对应的空间点上看到一个观察数据,说明相机光心出发到这个点的线段上,应该是没有物体的)

6.TSDF地图:每个小块存储距其最近的物体表面的距离,另外没有颜色信息只使用深度图:

 

5

 

现在与未来:

对于这块的内容也不应该简单的读一遍完事也不应该死记。对于这种介绍性的东西,反而应该是出于了解的目的去看,好像别人和自己聊天一样,而不是以读书、记忆概念的方式去看。

1.MonoSLAM:以扩展卡尔曼滤波器为后端,追踪前端的稀疏特征点,里程碑式的工作

2.PTAM:第一个使用非线性优化而不是滤波器作为后端的方案。

3.ORB-SLAM:现代SLAM系统中做的最完善易用的系统之一,在特征点SLAM中达到顶峰。(因此有必要之后对它进行学习)三个线程,一个实时跟踪特征点,一个局部BA,一个全局Pose Graph优化与回环检测。缺点是对硬件要求比较高。

4.LSD-SLAM:将直接法应用到了半稠密单目SLAM中。(所以拥有直接法的优缺点,对特征缺失的地方不敏感,但是对相机内参和曝光比较敏感)

5.SVO:没有后端优化和回环检测部分。优势是速度极快,针对的是应用平台为无人机的俯视相机。

6.RTAB-MAP:集成度高,方便使用但是不适合研究。


1.VIO:这是比较重要的内容,但是比较复杂,难度很大。之后我查阅资料和博客,会总结一两章VIO的内容。两大类:

松耦合:IMU和相机各自估计自己的状态,对结果融合;

紧耦合:把IMU状态和相机状态共同放在一起进行优化(也就是卡尔曼滤波那节的“u”)

2.语义slam:意如其名。

3.这部分是我的看法,是新式传感器,比如event-based camera,具体这块内容我最近在做,就是基本单位是event数据,每当一个点的亮度发生改变,就会记录这个点的位置和光强改变时间,另外还会记录一个光强改变的方向(比如苏黎世的Dvs和DAVIS相机)或者是记录改变时刻的光强值(比如咱们国产的上海芯仑相机),它的反应比较迅速能达到1μs的响应,总体来说是模拟青蛙果蝇之类生物的眼睛,仿生传感器的一种吧。关于这块我进行了有一段时间了,也在同样做这个事情的可以留言留下联系方式和我一起交流。还有比如像素级偏振相机,每个像素点一个偏振片,用这种设备可以在建图的时候把半稠密的补成稠密的,是我在今年参加浙大的CCF-CV视觉slam研讨会的时候谭平老师讲的内容。

 

 

发表评论

后才能评论