外参内参的推导

补充一些3D视觉的基础内容

[!一个问题] 什么是坐标系

坐标系是观察世界的角度,不同坐标系是观察世界的不同角度,不同的点在不同坐标系下坐标不同

[!一个问题] 存在哪几个坐标系

一共有像素坐标系,图像坐标系,摄像机坐标系,世界坐标系四个坐标系。 对像素坐标系的研究是在摄像机坐标系下 某个点投影到相机成像平面,我们需要它的坐标 然而实际情况中比如在3D视觉里我们更加一般化的要考虑2D成像平面的坐标点,反投影的3D坐标,这个时候深度信息往往未知

[!一个问题] 内参是什么

内参是3D到2D投影矩阵 内参转换是说,在摄像机坐标系下,给定的空间点的坐标是齐次坐标A,求对应的图像坐标系下 图像点 的齐次坐标坐标在哪个位置。

[!一个问题] 为什么引入齐次坐标

齐次坐标下平移旋转这种仿射变换可以表示成线性变换(平移不是线性变换)

[!一个问题] 外参是什么

相机坐标系并不是一个“稳定”的坐标系,其会随着相机的移动而改变坐标的原点和各个坐标轴的方向,用该坐标系下坐标进行计算,显然不是一个明智的选择

(每个人都有自己的相机,小A在自己的坐标系下说这个点是(1,0,0)点,小B在自己的坐标系下说这个点是(0,1,0))点,显然乱套。

因此需要引进一个稳定不变坐标系:世界坐标系,该坐标系是绝对不变,SLAM中的视觉里程计就是求解相机在世界坐标系下的运动轨迹 有了这个坐标系对于空间中的任意一个固定的点,我们都有他的绝对坐标(世界坐标系下的坐标),然后根据外参得到这个相机下的相机坐标,在根据该相机的内参,得到该点投影到相机成像平面的坐标。

最后看一下齐次坐标矩阵推导,这里的推导比较简单,就是一些矩阵运算 \(P' = \left[ \begin{array}{cccc} \alpha & 0 & c_x & 0 \\ 0 & \beta & c_y & 0 \\ 0 & 0 & 1 & 0 \end{array} \right] \left[ \begin{array}{c} x \\ y \\ z \\ 1 \end{array} \right] = \mathcal{MP} \\ = K \begin{bmatrix} I & 0 \end{bmatrix} P\)

K就是内参矩阵 \(P' = K \begin{bmatrix} I & 0 \end{bmatrix} P = K \begin{bmatrix} I & 0 \end{bmatrix} \begin{bmatrix} R & T \\ 0 & 1 \end{bmatrix} P_w = K \begin{bmatrix} R & T \end{bmatrix} P_w = \mathcal{M} P_w\)​ R和T是外参矩阵

reference: 万字长文概述单目3D目标检测算法 - 嵌入式视觉 - 博客园 面向量产的3D目标与车道线检测 动驾驶中的单目 3D 车道线检测——综述_3d车道线检测-CSDN博客 计算机视觉之三维重建(深入浅出SfM与SLAM核心算法)——1.摄像机几何_哔哩哔哩_bilibili 自动驾驶---Perception之IPM图和BEV图_bev ipm-CSDN博客 Apply IPM in Lane Detection from BEV | LeijieZhang

https://leijiezhang001.github.io/lane-det-from-BEV/

Comments