文章目录

  • 1. 论文总述
  • 2. Scaramuzza模型的不足
  • 3. Mei畸变模型参数的选择
  • 4. 改进的Unified Projection Model
    • 4.1 3D -> 2D(0<ξ<1)
    • 4.2 3D -> 2D(1<ξ)
    • 4.3 2D -> 3D
  • 5. ξ和η的物理含义以及mirror equations
  • 6. Validity for fish-eye lens
  • 7. 完整的Mei模型
  • 8. Mei用于wide-angle sensor的实验结果
  • 参考文献

本博客主要是从Mei的论文出发,详细介绍该模型。

参考论文:Single View Point Omnidirectional Camera Calibration from Planar Grids

1. 论文总述

本论文主要是介绍了一种实用的针对全向相机的实用的内参模型Mei,并不完全等于UCM+radtan,因为除了radtan畸变模型,作者还定义了一个更加泛化的内参矩阵K,fx对应fx*η=γ(同fy)。

Mei模型的提出主要是建模catadioptric相机(即camera+mirror),但作者也证明了可以近似dioptric鱼眼相机(fisheye),而且笔者做实验也发现针对鱼眼相机,Mei模型的标定结果确实也很稳定,如果标定数据采集的规范,重投影误差基本都在0.5以下。

本论文的重点不在于内参模型(基本都是建立在前人的工作),而是基于此模型提出一个方便、稳定的标定算法,只用棋盘格就可以完成标定。

注:Mei模型的复现请看参考文献小节给出的链接。

This paper presents a flexible approach for calibrating
omnidirectional single viewpoint sensors from planar
grids.
Current approaches in the field are either based on theoretical properties and do not take into account important factors such as misalignment
or camera-lens distortion or over-parametrised which leads to
minimisation problems that are difficult to solve. Recent techniques
based on polynomial approximations lead to impractical
calibration methods. Our model is based on an exact theoretical
projection function to which we add well identified parameters
to model real-world errors. This leads to a full methodology
from the initialisation of the intrinsic parameters to the general
calibration. We also discuss the validity of the approach for fisheye
and spherical models.

注:

  • Mei模型的参数都有其物理意义
  • 提出Scaramuzza模型不是很实用

2. Scaramuzza模型的不足

  • 映射模型的参数初始值难以获得
  • 在边界处,映射不准

In [10], the authors propose a method relying on a polynomial
approximation of the projection function. With this model,
initial values of the projection function are difficult to obtain
so the user has to select each point of the calibration grid
independently for the calibration.
We will show that by using
an exact model to which we add small errors, only four points need to be selected for each calibration grid. The parameters that appear in the proposed model can also be easily interpreted in terms of the optical quality of the sensor.

We may note that polynomial approximations are often
valid only locally and badly approximate the projection
around the edges. This bias will have a negative impact for
example when estimating the motion of the camera using a
maximum likelihood estimation under the assumption of a
Gaussian distribution of the error.

3. Mei畸变模型参数的选择

  • 太多的参数容易有过多的局部最优,最小化困难
  • Mei模型只建模Fig2所示的畸变

Figure 1 presents the different parameters that could be
taken into account for example in the case of a parabolic mirror
with a telecentric lens. Gonzalez-Barbosa [5] describes
a calibration method to estimate all of these parameters.
However too many parameters make the equations difficult
to minimise because of the numerous local minima, the need
for a lot of data and the numerical instability introduced into
the Jacobian. We decided to reduce the number of parameters
by making the assumption that the errors due to the assembly
of the system are small (Fig. 2).

4. 改进的Unified Projection Model

4.1 3D -> 2D(0<ξ<1)

  • Paper中的Fig4图示有点小问题,归一化的图像平面πmu 到Cp 的距离为1,这个球是单位球,半径为1,所以πmu应该在球里
  • 通过引入ξ,将原点拉到Cp,入射光线与Z轴的夹角变小,从而可以映射更大的fov
  • Catadioptric相机模型等效为UCM的证明可以去看Paper:A Unifying Theory for Central Panoramic Systems and Practical Implications
  • Catadioptric的ξ一般小于1
  • Zs + ξ 需要大于零,所以Zs < - ξ的不能被映射到πmu
  • 提出了更加通用的内参K矩阵,所以这里的fx(即:γ)和pinhole模型的fx并不对应

