本文介绍了如何使用 realsense-viewer 的自校准工具对 RealSense D435 相机进行自校准。

阅读本文前,请先参考本站博客 https://blog.musnow.top/posts/9107049817/ 安装 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 板载校准,就可以打开自带的校准工具。

image.png

此时界面右侧会弹出来一个窗口,选择 calibration。

随后将相机直面一个白色墙壁且保持静止,等待相机自动扫描。

image.png

这个过程中可能会出现红色报错,比如 invalid value in rs2_run_on_chip_calibration,不用管他,再次对准墙壁 retry 重试,总是能成功的。

如下图所示,右上角显示的 health-check 的值小于 0.25,就可以接受,将其 apply new 写入相机固件中。

image.png

上述步骤可以运行多次,每次只要 health-check 的值变小了就可以 apply 到固件中。

image.png

至此,便完成了相机自校准的步骤。

结语

除了自校准工具,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 系列适用