学习Kalibr工具--Camera标定过程

本文详述了如何使用kalibr工具进行单目和双目相机的标定,包括标定板的选择与制作、数据采集、rosbag制作、标定过程以及结果验证。重点介绍了使用aprilgrid标定板,以及调整ROS话题发布频率来优化数据采集。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里介绍用kalibr工具对相机进行单目和双目的标定;
在kalibr中不仅提供了IMU与camera的联合标定工具,也包含了camera的标定工具箱;


- 准备:
安装好kalibr之后,开始准备标定板,在kalibr中适用于三种标定板,分别是:Aprilgrid,Checkerboard和Circlegrid。其中checkboard最常用,但是aprilgird精度最好,因为它可以提供序号信息,能够防止姿态计算时出现跳跃的情况。
- 制作标定板:
这里使用aprilgrid标定板,可以使用kalibr自带工具自定义生成不同大小的标定板,命令行如下:

 kalibr_create_target_pdf --type apriltag --nx [NUM_COLS] --ny [NUM_ROWS] --tsize [TAG_WIDTH_M] --tspace [TAG_SPACING_PERCENT]

将以上命令生成的标定板PDF格式,直接无缩放比例打印出来,就可以直接使用。
- 数据采集:
制作好标定板之后,就可以使用相机对标定板进行拍摄,进行数据采集,相机要从多个角度对标定进行拍摄,这样相机pose要足够多。命令行如下:(若是单目标定,则执行一行)

 rosrun topic_tools throttle messages /mynteye/left/image_raw 4.0 /left
 rosrun topic_tools throttle messages /mynteye/right/image_raw 4.0 /right

命令行中 topic_tools throttle 为ROS中改变topic发布频率的命令,通常设备采集频率为30左右,这会使得标定的图像太多,急剧增加计算量,最好将ros topic降到 4hz左右进行数据采集。要确保图像不要模糊,运动不要太快!

### 使用 Kalibr 进行相机标定 Kalibr 是一种用于多传感器校准的开源工具包,支持单目、双目或多摄像头系统的内部外部参数标定,同时也能够处理惯性测量单元 (IMU) 的外参标定。以下是关于如何使用 Kalibr 工具进行相机标定时的关键步骤技术细节。 #### 安装 Kalibr 依赖项 为了运行 Kalibr,需要安装必要的软件及其依赖项。通常情况下,可以通过以下命令完成安装: ```bash sudo apt-get update sudo apt-get install python-catkin-tools ros-$ROS_DISTRO-cv-bridge ros-$ROS_DISTRO-image-transport ros-$ROS_DISTRO-camera-info-manager ros-$ROS_DISTRO-dynamic-reconfigure git clone https://github.com/ethz-asl/kalibr.git ~/catkin_ws/src/ cd ~/catkin_ws && catkin_make_isolated --install source ~/catkin_ws/devel/setup.bash ``` 上述过程会克隆 Kalibr 仓库并编译所需的 ROS 软件包[^1]。 #### 数据采集 在执行标定之前,需收集足够的图像数据来覆盖整个视野范围。推荐使用棋盘格作为目标图案,并通过移动摄像机拍摄不同角度的画面。对于 IMU 标定,则还需要记录同步的时间戳文件。具体操作可以参考官方文档中的交互式标定应用说明[^2]。 #### 配置与运行标定脚本 一旦获取到足够数量的数据集之后,就可以调用 `kalibr_calibrate_cameras` 命令来进行实际计算: ```bash rosrun kalibr kalibr_calibrate_cameras --target target.yaml --bag data.bag --models pinhole radtan ``` 这里 `-target` 参数指定的是描述棋盘特征点布局的目标配置文件;而 `--bag` 则指向包含录制视频流的消息日志袋(`*.bag`) 文件路径[-3] 。模型选项决定了所采用的具体几何畸变矫正算法类型,在此例子中选择了针孔投影加径向切向失真组合形式(pin-hole + radial-tangential distortion)[^1]. 成功完成后,程序将会把最终的结果保存成 YAML 格式的配置文件(camchain-imucam-rs_cam15hz_imu150hz.yaml),其中包含了所有估计出来的内参矩阵K, 外参R,t以及可能存在的imu相关系数等信息。 #### 结果验证 最后一步是对得到的新参数做进一步检验确认其准确性。这可通过重放原始录像同时叠加虚拟网格线框显示效果实现可视化对比分析目的。 ---
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值