4.2 3D -> 2D(1<ξ)

  • 笔者实验时用Mei模型标定fisheye(纯折射dioptric)或者广角相机时,算出来的ξ一般大于1
  • Q为Cp出发射线与单位球的切点
  • 由相似三角形可以证明:Q在Cm下的Z坐标为-1 / ξ,所以Zs坐标小于-1 / ξ都不能被映射到归一化图像平面πmu上,不过对于190度的相机已经够用了

4.3 2D -> 3D

  • 这里的(x,y)为归一化图像坐标系下的,并不是像素坐标系下的,h-1 表示映射到单位球面
  • camodocal就是这么复现的

5. ξ和η的物理含义以及mirror equations


6. Validity for fish-eye lens

  • 证明:Mei对鱼眼相机也是有效的
  • 文献[13]已经从理论上证明了UCM模型也可以建模fish-eye lens的相机,然后作者在这里又推导了当ξ = 1时,得出的md 可以 转化为ρd,即文献[2]的division模型
  • 笔者在做实验时,用Mei模型来建模鱼眼相机得出的重投影误差是小于0.5的,是可以实际应用的
  • [13]文献:X. Ying and Z. Hu. Can we consider central catadioptric cameras and fisheye cameras within a unified imaging model ? In ECCV, 2004.
  • 实验发现:mei对fov 100的广角相机不太适用,可能是由于算法优化时初值的设定ξ = 1,实际ξ都大于4,导致算法优化困难

7. 完整的Mei模型

  • 在第4节的基础上加入了radtan(径向、切向畸变)
  • Paper第四节重点讲了这些参数的初始化,这部分建议去看paper

8. Mei用于wide-angle sensor的实验结果

  • fov约为70度
  • 这里的ξ 没办法简单的解释,因为它并没有mirror

The calibration was also tested on a wide-angle sensor
(∼ 70度) on 21 images of resolution 320×240 . The grid used
was the same as in the hyperbolic case. For the wide-angle
sensor, there is no border so the center of the image was
taken to initialise the principal point. Table VI summarises
the results. As before, we can see a very slight bias towards
the edges in Figure 12.
The strong change in γ after minimisation is probably due
to the radial distortion and the change in ξ. The value of ξ
does not have a simple interpretation for wide-angle sensors.

参考文献

[1] OpenCV: Omnidirectional Camera Calibration
[2] kalibr
[3] camodocal
[4] Omnidirectional Calibration Matlab Toolbox

