当前位置:首页 期刊杂志

基于双目摄像头的测距系统的实现

时间:2024-05-04

倪文韬,钟岱山,唐向远

(南京邮电大学 通信与信息工程学院,江苏 南京 210003)

0 引言

利用摄像头进行测距已经不是新鲜的事情。现阶段,关于摄像头测距有3种方式:第一种是在摄像头上安装测距设备包括激光测距仪、测距装置、超声波传感器等,用于测量目标物体与摄像头之间的距离。这种测距方法有着成本高的特点,需要测试装备上都安装测距设备。第二种是利用单目摄像头进行测距。这需要建立到一定的参考数据,根据数据的对比,计算得出摄像头和目标物的位置。如需要收集的数据包括目标物的尺寸数据、摄像头和目标物之间的夹角、相对位移、摄像头高度等。该测距方法的实施,需要借助一些数据,因此方法有一定的测试场景限制。第三种是借助双目摄像头完成测距。该方法利用立体标定的方式,获取摄像头的参数矩阵,通过标定结果匹配图像,生成3D点云,深度成像,最后得到摄像头和目标物之间的距离。这种测距方式,有着复杂的计算方法,还会受到环境因素、立体标定的影响,结果也缺乏稳定性。

1 双目摄像头测距概述

摄像头进行测距的方式,存在一系列的问题,那就是成本偏高,容易受到场景的限制,算法十分复杂,需要经过复杂的计算,而且计算结果还不太稳定。文章针对摄像头测距存在的问题,以摄像头测距为基础,提出双目摄像头测距,实现对摄像头测距的优化改良。该项技术,可以实现准确迅速地测距,利用目标物在摄像头中的投影,也可以迅速准确地获取距离数据,不需要提前进行摄像头标定,且没有复杂的算法,更不会占用系统的资源。

为了实现摄像头测距的优化,提出双目摄像头测距,其工作原理如下:(1)选择一个摄像头作为基准,选择另一个摄像头作为参照,这样可以获取两个图像,一个是基准摄像头收集到的基准图像,另一个是参考摄像头收集到的参考图像。(2)将双目摄像头收集到的两种图像进行对比,结合两个图像上目标物呈现出来的特征数据,计算之后完成测距。

2 双目摄像头测距校准步骤

利用双目摄像头进行测距,需要做好校准工作,一般而言,校准工作的步骤如下:首先,采集图像。双目摄像头范围内,设置目标物,需要确保摄像头可以采集到目标物的照片,分别进行目标物照片的采集。计算目标物在图像中存在的视差、目标物投影在基准图像X轴上的坐标,并测量目标物到摄像头的距离。做好相关的数据记录,如两个图像中目标物投影的视差,基准图像X轴上的坐标以及距离摄像头的距离。进行位置的调整,将目标物的位置进行调整,重复上面的操作,从而完成校准。

具体而言,上面提到的工作还有着如下的操作步骤:(1)特征数据的提取,将目标物在双目摄像头中投影的图像数据进行提取,比如,目标物在基准摄像头和参考摄像头中呈现出来的图像视差,目标物投影图像在基准摄像头中的位置—X轴的坐标。(2)根据收集到的目标物投影图像的数据特征,经过一定的计算方法,得到加工处理之后的数据。(3)然后通过数据容器得到最终的距离数据。

3 双目摄像头测距系统的实现

本文以汽车测距系统为例,分析利用双目摄像头进行汽车测距的可行性。测距系统主要由图像采集、摄像机标定、双目立体校正、立体匹配、数据输出等内容。

3.1 图像采集

采集使用到的摄像头为CMOS摄像头,帧数最大可到60帧/秒,利用USB数据实现与PC机的通信联系。PC端显示的实时画面如图1所示。

3.2 摄像机标定

摄像机标定的目的在于确定两个摄像机处于平行的位置,这是使用双目摄像机测距的关键。这里可以通过数据计算的方式,计算三维空间坐标和二维图像坐标的对应关系。从多个角度,进行图像测定,P在摄像机下的成像关系式如下:

可得,两台摄像头设置距离100 mm,计算结果为-99.999 33 mm,差距很小,满足测距的要求。

图1 PC端显示的实时画面

3.3 立体矫正

考虑到摄像机会受到光学透镜和自身工艺的影响,成像过程中容易出现畸变的情况,会影响到数据匹配的准确性。如果要实现两个投影图的图像对应点匹配,需要大量的搜索工作,十分耗时。因此,考虑到加快匹配的速度,可以使用Bouguet的校正方法,减少重投影的次数,这样重投影畸变的情况最小化,最大化视图的叠加面积。二维点和二维点可以借助重投影矩阵变换的方式,进行相互转换。

3.4 立体匹配

立体匹配主要目的在于将不同视点之下,同一物体的投影之间存在的对应关系,也就是人们常说的视差值。计算方法一般有两种:一种是局部约束的立体匹配算法,另一种是全局约束的立体匹配算法。对比立体匹配算法,建议采用绝对误差累计的方式计算出矫正图形的匹配点。SAD匹配代价函数:

通过视差图的对比,可以直观看到对比效果:如果匹配点多的情况下,那么出现的视差图将更加接近原图;如果匹配点少,那么视差图和原图之间的差异就较大。

3.5 实验结果分析

通过实验的方式进行验证,视差图在25帧/秒的情况下,没有出现卡顿的情况,可以实现实时工作的需要。通过移动目标物,调整摄像机和目标物的距离,进行测距,得出的数据如表1所示。

表1 实验数据

从表1中的数据来看,双目摄像头进行系统测距,还是有着很高的精度的,误差比较低,可以控制到5%以下,尤其是近距离的测距,精度很高。也就是说,使用双目摄像头测距有着一定的可行性。但是从实验数据来看,对于远距离的测距,误差逐渐增加,距离6 200 mm的测量误差是距离800 mm的测量误差的42倍以上。主要是由于标定环节和测量过程存在误差的原因。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!