【SLAM】使用realsense-viewer对Realsense D435进行自校准
本文介绍了如何使用realsense-viewer的自校准工具对RealSense D435相机进行自校准。
阅读本文前,请先参考本站博客【SLAM】ubuntu 18.04 安装 RealSense D435 相机驱动(ARM64/AMD64)安装realsense-viewer工具。
说明
官网:www.intelrealsense.com/self-calibration-for-depth-cameras/;
先前的博客提到过,RealSense D435基于双目视觉方案获取场景中的深度,双目视觉的数学原理中,有一个参数是基线长度,即左右相机之间的距离。为了确保D435相机在使用寿命内能够保持良好的校准和性能,D400系列的相机都采用了激光熔融钢笼(laser-fused steel cages)的设计,保证两颗摄像头稳固的保持在它们的位置上,也就是保证基线长度不出现变化。
不过,再好的设计随着时间的推移也是可能退化的,比如相机暴露在极端的温度循环(突然从低温环境进入高温环境)、过度的冲击(撞到东西了)或者高频振动中,就可能会导致相机出现失真。失真分为两种情况:
- 外部失真:与安装传感器的加强筋的微小弯曲有关;
- 内部失真:传感器镜头位置的微小移动引起;
不管咋样,相机都可能出现失真的情况,这就需要我们对相机的内外参数进行校准,让相机的固件适应相机的失真,从而恢复原本的精度。
使用realsense-viewer进行自校准
解决失真问题,最好的方式还是使用张正友标定法来对相机进行标定,重新获取相机的内外参数,常用的张正友标定法工具是ROS的camera_calibration。为了简化这个问题的处理,intel在realsense-viewer中集成了一个板载校准工具,让我们可以对D435相机进行临时的校准。
将D435相机用USB 3.0数据线链接电脑后,打开realsense-viewer,选择左上角more里面的on-chip calibration
板载校准,就可以打开自带的校准工具。
此时界面右侧会弹出来一个窗口,选择calibration。
随后将相机直面一个白色墙壁且保持静止,等待相机自动扫描。
这个过程中可能会出现红色报错,比如invalid value in rs2_run_on_chip_calibration
,不用管他,再次对准墙壁retry重试,总是能成功的。
如下图所示,右上角显示的health-check的值小于0.25,就可以接受,将其apply new写入相机固件中。
上述步骤可以运行多次,每次只要health-check的值变小了就可以apply到固件中。
至此,便完成了相机自校准的步骤。
结语
除了自校准工具,intel同时提供了一个动态校准 (Dynamic Calibrator) 工具,官网:https://www.intel.cn/content/www/cn/zh/download/645988/intel-realsense-d400-series-dynamic-calibration-tool.html
其借鉴了张正友标定法的思路,也是采用特定格式的标定板对相机进行校准。慕雪暂未尝试过此工具,具体操作步骤可以参考b站视频:[2023Q2更新] Intel英特尔RealSense实感深度摄像头 动态校准(Dynamic Calibrator) 操作步骤讲解 D400系列适用。