• 全向相机模型Omnidirectional Camera Model


    1. 定义:

    全向相机(Omnidirectional Camera Model)是在水平面上具有360度视野,或具有覆盖半球或(近似)整个球体的视野的相机。
    在这里插入图片描述
    大多数商用相机都可以描述为针孔相机,通过透视投影进行建模。然而,有些投影系统的几何结构无法使用传统针孔模型来描述,因为成像设备引入了非常高的失真。全向相机系统就是其中一种。
    (1)屈光照相机(Dioptirc cameras)使用成形透镜的组合(例如鱼眼透镜,图1a),并且可以达到甚至大于180度的视野(即略大于半球)。
    (2)折反射相机(Catadioptric cameras)将标准相机与成型镜(如抛物面镜、双曲面镜或椭圆镜)相结合,在水平面上提供360度的视野,在仰角(elevation)上提供100度以上的视野(图1b)。
    (3)多折射相机使用多个具有重叠视场的相机(图1c),迄今为止是唯一提供真正全向(球形)视场的相机。

    2. scaramuzza多项式模型(统一相机模型)

    直观地说,全向相机的模型比标准透视相机稍微复杂一点。该模型确实应该考虑折反射相机的镜面反射,或者鱼眼相机的镜头折射。
    目前有两种全向相机模型标准:
    第一种模型称为中央折反射相机的统一投影模型。优点是提出了一个包括所有三种类型的中央折反射相机的模型,即使用双曲镜、抛物面镜或椭圆镜的相机。这个模型是专门为中央折反射相机开发的,但对鱼眼相机无效。
    第二种模型将中心折反射相机和鱼眼相机统一在一个通用模型下,也称为泰勒模型。它由Scaramuzza等人在2006年开发,其优点是折反射相机和屈光相机都可以用同一个模型来描述,即一个泰勒多项式。这里讲解的是这种模型,参考论文:A Flexible Technique for Accurate Omnidirectional Camera Calibration and Structure from Motion
    在这里插入图片描述
    在图1中显示了折反射相机系统(Catadioptric cameras)的两个参考平面。在屈光情况下,由于没有反射面,u”的符号会颠倒。所有坐标将表示在O放置的坐标系中,z轴与传感器轴对齐。

    2.1 模型推导

    很容易理解上图中(b)(c)两者存在一个仿射变换:
    在这里插入图片描述
    于是有下面完整的模型表达:
    在这里插入图片描述
    Xc是空间中点在相机坐标系的齐次表示;m表示归一化平面上点的坐标(u’‘, v’');g图像投影函数表示Sensor plane(其实就是相机归一化平面) 和 从视点O到场景点X的向量p之间的关系。
    在这里插入图片描述
    在这里插入图片描述
    最终,
    在这里插入图片描述
    从完整的OCAM模型可知,上述模型已经包含了畸变过程,我们要标定的参数为[c, d, e, Ou, Ov, a0, a1, a2, …]。

    3. 标定原理

    在相机标定过程中,多个相机位姿观察到一个平面的标定板(Z = 0)。位姿、观察到的世界点如下表示。
    在这里插入图片描述
    将其带入ocam相机模型得到如下关系:
    在这里插入图片描述

    3.1 求外参

    在这里插入图片描述
    这里重新用 [u, v] 表示 [u’‘, v’'], 归一化平面的图像点坐标。
    求解上式,先消去λ。
    在这里插入图片描述
    由第三个公式可以求出 [r21, r22, r11, r12, t1, t2], 又因为 r1 和 r2 正交,也是可以算出 r31 , r32,t3的求解在下一步骤。
    在这里插入图片描述

    3.2 求内参

    现在,我们将估计值代入前两个方程,并解出相机的本征参数a0, a1, a2, …, aN描述的图像投影函数g。同时,也计算出每个姿态的未知t3。把所有未知数展开,用一个向量表示。
    在这里插入图片描述
    在这里插入图片描述
    一开始把A设置为单位阵,t设置为图像中心。通过优化迭代得到最优值。
    至此,所有要标定的参数都得到了。

    4. 感谢您的阅读!

  • 相关阅读:
    vscode安装svn扩展(windows)
    Linux篇【4】:Git,Gitee,GitHub
    正则表达式
    Android 13.0 framework层系统手势增加上滑手势home事件功能(相当于Home键)
    Acer宏碁掠夺者战斧300笔记本电脑PH315-52工厂模式原装Win10系统安装包 恢复出厂开箱状态 带恢复重置
    windows 使用docker构建镜像
    深入浅出理解串口
    计算机网络_03_tcp/ip四层模型
    [WinError 193] %1 不是有效的 Win32 应用程序
    刷题-买卖股票的最佳时机-C++/java(暴力法,动态规划,单调栈等)
  • 原文地址:https://blog.csdn.net/Walking_roll/article/details/125530290