“ 世界坐标系、相机坐标系 、归一化平面坐标系、 像平面坐标系、 像素坐标系。”
关于相机模型的文章太多了,要搞清楚,首先要弄清楚这5个坐标系,以及他们之间的转换关系。我这里开始由世界坐标系一步一步推导到像素坐标系进行讲解。01
—
针孔相机模型
世界坐标系到相机坐标系
实际上是两个三维坐标系之间的转换关系,属于刚体变换,也就是说只有旋转R和平移t变换。旋转矩阵R是正交矩阵的单位矩阵,并且R的转置等于R的逆。Xc坐标系的点,Xw世界坐标系的点。
R表示旋转矩阵,t表示平移向量,如果把Xc , Xw 写成齐次向量的形式,那么他们之间的变换关系就可以写成矩阵相乘的形式。 相机坐标系和世界坐标系之间可以互相转换,其中最常用的就是如何确定相机中心在世界坐标系中的位置 由于相机在相机坐标系的坐标为原点 Xc = [ 0 0 0 ], 所以 相机在世界坐标系中的坐标: 相机坐标系到像平面坐标系
根据三角形相似
写成矩阵的形式
像平面坐标系到图像坐标系
由于图像坐标系是用像素表示的,像平面坐标系都是m为单位的,所以要进行转换,dx,dy 分别表示x和y方向每个像素占多大。 fx , fy 的单位是像素。由于像平面的原点在中心,而像素坐标的原点在左上角,因而需要在x和y方向分别平移 cx,cy个像素
相机坐标系->像平面坐标->像素坐标 其中矩阵为相机内参矩阵,只和相机本身有关fx,fy为相机焦距,一般情况下两者相等,cx,cy为中心偏移像素,一般情况下为图像的1/2,那么世界坐标系到像素坐标系就可以写成:其中[ R ∣ t ] 为 外 参 矩 阵 , 表 示 世 界 坐 标 系 到 相 机 坐 标 系 的 转 换 矩 阵 , K 为 相 机 内 参 矩 阵 [R|t] 为外参矩阵,表示世界坐标系到相机坐标系的转换矩阵
P为投影矩阵,表示一个4x4的矩阵。
关于针孔相机模型就解释到这里。
02
—
相机畸变模型
相机畸变模型一般包括径向畸变和切向畸变
径向畸变是由于透镜的形状导致的,有桶形畸变和枕形畸变。对应的数学模型:
切向畸变是由于安装导致透镜和成像平面不严格平行。对应的数学模型:
径向畸变和切向畸变矫正联合在一起:
x,y 的值对应的是归一化平面坐标系的值,因而在校正图像的时候需要先把像素坐标转换为归一化平面坐标,然后再校正,最后再把校正后的ydist,ydist计算到像素坐标。
畸变系数涉及k1,k2,k3,p1,p2
参考:
https://www.cs.umd.edu/class/fall2013/cmsc426/lectures/camera-calibration.pdf
视觉SLAM十四讲