基于ADS-B数据的机场场面多目标行为识别

2022-02-28 12:08冯晓丹李呈祥乔祎
科学技术与工程 2022年5期
关键词:卷积机场飞机

冯晓丹, 李呈祥, 乔祎

(1. 北京首都国际机场股份有限公司信息科技部, 北京 101399; 2. 北京首都国际机场股份有限公司运行控制中心, 北京 101399; 3. 中国民用航空总局第二研究所科研中心, 成都 610041)

随着中国民航业快速发展,机场作为重要的交通枢纽面临越来越大的运行压力。由于近年来机场场面安全事故频发,计算机视觉技术越来越多的参与到了机场监控工作中来[1-2]。机场监控中使用的大多是计算机视觉中最基本的目标检测以及目标跟踪技术[3],然而随着机场运输吞吐量暴涨,这种简单的应用远远无法满足机场需求。

目前有关行为识别的研究基本都是针对单目标的行为识别,并且针对如何在视频中找出行为主体关注较少[4]。传统的行为识别方法主要是基于手动提取特征的方法[5],其特征提取方式主要包括全局特征提取[6]和局部特征提取[7],然而识别机场场面中飞行器的行为不仅需要目标在时间上的特征,还需要目标所处的位置背景特征,行为识别方法都是以人工智能为基础的,而它们又可以大致分为单流网络和双流网络两种。其中双流网络将视频分为空间流和时间流,空间流大都输入普通的(red-green-blue,RGB)图像,利用卷积神经网络训练目标与背景的空间位置关系;时间流主要训练的是目标前后帧之间的运动状态,因此光流[8]、运动矢量[9]等可以表征运动信息的图像都可以作为它的输入。由于该方法在输入RGB图像的同时需要额外准备其他输入,因此在数据准备阶段耗时较多,近年来双流方法倾向于建立一种端到端的网络结构,在网络内部提取光流而不是事先准备光流作为输入,但是由于其计算量相对而言依然较大,因此对机场实际应用价值不大。单流网络旨在直接输入RGB图像完成行为识别,希望通过单流的输入同时完成对空间上位置信息和时间上的运动信息的训练。单流网络主要采用三维卷积[10-11]和多图像的二维卷积[12]两种方式,目前三维卷积针对复杂行为的识别精度更高,但是由于三维卷积的参数量远大于二维卷积,运行速度过慢是它长期存在的问题。与之相比,二维卷积通过提取相邻帧信息与多帧全局信息,在进行了时序信息建模的同时可以有效地降低网络复杂度[13]。近两年出现了三维迁移学习算法[14]以及无监督的行为识别算法[15],然而这些算法大都经过了迁移学习,而目前不存在机场场面数据,因此也不具备迁移学习的条件。

针对机场场面的行为识别,目前主要还存在两个方面的问题。首先是大多数情况下,机场场面监控视频中都存在多个飞行器目标,如何准确且快速的定位这些目标是一个重要问题。其次,机场监控对于实时性的需求意味着无论是针对目标的定位还是行为识别都必须使用计算量较小的算法,使用尽量简单的方法完成准确的定位以及行为识别是研究的重点。

由于机场场面是一个独特的场景,它与普通区域的不同在于它有额外的手段辅助视频进行目标定位。因此现选择使用机场独有的广播式自动相关监视系统(automatic dependent surveillance-broadcast,ADS-B)信息进行辅助定位。该方法通过现场标定以及坐标转换,仅使用很小的计算量就可以准确定位场面上所有飞行器。而在单个目标的行为识别方面,由于设置的机场场面飞行器行为只有7种,并且其形变小、运动模式简单,因此采用时间尺度的二维融合卷积来进行机场场面的行为识别,该算法仅在单流网络中使用二维卷积,因此计算量远小于双流网络以及三维卷积算法。综上所述,现提出一种基于ADS-B的机场场面飞机行为识别方法,首先利用ADS-B信息,通过透视变换的方法对视频中的所有飞机进行定位,然后利用历史轨迹预测飞机一定距离之后的位置,通过历史以及预测的目标位置划定每一架飞机的运动区域,从而将多目标行为识别转换为多个单目标行为识别任务。在每一架飞机的运动区域中,通过多时间尺度的融合卷积完成对所有飞机的行为识别。针对性地制作一个包含飞机各种行为的小型数据集为基于融合卷积的行为识别算法提供训练和测试,同时在多个具有ADS-B数据以及相应标定数据的场面监控视频中进行验证。

