### 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.csdn.net/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) 的公式为:**
但由于噪声及错误匹配(如 ![\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) 其实并不对应空间中同一点,但特征匹配算法错误地认为二者是同一点)的存在, 上式不总是成立,所以我们要最小化的目标函数为
### 补档:非线性优化