Colmap 中 Simple_Pinhole 和 Pinhole 模型生成内参的转换

最近在跑 NeRF 的时候需要用到自己的数据集做测试,于是用 Colmap 重建了一组数据,不过在选择相机模型的时候看到了 Simple_Pinhole 和 Pinhole 两个模型,对应生成的数据里内参格式分别是:

  • Simple_Pinhole:$f, c_x, c_y$
  • Pinhole:$f_x, f_y, c_x, c_y$

那么这两个值能不能互相转换呢,我们平常学到的针孔相机的模型应该都只有一个焦距,但是 Pinhole 模型中出现了 $f_x, f_y$ 两个焦距值,有什么不同吗?于是我去查了一下,这里做一个记录。结论:平常一般都是一样的,除非是特殊的畸变模型。

阅读更多

罗德里格斯公式的推导

将旋转向量到旋转矩阵进行转换的过程由罗德里格斯公式(Rodrigues’s Formula)表明:

阅读更多

验证旋转矩阵是正交矩阵

正交矩阵

正交矩阵是指其转置等于逆的矩阵,即 $A^{T} = A^{-1}$ 同理可得 $A^{T}A = I$,则 $A$ 为正交矩阵。

特点:

  1. 正交矩阵每一列都是单位矩阵,并且两两正交。最简单的正交矩阵就是单位阵。
  2. 正交矩阵的逆(inverse)等于正交矩阵的转置(transpose)。同时可以推论出正交矩阵的行列式的值肯定为正负 1 的
  3. 正交矩阵满足很多矩阵性质,比如可以相似于对角矩阵等等。

正交矩阵是一个在三维坐标系中歪着摆的立方体。对角化就是把这个立方体摆正来(也就是让它某一个顶点放在原点上,同时这个顶点的三条边正好对在三维坐标系的xyz三条轴上) —— 花火同学(知乎)

阅读更多

GAMES101 课程 3、4 记录 & 作业 1 题解

这两节的内容主要是变换,包括建模时的缩放、平移、旋转都属于变换,而当物体在三维空间中处于世界坐标系下,摄像机去观察的时候,我们需要从世界坐标系将物体变换到相机坐标系中,最后当物体最后呈现在显示器上时,又需要进行投影变换,因此,变换也是及其基础的两节内容。

阅读更多