Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Computer vision 视觉里程计、摄像机参数_Computer Vision_Camera Calibration_Slam_Kitti - Fatal编程技术网

Computer vision 视觉里程计、摄像机参数

Computer vision 视觉里程计、摄像机参数,computer-vision,camera-calibration,slam,kitti,Computer Vision,Camera Calibration,Slam,Kitti,我正在学习视觉里程计,并观看了Cyrill Stachniss教授的视频记录,这些视频记录可在YouTube 2015/16播放列表中找到,内容涉及摄影测量I&II 首先,如果我想创建自己的数据集(如用于VO的KITTI数据集或牛津校园数据集),我用相机拍摄的图像的属性应该是什么。 它们只是图像吗?或者,它们有一些特殊的属性吗?也就是说,如何使用单目或立体相机创建自己的数据集 谢谢。要从图像中获取外部和内部参数,您必须拥有一组来自不同视图的已知形状的图像。这不是一项简单的任务,你可以自己完成,因

我正在学习视觉里程计,并观看了Cyrill Stachniss教授的视频记录,这些视频记录可在YouTube 2015/16播放列表中找到,内容涉及摄影测量I&II

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


谢谢。

要从图像中获取外部和内部参数,您必须拥有一组来自不同视图的已知形状的图像。这不是一项简单的任务,你可以自己完成,因为普通的CV库/解决方案有一个内置的摄像机校准实用程序(我必须处理OpenCV库和Matlab CV包,它们通常是相同的)。通常是用黑白棋盘或其他简单的几何图案来完成

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


要从图像中获取外部和内部参数,必须从不同视图中获得一组已知形状的图像。这不是一项简单的任务,你可以自己完成,因为普通的CV库/解决方案有一个内置的摄像机校准实用程序(我必须处理OpenCV库和Matlab CV包,它们通常是相同的)。通常是用黑白棋盘或其他简单的几何图案来完成

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


如果您想用数据集对一些视觉里程计算法进行基准测试,您肯定需要相机的固有参数以及姿势

  • 正如@f4f answer中所述,内部校准通常是通过倾斜和旋转棋盘的一些图像来完成的(请参阅)。 这将为您提供参数,如焦距、光学中心以及畸变系数,这些参数可能很重要,具体取决于您的相机

  • 在每一帧获取相机的姿势(即外部参数)可能更为棘手。通常情况下,地面实况是使用来自其他传感器(跟踪系统、IMU、GPS等)的信息获得的。你可以看看:和相应的。他们解释了如何使用运动捕捉系统获得地面真实姿势

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


创建自己的视觉里程计数据集并不是一件小事。如果你只是想创建一个数据集“为了好玩”或者做一些实验,如果你只有一个可用的相机,我想说你可以尝试一些已知工作良好的方法(比如ORB-SLAM)。这将为您提供相机姿势的良好近似值(您可能需要手动修复未知比例)。

如果您想使用数据集对一些视觉里程计算法进行基准测试,您肯定需要相机的固有参数及其姿势

  • 正如@f4f answer中所述,内部校准通常是通过倾斜和旋转棋盘的一些图像来完成的(请参阅)。 这将为您提供参数,如焦距、光学中心以及畸变系数,这些参数可能很重要,具体取决于您的相机

  • 在每一帧获取相机的姿势(即外部参数)可能更为棘手。通常情况下,地面实况是使用来自其他传感器(跟踪系统、IMU、GPS等)的信息获得的。你可以看看:和相应的。他们解释了如何使用运动捕捉系统获得地面真实姿势

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


创建自己的视觉里程计数据集并不是一件小事。如果你只是想创建一个数据集“为了好玩”或者做一些实验,如果你只有一个可用的相机,我想说你可以尝试一些已知工作良好的方法(比如ORB-SLAM)。这将为您提供相机姿势的良好近似值(您可能需要手动修复未知比例)。

也就是说,如果我想获得相机的内部参数,我是否应该使用棋盘格图片作为已知图形?然后这些参数与我的所有图像(无论它们是什么)都是相同的。我是真的吗@但是,我不明白如何获得外部参数。我知道外部参数是旋转和平移矩阵。(我将使用matlab进行视觉里程测量。)我找到了一个视觉里程测量的代码示例。它使用KITTI数据集,代码是LUT(查找表)。那是什么?真的很抱歉我愚蠢的问题,但是,我必须尽快理解这个话题。我看了,看了又看,看了又看,看了又看。但是,你的回答对我更有帮助。谢谢你们,非常感谢你们两位@是的,同一台相机的内部参数保持不变,因此您只需校准一次。也就是说,如果我想获得相机的内部参数,我是否应该使用棋盘格图片作为已知图形?然后这些参数与我的所有图像(无论它们是什么)都是相同的。我是真的吗@但是,我不明白如何获得外部参数。我知道外部参数是旋转和平移矩阵。(我将使用matlab进行视觉里程测量。)我找到了一个视觉里程测量的代码示例。它使用KITTI数据集,代码是LUT(查找表)。那是什么?真的很抱歉我愚蠢的问题,但是,我必须尽快理解这个话题。我看了,看了又看,看了又看,看了又看。但是,你的回答对我更有帮助。谢谢你们,非常感谢你们两位@是的,同一个摄像头的内部参数保持不变,因此您必须校准br