1 基于ADS-B的目标定位

飞行器定位算法首先获取ADS-B系统发出的广播数据,然后从其中提取各飞行器目标的WGS84(World Geodetic System84)坐标数据。由于该数据与图像数据处于不同的坐标系,因此要先转换坐标系以实现不同坐标系之间的数据映射,然后在图像中找到飞行器具体位置。

1.1 ADS-B数据

ADS-B系统即广播式自动相关监视系统,由多地面站和机载站构成,以网状、多点对多点方式完成数据双向通信。在机场智能化建设中ADS-B占有很重要的地位,它被认为是下一代航空运输系统的核心。ADS-B的概念如图1所示。飞机从全球导航卫星系统例如全球定位系统(global positioning system, GPS)中获得其地理坐标。然后,通过安装在飞机上的广播雷达以ADS-B报文的形式将航班号、位置、速度等信息进行广播。地面站接收并解析ADS-B信息后,将其发送给机场塔台、管制中心等位置,其广播周期为每秒两次。与用于地面监视的传统二次监视雷达相比,ADS-B有许多优势,例如更精确的数据和更少的基础设施。目前ADS-B系统已经在加拿大、中国、瑞典、澳大利亚和阿联酋等国家实施。从2020年开始,ADS-B美国大部分飞机将逐步强制性使用该数据。

图1 ADS-B信号的概念图Fig.1 The concept of ADS-B

ADS-B数据链路的两个主要标准是1 090 MHz扩展频闪器(1090ES)和通用接入收发器(UAT)[16]。由于UAT需要特殊的硬件,目前仅用于通用航空,而1090ES广泛应用于商用飞机[17]。所采用的1090ES消息格式如图2所示,长度为112位,由5个字段组成:下行格式(DF)、编码格式(CF)、ICAO飞机地址(AA)、ADS-B数据(data)、奇偶校验位(PC),使用AA字段和ADS-B字段[17]。AA字段携带24位的飞机唯一标识符即国际民用航空组织(ICAO)地址,ADS-B数据字段包含航班号、位置、速度、时间戳等[18]。国际民航组织的地址或呼号可作为每架飞机的标识符。

1.2 坐标标定

视频图像中,飞机在机场场面中的运动可以视为在一个平面上的运动,而根据ADS-B计算出的WGS84坐标同样可以映射到该平面位置,因此将WGS84坐标转换为地面坐标后,通过单应变换可以将飞机的像素坐标和实际坐标关联起来。

要实现坐标关联,首先需要坐标标定,即获取图像像素坐标与相应地面坐标的组合。由于机场场面属于军事管制区域,进入手续烦琐,因此只在成都双流国际机场的多个视角下进行了标定,由于机场场面视角宽阔、区域极大,在每个视角下都进行了80组坐标标定,各坐标点都是均匀采样得到。

1.3 坐标转换

坐标转换使用最普遍的方法是单应变换方法,即通过建立矩阵表示同一平面上任意两个点之间的对应关系,由于WGS84坐标使用的是极坐标系,并且很明显与图像不在一个平面,因此从WGS84 坐标到图像坐标需要经过两次坐标转换。首先是WGS84坐标系到以地球为中心的笛卡尔坐标系再到机场地面的局部笛卡尔坐标系的转换,然后是局部笛卡尔坐标系到图像坐标系的转换。

如图2所示,在WGS84坐标系中,点P的坐标可以用纬度N、经度E和大地高度H来表示。纬度N是指P点与地球球心O的连线和赤道面XOY所成的线面角,经度E为过P点的椭球面与本初子午面的夹角。由于针对的是机场地面目标,因此H默认为0。在以地球为中心的笛卡尔坐标系中,点P的坐标为(X,Y,Z),很明显,向量OP可以表示为

图2 WGS84坐标系和以地球为中心的笛卡尔坐标系Fig.2 The WGS84 coordinate system and earth-centered Cartesian coordinate system

(1)

式(1)中:e为椭球偏心率;R为地球半径。之后在机场地面的局部笛卡尔坐标系UVW选择各坐标轴上一点,再通过向量之间的映射计算就可以得到点P的局部笛卡尔坐标。

