基于机载视频的无人机降落区域检测研究

创建时间:2024-12-20 13:57

源自:数据采集与处理

作者:曹亚楠  李明磊   李佳  陈广永  叶方舟

摘要

提升无人机的自主着陆能力对于提高无人机的作业效率和野外生存能力具有重要意义。本文提出了一种基于机载视频的无人机降落区域自动检测方法,目的是在缺乏场景先验知识的情况下,提高无人机的自主避障着陆能力。本文将多视图几何约束方法的深度学习网络融入到视觉同步定位与制图(Simultaneous localization and mapping,SLAM)算法中,旨在构建场景的三维地图,同时主动判别潜在障碍物。随后,提出了一种顾及降落区域面积及平坦度等因素的降落区域检测算法,通过体素网格地图的空间分析方式,判别出无人机着陆区域。在不同类别场景中分别进行实验,结果表明了提出方法的准确性。

关键词

无人机; 降落区域检测; 动态场景; 目标检测; 同步定位与制图

 

引 言

对于野外搜救、侦察、环境监测、地质勘探以及抢险救灾等许多应用场景,无人机的自主降落能力至关重要,该能力要求无人机在没有人为干预的情况下准确识别、接近并降落在安全区域。目前,在对着陆区没有先验知识的情况下,无人机自主降落区域检测的相关研究工作非常具有挑战性[1]。全球导航卫星系统(Global navigation satellite system,GNSS)能够为无人机提供三维空间位置参数[2],然而仅依靠GNSS导航是无法获得飞行区域的地形和障碍物信息,且在森林、山谷和高密度高层建筑等环境中,GNSS定位导航信号会受到干扰,错误的定位导航数据反而会影响系统的可靠性[3]

激光雷达能够获取场景的三维点云数据,可以通过设计面向点云数据的候选平面提取算法,遴选出满足着陆要求的平坦区域[4⁃6],然而,此类传感器价格较高、重量较大,不适用于小型无人机。与此不同,光学相机具有重量轻和成本低等优点,适合作为无人机机载的环境感知传感器[7⁃9]。然而,通过机载相机获取视频图像,在GNSS导航信号拒止的情况下,对无人机的位置及姿态进行测量及对着陆区域判别仍然面临一定的挑战[10]。目前有许多基于视觉的无人机自主着陆的研究,根据技术手段可以分为3类: 基于视觉标识识别的方法、基于地面特征提取与匹配的方法以及基于特征视觉里程计的方法。

(1)基于视觉标识识别的方法。其利用计算机视觉算法识别着陆区域上放置的特定标识物,并通过特征提取和匹配等操作,求解无人机的飞行位姿参数[11⁃13]。2017年,Chen等[14]使用改进的R⁃CNN(Region⁃convolutional neural network)对指示地标进行识别。然而,基于地标的无人机降落区域检测方法需要根据不同类型的应用场景设计不同的指示地标,而检测算法也需根据指示地标的几何特点来设计,无人机只能在给定的场景中实现安全着陆。此类算法的稳定性和鲁棒性较差,不适宜应用于灾后救援、无人机遇故障需紧急降落等多类指示地标无法预先放置的场景。因此无人机需要能够自主分析周围场景并对着陆区域进行选择。

(2)基于地面特征提取与匹配的方法。其使用无人机的视觉系统获取降落区域的图像,并提取其中的地面特征(如边缘、角点等),与地面模板或先前建立的地图进行匹配,然后根据匹配结果来寻找理想着陆区域[15]。2008年,Miller等[16]创建了无人机跑道的图像参考数据库,当无人机飞抵预期飞行区域后,将飞行场景信息与无人机上的处理器收集的信息相匹配,从而可以获得无人机相对于跑道的距离和姿态角。该方法不需要预先设置指示地标。但此类方法对地面模板的准确性要求较高,如果地面模板与实际场景存在较大差异,匹配结果可能会出现错误,导致无法准确地寻找出理想着陆区域。

(3)基于特征视觉里程计的方法。无人机的视觉系统实时获取降落区域的图像,根据射影几何关系推导序列影像之间的相对位置姿态,恢复无人机的运动轨迹[17⁃18]。2015年,Forster等[19]提出了一种利用文献[20]中的高程图框架来建立场景高程模型的多旋翼无人机着陆区域识别方法,其使用基于单目相机的半直接视觉里程计(Semi⁃direct visual odometry,SVO)来估计无人机的位姿。

