相机模型简介
参考文献:视觉SLAM十四讲、视觉惯性SLAM理论与源码分析、该博客、文中的公式直接引用上面的文章,如有侵权请联系本人删除
1、针孔相机模型
投影过程
三维世界中的物体(目标点)P反射光线,通过相机光心,投影到相机的感光平面(物理成像平面/像素成像平面),一个个的光线投影点汇聚成三维世界的投影图像(二维),物理成像平面中的图像在像素坐标系下输出为最终的图像。
名词解释
1、光心:
相机光心越小越好,这样就能够保证空间中反射的光线只有一条通过光心,因为空间中的一个点反射的光线是漫反射,是多条的不规则的,而成像只需要一个点的一条光线即可
2、世界坐标系
也就是固定不动的坐标系,用来标记三维空间中物体的位置的参考系。SLAM中构建的地图也需要一个参考系,一般是机器人开机时的起始位置作为参考坐标系,以此坐标系来向地图中添加真实世界中的物体坐标。
3、相机坐标系
也就是以相机为参考系,以相机光兴为原点,观察到的真实世界中的物体相对于相机的位置坐标,该参考系Z轴通过光心且垂直于相机成像平面。该坐标系随着相机自身的移动而变化,与相机的位姿有关。
4、像素坐标系
真实世界中的物理点(三维)反射光线,通过光心,投射到相机的感光平面,形成一个像素点,这个像素点的集合就构成了图像(二维)。该坐标系位于光心后面一定距离(焦距),且垂直于光轴,但是其原点一般位于图片的左上角。
5、图像坐标系(物理成像平面)
这个坐标系是用来描述投影关系的平面,它和像素平面重合,原点位于光轴与像素平面的交点。
5、相机内参、相机外参
内参:
内参指相机内部参数,包括焦距,畸变参数等,相机的标定通常就是求解这些参数
外参:
相机外参、变换矩阵、相机位姿是同一个概念,通常是SLAM要求解的参数之一。
坐标系之间关系如下:
投影公式推导
假设三维空间中的物理点位置已知。通常情况下这是一个未知量,是SLAM要求解的地图点坐标。
1、物理点(三维)由世界坐标系转换到相机坐标系:
物理点坐标的变换和坐标系之间的变换是一致的,T表示变换矩阵,由旋转矩阵R和平移矩阵的齐次坐标t构成。齐次坐标(把三维的坐标再加一维变成四维)的作用是将非线性的变换公式转换成矩阵的形式的线性变换。
2、相机坐标系中的物理点(三维)投影成二维图像
投影原理:利用相似三角形的原理求解到成像平面的坐标点(二维),这一步是成像原理,实际的成像过程应该没有这一步,直接生成像素坐标下的像素点。
图像翻转处理:投影后的图像是倒立的缩小的像,将其投影到光心的前面(去掉公式中的负号)的位置,就成为我们看到的正规的图像。
得到最终投影平面的点坐标(二维)
投影实质(归一化处理)
投影的实质就是将实际距离的物理点,全部沿着光线移动到相机光心前距离为1的平面上,就完成了三维点到平面点的转换
3、将成像平面的点坐标,转换到像素坐标系下
光线打到感光器件上形成的是一个像素点,该像素点才是构成图像的关键。像素坐标和图像坐标之间进行转换,其转换关系只是平移和放大缩小的关系。
4、最后将全部过程总结:
合并参数:
改写成矩阵形式:K就是常说的内参矩阵、
最终投影公式:左边的是投影点坐标、右边的K叫做内参矩阵,由焦距、缩放因子、平移因子组成,Pw 为世界坐标系下的物理点的齐次坐标 Pu、v 为像素坐标下的投影点的齐次坐标。
到此投影过程完成
相机畸变模型解释
1、畸变产生的原因:
透镜的存在导致发生光线的折射
透镜的安装平面和成像平面不是严格的平行
2、畸变的种类:
由折射产生的畸变(径向畸变):
枕型畸变:
桶型畸变:
由安装导致的畸变(切向畸变):
相机的畸变模型:
纠正径向畸变公式:
纠正切向畸变公式
综合纠正公式:其中的5个畸变参数就是内参之一
纠正后的投影公式
总结
综上就是整个相机的投影模型,从其目的就是让三维点,投射到二维平面,使其失去一个深度上的值。其中我们需要首先知晓世界坐标系下的点坐标Pw,相机在世界坐标系下的位姿变换T,才能将投影公式推导出来。但是真实情况是,相机拍照,直接就能得到一定像素值的图像Puv,而真正求解的却是相机的位姿,以及图像的像素点在三维空间中的位置,那么此时,就需要逆推公式了,这样的方法将在后面的文章进行解读。