本文是北京邮电大学人工智能学院鲁鹏老师讲授的《计算机视觉之三维重建篇——深入浅出SFM系统与SLAM系统的核心算法》系列课程的学习心得。
针孔模型与透镜
针孔摄像机实现了三维点到二维点的映射,下图中f表示焦距,o表示光圈(针孔,摄像机中心)
根据相似三角形
随着光圈尺寸的缩小,成像效果越来越清晰,但是到达胶片的光线变少,成像效果越来越暗,因此,增加透镜,将多条光线聚焦到胶片上,增加了照片的亮度。
但是,透镜问题会带来径向畸变。径向畸变分为枕型畸变和桶型畸变。枕型畸变(左图)像点相对于理想像点沿径向向外偏移,远离中心。桶形畸变(右图)像点相对于理想像点沿径向向中心靠拢。
摄像机几何
摄像机几何描述了如何将三维点映射到二维点,其中需要考虑偏置和单位变换。
偏置是指像素坐标原点相对于光心坐标有一个偏移量。像素坐标原点一般取在图片的一角。
单位变换是将三维空间中的单位:m,转换为像素坐标中的单位:像素。f的单位为m,k和l的单位为pixel/m。
就可以得到这样一个映射关系:
再将欧式坐标映射为齐次坐标,转化为矩阵形式,可以得到:
考虑摄像机偏斜问题,实际上的映射关系为:
定义摄像机内参数矩阵K,K有5个DOF。
实际上,仅仅使用摄像机坐标系描述三维物体的空间信息并不方便,需要考虑进一步的映射,即将世界坐标系下的点映射到摄像机坐标系,再将摄像机坐标系的点映射至像素坐标系中。
M共有5+6=11个DOF。(疑问,为什么最后一个元素是1)
其他摄像机模型
弱透视投影摄像机
在欧式坐标下,像素坐标与3D坐标只差一个放大系数