SLAM学习笔记(三)相机模型和畸变模型
1、在SLAM领域,常见到的统一投影模型(Unified Projection Model/MEI Model)同样融合了全向模型,适用于各种畸变校正的场景。这一模型不仅支持鱼眼相机,也能处理非鱼眼相机。而畸变校正是其中的重要环节,通过径向畸变和切向畸变模型(radtan畸变模型)来确保图像的真实与清晰。
2、畸变模型引入透镜以改善成像效果,实则造成光线路径变化。径向畸变,指源于透镜形状对成像的影响。针孔模型假设直线投影至像素平面仍保持直线。但实际中,直线图像于图片中扭曲变形,且边缘现象尤为明显。由于透镜实际加工时常呈中心对称,产生的畸变通常呈现径向对称性。径向畸变可划分成两类,关键特性分别聚焦。
3、畸变模型包括径向畸变和切向畸变。径向畸变描述为坐标点沿长度方向的改变,用k系数表示。切向畸变则影响坐标点的切线方向,用p参数表示。张正友标定法同样适用于畸变参数的标定,但仅关注径向畸变。对于双目相机,其数学模型涉及两个相机的视差,假设al和ar之间的距离x,通过相似三角形可得 [公式]。
摄像机模型与标定——相机模型
1、针孔模型 针孔模型是各种相机模型中最简单的一种,它是相机的一个近似线性模型。在相机坐标系下,任一点P(Xc,Yc,Zc)在像平面的投影位置,也就是说,任一点P(Xc,Yc,Zc)的投影点p(x,y)都是OP(即光心(投影中心)与点P(Xc,Yc,Zc)的连线)与像平面的交点如下图。
2、相机标定(或摄像机标定):一句话就是世界坐标到像素坐标的映射,其中世界坐标是人为定义的。相机标定的目的是确定相机的一些参数的值。通常,这些参数可以建立定标板确定的三维坐标系和相机图像坐标系的映射关系,换句话说,你可以用这些参数把一个三维空间中的点映射到图像空间,或者反过来。
3、工业相机标定是根据工业相机模型,由已知特征点的图像和世界坐标求解工业相机模型参数,建立图像点与对应空间点之间的位置关系。相机标定法可分为:传统标定方法、自标定方法。
4、单目相机模型与标定涉及四个关键坐标系:世界坐标系 [公式]、摄像机坐标系 [公式]、图像坐标系 (x, y) 和像素坐标系 (u, v)。首先,从世界坐标系到摄像机坐标系的转换,空间目标点 [公式] 在经过旋转和平移的刚体变换后在摄像机坐标系中表示为 [公式]。
VIO标定(二)广角相机模型
1、鱼眼镜头的畸变模型如Equidistant模型,采用Kannala-Brandt多项式近似,其投影模型为[公式]。而FOV畸变模型的转换关系为[公式]。最后,Unified Projection Model,或者MEI模型,是鱼眼相机中的常见模型,它结合了Omnidirectional相机模型和radtan畸变模型,适用于各类相机,包括非鱼眼相机。
2、“Visual-Inertial Odometry”简称VIO,是一种利用一个或多个相机和一个或多个IMU(惯性测量单元)进行传感器状态测量的技术。这种技术主要用于智能体(如无人机)的特定自由度下的姿态、速度等物理量的测量。
3、在我标定过程中,kalibra标定的结果确实更好,当然这可能跟我采集数据的方式有关。无论如何,kalibra 相对于opencv标定的优点更多,比如 kalibra 使用apriltag 标定板,使得每个标定格子是带 id 的,这样就使得标定过程相机可以只捕捉部分标定板就能完成标定,相机运动可以更任意,更便捷。
4、后端MsckfVio有两个回调函数作为数据入口。静止初始化阶段,前200帧的加速度和角速度求平均,用于计算重力加速度和陀螺仪偏置,标定IMU与世界系的初始夹角。后端代码流程涉及measurementUpdate函数的触发,以及特征观测模型的构建。