相机内参模型Mei/omni-directional详解相关推荐

  1. 相机小孔成像模型(逐步推导详解)

    先搞清楚为什么可以简化成小孔成像模型 相机小孔成像模型推导 原则:先简单后复杂,先理想后实际 [理想情况,相机无畸变] 一.明确四个坐标系:这个是推导的前提! 说明: 1.图像坐标系的坐标原点是成像平 ...

  2. 相机内参模型Scaramuzza/ocam详解

    文章目录 1. 论文总述 2. 全向相机single viewpoint的重要性 3. 以前的全向相机标定 4. 2D --> 3D 5. 3D --> 2D 6. 全向相机去畸变 7. ...

  3. Java内存模型(JMM)详解-可见性volatile

    这里写自定义目录标题 Java内存模型(JMM)详解-可见性 什么是JMM JMM存在的意义 为什么示例demo中不会打印 i 的值 如何解决可见性问题 **深入理解JMM内存模型** JAVA内存模 ...

  4. 从零开始学前端 - 7. CSS盒模型 margin和padding详解

    作者: 她不美却常驻我心 博客地址: https://blog.csdn.net/qq_39506551 微信公众号:老王的前端分享 每篇文章纯属个人经验观点,如有错误疏漏欢迎指正.转载请附带作者信息 ...

  5. 隐马尔可夫模型之Baum-Welch算法详解

    隐马尔可夫模型之Baum-Welch算法详解 前言 在上篇博文中,我们学习了隐马尔可夫模型的概率计算问题和预测问题,但正当要准备理解学习问题时,发现学习问题中需要EM算法的相关知识,因此,上一周转而学 ...

  6. 一文读懂NLP之隐马尔科夫模型(HMM)详解加python实现

    一文读懂NLP之隐马尔科夫模型(HMM)详解加python实现 1 隐马尔科夫模型 1.1 HMM解决的问题 1.2 HMM模型的定义 1.2.1HMM的两个假设 1.2.2 HMM模型 1.3 HM ...

  7. 数据库系统模式(schema)和模型(model)详解

     数据库系统模式(schema)和模型(model)详解 数据(data)是描述事物的符号记录. 模型(Model)是现实世界的抽象. 数据模型(Data Model)是数据特征的抽象,是数据库管 ...

  8. 机器学习——时间序列ARIMA模型(一):差分法详解

    机器学习--时间序列ARIMA模型(一):差分法详解 一.所需数据的性质 平稳性 样本数据需随着时间序列而发生变化,且序列的均值和方差不发生明显变化. 预测出在未来的一段期间内数据顺着现有的" ...

  9. 相机内参模型Kannala-Brandt/fisheye/pinhole+equi详解

    文章目录 1. 论文总述 2. pinhole+radtan无法建模鱼眼相机 3. 内参模型 3.1 Radially Symmetric Model 3.2 Full Model 3.3 affin ...

最新文章

  1. 腾讯正式进军电商:小鹅拼拼,出自微信
  2. 小程序[渲染层网络层错误] failed to load image_游戏中水的渲染技术
  3. 苹果发布会邀请函被玩坏:神似桂林西瓜霜
  4. 计算机三大科学理论是,近代科学最伟大的三大理论:进化论、量子论和计算论...
  5. python mysql删除数据_Python MySQL-删除数据
  6. 韦东山linux学习之ubuntu 9.10 软件源 问题
  7. Windows下PHP安装配置
  8. centos7.3 安装ansible
  9. ERStudio 8.0 连接Oracle进行反向工程
  10. u盘内存怎么测试软件,怎么使用U盘启动盘进行内存测试?电脑内存测试工具使用方法...
  11. Nifi 数据流整合工具
  12. 鸿雁召开智能家居新品发布会,智能面板等多款全屋智能新品亮相
  13. 电脑账户服务器未能登录拒绝访问,win7系统开机提示服务未能登入拒绝访问的解决方法...
  14. 人类会被人工智能打败吗?
  15. Tableau可视化项目
  16. STM32+MLX90614红外测温
  17. 有n个结构体变量,内含学生学号、姓名和3门课程的成绩。要求输出平均成绩最高的学生的信息(包括学号、姓名、3门课程成绩和平均成绩)。
  18. 拉格朗日四平方和定理c语言,拉格朗日四平方定理的证明
  19. 工匠思维胜过激情思维
  20. python自动化运维与开发岗位_新课 | 运维开发工程师必学的Python自动化运维课程,学完后悔没早点学!...

热门文章

  1. 树莓派 raspbian 系统常用命令
  2. 数值越界mysql_Mysql数据读取越界问题
  3. oracle子查询引用外表_Oracle子查询(嵌套查询)
  4. 9.20-9.30面试总结
  5. [ACNOI2022]我不会GF啊
  6. 今日金融词汇---为什么股票前面会有个DR
  7. 计算机网络的产生与发展
  8. 安卓自动滑屏脚本_定时滑动屏幕工具脚本下载-定时上下滑动屏幕工具(手机模拟)软件下载v3.1-单游网...
  9. nginx访问服务器未响应,nginx与后端的超时设置测试
  10. BZOJ4706 B君的多边形 (超级卡特兰数/施罗德数)