structure from motion

来源:互联网 发布:淘宝内部优惠券可信吗 编辑:程序博客网 时间:2024/06/01 10:08

1. 概念

Structure from motion 指的是由图像生成3维点云以及相机姿态,即:
- 输入:一系列图像,拍摄同一场景
- 输出: 每一张图像对应的相机位置和朝向, 场景中的3D点云


2. 算法流程

  1. 获取相机内参矩阵
    对输入图像利用其内部的编码信息获取相机的焦距,计算内参矩阵
  2. 对相邻图像两两计算匹配特征点
    对于3D重建而言, 一般是首先用两张图像作为初始化建出来一个初始的点云,之后不断添加后续的图像进入,并添加入点云。 那么具体添加那一张图像可以采用的方法是:看已有的图像中哪一个与已有点云中的点匹配最多就先选哪张。
  3. 计算两图像之间的内参矩阵F
    关于fundamental matrix的推导可以使用Multiview geometry 242页 9.2.1中的几何推导以及9.2.2中的算术推导,算术推导证明如果两张图像的拍摄是纯相机平移的话,fundamental matrix是计算失败的。计算内参矩阵可以使用8点算法。具体内容参看Multiview geometry 282页 Algorithm 11.1,值得注意的是,在进行8点算法之前,需要使用RANSAC算法对特征点进行提纯(RANSAC算法中的模型使用计算基础矩阵的8点算法,参见Multiview geometry 121页 Algorithm 4.5),同时在输入计算基础矩阵之前,需要对所有的特征点进行normalize,这里是必须要做的,原因参见Multiview geometry 108页,具体做法使用109页 Algorithm 4.2.
  4. 计算相机的essential matrix
    使用公式 E=KTFK 其中KKT分别对应于两个视角的内参矩阵
  5. 利用essential matrix计算两个相机之间的外参,即[R|t]矩阵
    这里参见Multiview geometry 258页 9.6.2. 但是由于符号的关系,会输出出来4中可能的[R|t]矩阵,这个时候我们将所有2D的点利用这四种[R|t]映射到3D空间中去,看哪一种[R|t]对应的3D点的z深度方向全部是正向的。因为准确的[R|t]场景点都在相机朝向的正前方。
  6. 利用triangular来得出3D点的坐标
    参见Multiview Geometry 310页,由于匹配2D点的坐标是有误差的,因此通过对极几何穿过相机中心与2D点发出的射线并不能精确相交于3D点,因此需要做优化得到唯一的3D点坐标。方法有线性法和非线性法两种。
    线性法直接优化x×PX=0 x×PX=0,写成AX=0的形式,最终用DLT以及SVD方法求解。线性法输出的结果不是很精确,最重要的是并不是projective invariant。
    非线性法优化重投影点到实际点的坐标,并转换为极线到实际观测的2D点的垂直距离最短。这样做事推荐的triangular方法,参见bible 313页12.3, 具体的算法参见315页12.5.
  7. 利用 bundle adjustment 来merge不同的3D点云
    目前我们已经知道两两图像之间的[R|t],比如1 2之间的, 2 3之间的,如何将1,2,3放入同一个参考坐标系,需要使用BA——数学上是最小化投影误差,让所有得出的[R|t]与3D点估计输出的2D点与实际观测点位置最小化。

这里的做法是这样的:
首先建立一个graph的数据结构,记录两个图像之间的匹配特征点 内参矩阵 外参矩阵 以及为即将得到的3D点预先分配好空间

几个概念的区分

  1. fundamental matrix与homography的区别
    fundamental matrix描述的是对极几何的关系,3D场景点在两个视角图像的投影点之间满足的关系,与3D场景无关。具体的,已知基础矩阵F以及3D场景点在一张图像上的映射点x,那么在另外一张图上的映射点的位置应该在基线l=Fx 上寻找。因此,fundamental matrix表征的是一种点与极线一一对应的关系。以外,fundamental matrix的秩为2,homography也可以称作是fundamental matrix的一种特殊情况, 这一点可以参见基础矩阵的几何意义(Multiview geometry 242页 9.2.1)。 Homograohy是指点与点之间的一一对应的关系,其为满秩3, 而且使用场景限于描述平面与平面之间的映射关系
    参考链接: https://www.quora.com/Computer-Vision-What-is-the-relationship-of-homography-and-the-fundamental-matrix
原创粉丝点击