APP下载

融合结构光的折反射全景单目视觉测距

2024-04-08张越张宁徐熙平张裕张恺霖朱旭

光学精密工程 2024年4期
关键词:光条单目全景

张越,张宁*,徐熙平*,张裕,张恺霖,朱旭

(1.长春理工大学 光电工程学院,吉林 长春 130022;2.长春理工大学 人工智能学院,吉林 长春 130022)

1 引言

近年来,随着人工智能技术的迅速发展,智能自主无人系统被世界各国视为未来智能化战争的关键战力[1-2]。其高度自主性以及智能化水平已经成为研发的关键趋势和应用指标[3]。无人机以其体积小、成本低、可控性强、可接近感兴趣区域等优点,在测绘、侦察、救援等民用和军用领域中得到了广泛应用[4-5]。然而,在执行各种任务的同时,无人机常面临着特殊环境中视觉感知的挑战,尤其是在弱纹理环境中,例如存在较大面积的天花板以及白墙的室内环境中等特征较为单一的环境[6]。因此,提升无人机自主环境感知能力迫在眉睫。在环境感知、目标感知和障碍感知等方面,精确距离信息可以作为观测信息反馈至无人机飞控系统中,以支持下一步决策,从而保障飞行的安全性[7]。因此,研究无人机在特殊环境下实现精准的视觉测量能力,对科学技术的可持续发展和保障人民生命和财产安全具有深远的重要意义。

面向环境感知应用领域中有两种主要的测距方法:激光雷达测距[8]和光学测距[9-10]。激光雷达传感器功耗较高,体积较大,对无人机飞行工作时间有着较高的限制。光学测距技术作为新兴的测距方法,在众多研究人员的努力下逐渐成熟。光学测距技术主要分为单目测距以及双目测距,双目测距需要精确地匹配,导致耗时较长,影响视觉导航的实时性。单目测距系统由于其原理简单、成本低、良好的实时性等优点,得到了广泛应用[11-14]。Raza M 等人[15]通过固定单目相机,并运用简单的数学模型实现对行人深度的自动估计。然而,由于该方法需要固定不动的单目相机,并不适用无人机环境感知;许洋等人[16]采用YOLOv3 进行目标检测,然后应用相似三角形原理进行深度测量,实现了大范围深度测量;Xu Z G 等人[17]提出一种仅利用单幅图像进行距离测量,不需要相机内参的方法,具有较高的实时性且满足实际应用需求;韩邢健[18]提出一种数学模型,应用实时估计无人机的摄像头与目标之间的距离,从而满足静态与动态深度测量的需求。尽管这些方法可以精准深度测量,但是在无人机做大机动运动情况下以及在弱纹理场景中,可能无法检测到目标,从而降低测距精度。折反射全景视觉可以采集水平360°场景信息,为视觉导航过程中提供丰富的有效信息,有助于场景空间的感知和定位[19-20]。因此,提出了一种面向无人机环境感知需求的融合结构光的折反射全景单目视觉测距方法。

在解决无人机在做大机动运动条件下和弱纹理环境中视觉感知问题上,本研究采用了大视场360°折反射全景相机与结构光传感器相结合的策略,应用于大机动、弱纹理环境下的无人机定位导航之中。为进一步提升无人机对环境感知的能力,提出了融合结构光的折反射全景单目视觉测距方法。通过分析折反射全景相机的成像模型,优化了结构光亚像素点提取方法,使其具有高精度和实时性;通过使用折反射全景相机的标定参数,推导出了结构光平面的相关参数,并建立了测距目标函数,进一步求解距离信息值。实验证明,融合结构光的折反射全景单目视觉测距方法成功弥补了传统单目测量精度低的缺陷,且具有测量成本低、功耗低的特点。有效地提高了无人机的定位导航精度,同时赋予系统具有非接触、适应能力强、快速高效等特点。

2 折反射全景相机成像模型

本研究采用的折反射全景相机[21]由CCD 相机、成像透镜组以及曲面反射镜组成。相比传统透射式镜头,折反射全景相机在透视镜组前增加一个具有旋转对称性的二次曲面反射镜。有效地使视场扩大到水平方向360°、垂直方向大于180°的半球视野范围。并将场景信息压缩,形成360°同心圆环状的全景图像[22-23]。同比拼接式全景成像技术,折反射全景相机功耗较低,装配在无人机上以提升无人机的续航能力。折反射式全景成像系统结构原理图如图1 所示。

图1 折反射全景系统成像结构原理图Fig.1 Principal diagram of imaging structure of catadioptric omnidirectional system

