三维重建——Structure from motion

  • Post author:
  • Post category:其他


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




    =











版权声明:本文为GH_HOME原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。