使用kalibr标定时要注意什么

发布时间:2021-07-20 10:07:27 作者:chen
来源:亿速云 阅读:330

这篇文章主要介绍“使用kalibr标定时要注意什么”,在日常操作中,相信很多人在使用kalibr标定时要注意什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”使用kalibr标定时要注意什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1. 模型的选择

这里主要是总结在各种issue中大家提出的使用kalibr中模型选择的问题,以及各种模型之间利弊;

pinhole-radtan: 最常见的针孔模型+布朗畸变模型, 适用于大多数的角度小于120的相机, 其中畸变参数包含了径向畸变k1,k2和切向畸变p1,p2; 如果相机的畸变情况不是很严重,这个模型基本都可以; 比如我的DOV为150的相机, 也可以用这个且去畸变效果很好;

pinhole-equi:针孔模型+等距畸变模型,也就是KB模型所需要选择的类型,该模型的使用范围也很广,大部分的鱼眼镜头也可以,注意8参数的KB模型的畸变参数为k1,k2,k3,k4,虽然也是四个数,但与前一个模型不同的是,这里只有径向畸变的参数,而没有切向畸变tangential distortion,投影时对应的公式也不同;同时这也是opencv中cv::fisheye使用的模型;

Omni-radtan: 适用于大部分的鱼眼镜头;

ds/eucm: 也是使用于鱼眼镜头,参数更少,更紧凑.但是同样也没有切向畸变;这两个模型的好处就是在精度和速度之间有很好的平衡,比较适用于实时的,基于优化的slam;

对于角度很大的鱼眼相机,如180, 210等,即使模型合适, kalibr也存在初始化错误的可能,因此可以多采集几个ros包试一下;

如果处在选模型阶段,可以先从KB模型开始, 也就是先使用pinhole-equi模型标定一下,检查去畸变效果;

同时需要注意的是虽然KB模型和pinhole-fov模型从理论上可以适用于大于180的鱼眼相机,但是kalibr的中的测试都是基于针孔模型, 结果显示这两个模型对大于180度的相机的表现效果并不好; 

角度>180其实可以使用eucm-none进行标定;

2. 标定时注意事项:

采集数据集时尽量保证标定板出现在相机图像的各个角度和各个角落,否则标定结果可信度不高, 对畸变大的相机有可能还会出现初始化错误等提示;

kalibr推荐的帧率为4HZ, 这里有一个降帧的命令:

rosrun topic_tools throttle messages old_topic 4.0 new_topic

用这个命令可以将原本的rosbag中的old_topic降帧成4hz的new_topic, 然后边rosbag play, 边rosbag record new_topic 即可;

到此,关于“使用kalibr标定时要注意什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

推荐阅读:
  1. Mockito 2 关于打标(stubbing)
  2. 使用redis要注意什么

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

上一篇:Python的简介及特点

下一篇:怎么修改gazebo物理参数

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》