在局部笛卡尔坐标系中,使用OP所在直线作为W轴,由于机场所在地面是一个平面,故可以忽略该坐标系下所有W值。因此机场地面每一个点的坐标都可以与图像平面上的齐次坐标形成一一映射关系,且该关系是基于单应性的,表达式为

(2)

式(2)中:H为单应矩阵,其中至少有4个参数是未知的,故至少需选择4个点对参与计算。由于机场场面视角宽阔、区域极大,因此将整个视角划分为4块,采用20组标定结果分别计算每一块的映射关系,最后将结果进行整合。之所以每一块使用20组标定结果,是因为有可能不是所有的点对都适应这个严格的单应变换,也就是说,有一些异常值,在这种情况下,需要使用鲁棒性算法对数据进行处理。在20组结果中任意取4组点形成一个子集,找到所有排列组合的结果,使用每一个子集和一个简单的最小二乘算法来估计单应性矩阵,然后使用RANSCA方法计算得到每一个单应性矩阵的质量。

2 行为识别

通过历史以及预测的目标位置划定每一架飞机的运动区域,从而将多目标行为识别转换为多个单目标行为识别任务。在每一架飞机的运动区域中,通过多时间尺度的融合卷积完成对飞机的行为识别,算法在自制的数据集上进行训练和测试。

2.1 运动区域划分

在一个具有多架飞机的视频中进行行为识别,首先需要把每一架飞机单独区分出来,因此首先进行了运动区域划分。由于飞机在机场中的行为不止与运动模式有关,也和周围环境有关(如飞机进港需要包含对应的指廊才能与飞机直行进行区别),需要通过对飞机位置的预测将飞机进行某一个动作包含的所有区域分割出来,作为单个飞机的行为输入行为识别网络。显然,飞机位置的预测是运动区域划分的关键。由于ADS-B数据的存在,可以直接使用全球定位系统(GPS)坐标在图像中精确定位飞机,从而避免了目标检测带来的耗时以及计算误差,这无疑对算法的实时性提供了巨大的帮助。利用ADS-B数据,可以得到一系列各飞机离散的历史位置信息,利用这些信息可以很容易地对未来飞机位置进行预测。

飞机在机场场面中的运动轨迹非常单一,其前期运动模式可以很大程度上决定它的后续运动,并且非常复杂或者突然性的运动变化都不可能在飞机运动中出现,因此运动函数拟合是最简单有效的预测手段,同时,以7种行为的轨迹为基础,选择的拟合函数是一个简单的一元二次方程,表达式为

F(x)=ax2+bx+c

(3)

式(3)中:a、b、c为需要拟合的参数。

相对于整幅图像而言,飞机在机场场面的运动速度较慢,因此可以选择较多的点进行函数拟合,选择前5 s的所有位置进行拟合,由于ADS-B数据通常每0.5 s发送一次,因此总共有10个位置信息。很显然,选取的20个点数量远大于未知参数数量,为了避免坐标转换可能的误差,需要使用最小二乘法进行参数求解。在这里,自变量x为ADS-B的计数值,函数值为ADS-B计数值相对应的图像坐标值,由最小二乘法方程组[式(4)]可求得3个参数a、b、c的值。

(4)

式(4)中:n为选取点的个数。通过函数预测飞机后续的所有位置直到在图像中距离当前位置200像素或预测时间超过20 s,结合前5 s的历史位置以及之后的预测位置可以将飞机某个动作的运动区域划分出来。

2.2 针对飞机的行为识别

完成运动区域划分后,需要将所有划分的视频输入卷积神经网络(convolutional neural networks,CNN)网络进行行为识别。主要通过数据集制作、时间关系定义以及算法整体网络3个方面对提出的飞机行为识别算法进行说明。

2.2.1 数据集制作

目前绝大多数行为识别的研究都是基于人进行的,针对飞机的行为识别基本都是通过跟踪进行判断的。自然也没有基于飞机的公开数据集来提供行为识别的训练,因此首先制作了一个小型的飞机行为识别数据集。该数据集包含直行、转弯、短暂排队、起飞、降落、进港、出港7种行为,共700段视频,其中每一种行为包含80段训练集和20段测试集,这些视频包含了多个尺度、姿态、种类的飞机,每一段视频只针对一个目标,所有视频的分辨率被统一设置为360×256。

