1. 概述
简单介绍如何使用Kalibr工具箱进行针孔模型相机标定的步骤,供自己以后参考,同时希望给大家带来帮助。
2. 准备
- 提前准备好
标签并打印出来,可以使用A4纸打印,然后粘贴在纸板上,注意粘贴时贴紧纸板,确保位于纸张上的点位于同一平面。官方提供了Aprilgrid、棋盘格、圆形板三种格式。本次标定使用April tag,它是一种AR tag,属于编码信息的棋盘格,详细的介绍见文末参考链接。

- 保证包含相机图像的topic能够正常发布信息,使用
rosbag命令提前录制好bag包,实际使用时需要设置bag包的路径,确保每张图片包含标签信息,并不断旋转移动标定板,保证采取到不同位置下的标定板信息。 - 确保已经配置好Kalibr工具箱。如果报错,可以参考
在文件src/Kalibr/Schweizer-Messer/sm_python/python/sm/PlotCollection.py中第8行
from matplotlib.backends.backend_wxagg import NavigationToolbar2Wx as Toolbar
改为
from matplotlib.backends.backend_wx import NavigationToolbar2Wx as Toolbar
这样更改之后需要安装igraph
sudo add-apt-repository ppa:igraph/ppa
sudo apt-get update
sudo apt-get install python-igraph
- 运行Kalibr标定工具,他内部提供了
多IMU标定、相机IMU标定,多相机标定的功能,这里使用多个相机标定命令实现对单个相机的标定。命令格式
kalibr_calibrate_cameras --bag [filename.bag] --topics [TOPIC_0 ... TOPIC_N] --models [MODEL_0 ... MODEL_N] --target [target.yaml]
3. 步骤
- 录制含有标定板图像的bag包,注意需要不断移动标定板。
- 运行Kalibr工具箱中
多相机标定节点程序。仿照之前提到的命令格式
kalibr_calibrate_cameras --bag [filename.bag] --topics [TOPIC_0 ... TOPIC_N] --models [MODEL_0 ... MODEL_N] --target [target.yaml]
我们使用的最终命令
- 使用的bag文件
mdvncalib.bag,里面存储了含有标定板的图像 - 使用标定板规格
apriltag_6_6.yaml,可多种选择 - 相机的畸变模型
pinhole-radtan,其他模型还有omni-radtan - bag文件中相机发布图像的topic话题
/mindvision_image/image_raw
kalibr_calibrate_cameras --target apriltag_6_6.yaml --bag mdvncalib.bag --models pinhole-radtan --topics /mindvision_image/image_raw
- 对于标定板规格yaml文件,有下面

- 对于相机模型,有下面的可选参数
Camera models
Kalibr supports the following projection models:
pinhole camera model (pinhole)
(intrinsics vector: [fu fv pu pv])
omnidirectional camera model (omni)
(intrinsics vector: [xi fu fv pu pv])
double sphere camera model (ds)
(intrinsics vector: [xi alpha fu fv pu pv])
extended unified camera model (eucm)
(intrinsics vector: [alpha beta fu fv pu pv])
The intrinsics vector contains all parameters for the model:
fu, fv: focal-length
pu, pv: principal point
xi: mirror parameter (only omni)
xi, alpha: double sphere model parameters (only ds)
alpha, beta: extended unified model parameters (only eucm)
Distortion models
Kalibr supports the following distortion models:
radial-tangential (radtan)
(distortion_coeffs: [k1 k2 r1 r2])
equidistant (equi)
(distortion_coeffs:

本文介绍如何使用Kalibr工具箱进行针孔模型相机标定。包括准备工作、具体步骤及注意事项,如正确设置tag间距避免标定失败,以及如何解读标定结果。
最低0.47元/天 解锁文章
404