面对无人机的安全着陆问题,不但要考虑无人机的位置和姿态信息,着陆区的三维地形和地面潜在的动态障碍物也是环境感知的重要内容。2018年,西北工业大学的飞思实验室[21]研究了无人机在未知区域的着陆。论文结合了场景点云的三维特征提出了一种新的地图表示方法,并采用一种区域分割方法对地形进行分析,实现对障碍物及平坦区域的识别。文献[22]中的地图表示采用二维的概率网格,每个网格中仅含有该区域是否平坦的概率信息,该方法并不能用于对场景中障碍物的识别。Mittal等[23]通过对场景建立数字高程模型 (Digital elevation model,DEM)来选择无人机的着陆区域,该方法需要依赖Canny算子进行边缘提取,依然存在局限性。在动态环境中,动态物体会给无人机降落带来不便,同时其移动可能引起相邻帧之间的点对匹配误差,这可能导致无法进行准确的无人机位姿估计和精确的地图构建[24⁃27]。为解决上述问题,文献[28]引入了一种基于深度学习的目标检测方法,该方法利用目标检测神经网络识别场景中的动态物体。然而,此类方法可能会将场景中的某些静态部分过滤掉,进而导致生成的地图缺乏必要的信息。

本文提出了一种利用光学相机在未知环境中自主检测无人机降落区域的方法,该方法无需依赖卫星信号和地面先验知识。本文将多视图几何方法融合到目标检测网络中构建动态障碍物检测模块,并将该模块集成到同步定位与制图系统中,以实现无人机在降落时对动态目标的感知和避障。基于对获得的稀疏点云进行体素网格化的分析,本文还设计了一种分簇化平坦区域检测算法,用于判别无人机降落区域。

1 方法概述

本文所提出的无人机降落区域检测方法框架如图1所示,包括定位及制图、动态障碍物检测、体素网格地图构建和降落区域检测4个模块。

 

图1  本文方法概述

 

首先,借助成熟的ORB⁃SLAM2[29]算法框架,搭建定位及制图模块,建立当前飞行场景的初始三维点云结构。此时的三维点云数据提供了粗糙的场景结构表示,为后续构建体素网格地图提供数据源。考虑到场景中存在的动态目标,本文将多视图几何方法与YOLOv5目标检测网络[30]相结合,构建动态障碍物检测模块,实现对场景中移动目标的识别以及移动目标上的动态特征点的剔除。更进一步,本文将该模块集成到同步定位与制图系统中,以降低无人机的着陆风险。

然后,针对初始三维点云数据的离散特性,本文设计了基于八叉树[31]的体素网格化地图构建方法。该方法旨在对获得的点云进行均匀重采样,在一定程度上抑制了噪声、遮挡等数据缺陷。根据网格单元的高度信息对地图进行颜色渲染,建立场景的高程图。在此基础上,利用每个体素的中心点信息,计算地形的高度、平滑度和连通性等属性,分析三维地形的几何变化。

最后,由提出的分簇化平坦区域检测算法在生成的高程图中选取出具备足够空间、足够平坦且具有较高安全性的区域作为无人机着陆的理想位置。

2 算法设计

2.1 视觉定位及制图

无人机着陆前期,对地面场景进行拍照,获得的序列影像具有较好的特征跟踪效果,为视觉同步定位与制图(Simultaneous localization and mapping, SLAM)系统提供了良好的数据输入。本文以ORB⁃SLAM2算法为基础框架,构建定位及制图模块。ORB⁃SLAM2是一种基于特征的同步定位与建图系统,其包括跟踪、局部建图和闭环检测3个线程,适用于多样化的应用场景[32]

在飞行中,无人机利用机载环境感知传感器捕获图像或视频流,并进行特征点检测和提取。随后,通过特征点的匹配与前一帧进行数据关联,实现对其自身位姿的估计和对地面场景的建图。地面场景(图2(a))的三维点云如图2(b)所示,蓝色矩形框和绿色线条代表了无人机的位姿和轨迹。

 

图2  利用SLAM模块构建的飞行区域点云

 

 

2.2 动态障碍物检测

当场景中存在动态目标时,会对无人机的安全着陆造成威胁。为解决这一问题,本文在系统中增加动态障碍物检测模块。该模块中融入了YOLOv5目标检测网络。在YOLOv5的各版本中,YOLOv5s具有轻量化的模型,检测速度快,同时具有较高的检测精度,适用于无人机快速检测着陆区这类空对地场景。本文采用YOLOv5s检测关键帧中的相应目标并获取其在图像中的坐标位置信息,进而构造相应的检测框以标记这些目标。本文在PASCAL VOC(Visual object classes)数据集[33]中增加了自采的无人机影像数据集,并利用其对YOLOv5神经网络进行了训练,将车辆识别并标记为潜在动态对象。在跟踪线程中,将检测框内的特征点定义为异常值,并在后续的处理中将其剔除。

检测框内通常包含了许多静态部分,如图3中绿色框内区域。因此仅依靠YOLOv5目标检测网络确定出的动态特征点含有部分“假性”动态点。对于目标密集的区域,此类“假性”动态点在所有特征点中占据较大比例,此时如果将检测框中的特征点全部剔除可能会导致SLAM系统的跟踪线程失败。本文借助对极几何约束方法[34]对框内的真正动态特征点进行进一步筛选。该几何约束关系如图4所示。图中:I1 和I2 表示两帧相邻图像;C1 和C2 分别表示相机的光心,C1 和C2 的连线为基线,其与两幅图像平面的交点e1 、e2 为极点;p1 、p2 表示空间中的点P 在两帧图像上的投影;由相机光心C1 、C2 和点P 构成的平面为极平面,其与两帧图像的交线分别为极线l1 和极线l2

 

图3  YOLOv5检测网络识别区域

 

图4  对极几何约束示意图

 

如果1个特征点能够正确地与前1帧图像中的1个特征点匹配,那么它必须位于当前图像的极线上,如图3中的p2 点位于I2 图像的极线上。然而,在真实环境中,由于噪声的存在以及相机标定误差的影响,计算得到的基础矩阵FF通常是不准确的,这导致特征点p2 并不严格位于由特征点p1 和基础矩阵F 计算出的极线上。在这种情况下,特征点p2 与极线l2 之间存在一定的距离。当从动态目标上提取特征点时,会导致这个距离过大,如图4中p'2 点偏离p2 点。因此,本文引入这一距离约束来进一步筛选在YOLOv5检测框内的运动目标上的点。

设定阈值T 为

 

  (1)

 

式中:M 为图像中的特征点数目;Li 为第i 个特征点到计算出的极线的距离。

动态特征点会对基础矩阵FF的计算产生较大影响,为了获得可靠的基本矩阵F ,本文利用YOLOv5的检测结果作为特征点的先验信息,去除YOLOv5检测框内的潜在动态特征匹配点对,使用保留的静态特征匹配点对而不是所有的对应关系来计算基本矩阵FF。

利用式(1)中的距离约束进一步筛选真正的动态特征点。如果通过式(1)计算得到的L 值超过了设定的阈值,那么该特征点将被视为真正动态特征点,在后续处理中予以剔除;而当L 值小于阈值时,该特征点将被认定为静态特征点,用于其后的特征匹配过程。

2.3 体素网格化地图构建

本文设计了一种基于八叉树数据结构的高效三维建图方法,旨在对定位及制图模块构建的稀疏三维点进行体素化重采样。在重采样过程中,该方法考虑点云数据的空间分布和密度,通过多次实验确定以下关键参数。

(1)体素单元格分辨率。对于稀疏点云数据,采用较大的体素分辨率以降低计算和存储成本,但过大的分辨率会导致体素单元内包含的点云数量过多,从而丢失场景中的细节信息。过小的分辨率会导致体素网格地图无法正确地表示场景中的区域和连接关系,对后续着陆区选取任务的进行造成困难。因此,兼顾点云数据的空间分布和实际场景中的距离关系,确定体素单元格分辨率。

(2)体素占用阈值。设定合适的体素占用阈值,确保对点云较好的覆盖。对于每个体素,将其内包含的点云数量与设定的阈值进行比较,如果点云数量超过了阈值,那么该体素被视为占用;如果点云数量低于阈值,那么该体素被视为空闲。

最后根据生成的体素网格地图中每个单元格内的高度信息进行颜色渲染,建立场景的高程图。

2.4 降落区域检测算法