折反射全景相机能够获取更广阔的视野范围,为无人机在大机动运动和弱纹理环境等特殊条件下的感知提供更丰富的视觉信息。这对于提升所提出的融合结构光的折反射全景单目视觉测距方法的效果具有积极作用。为简化求解物点与像点关系的计算过程,Mei 提出了全景相机球面统一投影模型[24],其成像模型如图2 所示。该球面统一投影模型的核心思想是将全景相机成像过程看作是在球面上进行的投影。通过将三维物点映射到球面上,并采用合适的数学表示,可以简化从三维到二维的投影过程。这种投影模型不仅可以用于普通相机,还可以用于全景相机,能够更好地捕捉周围环境的信息。

图2 球面投影模型示意图Fig.2 Diagram of spherical projection model

将三维空间点到像素平面下的二维图像点之间转换运用矩阵的形式表示。相机坐标系下的空间点Xc以球心为投影中心投影到单位球上,坐标为Xs=[xs,ys,zs]T,其中:

将以球心为投影中心改变为点Cp=(0,0,-ξ)T,其中,ξ表示镜面参数。单位球上的三维点Xs以Cp为投影中心透视到距Cp为1 的二维平面上:

D(Xs)逆变换表示为:

图像坐标系与像素坐标系转换关系为:

其中:K为相机的投影矩阵,f1和f2为相机在X和Y方向上的焦距,α是X与Y的相关系数。将反射镜与CCD 集成一体构成全景相机时,f与η将不再单独估计,则有fx=f1η和fy=f2η。(u0,v0)为像素主点坐标。ξ与η反射镜面型有关[25],表1给出了不同反射镜面型的ξ与η的参数。

表1 统一投影模型参数Tab.1 Tables should be placed in the main text near to the first time they are cited.

同样地,在给定图像点或像素点的情况可以根据公式(5)推出由像素点到球面点Xs的坐标。

在球面投影模型的基础上,与光轴夹角大于90°的空间点仍可以投影到球面上,不再需要更大的图像平面,更好的得到空间点与像素点之间的坐标映射关系。

通常球面投影模型可以反映全景视觉传感器的成像几何关系,但是由于全景视觉传感器的透视镜头带来的畸变影响测量的精度。因此,在全景视觉测量中畸变校正的有效性是高精度测量的关键。透视镜头畸变包括径向畸变和切向畸变[26]。图1 中的一点P投影到像素平面的理想坐标为其对应的畸变点的坐标为,所以透视镜头畸变模型可以表示为:

3 测距方法

为了实现所提出的方法,基于全景成像模型,建立了融合结构光的全景单目视觉测量模型,如图3 所示(彩图见期刊电子版)。硬件部分由实验室自主研发的单目折反射全景相机和绿色十字结构光传感器组成,折反射全景相机能够提供360°视野,为无人机在做大机动运动情况下提供丰富的视觉特征。同时,挂载在无人机四旋翼下方的四个结构光传感器,为360°全景感知中的弱纹理场景补充纹理信息,从而的增强全景视觉感知的鲁棒性。软件部分则通过处理器对原始图像进行处理,生成光条位置的点云,进而获取环境中的三维信息。通过硬件和软件的协同工作,我们能够获得精确的环境信息,为无人机在特殊环境中的定位导航提供了强大的支持。其中,Oc-XcYcZc为三维相机坐标系。On-XnYn是归一化图像坐标系。On-XuYu是未失真的图像坐标系。φn为归一化像平面。φu是未畸变的像平面。φs1,φs2为结构光传感器投影出的光平面。假设P是三维空间中的任意一点,归一化后的像平面上的点为Pn,Pn是φn中对应的透视投影点。同理,Pu是未畸变像平面中的理想投影点。Pd是P在归一化平面上的实投影点。

图3 融合结构光的折反射单目全景视觉测量模型示意图Fig.3 Schematic diagram of catoptrical omnidirectional vision measurement model integrating structured light

3.1 改进Steger 算法的结构光光条中心提取

为了提高融合结构光的折反射全景单目视觉测量精度,需要进行亚像素级别的结构光条中心提取。首先为了突显结构光条所在位置,需要在同心圆环全景图像上找到感兴趣区域(Region of Interest,ROI),减少计算时间的同时去除大部分干扰。梯度方向作为图像中灰度值变化最快的方向,图像中纹理细节较明显时,存在较大的梯度值。图像梯度计算方法如式(7)所示:

因此,结构光条纹图像的梯度三维图如图4所示。从图中明显看出,结构光条纹所在的位置是整幅图像中梯度最大的位置。

