本征相机校准#
概述#
本征相机校准是一个确定相机的内部参数的过程, 在将 3D 信息投影到图像中时将使用.这些参数包括焦距、光学中心和镜头畸变系数.
为了执行相机本征校准,我们将使用 TIER IV 的 Intrinsic Camera Calibrator 工具.
首先,我们需要一个校准板,可以是 dot、chess 或 apriltag grid 板. 在本教程中,我们将使用这个由 7 厘米正方形组成的 7x7 棋盘:
以下是 Intrinsic Camera Calibrator 页面中的一些校准板示例:
如果要使用 bag 文件进行校准过程, bag 文件必须包含相机传感器的 image_raw 主题, 但您可以实时执行校准.(推荐)
注意
Files: rosbag2_2023_09_18-16_19_08_0.db3
Bag size: 12.0 GiB
Storage id: sqlite3
Duration: 135.968s
Start: Sep 18 2023 16:19:08.966 (1695043148.966)
End: Sep 18 2023 16:21:24.934 (1695043284.934)
Messages: 4122
Topic information: Topic: /sensing/camera/camera0/image_raw | Type: sensor_msgs/msg/Image | Count: 2061 | Serialization Format: cdr
本征相机校准#
与我们教程中的其他校准包不同, 此包不需要创建初始化文件. 因此,我们可以从推出本征校准器包开始.
cd <YOUR-OWN-AUTOWARE-DIRECTORY>
source install/setup.bash
之后,我们将推出本征校准器:
ros2 launch intrinsic_camera_calibrator calibrator.launch.xml
然后,将显示初始配置和相机固有校准面板. 我们为校准设置初始配置.
在 Source Options 部分. 我们设置我们的图片源(可以是 ROS topic 、 ROS bag 或 Image files ).
我们将使用 ROS topic 源校准我们的相机. 从此面板中选择图像源后,我们还需要配置 Board options .
校准板可以是 Chess board、Dot board 或 Apriltag . 另外,我们需要选择板子参数, 请单击 Board parameters 按钮并设置 row, column, and cell 大小.
设置好图像源和板卡参数后,我们就可以进行校准了. 请点击开始按钮,您将看到 Topic configuration 面板. 请为校准过程选择适当的 Camera Raw 主题.
然后,您就可以进行校准了. 请收集具有不同 X-Y 轴、大小和倾斜度的数据. 您可以通过单击 View data collection statistics 来查看收集的数据统计信息.
有关更多信息, 请参阅 Intrinsic Camera Calibrator 页面.
校准数据收集完成后, 您可以单击 Calibrate 按钮执行校准过程. 校准完成后,您将看到校准结果统计数据的数据可视化.
您可以通过更改 Image view type Source unrectified 更改为 Source rectified 来观察校准结果.
如果校准成功(校正后的图像中应该没有失真), 您可以使用 Save 按钮保存校准结果.
输出将被命名为 <YOUR-CAMERA-NAME>_info.yaml. 因此,您可以直接将此文件与相机驱动程序一起使用.
这是在 tutorial_vehicle 上演示 Intrinsic Camera 校准过程视频: