视觉SLAM相机——单目相机、双目相机、深度相机

一、单目相机

        只使用一个摄像头进行SLAM的做法称为单目SLAM,这种传感器的结构特别简单,成本特别低,单目相机的数据:照片。照片本质上是拍摄某个场景在相机的成像平面上留下的一个投影。它以二维的形式记录了三维的世界。这个过程中丢掉了场景的一个维度,即深度(距离),在单目相机中,我们无法通过单张图片计算场景中物体与相机之间的距离(远近)。单目相机拍摄的图像只是三维空间的二维投影,要想恢复三维结构,需要改变相机的视角。我们需要移动相机,才能估计它的运动,同时估计场景中物体的远近和大小,即结构。我们知道:近处的物体移动快,远处的物体移动慢,极远处(无穷远处)的物体看上去是不动的。相机移动时,这些物体在图像上的运动就形成了视差。通过视差,我们就能定量的判断哪些物体离得远,哪些物体离得近。然而,这仍然只是一个相对值,单目SLAM估计的轨迹和地图与真实的轨迹和地图还相差一个因子,即尺度

平移之后才能计算深度,以及无法确定的真实尺度,给单目SLAM的应用造成很大的麻烦,根本原因是无法通过单张图像确定深度。

二、双目相机

        双目相机测量到的深度范围与基线相关。基线距离越大,能够测量到的物体就越远。双目相机的距离估计是比较左右眼的图像获得的,并不依赖其他传感设备,可用于室内外。缺点是配置与标定复杂,深度量程和精度均受双目的基线和分辨率所限,同时,视差的计算非常消耗计算资源,需要使用GPU和FPGA设备加速,才能实时输出整张图像的距离信息。

三、深度相机

深度相机又称RGB-D相机,它最大的特点是可以通过红外结构光或ToF原理,通过主动向物体发射光并接收返回的光,测出物体与相机之间的距离,通过物理的测量手段,相比于双目相机,可节省大量的计算资源。但多数RGB-D相机还存在测量范围窄、噪声大、视野小、易受日光干扰,无法测量透射材质等诸多问题。在SLAM方面,主要应用于室内,室外比较难应用。

### 双目SLAM中三角测量原理 在双目SLAM系统中,三角测量是一种通过两个不同视角观察同一特征点来计算该点三维位置的方法。当考虑平面MM1M2时,可以发现ΔMO1O2与ΔMM1M2相似,因此依据三角形相似原则得出: \[ \frac{MO_1}{MM_1}=\frac{O_1O_2}{M_1M_2}. \][^3] 此关系表明,在已知基线长度\( O_1O_2 \),以及两摄像机观测到的目标图像坐标差值的情况下,能够求解目标的实际距离。 对于更复杂的场景下,如果设世界坐标系下的某一点Pw经过变换矩阵T投影至相机坐标系内成为Pi,则这两者之间的向量满足条件: \[ P_i\times TP_w=0.\tag4\][^4] 这意味着两点连线必然穿过原点,从而形成闭合矢量环路,这构成了三角测量的基础理论之一。 为了实现上述过程,通常会采用如下Python代码片段作为基础框架来进行实际操作: ```python import numpy as np def triangulate_point(Pi, Twc): """ 使用三角测量法估计空间点的位置 参数: Pi -- 图像平面上的对应点坐标 (齐次形式) Twc -- 从世界坐标系转换到当前摄像头坐标的变换矩阵 返回: pw -- 计算得到的世界坐标系中的3D点位 """ A = np.array([ [Twc[2, :].dot(Pi), -Twc[0, :]], [Twc[2, :].dot(Pi), -Twc[1, :]] ]) b = np.array([-(Twc[2, :] * Pi[0] - Twc[0, :] * Pi[2]), -(Twc[2, :] * Pi[1] - Twc[1, :] * Pi[2])]) pw_homogeneous = np.linalg.lstsq(A,b,rcond=None)[0] pw = pw_homogeneous / pw_homogeneous[-1] # 转化为非齐次表示 return pw[:3] ``` 这段程序展示了如何基于给定的一组匹配好的二维图像点及其对应的姿态信息(即`Twc`),利用最小二乘法解决方程组并最终获得真实世界的三维坐标。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风起晨曦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值