Abstract

在线标定很重要.

但是目前的方法都计算量都很高.

我们的方案不需要标定板之类的东西.

我们的方案不需要假设相机有重合的FOV,也不需要任何的初始猜测. 当相机模组行驶穿过之前建过地图的区域, 我们就用地图和同步的相机图像匹配. 最后我们找到相机位姿和内点2D-3D匹配.

1. Introduction

机器人系统的大量普及会引起一系列本质的问题--关于long-term autonomy of robotic systems.

我们提出Infrastructure-Based Calibration.

标定只有在相机内/外参允许2D点和3D点准确关联的时候才准确.

环境因素例如温度变化, 震动等会让相机外参比内参比起起始值偏移容易的多.

这这篇文章中, 我们集中估计相机外参, 然后假设相机内参是常数.

我们展现了一个自标定算法对于特殊运动的需求来bootstrap这个过程


SLAM-based的方法虽然不需要一个先验地图, 但是需要一个帧间匹配的穷举搜索, 还需要回环检测(有时候会失效).


通过基于先验地图, 我们移除了寻找帧间匹配和回环的需求, 我们也不需要做全局BA. 我们方案更加简单, 鲁邦, 计算更加轻量.

"The world is a giant chessboard."

2. Platform

我们用Kannala-Brandt camera model. 有8个参数, \(k_1, k_2, k_3, k_4, m_u, m_v, u_0, v_0\)
\[
\begin{aligned} \theta &=\arccos \frac{Z}{\|P\|} \\ \phi &=\arctan \frac{Y}{X} \\ r(\theta) &=\theta+k_{1} \theta^{3}+k_{2} \theta^{5}+k_{3} \theta^{7}+k_{4} \theta^{9} \end{aligned}
\]

\[
\begin{array}{l}{\left[\begin{array}{l}{x} \\ {y}\end{array}\right]=r(\theta)\left[\begin{array}{l}{\cos \phi} \\ {\sin \phi}\end{array}\right]} \\ {\left[\begin{array}{l}{u} \\ {v} \\ {1}\end{array}\right]=\left[\begin{array}{ccc}{m_{u}} & {0} & {u_{0}} \\ {0} & {m_{v}} & {v_{0}} \\ {0} & {0} & {1}\end{array}\right]\left[\begin{array}{l}{x} \\ {y} \\ {1}\end{array}\right]}\end{array}
\]

这里, \(r(\theta)\)是图像点和主点在归一化平面的距离.

当然, 给定图像点, 我们也可以计算对应点光线.
\[
\left[\begin{array}{l}{x} \\ {y} \\ {1}\end{array}\right]=\left[\begin{array}{ccc}{m_{u}} & {0} & {u_{0}} \\ {0} & {m_{v}} & {v_{0}} \\ {0} & {0} & {1}\end{array}\right]^{-1}\left[\begin{array}{l}{u} \\ {v} \\ {1}\end{array}\right]
\]

\[
\begin{aligned} d &=\sqrt{x^{2}+y^{2}} \\ &=\theta+k_{1} \theta^{3}+k_{2} \theta^{5}+k_{3} \theta^{7}+k_{4} \theta^{9} \end{aligned}
\]

\[
\begin{aligned} \phi &=\left\{\begin{array}{ll}{0} & {\text { if } d=0} \\ {\arctan \frac{y}{x}} & {\text { otherwise }}\end{array}\right.\\\left[\begin{array}{l}{X} \\ {Y} \\ {Z}\end{array}\right] &=\left[\begin{array}{c}{\sin \theta \cos \phi} \\ {\sin \theta \sin \phi} \\ {\cos \theta}\end{array}\right] \end{aligned}
\]

初始的时候, 我们设置
\[
k_{1}=k_{2}=k_{3}=k_{4}=0, m_{u}=m_{v}=f
\]

\[
u_{0}=\frac{w}{2} \text { and } v_{0}=\frac{h}{2}
\]


4. Infrastructure-Based Calibration

我们用一个标定已经进行过的来建立一个稀疏特征图.

非线性优化步骤优化了camera-rig位姿和外参位姿.

A. Building A Sparse Feature Map

B. Visual Localization

视觉定位用图像和map作为输入.

  • 对于每一张图, 我们用词典书来寻找n个最像的图
  • 2D-2D特征匹配
  • 用EPnP. 如果内点数量不够(>25)的话, 我们认为这个相机位姿是未知的.
  • 我们在下面两个条件被满足的时候会存储这个相机位姿:
    • 最少两个相机位姿被找到
    • 当前相机位姿和之前的相机位姿

C. Inferring Camera Extrinsics and Rig Poses

D. Non-Linear Refinement

优化相机外参和rig poses.
\[
\min _{P_{i}, T_{c}} \sum_{c, i, p} \rho\left(\left\|\pi\left(C_{c}, P_{i}, T_{c}, X_{p}\right)-p_{c i p}\right\|^{2}\right)
\]
\(\pi\): projection fuction, \(X_p\)是点被camera \(c\)看到, \(C_c\)相机内参, \(T_c\): 外参.

\(p_{cip}\): 图像坐标.

E. Hand-Eye Calibration

如果有里程计的话, 我们也可以选择获得rig-odometry transform, 然后camera-odometry transform.

我们计算rig-odometry transform通过手眼标定问题的最小二乘方法.

5. Implementation

我们用了SURF来检测和计算描述子.

用了DBoW2来做词典树.

非线性优化用ceres写的.

6. Experiments and Results

我们在室内的停车厂和室外的市区场景都测了,

论文阅读: Infrastructure-Based Calibration of a Multi-Camera Rig的更多相关文章

  1. 论文阅读笔记 Word Embeddings A Survey

    论文阅读笔记 Word Embeddings A Survey 收获 Word Embedding 的定义 dense, distributed, fixed-length word vectors, ...

  2. [论文阅读]阿里DIEN深度兴趣进化网络之总体解读

    [论文阅读]阿里DIEN深度兴趣进化网络之总体解读 目录 [论文阅读]阿里DIEN深度兴趣进化网络之总体解读 0x00 摘要 0x01论文概要 1.1 文章信息 1.2 基本观点 1.2.1 DIN的 ...

  3. 【论文阅读】Motion Planning through policy search

    想着CSDN还是不适合做论文类的笔记,那里就当做技术/系统笔记区,博客园就专心搞看论文的笔记和一些想法好了,[]以后中框号中间的都算作是自己的内心OS 有时候可能是问题,有时候可能是自问自答,毕竟是笔 ...

  4. 论文阅读(Xiang Bai——【PAMI2017】An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition)

    白翔的CRNN论文阅读 1.  论文题目 Xiang Bai--[PAMI2017]An End-to-End Trainable Neural Network for Image-based Seq ...

  5. BITED数学建模七日谈之三:怎样进行论文阅读

    前两天,我和大家谈了如何阅读教材和备战数模比赛应该积累的内容,本文进入到数学建模七日谈第三天:怎样进行论文阅读. 大家也许看过大量的数学模型的书籍,学过很多相关的课程,但是若没有真刀真枪地看过论文,进 ...

  6. 论文阅读笔记 - YARN : Architecture of Next Generation Apache Hadoop MapReduceFramework

    作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 更多论文阅读笔记 http:/ ...

  7. 论文阅读笔记 - Mesos: A Platform for Fine-Grained ResourceSharing in the Data Center

    作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 更多论文阅读笔记 http:/ ...

  8. Deep Reinforcement Learning for Dialogue Generation 论文阅读

    本文来自李纪为博士的论文 Deep Reinforcement Learning for Dialogue Generation. 1,概述 当前在闲聊机器人中的主要技术框架都是seq2seq模型.但 ...

  9. 论文阅读笔记六:FCN:Fully Convolutional Networks for Semantic Segmentation(CVPR2015)

    今天来看一看一个比较经典的语义分割网络,那就是FCN,全称如题,原英文论文网址:https://people.eecs.berkeley.edu/~jonlong/long_shelhamer_fcn ...

  10. 论文阅读笔记 Improved Word Representation Learning with Sememes

    论文阅读笔记 Improved Word Representation Learning with Sememes 一句话概括本文工作 使用词汇资源--知网--来提升词嵌入的表征能力,并提出了三种基于 ...

随机推荐

  1. Linux软件安装——软件包

    Linux软件安装——软件包 摘要:本文主要学习了Linux下软件安装的相关知识. 软件包 简介 Linux下的软件包众多,且几乎都是经GPL授权.免费开源(无偿公开源代码)的.这意味着如果你具备修改 ...

  2. 深入浅出《设计模式》之简单工厂模式(C++)

    前言 模式介绍 简单工厂模式其实并不属于GoF23(23种设计模式),更类似工厂模式的一种变型.其定义是可以根据参数的不同返回不同类的实例.简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实 ...

  3. 【转】gradle for android 第一篇

    正如大家所见,这是本英文书,而由于国内的gradle翻译资料不全,所以特次开辟专栏,翻译gradle for android这本书,同时添加自己的心得体会以及在实际工作上的实战,希望大家能够喜欢. 如 ...

  4. LeeCode——Combine Two Tables

    Table: Person +-------------+---------+ | Column Name | Type | +-------------+---------+ | PersonId ...

  5. [基础]Deep Learning的基础概念

    目录 DNN CNN DNN VS CNN Example 卷积的好处why convolution? DCNN 卷积核移动的步长 stride 激活函数 active function 通道 cha ...

  6. javascript高级实战学习

    学习目标: - 理解面向对象开发思想 - 掌握 JavaScript 面向对象开发相关模式 - 掌握在 JavaScript 中使用正则表达式 - typora-copy-images-to medi ...

  7. pip安装指定版本的程序的命令

    pip安装指定版本的程序的命令 pip install -i https://pypi.douban.com/simple/ django==1.10.3 或者 pip install django= ...

  8. day17_7.19包与logging模块,深浅拷贝

    一.包 在模块的定义里,模块就是方法的集合,可以将一些常用的方法封装到一个py文件中,通过调用使用,而且,其中的表现形式也有以包的形式导入. 其实,包就是一系列模块的结合体,表示形式就是一个文件夹,在 ...

  9. 04-人脸识别-triplets loss 的解释(转载)

    转载至: https://blog.csdn.net/tangwei2014/article/details/46788025 下面是内容: [前言] 最近,learning to rank 的思想逐 ...

  10. TCP协议的粘包问题(八)

    一.什么是粘包 在socket缓冲区和数据的传递过程介绍中,可以看到数据的接收和发送是无关的,read()/recv() 函数不管数据发送了多少次,都会尽可能多的接收数据.也就是说,read()/re ...