前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >代码解读 | VINS_Mono中的鱼眼相机模型

代码解读 | VINS_Mono中的鱼眼相机模型

作者头像
用户1150922
发布2019-10-22 12:05:03
1.9K0
发布2019-10-22 12:05:03
举报
文章被收录于专栏:计算机视觉life计算机视觉life

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/electech6/article/details/101380724

本文作者是计算机视觉life公众号成员蔡量力,由于格式问题部分内容显示可能有问题,更好的阅读体验,请查看原文链接:代码解读 | VINS_Mono中的鱼眼相机模型

VINS_Mono中的鱼眼相机模型

VINS_Mono代码支持的相机包括针孔模型和鱼眼模型相机,针孔模型大家都比较熟悉了,今天向大家介绍一种鱼眼相机模型——MEI模型及其标定方法。

相机模型

投影模型

相比针孔模型可以将3d点直接投影到归一化平面,鱼眼相机则多了一个中间过程:先将3d点投影到单位球面,再将单位球面上的点投影到归一化平面上。废话不多说,请看鱼眼相机投影模型示意图:

file
file

代码解读

VINSMono中相机模型对应代码在/VINS-Mono/cameramodel/src/camera_models/CataCamera.cc文件**liftSphere**()函数中,该函数是将$2d$ 投影到$3d$ 点(单位球面上),首先对$2d$去畸变,然后再投影到单位球面上。

去畸变过程代码如下:

代码语言:javascript
复制
//去畸变过程
     int n = 6;
    Eigen::Vector2d d_u;
    distortion(Eigen::Vector2d(mx_d, my_d), d_u);//得到畸变量
    // Approximate value
    mx_u = mx_d - d_u(0);
    my_u = my_d - d_u(1);

    for (int i = 1; i < n;   i)//循环去畸变多次,使结果更接近真值
    {
        distortion(Eigen::Vector2d(mx_u, my_u), d_u);
        mx_u = mx_d - d_u(0);
        my_u = my_d - d_u(1);
    }

将去畸变后的$2d$ 点投影到归一化球面代码如下:

代码语言:javascript
复制
    double xi = mParameters.xi();
    if (xi == 1.0) 
    {
        lambda = 2.0 / (mx_u * mx_u   my_u * my_u   1.0);
        P << lambda * mx_u, lambda * my_u, lambda - 1.0;
    }
    else
    {
        lambda = (xi   sqrt(1.0   (1.0 - xi * xi) * (mx_u * mx_u   my_u * my_u))) / (1.0   mx_u * mx_u   my_u * my_u);
        P << lambda * mx_u, lambda * my_u, lambda - xi;
    }

其中xi对应公式$(7)$ 中的$ xi$ 。

reference

  1. Mei, C. and P. Rives. Single view point omnidirectional camera calibration from planar grids. in Robotics and Automation, 2007 IEEE International Conference on. 2007. IEEE.
  2. Jamaluddin A Z , Mazhar O , Morel O , et al. Design and calibration of an omni-RGB D camera. International Conference on Ubiquitous Robots & Ambient Intelligence. IEEE, 2016.
  3. Camera Calibration
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • VINS_Mono中的鱼眼相机模型
    • 相机模型
      • 代码解读
        • reference
        相关产品与服务
        图像处理
        图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档