图4 结构光条纹梯度分布三维图Fig.4 Three-dimensional Diagram of fringe gradient distribution of structured light

为进一步求取所需的结构光条ROI 区域准确位置,将梯度的方法用于结构光条纹ROI 的提取,通过列扫描法得到结构光条纹所在的高度位置。最后,扫描中心线结合结构光区域的特点得到结构光中心点所在宽度位置。列扫描法的计算公式如式(8)所示。结构光的ROI 如图5所示:

图5 结构光ROI 提取Fig.5 Structured light ROI extraction results.

其中:yi为列中i点的纵坐标,(m-n)为结构光条在该列的宽度,求取yi的平均值可得到结构光条的纵坐标。

在实际测量过程中,由于外界的干扰,相机拍摄的图像中会混入多种噪声,显著影响对光条中心坐标的提取。在本文中,引入中值滤波对光条纹图像进行去噪处理,然后进一步提取光条中心亚像素坐标。

Steger 算法[27-28]以Hessian 矩阵为基础,Hessian 矩阵的两个特征值分别对应图像灰度函数的两个二阶方向导数的极值,极值的方向与特征值对应的特征向量方向一致。同时,Hessian 矩阵中绝对值最大的特征值就是图像灰度函数的二阶方向导数,对应的特征向量就是图像的法向(nx,ny)。二维图像的Hessian 矩阵为:

其中:x与y代表像素的行坐标和列坐标,rxx,rxy,ryy是图像灰度函数r(x,y)的二阶偏导数,可利用原图和高斯核函数卷积运算:

图像中任意一个像素点(x0,y0)的相邻像素点可用二次泰勒多项式表达:

其中:A与B矩阵中的元素均由图像f(x,y)与高斯核卷积所得:

用图像的法向方向(nx,ny)求得二维图像的边缘方向n(x,y),则式(12)可表示为:

获得结构光条中心点亚像素坐标后,采用最小二乘曲线拟合方法,得到结构光曲线方程,如式(13)所示:

曲线方程参数的最优估计为:

平面法向量n=(nx,ny,nz)可以进一步表示为:

3.2 测距目标函数建立

在图3 中,世界坐标系位于棋盘格标定板上,设[n13,n23,n33]T和(x0,y0,z0)分别是标定板平面的法向量和原点,则标定板在相机坐标系下的方程为:

假设结构光条在图像坐标系上的两点坐标为(u1,v1)和(u2,v2),通过球面投影模型推导,归一化平面上的点的坐标如式(15)所示:

求出图像中结构光上的任意一点与光心组成的射线的直线方程与结构光平面方程的交点,进一步求得此点在相机坐标系下的三维坐标。则相机光心与两点所构成的直线在相机坐标系下的方程如式(16)所示:

联立式(14)和式(16),得到两条直线与标定板所在平面的交点,即两点在相机坐标系下的坐标为为降低结构光条中心坐标提取误差,固定结构光全景视觉传感器,改变标定板的位姿,拍摄k幅图像(k>3),进行平面拟合,进一步得到结构光直线在相机坐标系下的方程如式(17)所示。结构光平面拟合示意图如图6 所示。

图6 结构光平面拟合示意图如图Fig.6 Illustration of Structure Light Plane Fitting

设不同位姿标定板上的结构光直线都位于相机坐标系下方程为ax+by+cz+d=0 的结构光平面s1上,则有结构光平面的法向量用矩阵表示如式(18)所示:

其中:[mi,ni,li]T为第i条直线的方向向量,k为结构光直线的数量。由于式(18)是超定齐次线性方程,需求最小二乘解。对矩阵A进行SVD分解,得A=UΣVT,求得奇异值矩阵Σ中最小的奇异值可以进一步求出最小二乘解,即结构光平面的法向量:

最后,求解结构光直线上的点到结构光平面的距离平方和为:

其中,p1i和p2i作为结构光边界直线,满足:

建立求解结构光平面方程的参数d 的优化函数为:

联立式(20)、式(22)和式(23)得:

求得了结构光平面的法向量ns与结构光线条上的点到全景相机光心的距离d后,完成结构光平面在相机坐标系下的参数拟合,通过式(16)求解图像中任意结构光上一点与相机光心组成的射线直线方程,进一步求解该直线方程与结构光平面的交点,得到该交点在相机坐标系下的三维坐标,即实现了融合结构光的折反射全景单目视觉测距功能。

4 实验结果与分析

本文提出的融合结构光的折反射全景单目视觉测距方法用于解决无人机在弱纹理条件下环境感知受限以及单目测量精度低的问题,通过分析弱纹理场景下的十字结构光在相机坐标系下的投影关系,进而实现距离测量。使用XNDR01 高阶非球面折反射全景相机作为全景视觉传感器,分辨率为1 600×1 200。结构光发射器使用可控的、单独工作的绿色十字线工业激光模组,功率为100 mW,发射波长532 nm,重量25 g。将两者固定在水平刻度尺上,如图7(a)所示。本实验测距结果与莱卡TS60 全站型电子测量仪(全站仪)测量结果进行比较,进行精度分析。全站仪是将高差测量、距离(斜距、平距)、水平角、垂直角测量功能集于一体的测绘仪器。其测距精度为0.6 mm,测距量程为1km,如图7(b)所示。通过优化单目标旋转摄影方法[29]对全景相机与全站仪进行联合标定,找到全站仪与全景相机的坐标系之间对应关系。确保全站仪测量结果作为真值的有效性,以减少测量误差。实验环境 为Windows10,64 位操作系统,CPU 为Inter Core i7-10750H,主频为2.60 GHz,内存为16 GB,算法基于MATLAB R2019a 编写。

图7 实验验证系统Fig.7 Experimental verification system

4.1 结构光光条中心提取结果

为了验证改进Steger 算法相对于其他算法在结构光光条中心提取过程中的准确度和速度的表现情况,选用灰度重心法、极值法、阈值法、原始Steger 算法、以及改进后的Steger 算法进行对比实验。在同样条件下,运用五种方法对同一张图像进行处理。在图8 中,(a)为原始结构光图像,(b)-(f)分别采用灰度重心法、极值法、阈值法、原始Steger 算法以及改进的Steger 算法对原图像进行十字结构光光条中心提取的结果,并在表2 中对提取效果和运行时间进行对比分析。通过对实验结果图的观察,可以明显看出改进的Steger 算法在光条中心提取方面具有卓越的性能。虽然改进的Steger 算法在运行时间上超出灰度重心法0.119 s,但是提取结果质量相对较好;同比Steger 算法,时间减少1.021 4 s。

表2 算法提取结果对比Tab.2 Extraction results of various algorithms

图8 各算法提取结果Fig.8 Extraction results of various algorithms

同时,选取350 个数据点进行曲线拟合,并通过对相关系数(R2)、和方差(SSE)以及均方误差(MSE)的比较,衡量各结构光光条纹中心提取方法的效果。R2越接近于1,光条提取稳定性越高;SSE 越接近于0,曲线拟合程度越好;MSE 越小,光条中心提取精度越高。

各算法提取的光条中心拟合结果见表3。极值法、阈值法受噪声影响,拟合得到的相关系数降低。灰度重心法受灰度分布的影响,相关系数下降明显,拟合结果偏差较大。改进的Steger 法SSE 拟合误差减少35.92%,说明在同等条件下改进后的方法拟合程度较好。通过对比可知,本文方法有较高的提取精度。这种高提取精确性对于确保测距的准确性和稳定性至关重要,尤其是在无人机高机动运动和弱纹理环境等特殊条件下。这一结果进一步为所提出的结构光辅助折反射全景视觉单目测距方法在实际应用中的可行性和有效性提供有效的数据基础。

表3 各算法提取的光条中心拟合结果Tab.3 Fitted results of extracted light stripe centers for each algorithm

4.2 测距结果分析

为验证所提出方法的有效性,更准确的计算测距误差。将结构光分别投影到无纹理信息的白墙平面以及弱纹理信息的天花板平面上完成测距实验。实验中,使用结构光全景视觉传感器测量一面弱纹理墙面的垂直距离,测量距离从500 mm 到5 000 mm,每隔500 mm 测量一次,共测量十组,每组测量十次。在实验中,利用全景相机观测到的每个结构光点在相机坐标系下的z轴坐标,使用全站仪测量同样位置的真实值作为对照。首先用均方根误差(Root Mean Square Error,RMSE)来衡量在提取结构光条时的随机误差;其次,计算水平结构光和垂直结构光上的平均相对误差(ε),用来反映结构光全景视觉传感器测距的固定偏差。通过这些实验和测量,我们可以全面地评估融合结构光的折反射全景单目视觉测距方法的性能。相对误差和均方根误差的数据将帮助我们了解在不同测量条件下方法的表现,以及其在提取结构光条时的稳定性和精确性。这些评估结果将有助于我们更好地理解本文提出的方法在实际应用中的可行性和有效性。

其中:xr表示全站仪测得的真实距离,xm表示提出方法的所测得距离。

由式(16)可知,在测距过程中需要调用全景视觉传感器的内部参数,通过球模型标定包对全景视觉传感器进行标定得到内参矩阵如表4所示。

表4 XN-DR01 高阶非球面折反射全景相机内部参数Tab.4 Internal parameters of XN-DR01 advanced non-spherical catadioptric omnidirectional camera

通过图9 展示了融合结构光的折反射全景单目视觉测距方法在白墙平面和天花板平面下的测距误差数据。从图中可以观察到,无论是在白墙平面还是在天花板平面,在距离2 000 mm 以内,水平结构光和垂直结构光的测距误差都小于10 mm,然而当距离超过2 500 mm 时,测量误差开始逐渐增加。值得注意的是,在对全景视觉传感器进行标定获得内参时,标定板通常放置在距离1 000~1 500 mm 的范围内,以获得高精度的内参。因此,在这个距离范围内,测距误差相对较小。当测量距离在2 500 mm 以内时,两种场景下水平结构光和垂直结构光的均方根误差分别在13 mm 和19 mm,均保持在20 mm 以内。然而,随着测量距离的增加,两个结构光平面测距的均方根误差逐渐增加。需要指出的是,由于折反射全景相机存在径向畸变,以及像素误差的影响,导致水平结构光平面的拟合精度相对较低。因此,水平结构光的均方根误差增长速度大于垂直结构光。这些数据呈现了融合结构光的折反射全景单目视觉测距方法在不同距离、不同环境下的测量误差特性。通过分析这些数据,我们可以更深入地了解该方法在实际应用中的表现,并为优化和调整方法参数提供参考。

图9 测距误差对比图Fig.9 Distance measurement errors comparison data graph

同时,用误差占测量距离的百分比来表示测量精度,不同场景下的测量精度结果如图10 所示。从图中可以看出随着距离的增加,相对误差也有所增加。在白墙平面和天花板平面用垂直结构光测距最大误差分别为2.69%,2.85%,用水平结构光测距最大误差分别为2.27%,2.57%。然而,值得注意的是,结构光全景视觉传感器的测距精度始终保持在3%以内,即使在较大的距离下,其测量精度仍然满足无人机在特殊条件下精准距离测量需求。通过图示数据,我们可以明确地看出本文所提出的融合结构光的折反射全景单目视觉测距方法在不同场景、不同距离下都能够保持稳定的测量精度,证明其在实际应用中的有效性和可靠性。综上所述,所提出的融合结构光的折反射全景单目视觉测距方法为单目全景测距提供稳定可靠的测量结果,这为单目视觉SLAM[30]以及3D 场景重建[31]等下游任务的实现提供了可靠的理论基础与数据结果。

图10 测距精度图Fig.10 Distance measurement accuracy data graph

5 结论

针对无人机大机动运动视场变化较大以及在弱纹理环境中视觉特征丢失以及单目全景视觉测距精度低的问题。本文提出了一种融合结构光的折反射全景单目视觉测距方法。该方法不需要对图像之间进行立体匹配,以低成本、低功耗的优势提升了无人机在特殊环境下的感知能力。介绍了折反射全景相机的球面投影模型和结构光光条感兴趣区域(ROI)提取的理论基础;建立了融合结构光的折反射全景单目视觉测量模型;改进了Steger 算法提取时间较长的问题,将提取时间提高1.2 s;推导了结构光平面参数获取的过程;建立了测距目标函数进一步求得距离测量值。与全站仪测量结果比较,融合结构光的折反射全景单目视觉测距精度在3%以内,满足无人机在大机动运动条件下以及弱纹理场景下稳定可靠的导航需求。轻量化与低功耗是实现无人机自主导航的必要条件,同时融合结构光的折反射全景单目视觉测距技术为单目视觉SLAM 和3D 场景重建等方面提供了可靠的理论基础与数据结果,有一定的工程应用价值。

猜你喜欢

光条单目全景
面向复杂环境的线结构光光条中心提取算法
Steger算法在运动鞋底表面光条图像中心提取的应用
基于块匹配的激光条纹亚像素中心提取
戴上耳机,享受全景声 JVC EXOFIELD XP-EXT1
一种单目相机/三轴陀螺仪/里程计紧组合导航算法
全景敞视主义与侦探小说中的“看”
单目SLAM直线匹配增强平面发现方法
从5.1到全景声就这么简单 FOCAL SIB EVO DOLBY ATMOS
全景搜索
基于CAD模型的单目六自由度位姿测量