700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > kalibr 进行相机单目 双目标定全流程

kalibr 进行相机单目 双目标定全流程

时间:2022-11-14 08:10:51

相关推荐

kalibr 进行相机单目 双目标定全流程

一、部署kalibr环境(docker)步骤:

参考链接:Installation · ethz-asl/kalibr Wiki · GitHub

Docker操作知识:Docker攻略:从安装到入门到进阶 | Dockerfile调优 | 镜像分层 | 容器生命周期/5种网络模式 |跨宿主机通信_血煞长虹的博客-CSDN博客

部署kalibr步骤如下:

1.拉取镜像

2.创建container

3.进入container

docker start $containerIDdocker attach $containerID

运行以后即可进入container内部

二、制作自己的标定数据

1.使用标定板采集N个摄像头的视频标定数据,采集数据时要注意:

(1)保证至少两个摄像机能同时拍摄到标定板。

(2)标定板尽可能在各个角度进行移动,需保持光线良好,避免反光。

(3)相邻相机的距离不能太远,否则两台相机同时捕捉到有效画面较少。

(3)拍摄时,标定板的角度请尽量避免较大程度的倾斜.

2.将采集好的视频数据进行对齐,并输出成图片,要注意:

(1)如果使用高帧率的摄像机,在裁剪视频时务必谨慎使用剪辑工具,原因是:大部分剪辑工具导出的视频帧率有限。

(2)对于使用高帧率摄影机采集的数据,转成图片时要进行适当的下采样。否则,在后续制作bag包时文件会很大。若使用五个相机,每个相机3400张图像左右,生成bag文件大小约为33GB。

3.制作数据文件夹,要注意图像的摆放形式以及命名格式:

(1)要求:

1.每个摄像头的图片需时间对齐且数量相同;

2.图片的命名为19位时间戳,不同相机的时间戳要保证对应相同。

(2)数据命名结构

其中imu.csv为可选项目

时间戳命名示例:

timestamp_19 = 1629888091000000000image_name="{}.png".format(int(timestamp_19+1e+9* saved_image_num))

三、开始相机标定:

1.进入container,运行以下指令

source /catkin_ws/devel/setup.bash

2.运行以下指令生成bag文件,--folder 为制作好的数据路径

rosrun kalibr kalibr_bagcreater --folder datset-dir/. --output-bag awsome.bag

可用rosbag info $filename查看生成好的文件

3.开始多目相机标定

参考链接:

Multiple camera calibration · ethz-asl/kalibr Wiki · GitHub

具体步骤如下:

(1)准备好上一步生成的bag文件。

(2)制作一个target.yaml文件,该文件存储了标定板的相关信息。如果标定板使用官方的直接下载对应的yaml文件即可,如果是自己命令行生成的则需要自己写一个target.yaml文件)。

(3)根据自己实际情况选择参数并输入命令。本文使用的是5个摄像头,april的官方yaml文件,运行命令为:(若要进行单个相机内参估计,输入一个相机即可)

4.完成标定后会得到yaml、txt、pdf三个文件,结果解析请查看官方文档。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。