视觉SLAM十四讲笔记(ch13)
·
第十三讲 建图
单目稠密建图
在稠密重建中,我们需要知道每一个像素点(或大多数像素点)的距离,有三种解决方法:
- 使用单目相机,通过移动相机之后进行三角化测量像素的距离。(这种方式又称为移动视觉的立体视觉,Moving View Stereo)。
- 使用双目相机,利用左右目的视差计算像素的距离,与多目原理相同。
1、2两种方式又称为立体视觉(Stereo Vision):立体视觉的重建质量十分依赖于环境纹理。(该问题无法在现有的算法流程上加以改进和解决的)
- 使用RGB-D相机直接获得像素距离。
极线搜索与块匹配
计算小块间差异的方法:SAD(差的绝对值之和,Sum of Absolute Difference)、SSD(平方和,Sum of Squared Distance)、NCC(归一化互相关,Normalized Cross Correlation)去均值的SAD、去均值的SSD等……
高斯分布的深度滤波器
估计像素点的深度,可建模为一个状态估计问题。所以有滤波器和非线性优化两种求解思路。而SLAM实时性要求较高,前端已经占据了不少的计算量,所以在建图中,我们通常采用计算量较少的滤波器方式。
假设深值服从高斯分布
- 估计稠密深度的一个完整过程:
- 假设所有像素的深度满足某个初始的高斯分布
- 当新数据产生时,通过极线搜索和块匹配确定投影点的位置
- 根据几何关系计算三角化后的深度及不确定性
- 将当前观测融合进上一次的估计中,若收敛则停止计算,否则返回第2步。
RGB-D稠密重建
利用RGB-D进行稠密建图的好处:
- 利用RGB-D相机可以完全通过传感器中硬件测量得到深度估计,而无须像单目和双目中那样通过消耗大量的计算资源来估计。
- RGB-D的结构光或飞时原理,保证了深度数据对纹理的无关性。即使是纯色的物体,只要它能够反射光,我们就能测量到它的深度。
根据地图形式的不同,存在着若干种不同的主流建图方式:
- 最直观、最简单的方式:根据估算的相机位姿,将RGB-D数据转化为点云(Point Cloud),然后进行拼接,最后得到一个由离散的点组成的点云地图。
- 如果我们希望估计物体的表面,在1)的基础上,使用三角网格(Mesh)、面片(Surfel)进行建图。
- 如果我们想要知道地图的障碍物信息并在地图上导航,亦可通过体素(Voxel)建立占据网格地图(Occupancy Map)。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)