当前位置: 代码迷 >> 综合 >> CS231A Course Notes 1: Camera Models
  详细解决方案

CS231A Course Notes 1: Camera Models

热度:30   发布时间:2023-11-13 12:28:56.0

相机模型 + 对极几何(相机之间的约束)

针孔相机模型 / 鱼眼相机模型(无人机使用)

针孔相机模型

三维空间的物体如何反应在图像上呢?

  • 世界坐标系 -> 相机坐标系(这个转换实际上就是一个刚体变换:旋转+平移)
  • 相机坐标系 - >世界坐标系 (刚体变换的逆变换)
  • Xw世界坐标Xc相机坐标X_w 世界坐标 X_c 相机坐标Xw?Xc? R是正交矩阵,正交矩阵的逆和它的转置是一样的

世界坐标到相机坐标系在这里插入图片描述

在这里插入图片描述

  • 有些场景里需要绘制相机,所以需要绘制相机位置和朝向。相机坐标系中的z轴就是相机的朝向
  • 相机朝向 在世界坐标系中的朝向:将相机坐标系中的原点和z轴一个点都投影到世界坐标系中,然后相减就是相机在世界坐标系中的朝向(实际上就是旋转矩阵R的第三行)。
  • 齐次坐标:齐次坐标就是将一个原本是n维的向量用一个n+1维向量来表示,是指一个用于投影几何里的坐标系统。
    在这里插入图片描述
  • 定义齐次坐标也可以很容易区分点和向量。点的最后一个齐次坐标为1,向量的最后一个齐次坐标为0(所以平移就对其没有作用,只有旋转对其有作用)

相机坐标系到归一化像平面

在这里插入图片描述

  • 从相机坐标到像平面坐标,其失去了一个ZcZ_cZc?,也就是失去了深度信息。只有知道这个深度,我们才能从二维图像确定该点在三维图像中的的位置

归一化像平面到像素坐标系

  • 其中间差了一个单位。即像素的单位是,每一毫米有多少个像素。而归一化像平面的单位是毫米。这里一般将α和β\alpha 和 \betaαβfff乘在一起作为一个焦距。
  • 由于归一化像平面其坐标是图像的中心,而图片的坐标通常是左上角,所以这中间还涉及到了一个平移。
    在这里插入图片描述

成像过程总结在这里插入图片描述

  • 这里K我们常称为内参矩阵。因为其里面涉及的αβu0v0\alpha \beta u_0 v_0αβu0?v0?都是一个内参数
  • 如果估计相机的外参数就是对相机的姿态估计(3维的跟踪)。如果估计内参数就是对相机的标定。

相机的畸变(径向畸变)

  • 径向畸变发生在像平面上。在这里插入图片描述
  • r2=x2+y2r^2 = x^2 + y^2r2=x2+y2可知,当坐标点越偏离中心点,其畸变的程度就越大。
    估计径向畸变的系数使用最小二乘法
    在这里插入图片描述

径向畸变矫正

在这里插入图片描述
实现简单的相机c++类,完成相机投影过程的代码。

两个相机 —— 对极几何(对极约束)

  相关解决方案