由于目标是在多目标视频中对每一个目标进行行为识别,通过划分每一架飞机的运动区域,因此数据集中的所有视频都是在真实监控视频中通过前面提到的区域划分方法划分得到的。由于设置的7个动作判定方式、持续时间各不相同,因此整个数据集中视频长度会因为动作不同而改变。其中,包含直行、转弯、短暂排队3个动作的视频长度在20 s左右;将飞机距离指廊50 m开始的算作飞机进港,因此进港视频长度约在25 s左右;出港动作包含所有推车向后推飞机的过程,因此其长度约在1 min左右;起飞、降落两个动作由于速度较快,在一个视角中的停留时间不长,因此长度基本在15 s左右。

视频储存格式仿照UCF-101进行,按照动作分类将所有视频放在7个文件夹中,并在train文件中存放训练视频名称,test文件存放测试视频名称,classInd文件存放7种行为名称。另外,数据集中单独放置了20段完整的包含不超过4架运动飞机的监控视频,每一段视频都有相应的ADS-B数据。为了方便表述,将该数据集命名为飞机动作识别(airplane action recognition,APAR)。

2.2.2 时间关系定义

假设输入视频为V,则其包含的所有图像为{f1,f2,…,fn},定义该视频所有视频帧两两之间的关系为

(5)

式(5)中:Hβ、Gφ分别为相应的权重和激活函数。测试了最大池化、横向连接等多种融合方式,发现使用全连接的方式可以得到最好的效果。相应的,把两帧间的关系递推到3帧中,表达式为

(6)

很显然,当几帧图像距离很近时,图像变化很小,融合计算意义不大,因此为了提高算法运行效率,没有将所有的组合对相加,而是均匀地采样第i、j、k帧并在每一对中按照先后进行排序。

对于上述第二种情况,采用运动矢量进行预估计,即先通过运动矢量来估计下一帧图像中的准确位置,然后通过Mean Shift跟踪算法进行跟踪,这样能弥补快速动目标而导致目标丢失的问题。理论上来说,可以通过对多个帧间关系的融合捕捉多个时间尺度下的时间关系,表达式为

MR(V)=R2(V)+R2(V)+…+R2(V)

(7)

相对于人的行为而言,飞机的行为种类较少,且形态改变程度远不如人体,考虑到计算成本和实时性的需求,只考虑了3帧间的关系。

2.2.3 算法网络结构

本文算法整体网络结构如图3所示,输入为运动区域划分将每个目标运动区域切分出来的图像,之后将图片按顺序划分为3部分,通过均匀采样得到多个图片组合,之后使用一个3D卷积核融合输入的3张图像,然后将结果输入卷积神经网络,最后每个组合都将得到所有分类的得分,将所有得分取均值即可得到行为识别最终结果。

图3 针对飞行器的行为识别算法结构图Fig.3 Structure diagram of action recognition algorithm for airplane

图像组合可以有更多的方式,例如两帧间的组合可以加入算法训练,与三帧的组合相结合。对二、三帧组合进行了测试,其结果与单独使用三帧组合相比提升效果不明显,因此最终选择了3帧组合的方式,在CNN网络模块,使用Resnet-152网络。

3 实验仿真与分析

实验搭建的环境配置为:Intel© Core CPU i9-9900@ 3.6 GHz;32 G内存;GTX 2080Ti 16 GB显卡。测试实验计划在本文提出的数据集APAR以及使用较为广泛UCF-101,Jester中进行。UCF-101数据集是使用最广泛的行为识别数据集,它包含101类动作,共13 320段视频,每一段视频长度都超过10 s且每一类动作至少100段视频。Jester数据集是一个包含27类的手势识别视频数据集,它总共包含148 092段视频,这些视频都是人类在笔记本电脑摄像头或网络摄像头前执行的预先定义的手势。

行为识别算法的输入端将输入图像大小调整为360×256。CNN基础网络模型在ILSVRC数据集上进行了预训练,批处理大小设置为32,设置的学习速率为0.001。当精确度趋于稳定时,学习速率除以10。由于APAR数据集较小,训练集数量远无法与开源数据集相比,因此对每一组输入图像都采用了随机缩放、水平翻转等手段增加训练量。

