1

内在和外在的矩阵和三维点坐标我想用多RGB照相机来重建三维场景。输入数据没有相机校准信息,所以我想使用束调整算法(Ceres-solver)来估计校准信息。初始相机捆绑调整

现在我已经获得的成对匹配的特征点,但我发现,在束调整算法(的Ceres解算器)的算法也需要初始相机内在和外在的矩阵和3D点坐标作为输入。但是,我没有这些信息,我也不知道如何产生最初的猜测。

我应该怎么做,以生成初始相机内在和外在矩阵和3d点坐标?

非常感谢!

回答

2

初始参数有重要帮助的算法收敛到正确的局部极小,因此取得了良好的重建。您有不同的选项来查找相机的内在特征:

  • 如果您知道用于拍摄照片的相机品牌,您可以尝试在数据库中查找这些内在因素。您的重要参数是CCD宽度和焦距(mm)。尝试this one
  • 检查EXIF您图片的标签。为此,您可以使用工具jheadexiftool

你基本上需要以像素为单位的焦距和透镜畸变系数。要以像素为单位计算的焦距可以使用下列算式:

focal_pixels = res_x *(focal_mm/ccd_width_mm)

如果在任何情况下,你不能找到内部函数的参数为​​您照相机(一个或多个),则可以使用下面的近似为初始猜测:

focal_pixels = 1.2 * res_x

不要设置为固定的,所以焦距和失真参数将在束调节步骤被优化的参数。

在另一方面,外部参数是R的值|每台摄像机,计算出/在重建和束调整步骤优化的Ť(旋转 - 平移矩阵)。由于尺度在SfM情景中是未知的,所以从在随机深度值(Z朝向场景)上投影的点生成第一个重建的摄像机对(在交叉匹配步骤中具有较高分数的摄像机)。你不需要任何extrinsics或3D点坐标的初始值。