Skip to content

本征相机校准#

概述#

本征相机校准是一个确定相机的内部参数的过程, 在将 3D 信息投影到图像中时将使用.这些参数包括焦距、光学中心和镜头畸变系数.

为了执行相机本征校准,我们将使用 TIER IV 的 Intrinsic Camera Calibrator 工具.

首先,我们需要一个校准板,可以是 dot、chess 或 apriltag grid 板. 在本教程中,我们将使用这个由 7 厘米正方形组成的 7x7 棋盘:

chess_board

我们本教程部分的 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

然后,将显示初始配置和相机固有校准面板. 我们为校准设置初始配置.

chess_board

初始配置面板

在 Source Options 部分. 我们设置我们的图片源(可以是 ROS topicROS bagImage files ). 我们将使用 ROS topic 源校准我们的相机. 从此面板中选择图像源后,我们还需要配置 Board options . 校准板可以是 Chess board、Dot boardApriltag . 另外,我们需要选择板子参数, 请单击 Board parameters 按钮并设置 row, column, and cell 大小.

设置好图像源和板卡参数后,我们就可以进行校准了. 请点击开始按钮,您将看到 Topic configuration 面板. 请为校准过程选择适当的 Camera Raw 主题.

chess_board

Topic 配置面板

然后,您就可以进行校准了. 请收集具有不同 X-Y 轴、大小和倾斜度的数据. 您可以通过单击 View data collection statistics 来查看收集的数据统计信息. 有关更多信息, 请参阅 Intrinsic Camera Calibrator 页面.

chess_board

本征校准器接口

校准数据收集完成后, 您可以单击 Calibrate 按钮执行校准过程. 校准完成后,您将看到校准结果统计数据的数据可视化.

您可以通过更改 Image view type Source unrectified 更改为 Source rectified 来观察校准结果.

如果校准成功(校正后的图像中应该没有失真), 您可以使用 Save 按钮保存校准结果.

输出将被命名为 <YOUR-CAMERA-NAME>_info.yaml. 因此,您可以直接将此文件与相机驱动程序一起使用.

这是在 tutorial_vehicle 上演示 Intrinsic Camera 校准过程视频: