视觉里程表,相机参数

我正在研究视觉测距法,并观看了Cyrill Stachniss教授的录像,这些录像可作为有关摄影测量I和II的YouTube 2015/16播放列表获得。

首先,如果要创建自己的数据集(例如VO的KITTI数据集或牛津校园数据集),我用相机拍摄的图像的属性应该是什么。 它们只是图像吗?或者,它们是否具有某些特殊属性?也就是说,如何使用单目或立体摄像机创建自己的数据集。

第二,如果我成功创建(必须做!)我自己的数据集,我将如何从图像中获取相机参数?如何从图像中得知外部参数和固有参数?

谢谢。

nashihuabai 回答:视觉里程表,相机参数

要从图像中获取外部参数和固有参数,您必须具有一组形状各异的已知形状的图像。自行完成这项工作并非易事,因为常见的CV库/解决方案具有用于相机校准的内置实用程序(我必须处理OpenCV库和Matlab CV包,它们通常是相同的)。黑白棋盘或其他简单的几何图案。

然后使用已知的相机参数,您可以操纵自己的数据集。

Matlab camera calibration reference

OpenCV camera calibration tutorials

,

如果要使用数据集对某些视觉测距算法进行基准测试,则肯定需要相机的固有参数及其姿势。

  • 正如@ f4f回答中所述,固有校准通常是通过倾斜和旋转棋盘的某些图像来完成的(请参见opencv)。 这将为您提供参数,例如焦距,光学中心以及失真系数,这些参数可能取决于您的相机。

  • 获取每帧相机的姿势(即外部参数)可能会比较棘手。通常,使用来自其他传感器(跟踪系统,IMU,GPS等)的信息来获取地面真相。您可以查看:TUM RGB-D SLAM Dataset和相应的paper。他们解释了如何使用运动捕捉系统获取地面真实姿势。

  • 记录摄像机帧的获取时间也很有趣(每帧一个时间戳)。

创建自己的视觉里程表数据集并非易事。如果您只是想创建一个“有趣的”数据集或进行一些实验,并且只有一台可用的相机,我想您可以尝试一些已知有效的方法(例如ORB-SLAM)。这将为您提供近似的相机姿势(您可能需要手动修复未知比例)。

本文链接:https://www.f2er.com/3170082.html

大家都在问