本节提出了一种以体素网格高程图为输入数据的分簇化平坦区域检测算法。算法利用高程图中的高度信息对其进行分簇聚类处理。随后,根据预先定义的降落区域选择要求和安全约束规则,对聚类得到的区域进行评估和筛选,确定出场景中适合无人机降落的区域。算法具体实现如下。

首先,在当前场景中定义一个体素单元格G ,该体素位于高程图范围内,并具有二维坐标(x0,y0) 。考虑以RR为半径,在体素G 周围形成一个体素的集合T(x0,y0,R) 。体素集合TT中的每个体素具有在高程图中的二维坐标(x,y) 。为了对高程图进行分簇操作,本文按照式(2)对半径为RR的区域进行划分。

 

  (2)

 

式中Sk 表示第k 个体素集合T 中与体素G 的距离在半径R 内的一个聚类簇,k 为划分的聚类簇的数量。每个聚类簇由体素集合T 中满足与体素G 的距离小于等于R 的体素形成。为了安全着陆,由半径R 确定的区域面积应为无人机大小的两倍。然后,根据设定的安全降落区域标准,对每个聚类簇进行以下判断:

(1)区域足够平坦。定义聚类簇Sk 中体素单元格的集合为B ,并用Z 表示每个体素单元格的高度值,则可按照式(3)计算所有聚类簇表示的区域平坦度。

 

  (3)

 

式中Pk 表示第k 个聚类簇表示的区域的平坦度。通过计算聚类簇中每个体素单元格间的高度值之差的平方和,可以得到区域的平坦程度。平坦度值越小,表示区域越平坦。

(2)区域面积足够大。为实现安全降落,聚类簇所表示的场景区域的面积应为无人机实际占据面积的两倍。设一个聚类簇中的体素单元格集合为B ,其面积可以通过计算B 中包含的体素单元格数量n ,并乘以每个体素单元格的实际面积(单位面积)得到。那么,为满足安全降落的要求,聚类簇所表示的场景区域面积Ac 应满足以下条件

 

  (4)

 

式中Ad 表示无人机实际占据的面积。筛选满足上述两个标准的聚类簇表示的区域作为降落候选区域。另外,计算每个聚类簇中体素单元格的高度平均值,将平均高度大于设定阈值H的聚类簇表示的区域设定为障碍物区域。

最后,设第k 个候选区域Mk 中体素单元格集合为C ,所有障碍物区域中体素集合为O ,其中每个体素单元格在高程图中具有二维坐标(x, y)。按照式(5)计算所有候选区域与障碍物之间的综合距离。

 

  (5)

 

式中Dk 表示第k 个候选区域Mk 与所有障碍物之间的综合距离。通过计算候选区域中体素单元格与所有障碍物区域中体素单元格之间的欧氏距离,并对候选区域Mk 和所有障碍物区域之间的距离进行累加,得到综合距离。选取综合距离最远的候选区域作为无人机降落的最佳区域。

3 实验验证

3.1 实验平台

本文选用DJI Mini 3四旋翼无人机作为数据采集的平台。该无人机具有多个模块,包括气压计和惯性测量单元(Inertial measurement unit,IMU)等。此外,该无人机还配备了一个单目相机传感器,像素为4 800万。该四旋翼无人机展开(含桨叶)后的尺寸为251 mm×362 mm×72 mm。

本文在配置有Intel CoreTM i5‑12400 CPU、12核主频2.5 GHz、15 GB内存的Linux操作系统的台式机上进行实验环境配置。同时,为了可视化实验结果,本文在ROS(Robot operating system)操作系统中进行数据处理和可视化部分的开发。

3.2 不同类别场景中降落区域的检测

本文在室外多类场景中进行了无人机降落区域检测实验,包括含有动态目标的场景。图5(a)展示了动态场景中的车辆检测结果,其中,绿色框内区域表示检测框内的静态部分。图5(b)中仅使用YOLOv5目标检测网络检测移动车辆,结果显示,对应图5(a)中绿色框内的静态部分的特征点被提取为动态点。图5(c)展示了融合对极几何约束方法进一步筛选真正动态点的结果,可以看到,位于检测框内但在静止树木上的静态特征点被有效排除。对筛选后的真正动态点的剔除用于后续着陆区选取时对移动车辆的避障。

 

图5  仅使用YOLOv5方法与结合对极几何方法剔除动态点的效果对比

 

