魏 麟 陈 玉 王 彪 陈华杰
(中国民用航空飞行学院,广汉 618307)
2020年6月,空客公司首席技术官宣布空客成功实现世界上首次民航客机采用计算机视觉引导的飞机自动滑行、起飞、降落试飞。也就是说,空客改装的A350可以在不依赖地面导航设备的前提下,仅通过视觉导航实现飞机的自动起飞和降落。
相比如今广泛应用的仪表着陆系统(ILS),基于视觉的飞机自动驾驶作为未来可能普及的技术,显然还有很长的一段路要走。基于视觉的飞机自动驾驶优点和缺点同样明显。自动驾驶不过于依赖路基和机载设备,甚至无需机场假设导航设备,这降低了对设备安装投入和精度维护的依赖,也能让飞行员驾驶飞机更为轻松,然而由于是视觉导航,一般在能见度较好的气象条件或者机场引导目视灯光条件下才能完成,运行场景受到限制。
视觉引导飞机着陆基本思路是通过设置在飞机上的相机或其他图像传感器,测量地面标志点,获得飞机相对标志点的位置信息[1]。研究飞机进近着陆阶段对机场跑道的检测对飞机进行定位,对未来实现飞机的自动降落具有一定的理论指导价值。飞机降落时对机场跑道进行检测和视觉定位作为飞机自动着陆过程中关键的一部分,其主要技术是目标检测和视觉定位。本文从这两个方面着手设计辅助着陆系统。
辅助着陆系统主要分为三个阶段,首先是机载视觉传感器采集图像,然后检测图像中的机场跑道部分,最后根据图像中跑道像素信息通过视觉SLAM方法输出飞机位置信息。飞机的位置信息可用于分析飞机飞行状态是否异常。辅助着陆系统框架如图1所示。
图1 辅助着陆系统基本流程
如图2所示,机场跑道选用某机场等比例微缩模型,视觉传感器选择深度相机。深度相机在辅助着陆系统中有两个重要任务,分别是采集图像信息以及计算跑道和自身的距离。两个任务对应目标检测阶段和视觉定位阶段,目标检测阶段主要是需要采集跑道图像信息制作跑道图像数据集,用来训练目标检测模型;视觉定位阶段是运用深度相机实时测量跑道和自身的距离[2],绘制相机的移动轨迹,从而得出飞机的飞行轨迹。深度相机会在跑道模型上方做出多个角度的,往跑道靠近的运动,来模拟飞机的飞行路径,辅助着陆系统所要实现的就是计算出该飞行路径,和实际路径对比,如果偏差较小,则证明辅助着陆系统在实物仿真环境中是可行的。
图2 机场跑道模型和深度相机
YOLO(You Only Look Once)是最早出现的单阶段目标检测算法,也是第一个实现了实时目标检测的方法。YOLO将物体检测作为回归问题求解,基于一个单独的端到端网络,完成从原始图像的输入到物体位置和类别的输出[3]。YOLO的检测速度能达到45帧每秒,mAP达到其他实时检测系统两倍以上,但它的局限也很明显,产生了更多的定位误差,检测精度相对落后。YOLOv3在YOLO的基础上引入FPN,增加了网络复杂度,舍弃了部分检测速度,提高了检测精度[4],基本能满足辅助着陆系统检测跑道的要求,因此计划采用YOLOv3作为检测跑道的算法。
研究飞机降落时对机场跑道的检测,其实就是研究机载深度相机采集的视频中对机场跑道的检测,尤其是飞机在高空时对跑道的检测。有两个关键点,一是机场跑道数据集的建立;二是飞机在高空时,摄像头所采集的跑道目标较小。由于飞机在空中速度快,检测需要满足实时,所以计划采用单阶段目标检测中的YOLOv3算法。数据集则通过建立某机场跑道等比例微缩模型采集制作。YOLOv3网络完成机场跑道区域检测示意图如图3所示。
飞机在即将着陆时和机场跑道的距离还比较远,此时机载深度相机采集的图像中机场跑道所占的像素较少,因此小目标检测是飞机在高空阶段检测跑道的一个难点。针对这个难点,有以下研究方案可供参考:
(1)高效利用神经网络的底层特征,多尺度进行检测。小目标检测中,图像或大或小,并且图片检测范围变化较明显。卷积神经网络高层的语义信息强,但分辨率低;相应的,卷积神经网络底层语义信息弱,分辨率高,对小目标检测来说底层很重要。可以建立更完善的特征金字塔,使得网络的所有尺度都具有强语义信息[5]。
(2)增加训练数据量。数据量的扩大对于训练深度学习模型十分重要,扩充数据量可有效提高小目标检测效果[6]。在一些航空影像数据集的基础上,增加对机场跑道标注的数据集,让模型充分学习跑道检测,提高检测成功率。
(3)增加图像中小目标的分辨率。小目标在图像中像素少,特征比较模糊,因此不易提取特征,可以通过图像超分辨率方法如生成对抗网络,将图像中的小目标生成高分辨率表示,这样就能最大限度提取特征,从而提高小目标检测成功率[7]。
(4)同时提高感受野和特征分辨率。小目标在图像中所占像素较少,提取的特征分辨率低,特征分辨率低导致小目标不易被检测,可以减少采样率来增加特征分辨率,但是减少采样率会导致感受野下降,对较大目标的检测产生不良影响,此时可使用膨胀卷积等方法,既能增加特征分辨率也能提升感受野[7]。
图3 YOLOv3网络结构图
辅助着陆系统检测出图像中机场跑道区域后,对机场跑道图像信息进行读取和预处理,运用视觉SLAM方法计算出飞机的实时位置并与飞行数据进行比对。这样就能实时监测飞机降落时的飞行轨迹,为飞行安全增加保障。视觉SLAM方法定位飞机相对跑道位置基本流程如图4所示。
图4 飞机视觉定位框架
只利用相机作为外部感知传感器的SLAM(Simultaneous Localization And Mapping,同步定位与建图)称为视觉SLAM。本文设计的辅助飞机着陆系统计划采用深度相机作为外部图像传感器。系统在检测出图像跑道位置后,以跑道为目标,深度相机向其发射一束光线(通常是红外光)。在红外结构光原理中,根据返回的结构光图案,计算物体和相机之间的距离,从而估计出飞机的飞行轨迹。然而只用相机估计轨迹会不可避免地出现累计漂移(Accumulating Drift)。这是因为简单估计相邻两帧图像间的运动总会带有误差,而前面的误差会传递到下一次估计,直到最后相机估计的轨迹将不再准确。因此,需要回环检测和后端优化,分别负责检测问题和纠正问题。
深度相机对图像信息进行读取和预处理后,视觉里程计对相邻图像间的运动进行估算,给后端提供较好的初始值,视觉里程计也称为前端。目前为止,视觉里程计的主流方法是特征点法,它稳定并对动态物体和光照不敏感,是目前较为成熟的解决方案[8]。大概做法是先在机场跑道图像中选择比较有象征性的点,这些点在相机视角发生微小变化时会保持不变,所以我们能在各个图像中找到相同的点,然后在这些点的基础上讨论相机位姿估计问题,也就是相机载体——飞机的位姿,以及这些点的定位问题[9]。
后端优化主要是处理视觉SLAM中的噪声问题。由于图像传感器一定会带有一定的噪声,并且有的还会受磁场、温度的影响,所以噪声问题需要引起重视。后端优化所要考虑的问题就是如何从带有噪声的数据中估计系统的状态,还有这个状态的估计的不确定性有多大[10]。为了解决SLAM问题,就需要状态估计理论把定位的不确定性显示出来,然后采用非线性优化或滤波器来估计状态的均值和不确定性。
回环检测主要处理位置估计随时间漂移的问题。也就是要让系统知道自己到了曾经到过的位置,比如设置标志物或者判断图像是否相似。检测到回环之后,系统会把“到了相同位置”这一信息传达给后端优化算法。后端根据信息把轨迹和地图调整到符合回环检测的样子[11]。于是,如果有充分而且正确的回环检测就可以消除累计误差,得到全局一致的轨迹。
视觉定位是辅助着陆系统的关键部分,检测跑道是视觉定位前期的准备工作。本文设计的辅助着陆系统希望仅依靠外部图像传感器就能达到给准备着陆飞机定位的目的,计划在搭建的微型机场跑道区域实现。本文的辅助着陆系统设计可以为飞机自动平稳着陆提供一些新的思路。
随着航空电子技术的发展,计算机视觉引导的民航客机的自动降落技术会在将来某一天完善并普及,视觉传感器的安装环境要求较低,可以节省大量成本,视觉导航也被认为是解决飞行载体快速稳定着陆最有前途的方向之一。从视觉导航方向探讨如何使用相机作为外部传感器实现飞机在降落阶段的定位,描述辅助着陆系统的主要算法部分及需要实现的功能。首先运用基于深度学习的目标检测算法识别出图像中机场跑道部分,随后利用图像中跑道像素数据,通过视觉SLAM方法,实时输出飞机的位置,将测量的位置数据与飞行数据进行比对,从而实现辅助飞机着陆的功能。