realsense D435 标定(calibration)

本文详细介绍了Intel Realsense D435深度相机的动态校准过程,包括如何确定是否需要校准、整流校准、深度刻度校准及RGB摄像机校准。通过使用DepthQualityTool工具,用户可以优化外部参数,提高深度图像质量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

realsense D435 标定

在这里插入图片描述


文档

1.确定是否需要标定

工具:Depth Quality Tool

要求:将相机对准平坦的表面,例如约1至2米(3至6英尺)的墙壁。 避免黑色表面。 目视检查墙壁的深度图像显示。 图像上有很多黑点或黑洞,表明相机未校准。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A576edzX-1593135626089)(/home/zhongsy/.config/Typora/typora-user-images/image-20200625212916863.png)]

原始图像:

表明相机需要标定

动态校准是优化外部参数,也就是说,它们是指在用户环境中进行的现场校准,用户干预最少或不干预。它们只是相机图像相对于主轴系统(左右之间的轴)的外部参数(平移和旋转)。畸变、视场、主点等固有参数没有进行动态标定。动态校准是在假定深度模块/摄像机在工厂校准后重新校准,或至少已知标称参数的情况下进行的。左相机是参考相机,位于世界原点。RGB参数仅适用于带有RGB颜色传感器的深度模块/相机,例如D415和D435

intel 提供了两种标定的方法

1.整流校准:对准对极线以使深度管线正确工作并减少深度图像中的孔

2.深度刻度校准:由于光学元件位置的变化而对准深度框

这里选择第二种:

动态校准工具API在两种独特的操作模式下支持这些算法:有针对性和无目标。 动态校准器仅支持目标校准,因此建议使用目标校准,因为它支持校正和深度刻度校准,并且比无目标校准中仅进行校正的校准将提供更准确的结果.

在目标模式下,动态校准API支持深度刻度校准,需要一个目标。目标是预定义的,可以通过手机应用程序在智能手机上显示。一个简单的流程总结如下:

1.从L和R摄像头获取图像,包括深度流(实时)
2.在两个图像中检测智能手机上的目标
3.类似于无目标校准,用户移动手机,使其覆盖大部分图像,重复步骤1-2
4.完成后,用户只需将手机放置在图像中的任何位置,即可继续拍摄图像,但每次都必须移动手机
5。在步骤4中拍摄15张图像后,该过程即告完成
6。该过程检查校正误差(绝对Y差),同时将测量的图案大小与地面真实情况进行比较

一共可以在两种模式下进行标定

1.命令行

2.GUI图形界面

我们选择第二种

设备信息

在这里插入图片描述

步骤

  1. 整流过程
  2. 刻度校准
  3. 校准RGB摄像机
  4. 结果将自动更新到设备。 成功或失败状态也会与结果一起显示。

操作

打印标定目标

tip:

请使用普通的激光打印机在8.5“ x 11”信纸尺寸的纸张上打印,在打印机选项中选择“实际尺寸”,不缩放.

在打印目标之后,请检查纸张上的物理目标图像。 具体尺寸标注在图像周围。

Images

开启标定程序

1.整流部分,移动摄像头,使得蓝色区域消失.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rkkZ2AIC-1593135626095)(/home/zhongsy/.config/Typora/typora-user-images/image-20200625164854607.png)]

2.刻度校准

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sgyIe0aF-1593135626096)(/home/zhongsy/.config/Typora/typora-user-images/image-20200625165119426.png)]

3.校准RGB摄像机

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LKuKITSU-1593135626097)(/home/zhongsy/.config/Typora/typora-user-images/image-20200625165256001.png)]

4.结果将自动更新到设备。 成功或失败状态也会与结果一起显示。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1HqcTblC-1593135626098)(/home/zhongsy/.config/Typora/typora-user-images/image-20200625165340209.png)]

校正结果展示比较

校正前:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OidpNADh-1593135626099)(/home/zhongsy/.config/Typora/typora-user-images/image-20200625212441085.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-76sxnWdJ-1593135626099)(/home/zhongsy/.config/Typora/typora-user-images/image-20200625212826102.png)]

校正后:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b9QBI4f5-1593135626101)(/home/zhongsy/.config/Typora/typora-user-images/image-20200625212643870.png)]

