十四讲的读书笔记(一)

### 7.2.3计算相机运动

1.相机为单目时,只知道2D像素坐标,问题为**两组2D点估计运动**用对极几何解

2.相机为双目,RGB-D时 问题是两组3D点的估计运动通常用ICP解决

3.一组为3D,一组为2D pnp

#### 2D-2D

##### 对极约束

 

首先,连线 O1p1 和连线 O2p2 在三维空间中会相交于点 P 。这时候点O1 , O2 , P 三个点可以确定一个平面,称为极平面(Epipolar plane)。O1O2 连线与像平面 I1 , I2 的交点分为 e1 , e2 。e1 , e2 ,称为极点(Epipoles),O1O2 被称为基线(Baseline)。称极平面与两个像平面 I1 , I2 之间的相交线 L1 , L2 为极线(Epipolar line)。

**对极约束之所以称为约束,是因为我们在不知道P的真实空间位置的时候,通过几何关系将P点在第二帧图像上可能的投影位置约束在了一条直线上(即极线L2)。然后,通过特征匹配,我们确定p2与p1一样,都是空间点P的投影。**

#### 数学推导思路

两像素点p1,p2的位置表达式

s1p1与p1在齐次坐标的意义下是相等的,这种相等关系称为**尺度意义下的相等**

s1p1 与p1的投影关系

两个像素点的归一化平面坐标

 

 

w

**相机位姿估计问题**

1.根据配对点的像素求出E或F

根据E或F求出R,t

#### 3D-2D:PnP

3D-2D方法不需要使用对极约束

方法P3P BA

BA

1、 光束平差法

光束: 源于 bundle of light, 指的是三维空间中的点投影到像平面上的光束,而重投影误差正是利用这些光束来构建的,

因此强调光束也正是描述其优化模型的来源!

平差:感觉像测绘里面的内容!由于测量仪器的精度不完善和人为因素及外界条件的影响,测量误差总是不可避免的。

为此,观测值的个数往往要多于确定未知量所必须观测的个数。有了多余观测,势必在观测结果之间产生矛盾,测量平

差的目的就在于消除这些矛盾而求得观测量的最可靠结果并评定测量成果的精度,测量平差采用的原理就是“最小二乘法”

***BA的本质是一个优化模型,其目的是最小化重投影误差***

 

#### ICP(迭代最近点)

