双目相机计算稠密深度点云(二)

169
0
2020年12月30日 09时07分

双目相机计算稠密深度点云

 

  • 1、ZED相机驱动包

 

  • 2、校准ZED相机

 

  • 3、运行ELAS

 

  • 参考资料

 

接着上一篇的文章实现利用真实的相机计算3D点云,实验中我们使用的是ZED的相机。

 

 

1、ZED相机驱动包

 

首先我们需要在电脑上安装ZED相机的驱动包,这里我们只安装CPU版本的驱动包,读取出左右目图像即可,驱动包地址 [1]

 

```
cd catkin_ws/src
git clone https://github.com/transcendrobotics/zed_cpu_ros
cd ..
catkin_make
```

 

 

在正确启动ZED相机以后,我们需要对相机的内外参数进行校准,在ZED的官网上也提供有出厂时候的标定值,可以通过相机上的序列号下载对应编号的文件,但是感觉那个不太准,所以最好还是自己标定一下。
注:这里我们使用的时候讲ZED相机设置为了1280*720的这个分辨率(zed_cpu_ros.launch文件中 resolution 参数的值为 2)。

 

2、校准ZED相机

 

在zed_cpu_ros包中launch文件夹中新建文件camera_calibration.launch并填入以下内容

 

<launch>

    <include file="$(find zed_cpu_ros)/launch/zed_cpu_ros.launch"/>

    <arg name="size" default="8x6"/>
    <arg name="square" default="0.108"/>
    <arg name="no-service-check" default="true"/>

    <node pkg="camera_calibration" type="cameracalibrator.py" name="camera_calibration" output="screen" args="">
        <remap from="right" to="/camera/right/image_raw"/>
        <remap from="left" to="/camera/left/image_raw"/>
    </node>

</launch>

 

其中size表示棋盘格的长宽尺寸,square 表示是格子的大小,我这里使用的是8×6的棋盘格,每个格子是108mm

接下来启动launch文件开始校准ZED相机

 

roslaunch  zed_cpu_ros camera_calibration.launch

 

在这里插入图片描述

 

然后移动ZED相机等到右侧的 CALIBRATE 按钮变绿以后点击按钮就可以校准了。

 

校准完成以后可以看到此次校准的极线误差是多少,如下图:

 

在这里插入图片描述

 

一般来说 epi<0.2就差不多了,epi<0.15的算是很好的了。

 

在标定的过程中,建议使用大一点的标定板,然后重复校准几次,比较外参数是否稳定在一个范围。

 

在获得左右目的内外参数以后,把校准后的参数更新到zed_cpu_ros/config目录下的 left.yaml 和 right.yaml两个文件中。 然后设置zed_cpu_ros.launch文件中 use_zed_config参数的值为 false 让驱动节点使用我们刚刚更新的 left.yaml 和 right.yaml两个文件。

 

3、运行ELAS

 

接下来按照上一篇博客中的方法启动elas_ros就可以了,注意检查一下立体矫正以后输出的图像。

 

启动相机ROS驱动节点以后注意查看 camera_info话题是否有输出,ELAS运行的条件必须是:

camera/left/image_raw

camera/left/camera_info

camera/right/image_raw

camera/right/camera_info

 

下图是使用ZED相机在室外的一个结果,感觉这个相机的标定参数对输出的深度影响还是很大的,其次还有一个问题就是ZED相机左右目图像没有同步触发的,这个也可能造成深度输出效果不好。

 

在这里插入图片描述

 

参考资料

 

[1] https://github.com/transcendrobotics/zed_cpu_ros

 

如果大家觉得文章对你有所帮助,麻烦大家帮忙点个赞。O(∩_∩)O

 

欢迎大家在评论区交流讨论(cenruping@vip.qq.com)

 

如果下载代码和数据较慢,可在评论区留下邮箱,可将代码和数据测试包发送到邮箱。

发表评论

后才能评论