图6为不同场景下着陆区的检测结果,其中左列为真实场景,中间列为定位与制图模块构建出的场景三维点云,右列为高程图中着陆区检测结果。图6(a)的简单飞行场景中包括树木、无人机操控人员以及较大面积的平坦草地,无人机与地面的高度保持在10~20 m。图6(b)的多障碍物飞行场景中包含花坛、长椅和灌木等多个障碍物,无人机与地面的高度保持在50~60 m。图6(c)的动态飞行场景中含有动态车辆,无人机与地面的高度保持在50~60 m。其中的车辆在高程图中被有效剔除(图中黄色矩形框所示)。高程图中的深绿色区域表示候选着陆区域,绿色高亮区域表示最终降落区域,该区域在真实场景中对应于红色矩形框所示位置。

 

图6  不同场景下着陆区检测

 

图6中可以直观看出最终降落区域平坦度较高、面积大小适合无人机降落且远离障碍物。表1展示了本文方法在无人机降落区域检测时的准确度。其中,可着陆区域检测准确度定义为算法检测出的符合着陆要求的网格单元数与实际平坦区域的网格单元数之比。由表1可以看出,在相对简单的场景中,算法检测出可着陆区域的准确度较高;在飞行高度较高、场景复杂度较高时,场景地面细节较多,SLAM恢复出的场景点云中存在更多的噪声点,检测准确率会受影响。对于动态场景,从图6(c)中可以看出本文提出的融合多视图几何约束的动态目标检测算法可以成功识别移动车辆,并将其上的点剔除,进而动态目标不参与高程图构建,不作为可着陆区域考虑,从而降低了无人机着陆风险。

 

表1  不同场景下的可着陆区域检测准确度

 

 

场景类别 可着陆区域检测准确度/%
简单场景 95
多障碍物场景 89
动态场景 85

3.3 计算效率及运行时间分析

在进行运行效率测试实验时,除了3.2节详细介绍的3组实验外,还补充了在建筑物密集地区和纹理缺乏地区的两组实验,以探究本文方法在多类场景下的性能表现,结果如表2所示。从表2可以看出,定位及制图模块处理1帧图像的平均时间为43.6 ms,对于含移动车辆的动态场景,YOLOv5s模型处理1帧图像的平均时间为68 ms。由于增加了对检测框内动态点的判别,SLAM在处理该场景1帧图像的时间开销也相应增加。建筑物密集地区结构复杂,可能含有大量特征点,这会增加特征提取和匹配的计算量,从而增大CPU及内存占用率。相反,对于纹理缺乏地区(如水体等),特征点提取和匹配的计算负荷会减轻,因此需要的计算资源减少。降落区域检测模块处理1帧点云的平均时间为2.1 ms。建筑物密集地区的场景复杂度较高,高程图的网格单元数量较多,使得建立高程图和降落区域选取决策的时间开销增加,同时也增大了CPU及内存占用率。

 

表2  各实验场景下的运行效率及处理时间

 

 

 

场景类别 定位及制图模块 降落区域检测模块
时间/ms CPU占用率/% 内存占用率/% 时间/ms CPU占用率/% 内存占用率/%
简单场景 25 11.7 3.9 1.8 3.3 0.7
多障碍物场景 33 11.9 4.0 1.3 1.0 0.6
动态场景 104 12.5 4.2 2.2 4.7 0.7
建筑物密集场景 31 12.3 4.2 3.4 8.7 0.7
缺乏纹理的场景 25 11.2 3.8 1.8 3.7 0.7

4 结束语

本文提出了一种基于机载视频的无人机降落区域自主检测方法。该方法借助ORB⁃SLAM2算法框架构建场景点云,通过融入结合多视图几何约束的目标检测网络,实现对场景中动态目标的准确检测。针对构建的稀疏三维点云,本文设计了一种基于八叉树的体素网格高程图对场景建模,并提出了一种分簇化平坦区域检测算法,用于从生成的高程图中选取出最佳降落区域。通过在多种场景下的飞行实验,验证了所提出方法的准确性。未来的研究将采用更严格的标准来选择合适的着陆区域,例如考虑地形中由岩石引起的粗糙程度,以提升无人机降落的安全性。

 

声明:公众号转载的文章及图片出于非商业性的教育和科研目的供大家参考和探讨,并不意味着支持其观点或证实其内容的真实性。版权归原作者所有,如转载稿涉及版权等问题,请立即联系我们删除。

浏览量:0
收藏