双目相机:基于双目视觉的目标测距

双目视觉的目标测距主要任务为利用双目相机完成对场景中物体或障碍物距离的计算,提供场景深度信息。

双目视觉的目标测距流程主要包括以下几个步骤:图像的获取、图像的矫正、立体匹配和距离计算。其中立体匹配是双目视觉中最重要和最困难的环节,不同的立体匹配算法有着不同的匹配策略,其匹配的精度和速度也会有很大差异。

 

目录

立体标定和立体校正

图像的立体匹配原理 

立体匹配算法 

局部匹配算法

半全局匹配算法

实现


立体标定和立体校正

在利用双目图像进行计算视差图和距离的时候,首先要做的步骤就是双目的立体标定和立体校正,它是双目视觉的基础。立体标定的原因是物体在三维空间中的位置与其在二维图像上的位置之间的关系由摄像机的内外参数决定,立体标定的目的是确定二维摄像机图像和三维真实场景之间的映射,基本原理是根据已知的世界坐标系中的点和图像坐标系中的点计算出摄像机模型的内参和外参。双目摄像机标定的内参有相机的内参数矩阵 K 和畸变系数矩阵 D,内部参数主要由相机的类型和制作工艺决定的,其标定可通过单目标定的方法得到。标定的外参有旋转矩阵 R、平移矩阵 T、本征矩阵 E 和基础矩阵 F,外部参数可以描述两个摄像机坐标系的相对关系,可通过双目标定的方法得到。

双目立体视觉在进行距离计算的时候,要在左右相机的图像中精确的匹配到同一像素点,从而计算出视差,再根据视差与距离的关系估计像素点的距离。然而上述的过程是在双目理想状态下建立的,即双目的成像平面处于同一平面,大多数情况下仅仅依靠双目位置的摆放很难达到这个目的,所以就不得不先对双目相机的图像进行立体校正。立体校正是把双目相机获取的没有共面平行的两幅图像校正为共面平行,即将双目相机的成像平面校准到同一平面。已校正的双目系统和未校正的双目系统如下图所示。立体校正之后,由于双目图像成像处于同一平面,立体匹配搜索算法由二维变为一维,这降低了搜索复杂度并提高了立体匹配的搜索效率。 

图像的立体匹配原理 

立体匹配是确定左图像和右图像上的场景点的对应,并且获取具有深度信息的视差图的过程。立体匹配算法可以分为三种类型:局部匹配、全局匹配和半全局匹配算法。局部匹配算法使用相似性度量的方法进行视差图的计算,算法结构
简单,时间复杂度低。全局匹配要处理图像的全局信息,通过全局能量函数找到全局或局部最小值,匹配精度很高,但算法很复杂。半全局匹配算法使用互信息计算全局能量代价函数,利用动态规划算法求解代价函数的最小值,在精度上比局部匹配算法有所提高。立体匹配的方法有很多,但主要步骤有图像预处理、匹配代价计算、匹配代价聚合、和视差计算。

立体匹配算法 

立体匹配算法中最常用的两种匹配算法分别为局部匹配算法和半全局匹配算法。

局部匹配算法

BM 块匹配算法是基于窗口灰度值的一种局部匹配算法。该匹配算法的主要思想为:首先人为设定一个小的窗口,提取窗口中图像的特征向量,然后使用提取到的特征向量在尚未匹配的图像上进行遍历搜索,在遍历搜索的过程中计算该窗口的特征向量与遍历窗口提取到的特征向量的相似程度,匹配到的最终结果为特征向量相似程度最大的窗口。窗口的大小会对匹配的准确性产生影响,如果窗口寸过小,则窗口不能包含足够多的图像在灰度上的变化,块匹配的过程中会很容易产生误差,如果窗口尺寸过大,包含的图像复杂信息越多,就会影响匹配时的计算效率,导致匹配精度降低,匹配结果也会更粗糙。

半全局匹配算法

SGBM 算法是一种半全局立体匹配算法,其匹配流程为:首先为每个像素点选择视差值以形成初始的视差图,然后设置一个全局能量函数,该函数与视差图相关,最后求解能量函数的最小化问题,从而得到每个像素的最佳视差值

整个算法实现分为四个步骤:

1.预处理

2.代价计算

3.动态规划(默认4条路径)

4.后处理

详情可以参考https://blog.csdn.net/zhubaohua_bupt/article/details/51866567这篇博客

实现

双目立体标定

生成视差图:

(a)(b)分别是左右视图,(c)是标准试图,用两种匹配算法分别得到视差图,如图(d)(e)

视差图是将立体匹配计算得到的视差值映射到相对应的 0~255 像素的灰度空间,在视差图中,灰度值越高,像素点越亮,说明物体与摄像机的距离越近,反之,灰度值越低,像素点越暗,说明物理与摄像机的距离越远。从图中可以看出,视差图中可以明显看到各个物体距离相机的距离,距离相机近的物体比较亮,距离相机远的物体比较暗。 

计算距离:

根据双目测距原理进行图像像素距离的恢复,得到每个像素点的距离信息,最终获取目标或障碍物与相机的距离。

参考文章:无人机双目视觉目标检测与测距方法研究

猜你喜欢

转载自blog.csdn.net/candice5566/article/details/115639723