视觉SLAM十四讲-第六讲笔记

本文主要介绍了SLAM中的状态估计问题,包括贝叶斯法则、最大后验概率(MAP)、最大似然概率(MLE)和最小二乘求解。在高斯噪声假设下,最小二乘法被用来解决非线性优化问题,通过最小化观测误差和位姿估计误差的平方和来优化位姿和地图估计。文中提到了梯度法、高斯牛顿法和阻尼牛顿法等优化策略,这些方法在解决SLAM问题时起到关键作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

状态估计问题

SLAM模型:

  • 状态方程:xk=f(xk−1,uk)+wkx_k=f(x_{k-1},u_k)+w_kxk=f(xk1,uk)+wk
  • 运动方程:zk,j=h(yj,xk)+vk,jz_{k,j}=h(y_j,x_k)+v_{k,j}zk,j=h(yj,xk)+vk,j

其中:

  • x:相机位姿。可以由旋转矩阵TTT或者李代数exp(ϵexp(\epsilonexp(ϵ^)))表示。
  • u:传感器读数
  • z:观测值。二维像平面下的齐次坐标。
  • y:实际物体。三维坐标下的齐次坐标。
  • w、v:噪声

观测方程:
szk,j=Kexp(ϵsz_{k,j}=Kexp(\epsilonszk,j=Kexp(ϵ^)yj)y_j)yj
其中,exp(ϵexp(\epsilonexp(ϵ^)))是相机位姿,即外参。exp(ϵexp(\epsilonexp(ϵ^)yj)y_j)yj把三维世界中的点转换到相机坐标系下,K是内参,把相机坐标系下的结果转换到像平面。s为像素点的距离。

优化问题:在存在噪声wwwvvv的情况下,推断位姿xxx和地图yyy及其状态分布。 -> 状态估计问题。
使用非线性优化求解。

状态变量:x=x1,...,xN,y1,...,yMx={x_1,...,x_N,y_1,...,y_M}x=x1,...,xN,y1,...,yM

### 视觉SLAM十四第五章内容概要 #### 5.1 相机模型简介 相机作为视觉SLAM系统中的重要传感器,其成像原理和模型对于理解整个系统的运作至关重要。本章节介绍了针孔相机模型及其变种,并讨论了如何通过内参矩阵来描述这些模型[^1]。 #### 5.2 图像特征提取与匹配 为了实现环境感知,在视觉SLAM中通常会利用图像中的显著特征来进行跟踪和地图构建工作。这部分解了几种常用的局部特征检测方法以及它们之间的相互比较;还探讨了基于ORB等快速算法的特点及应用场合。 #### 5.3 像素坐标系下的重投影误差计算 当给定三维空间点P的世界坐标(x,y,z),可以通过已知的位姿T将其转换到相机坐标系下(X,Y,Z)再映射至像素平面上(u,v)。理想情况下,该位置应该正好位于由同一时刻另一视角所拍摄图片中标记出来的对应特征点处。而实际操作过程中由于噪声等因素影响,两者之间往往存在偏差ε=(u'-u, v'-v),这就是所谓的“重投影误差”。此概念不仅适用于单目情况也广泛应用于双目标定等领域[^2]。 ```cpp // 计算重投影误差的一个简单例子 Eigen::Vector2d computeReprojectionError(const Eigen::Vector3d& point_world, const Sophus::SE3d& pose_camera_to_world, const CameraIntrinsics& intrinsics, const Eigen::Vector2d& observed_point_image){ // 将世界坐标转为相机坐标 auto point_cam = pose_camera_to_world * point_world; // 归一化平面坐标 double inv_z = 1.0 / point_cam.z(); double u_proj = intrinsics.fx() * (point_cam.x() * inv_z) + intrinsics.cx(); double v_proj = intrinsics.fy() * (point_cam.y() * inv_z) + intrinsics.cy(); // 返回重投影误差 return {observed_point_image.x()-u_proj, observed_point_image.y()-v_proj}; } ``` #### 5.4 单应性矩阵H的应用场景分析 除了基本理论外,书中还特别提到了单应性矩阵(Homography Matrix,H)这一工具可以用来处理两帧间仅有旋转和平移变化的情况。具体而言就是说如果两个摄像设备在同一时间分别获取了一张照片,则只要满足上述条件就可以借助于它完成一些特定的任务比如拼接全景图等等。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值