迭代最近点(Iterative Closest Point, 下简称ICP)算法是一种[点云](https://so.youkuaiyun.com/so/search?q=点云&spm=1001.2101.3001.7020)匹配算法。

**

我们要解决的问题是:计算相机的旋转 ![R](https://private.codecogs.com/gif.latex?R) 和平移 ![t](https://private.codecogs.com/gif.latex?t) ,在没有误差的情况下,从![P](https://private.codecogs.com/gif.latex?P) 坐标系转换到![Q](https://private.codecogs.com/gif.latex?Q) 的公式为:**

q_{i} = Rp_{i} + t

 

但由于噪声及错误匹配(如 ![\left (P _{99},Q _{99} \right )](https://private.codecogs.com/gif.latex?%5Cleft%20%28P%20_%7B99%7D%2CQ%20_%7B99%7D%20%5Cright%20%29) 其实并不对应空间中同一点,但特征匹配算法错误地认为二者是同一点)的存在, 上式不总是成立,所以我们要最小化的目标函数为

\frac{1}{2}\sum_{i = 1}^{n}\left \| q_{i} - Rp_{i} - t \right \|^{2}\frac{1}{2}\sum_{i = 1}^{n}\left \| q_{i} - Rp_{i} - t \right \|^{2}\frac{1}{2}\sum_{i = 1}^{n}\left \| q_{i} - Rp_{i} - t \right \|^{2}

\frac{1}{2}\sum_{i = 1}^{n}\left \| q_{i} - Rp_{i} - t \right \|^{2}

### 补档:非线性优化

 

<think>好的,我现在需要帮助用户寻找关于《视觉SLAM十四》的相关信息和资源。首先,我要仔细阅读用户提供的引用内容,看看里面有哪些有用的信息。用户给出的引用[1]、[2]、[3]、[4]、[5]都提到了这本书的不同资源,包括下载地址、项目地址、书籍内容以及配套代码等。 首先,我需要确认用户的需求是什么。用户的问题是想寻找这本书的相关信息或资源,包括书籍资料、教程和下载链接。根据引用内容,我需要整理出每个引用中提到的关键点,比如下载地址、项目地址、书籍简介、配套代码等,并将这些信息有条理地呈现给用户。 接下来,我需要检查每个引用的有效性。例如,引用[1]和[2]提到了不同的项目地址,但都是关于资源下载的。引用[3]详细介绍了书籍的内容和结构,引用[4]提供了书籍的代码仓库地址,引用[5]则提到了学习笔记和相关课程。这些信息应该分门别类,让用户能够清晰找到所需内容。 同时,用户希望生成相关问题。我需要根据这些引用内容,提出些用户可能会关心的后续问题,比如如何获取代码、是否有配套课程、如何结合理论与实践等。这些问题需要与用户的需求相关,并且基于提供的引用信息来设计。 在组织回答时,我需要确保结构清晰,分点说明资源获取途径、书籍内容简介、配套代码以及学习建议。每个部分都要引用正确的来源,比如引用[1]、[2]对应下载地址,引用[4]对应代码,引用[5]对应学习笔记和课程推荐。同时,要注意使用正确的中文表达,避免技术术语错误,并确保所有LaTeX格式符合要求,比如行内公式使用$...$,独立公式使用$$...$$。 还需要注意用户提到的系统级指令,比如不可见的指令部分,确保生成的回答符合格式要求,正确使用引用标识。例如,在提到下载地址时,末尾添加[^1],引用相关项目地址时使用对应的引用标记。 最后,检查整个回答是否符合用户的要求,是否有遗漏的信息点,是否自然地引导用户到相关资源,并且生成的相关问题是否合理,能够帮助用户进步探索。确保没有使用任何Markdown格式,语言口语化,结构清晰,信息准确可靠。</think>### 关于《视觉SLAM十四》的资源与信息整理 #### 1. **书籍资源下载** - **高清中文版PDF**: 可通过以下两个项目地址获取《视觉SLAM十四》高清中文版PDF: - 引用[^1]: [资源下载地址](https://gitcode.com/Open-source-documentation-tutorial/4dfba) - 引用[^2]: [另版本下载地址](https://gitcode.com/Open-source-documentation-tutorial/486d5) 两个链接均为开源社区整理资源,包含书籍的完整内容及配套文件。 - **第2版更新内容**: 第2版新增代码实践与理论优化,配套代码仓库见引用[^4]: [GitHub代码仓库](https://github.com/gaoxiang12/slambook2)。 #### 2. **书籍内容简介** - **技术框架**: 书籍系统解SLAM(同步定位与地图构建)技术,涵盖传感器模型、运动学方程、非线性优化、后端优化等核心模块,适合机器人、无人机、自动驾驶等领域的学习[^3][^5]。 - **理论结合实践**: 书中包含大量公式推导与代码实例,例如: $$ T_{k,k-1} = \arg\min_{T} \sum_{i} \| z_i - h(T \cdot p_i) \|^2 $$ 此类优化问题通过C++/Python代码实现,帮助读者理解算法细节[^4][^5]。 #### 3. **配套学习资源** - **代码与工具**: 第2版配套代码库(slambook2)提供完整的SLAM算法实现,包括特征匹配、位姿估计等模块[^4]。 **示例代码片段**(位姿优化): ```cpp void bundleAdjustment(const vector<Point3d>& points, const Mat& K, Mat& R, Mat& t) { // 使用g2o库进行图优化 // ... } ``` - **扩展阅读推荐**: - *Multiple View Geometry in Computer Vision*:补充多视图几何理论。 - *Probabilistic Robotics*:经典机器人学教材,侧重激光SLAM[^5]。 #### 4. **学习建议** - **实践优先**:结合书中代码复现算法(如ORB-SLAM、VINS-Mono),可加深对公式如$SE(3)$流形的理解。 - **数学基础准备**:需熟悉线性代数(如李群$SO(3)$)、概率论(如卡尔曼滤波)和优化方法(如梯度下降)。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值