首页 理论教育 水下双目视觉标定与测距方法

水下双目视觉标定与测距方法

更新时间:2025-01-15 工作计划 版权反馈
【摘要】:首先给出了双目立体视觉的标定原理和基本模型,详细推导了双目视差与深度的关系。图5-27水下相机标定实验[237]表5-1在清水和空气中校准摄像机的固有参数图5-28在空气和水中左右相机的图像的每个像素的完整失真模型图5-29重投影误差在空气和水中的分布通过立体视觉系统的标定表明,在空气和水中,外部参数之间存在有限的差异(1%)。

水下测距方面,由于常用的深度摄像机在水下都会衰减得很严重,需要校准程序来处理折射,深度相机使用红外光(infrared light,IR),它在水中会严重衰减。Sundara Tejaswi Digumarti等人证明了在20 cm距离范围内采用深度相机来实现水下物体的扫描,并实现水下三维成像。但是这种只能在20 cm范围内使用的方法很难被广泛应用[231]

最常用的立体视觉系统是用两个摄像机构建的,即双目立体视觉,如图5-25所示。为了确定立体视觉系统的光学特性,相同的相机通常被放置在相同的平面上,具有平行的光轴和相同的光学参数。图5-25所示的安装装置称为极线几何。当每个相机的焦轴处于相同的垂直坐标轴y时,考虑完成立体视觉设置的校准,这简化了视差图的计算[232]

图5-25 双目视觉中的极线几何示意图

f—相机的焦距(两个相机焦距必须相等);P(x,y,z)—真实场景点;xl—左图像x坐标轴;xr—右图像x坐标轴;T—光轴L和R之间的距离;两幅图像的y坐标轴必须相同

值xl-xr是特定点P(x,y)中两个图像之间的视差。计算视差的算法一般分两类:

(1)基于相关性 这类算法基于图像之间差异的度量,例如绝对差异和(sum of absolute differences,SAD)、平方差异的和(sum of squared differences,SSD)和交叉相关(cross-correlation,CC)。

(2)基于特征 这类算法使用图像中对象的已确定特征之间的差异,例如角、线、计数、骨架、对象区域等。

Lin等人提出了一种基于双目立体视觉和人工辅助交互的水下目标定位方法[233]。首先给出了双目立体视觉的标定原理和基本模型,详细推导了双目视差与深度的关系。然后使用特殊的水下摄像机(nano sea cam),直接在水下对摄像机进行标定。最后,在此基础上获得摄像机的参数,对水下图像进行校正。此外,根据水下机器人(remote operated vehicle,ROV)的特点,采用人工交互的方法选择左右视点图像的对应像素,并利用距离测量算法计算目标距离。

要求得相机的固有参数和两个相机之间的距离,需要做一个校准。校准相机的方法很多,其中有两种方法特别适用:OpenCV和基于张正友标定法的Matlab校准工具箱。由于这两种方法的参数阶数相同,因此可以通过Matlab校准工具箱获取参数,并在OpenCV中直接使用参数。校准数据是通过同时拍摄图5-26所示棋盘的几张照片来收集的。Matlab校准工具箱通过输入真实世界中的块大小并标记角点,输出摄像机内部的焦距、畸变矩阵等参数。

根据关键点及其匹配,很容易求出平均视差,如图5-25所示,其中f是焦距,Z是要计算的距离,x是图像中物体的横坐标轴,T是两个相机之间的距离。两个视图之间的差异可表示为d=xl-xr。在实践中,d是由先前获得的所有配对关键点的横坐标差的平均值给出的。由于使用双目几何学计算物体的距离与视差成反比,因此这两个项之间的关系应该是:

图5-26 双目视觉校准棋盘

式中,Z是要计算的距离;T的单位是mm,与Z的单位相同;f和d的单位是像素;所以上式可以简化为:(www.xing528.com)

以上讨论是基于两个摄像机的光轴平行的情况。但在现实世界中,这种情况太理想了。在实际情况下,两个光轴之间总是有一个夹角。传统的方法是通过进行立体标定来计算旋转矩阵,然后根据旋转矩阵旋转一幅图像以匹配另一幅图像。然而,这一步需要高度精确的校准结果并严格固定相机相对的位置。

李光乐等人基于张正友标定法,并将Jean-Yves Bouguet灭点标定方法引入到数学模型中,解决了水下径向和切向畸变问题,并通过实验验证了该方法的有效性[234]。张洪龙等人根据水下双目立体视觉的原理,考虑到水下成像过程中存在的水体界面折射问题,提出了相应的标定方法[235],并根据该方法建立了水下测量和照明的装置,通过实验验证了该系统的有效性。

校准是保证所采用的三维重建和测距技术的高精度的必要步骤。必须验证在空气校准中采用的模型也能够在水下条件下正常工作。Bruno等人校准使用8 mm×8 mm棋盘(32×42像素),安装在铝框架上。校准是在大约1 m的距离下完成的,在每个相机上采集17幅不同面板姿态的图像(图5-27)[236]。在线性校准模型中没有考虑空气的折射率、圆顶端口和水的折射率。假设校准过程能够考虑与光学设置有关的所有光学变量,使用Bouguet相机校准工具箱来校准立体视觉系统。

Bruno比较了在空气中进行校准的结果与在水中获得的结果,表5-1给出了左右摄像机的固有参数(焦距和主坐标点),图5-28显示了畸变。在水中的焦距比在空气中高,因为在空气—丙烯酸塑料外壳和丙烯酸塑料外壳—水界面处的双折射效应导致水下采集物体的放大。摄像机外壳使用圆顶端口可以减少折射效应,但是焦距仍然增加了大约7%。然而,主点(px,py)在空气中和水中变化并不太显著。在图5-28中可以看出,在空气和水中获得的完全光学畸变(径向加切向)的分布,其中每个箭头表示由透镜畸变引起的像素在图像上的有效位移。很明显,最大值位于图像的边缘,在水中得到的扭曲大于在空气中得到的。这些扭曲一般会通过校正算法来校正,然而边界通常不做处理,因为图像会被裁剪为只有中央区域的对象。为了评估水下校准的有效性,计算棋盘各角点重投影误差,该误差定义为实际图像点和那些从理想的棋盘反投影计算得到的点之间的距离,如图5-29所示,水中的误差分散与在空气中获得的误差相比较。

图5-27 水下相机标定实验[237]

表5-1 在清水和空气中校准摄像机的固有参数

图5-28 在空气和水中左右相机的图像的每个像素的完整失真模型(径向加切线)

(“十”表示图像的中心;圆、主坐标点的位置和箭头是光学畸变)

图5-29 重投影误差在空气和水中的分布

通过立体视觉系统的标定表明,在空气和水中,外部参数(R旋转矩阵和T平移向量)之间存在有限的差异(1%)。校准步骤中得到的结果说明用于校准的模型能够保证在水下环境中的精度。与水下条件有关的主要问题是由于折射效应引起的较大的失真,但是重投影误差证明所采用的模型也能够补偿由水的存在引起的失真。假设折射率不随浊度变化,并且在水中获得的校准数据适合于在浊水中处理所有后续的3D采集,但为了验证这个假设的正确性,Bruno在实验中用可变的浑浊度验证了该校准过程。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