基于视觉的无人机避障通过序列神经网络的模仿学习
转载 2022-04-26 10:58 飞思实验室 来源:飞思实验室对于在给定环境中完全能够自主导航的代理,除了路径规划或跟随能力之外,避障被认为是最基本的要求之一。提出了一个端到端的模仿学习框架,用于基于视觉的避障技术,该技术可应用于无人机,其中此类决策策略是根据对实际人类飞行数据的监督进行训练的。我们利用深度学习技术将视觉输入映射到转向方向。在成功训练神经网络后,无人机应该能够模仿人类专家的决策,在自主导航期间仅使用视觉输入避开障碍物。所提出的基于人类数据的序列神经网络模仿学习的总体框架如图1所示。
图1 使用顺序神经网络的基于人类数据的模仿学习框架
训练数据采集和预处理
Gazebo模拟器用于为神经网络提供模拟环境和训练数据。设计了一个方形的地图,边界周围有墙壁,整个地图上随机放置障碍物,并使用转子萤火虫模型来获取训练数据。仿真环境和无人机摄像机的示例图像如下图 2所示。模拟环境中的人类专家飞行数据被记录下来,这意味着每个时间步的图像和来自专家的相应控制输入被聚合到训练数据集中。
图2 仿真环境示例(左)和无人机图像(右)
四类神经网络架构
1.全连接神经网络 (FCNN)
本研究中用于比较的FCNN模型的架构如图 3所示。FCNN使用三个全连接层,每个层有100个节点,输入图像被展平为(120 × 160)(120×160)神经网络的向量。整流线性单元(ReLU)函数被用作每个隐藏层的激活函数。神经网络的最终输出是(3 × 1)(3×1)向量,其中输出向量的最大元素被认为是神经网络的预测值。
图3 FCNN的架构
2.卷积神经网络 (CNN)
本研究中使用的CNN架构如图 4所示。使用了两组双卷积层,其中第二组后面是第一组的最大池化操作。一种(3×3 )(3×3)步长为 1 的卷积滤波器和(2×2)(2×2)最大池化内核用于两个卷积集。最终卷积层的输出被展平为(100 ×1)(100×1)池化后的向量,然后是输出层。
图4 CNN 的架构(不包括通道的可视化)
3. 递归神经网络 (RNN)
由于基于视觉的避障可以被认为是一个顺序任务,因此在本研究中使用了RNN。不是将原始图像用作 RNN 的输入,而是将从图像中提取的特征用作 RNN 的输入。这是通过迁移学习的概念完成的,其中预训练神经网络的片段被用作另一个神经网络的特征提取器。该网络主要由两部分组成:前面是预训练的特征提取CNN,后面是门控循环单元(GRU)RNN。一般来说,长短期记忆 (LSTM) 单元是最广泛采用的单元之一,用于实现由于RNN具有处理梯度消失问题的能力。GRU单元和LSTM单元的结构比较如下图 5所示。
图5 RNN细胞结构
在 RNN 训练过程之前,特征提取 CNN 在 CIFAR-10 数据集 上进行训练,底层用作特征提取器,因为已知 CNN 在底层学习更多通用特征. 之后在 RNN 训练阶段,CNN 的权重和偏差是固定的,仅更新 RNN 的参数。RNN模型的架构如图 6所示。
图6 RNN 的架构
4. 3D 卷积神经网络 (3D-CNN)
该框架中使用的3D-CNN架构总共由四个卷积层组成。3D-CNN模型的架构如图 7所示。作为具有二维卷积过滤器的卷积层的替代品,三维过滤器应用于一堆连续图像。将时间视为额外的物理维度,卷积过滤器中的额外维度允许 3D-CNN 获取给定数据中的时空特征。
图7 3D-CNN 的架构(不包括通道的可视化)
训练结果
使用混淆矩阵来更全面地评估每个神经网络的准确性。混淆矩阵显示每个案例的预测标签和真实标签之间的比率,其中颜色提供比率的可视化。每个神经网络的混淆矩阵是使用来自验证数据集的 500 个随机抽样批次计算的。每个网络的结果如图 8所示。
图8 四类神经网络的混淆矩阵
混淆矩阵的结果表明,考虑序列数据的模型(例如 3D-CNN 和 RNN)在两个前馈神经网络中表现出更好的结果。FCNN 显示出最差的准确性,主要是因为FCNN无法从图像输入中提取特征。除了FCNN之外,四个神经网络中有三个在层内包含卷积操作,这表明卷积层非常重要,尤其是在提取图像中的特征时。这也意味着特征的提取可以对处理图像的任务的性能产生主要影响。
避障性能评估
为了验证每个神经网络的避障能力,设计了三个用于测试目的的随机障碍物布局的附加地图。障碍物的布局是随机设置的,因此测试地图中的障碍物图案与训练环境中的障碍物图案不一致。选择随机布局是为了增加性能评估环境的复杂性,因为性能是针对其路径上的多个障碍物进行评估的。与方形训练环境不同,测试地图的整体形状设计为长矩形,以便可以衡量平均行驶距离或成功率等标准。每张地图的总长度为24米24米用于避障验证的测试地图布局如图 9所示。
图9 用于性能评估的测试场景图
训练好的神经网络针对上面显示的三个测试图进行了避障任务的测试。每个神经网络都进行了十次测试,如果无人机成功越过长方形地图而没有撞到任何障碍物,则认为试飞成功。如果无人机位于距离任何障碍物0.05 m以内,则确定碰撞;如果无人机太靠近障碍物,则认为试飞失败并终止模拟。所有测试场景和试飞的实际轨迹如图10所示。蓝色和红色轨迹分别表示成功和不成功的试飞,绿色虚线框表示安全边界0.05米。
图10 地图中试飞的轨迹(FCNN、CNN、RNN、3D-CNN)
将每次试飞的最远行进点进行比较,计算每个神经网络相对于测试图的均值和标准差。由于成功率仅提供了对试验是否成功的性能评估,因此可以通过分析最远行进点的分布来进行更有效的评估。这样的评估标准在飞行路径的一致性方面提供了对神经网络性能的进一步了解。所有三种测试地图场景的结果如图 11所示。
图11 最远点评估
每个图中的水平虚线代表起点和终点,其中y轴上的0是起点,24是地图的终点。盒子的上下边缘代表采集到的最远点分布的上下四分位数,因此盒子的高度代表数据的四分位数间距。每个箱线图的上下限,或须线,表示数据集的最大值和最小值在四分位距的 1.5倍以内,方框中间的红色水平线表示收集的积分。位于框外的红叉是位于胡须范围之外的数据点。
结果表明,就所有三个测试地图的性能而言,3D-CNN是最一致的。虽然 RNN 能够表现出相当好的结果,但收集到的数据点的变化大于 3D-CNN,表明性能不太一致。在大多数测试场景中,CNN 也被证明能够跨越一半以上的地图,而 FCNN 在一致性和最大行驶距离方面都不太成功。
源自:International Journal of Aeronautical and Space Sciences (2020) 21:768–779 https://doi.org/10.1007/s42405-020-00254-x