表1是7种算法在UCF-101、Jester数据集实验对比,其中UCF-101更重视目标的空间几何关系,其中大多数动作都可以根据目标各部分的空间位置直接判断,而Jester数据集更注重目标在时间上的特征(即不同时间目标所在的位置不同)。由实验结果可以看出,本文算法在Jester数据集的表现远好于UCF-101数据集,这是因为本文算法更关注时间尺度上的训练,这也很符合APAR数据集的特点。另外,在两个公开数据集中表现与现有最优秀的算法有一定差距,但这并不影响算法在机场环境下的实用性,由于针对机场飞机的行为识别难度不大且与人的行为识别有较大差别,因此较为简单且具有针对性的结构反而在实时性上有很大的优势。

表2是7种算法分别从计算量以及识别精度两个方面在机场飞机数据集中进行了实验对比,对比结果如表2所示,其中TSN、TSM两个算法的网络结构为双流网络,它们会花费较大的计算资源在光流等时间流表征上,因此在这里其计算量不参与讨论,虽然TSM识别精度很高,但是很明显双流网络短时间内都无法达到实时处理的水平。ResNet-50、ResNet-152是使用较多的残差网络,实验中,视频图像作为输入直接进入了两个残差网络中,可以看到虽然其计算量不高,但是识别精度与其他算法有明显的差别。C3D以及Res3D是两种经典的三位卷积的网络模型,可以看到虽然其精度也达到了较高的水平,但是其计算量距离本文算法仍有较大差距。总的来说,虽然本文算法的行为识别网络结构较为简单,但是已经可以较好地满足飞行器行为识别这种简单的应用,同时这种简单的设计也在计算量方面有较大的优势。

表1 UCF-101、Jester数据集实验对比Table 1 Experimental comparison in UCF-101 and Jester datasets

表2 机场飞机数据集(APAR)实验对比Table 2 Experimental comparison in APAR

在验证识别算法的同时,也验证了飞行器定位的准确度。在标定的80组数据外随机取了20个点,通过WSG84坐标转换的像素点与实际像素点的对比,确定所有点的坐标误差不超过5个像素。通过ADS-B数据解析出飞机的航班号,通过航班号来表示各不同架次的飞机,图4为飞机定位效果图。

在完成各部分的验证之后,还需要对算法整体进行验证,在APAR数据集中单独放置了20段完整的包含不超过4架运动飞机的监控视频,每一段视频都有相应的ADS-B数据,之所以对飞机有数量限制,主要是因为数量过多会导致飞机在图像中存在重叠、遮挡等干扰,而实际上一架飞机在机场场面中的活动很少与其他飞机存在交互,这会严重影响图像识别的性能。把飞机航班号和具体动作联系起来,最后显示的效果如图5所示,算法平均处理速度达到了20帧/s,基本满足实时性需求。具体测试中对飞机行为的判断准确度超过了95%,错误主要发生在两架飞机行为不同且长时间距离较近的情况下,这会导致划分的运动区域始终存在两架飞机,CNN算法无法判断具体识别那一架的问题,但是在大多数情况下,算法能准确地完成行为识别任务。

图4 飞机定位效果图Fig.4 Aircraft positioning effect drawing

图5 算法整体效果图Fig.5 Aircraft positioning effect drawing

4 结论

针对机场场面监控视频中存在多个飞机目标,且各种行为轨迹相似,难以通过轨迹进行行为判断的问题,提出了一种基于ADS-B的机场场面飞机行为识别方法。该方法首先利用ADS-B信息,通过透视变换的方法对视频中所有飞机进行定位,然后利用历史轨迹预测飞机一定距离之后的位置,通过历史以及预测的目标位置划定每一架飞机的运动区域,从而将多目标行为识别转换为多个单目标行为识别任务。在每一架飞机的运动区域中,通过多时间尺度的融合卷积完成对所有飞机的行为识别。算法在专门制作的机场飞机行为识别数据集中得到了验证,其定位精度、识别准确率及实时性都能较好地满足机场飞行区实际应用的需要。

在后续的研究中,将针对算法运行速度进行进一步优化,使用更先进的算法提高目标预测及运动区域划分的效率,以满足机场监控运行管理的实际需求。

猜你喜欢
卷积机场飞机
飞机失踪
基于3D-Winograd的快速卷积算法设计及FPGA实现
如何避免GSM-R无线通信系统对机场电磁干扰
卷积神经网络的分析与设计
从滤波器理解卷积
“拼座飞机”迎风飞扬
用于机场驱鸟的扑翼无人机
航Sir带你逛机场——东京国际机场
基于傅里叶域卷积表示的目标跟踪算法
新机场与城市未来