在这里插入图片描述

<think>嗯,用户想找关于D435设备标定内参的教程或方法。我之前处理过类似的请求,记得站内有一些相关的引用资料。先看看用户提到的引用内容。 引用[2]和[3]提到使用Dynamic Calibrator和code_utils、imu_utils、kalibr这些工具来标定D435i的内参和外参。虽然用户问的是D435,但D435i和D435标定方法上应该类似,可能可以通用。需要确认一下两者的区别,但通常标定流程是相近的。 用户可能已经尝试过官方文档,但需要更具体的步骤。引用[3]详细说明了如何安装code_utils和imu_utils,以及标定IMU的方法。同时,引用[4]提到了使用OpenCV处理畸变校正,这可能和相机内参标定有关。 可能需要分步骤回答,首先推荐官方的Dynamic Calibrator,然后第三方工具如kalibr。同时,要提醒用户注意IMU和相机的同步问题,以及标定板的准备。另外,要提到标定后的应用,比如如何用内参和畸变系数进行图像校正,引用[4]中的remap函数是个关键点。 用户可能还需要了解标定环境的要求,比如光照、标定板的移动方式。需要确保步骤清晰,避免他们走弯路。比如编译code_utils时要注意依赖顺序,可能catkin_make会报错,需要先安装依赖项。 总之,回答应该涵盖官方工具和第三方方法,步骤明确,注意事项和常见问题也要提到。这样用户可以根据自己的情况选择合适的方法,并顺利执行标定流程。</think>关于Intel RealSense D435设备的标定内参方法,以下是系统化的教程指南: ### 一、标定原理 相机内参标定主要用于确定镜头畸变系数和传感器成像几何参数,包括焦距$(f_x, f_y)$、主点$(c_x, c_y)$和畸变系数$k_1, k_2, p_1, p_2, k_3$等参数。数学表达为: $$s\begin{bmatrix}u\\v\\1\end{bmatrix} = \begin{bmatrix} f_x & 0 & c_x\\ 0 & f_y & c_y\\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} X_c/Z_c\\Y_c/Z_c\\1 \end{bmatrix}$$ ### 二、标定方法 #### 方法1:官方Dynamic Calibrator 1. **工具安装** ```bash git clone https://github.com/IntelRealSense/librealsense cd librealsense/tools/dynamic-calibrator mkdir build && cd build cmake .. && make -j4 ``` 2. **执行标定** ```bash ./rs-dynamic-calibrator list # 列出设备 ./rs-dynamic-calibrator calibrate -s <序列号> # 启动标定[^2] ``` 需按提示移动棋盘格标定板,标定完成后生成`calibration.json` #### 方法2:kalibr工具链 1. **环境准备** ```bash mkdir -p ~/calibration_ws/src cd ~/calibration_ws/src git clone https://github.com/ethz-asl/kalibr.git catkin build -DCMAKE_BUILD_TYPE=Release ``` 2. **采集数据** ```bash rosrun kalibr kalibr_calibrate_cameras \ --target aprilgrid.yaml \ --bag stereo_calib.bag \ --models pinhole-equi pinhole-equi --topics /left/image_raw /right/image_raw ``` 需提前准备AprilTag标定板[^3] #### 方法3:OpenCV单目标定 ```python import cv2 criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 30, 0.001) objp = np.zeros((9*6,3), np.float32) objp[:,:2] = np.mgrid[0:9,0:6].T.reshape(-1,2) ret, mtx, dist, rvecs, tvecs = cv2.calibrateCamera(obj_points, img_points, gray.shape[::-1], None, None) ``` 需采集至少15组不同角度的棋盘格图像[^4] ### 三、注意事项 1. 标定环境需保证均匀光照,避免反光 2. 棋盘格/标定板需覆盖画面不同区域 3. 标定板平面与相机光轴成30°-60°夹角 4. 使用remap函数验证标定效果: ```cpp cv::initUndistortRectifyMap(cameraMatrix, distCoeffs, Mat(), getOptimalNewCameraMatrix(cameraMatrix, distCoeffs, imageSize, 1, imageSize, 0), imageSize, CV_16SC2, map1, map2); cv::remap(src, dst, map1, map2, INTER_LINEAR); ```
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值