D435i多传感器标定实战:RGB摄像头精准标定全流程解析
1. 为什么需要标定D435i的RGB摄像头刚拿到D435i相机的朋友可能会问出厂时厂家不是已经标定好了吗为什么还要自己折腾这个问题我当初也困惑过。实际使用中发现厂家标定是平均值而每个镜头在安装时都存在细微差异。就像配眼镜虽然镜片有标准度数但每个人瞳距不同需要个性化调整。标定的本质就是建立二维像素点和三维空间点的数学对应关系。D435i的RGB摄像头采用pinhole-radtan模型这个模型考虑了径向畸变和切向畸变。我实测过未标定的摄像头在距离1米处会产生3-5厘米的测量误差这对需要精确测量的机器人应用简直是灾难。标定过程中最关键的三个参数是内参intrinsics焦距(fx,fy)和光学中心(cx,cy)畸变系数distortion_coeffsk1,k2,p1,p2外参extrinsics多传感器间的相对位姿RGB摄像头标定不涉及2. 准备工作硬件与软件环境搭建2.1 硬件准备清单我建议准备这些物品D435i相机确保固件版本≥5.12.0查看命令rs-fw-update -l棋盘格标定板推荐使用5x8格内部角点数为4x7格子尺寸建议45mm。我试过不同尺寸这个大小在1米距离下视野占比最合适稳定支架我用的是带万向节的相机三脚架避免手持抖动光照环境均匀的室内光避免强反光。曾经在阳光下标定导致提取角点失败2.2 软件环境配置推荐使用Ubuntu 18.04/20.04 ROS Melodic/Noetic组合。安装关键组件sudo apt-get install ros-$ROS_DISTRO-realsense2-camera sudo apt-get install ros-$ROS_DISTRO-kalibr pip install pyyaml rospkg numpy创建标定数据目录这是我踩坑后的最佳实践路径mkdir -p ~/calib_data/camera_calib cd ~/calib_data/camera_calib3. 标定板配置与数据采集技巧3.1 标定板参数文件详解创建checkerboard.yaml时要注意这些细节target_type: checkerboard targetCols: 5 # 不是格子数是内部角点数(格子数-1) targetRows: 8 rowSpacingMeters: 0.045 # 实际测量值用游标卡尺精确到0.1mm colSpacingMeters: 0.045常见错误把格子数当成targetCols正确应该是角点数尺寸单位用错米制单位标定板打印时有缩放建议用PDF版本3.2 数据采集实战心得启动相机节点的正确姿势roslaunch realsense2_camera rs_camera.launch \ enable_color:true \ enable_depth:false # 标定RGB时关闭深度流降频采集命令的隐藏技巧rosrun topic_tools throttle messages /camera/color/image_raw 4.0 /color为什么要用4Hz太高频率会导致画面变化太小太低会延长采集时间。我测试过2-10Hz4Hz最平衡。采集时的六个黄金角度正对标定板基线左倾斜30度右倾斜30度上仰20度下俯20度旋转45度每个姿势保持2-3秒总共采集60-80帧即可。我习惯用rosbag录制90秒rosbag record -O camd435i /color4. 标定执行与结果分析4.1 标定命令的隐藏参数基础命令kalibr_calibrate_cameras \ --target checkerboard.yaml \ --bag camd435i.bag \ --models pinhole-radtan \ --topics /color高级参数建议--show-extraction实时显示角点检测首次建议开启--approx-sync 0.04时间容差40ms多传感器时需要--rep-err 0.2重投影误差阈值单位像素4.2 解读标定结果文件camchain-camd435i.yaml中的关键信息cam0: camera_model: pinhole distortion_coeffs: [0.162, -0.238, -0.004, -0.002] # k1,k2,p1,p2 intrinsics: [611.18, 612.08, 314.50, 236.82] # fx,fy,cx,cy健康指标判断重投影误差0.3像素优秀fx≈fy说明像素是正方形cx≈width/2, cy≈height/2说明光学中心居中|k1|0.5畸变在合理范围遇到标定失败时我通常会检查标定板是否完全显示确认yaml文件参数正确尝试减少采集帧数有时某些帧角点检测不准调整光照条件重新采集标定完成后建议用rviz实时观察校正效果rosrun image_view image_view image:/camera/color/image_rect_color
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2439018.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!