基于YOLO的航管一次雷达目标检测方法
2024-01-16施端阳杜小帅
施端阳, 林 强, 胡 冰, 杜小帅
(1. 空军预警学院防空预警装备系, 湖北 武汉 430019; 2. 中国人民解放军95174部队,湖北 武汉 430040; 3. 中国人民解放军94005部队, 甘肃 酒泉 735000)
0 引 言
航管一次雷达,作为航路飞行器的主要探测装备,既可监视合作目标也可监视非合作目标,在航空管制中发挥着巨大的作用。由于雷达工作环境复杂,回波信号中包含大量的杂波和噪声,如何从这些背景中检测出目标是航管一次雷达面临的首要难题。
早期的脉冲雷达将回波信号转换为回波视频,送到A显上通过人工判断的方式检测目标。这种检测方法可以清晰地观察到波形顶部的细节,有助于判断目标真伪,但缺点是检测效率低,不适合长时间、大批量目标的检测。现代雷达采用自动检测技术根据检测门限和判决准则自动判断目标是否存在[1]。自动检测方法中比较器输入端的门限电压需要根据噪声背景的变化作适当调整,发展为自适应门限检测。最常用的自适应门限检测方法为恒虚警率(constant false alarm rate, CFAR)检测[2],可在自动检测时保持CFAR恒定,避免雷达终端因强干扰而过载,保证雷达的正常工作。但CFAR处理的前提是假设杂波或噪声幅度的概率分布服从瑞利分布,对于非瑞利分布的情形并不适用。
常规的陆基对空警戒雷达的分辨力较低,在高仰角和平稳环境下的杂波模型服从瑞利分布,CFAR检测可以获得较好的检测效果。但高分辨力雷达在某些特定条件下的杂波幅度概率分布更为复杂,通常服从威布尔分布、对数-正态分布或K分布等非瑞利分布。此时,传统的CFAR检测方法会出现较高且非恒定的虚警概率。高分辨力雷达具有较大的信号带宽,通常为几十兆、几百兆,甚至超过1 GHz。航管一次雷达在宽带模式下的信号带宽达到几十兆赫兹,与常规的窄带雷达相比,具有较大的带宽和较高的分辨力。因此,航管一次雷达采用传统的CFAR检测会导致某些场景下的虚警增多。文献[3-5]针对传统CFAR检测算法在非瑞利分布时虚警概率显著增高的问题,先后提出了zlog(z)-CFAR、加权似然-CFAR和四阶统计量-CFAR等专用参量CFAR检测算法,降低了CFAR损失。但这些方法仍是基于统计特性构建的判决模型,需要先验知识做支撑。
随着雷达分辨力的提高,回波信号中包含了更多的目标特征信息,这为基于特征的检测方法提供了有利条件。该方法根据目标和背景回波在某个变换域上的特征差异性,将雷达目标检测问题转换为二元模式识别问题[6]。文献[7]从雷达回波中提取平均功率和多普勒谱熵两个特征,利用凸包训练算法区分目标和杂波。文献[8]采用支持向量机分类器根据时间信息熵、时间赫斯特指数和频率峰均比3个特征,设计检测器。文献[9]从幅度域、多普勒域和时频域提取7个特征,利用改进的K近邻算法,提出了可控虚警的检测方法。上述方法均采用机器学习算法通过人工提取特征构建目标检测器,特征提取环节需要扎实的理论功底和大量的时间精力,导致方法的适用性受限。
深度学习方法通过深度神经网络自动提取具有差异性的特征,避免了特征工程所需的大量领域知识和人力资源,极大地提高了效率。常见的深度学习目标检测方法主要分为两阶段目标检测方法和单阶段目标检测方法。两阶段检测方法有区域卷积神经网络(regions with convolutional neural networks, R-CNN)[10]、Fast R-CNN[11]、Faster R-CNN[12]等,单阶段检测方法有YOLO(you only look once)[13]、SSD(single shot detector)[14]、Retina-Net[15]等。两阶段目标检测方法本质上包含了两次目标检测过程,虽然准确性较高,但增加了模型的复杂度,导致模型的计算效率较低,无法实现实时检测。单阶段目标检测方法仅有一次目标检测过程,模型结构简单,计算速度快,在实时目标检测中具有很大的优势。由于航管一次雷达需要及时提供空中目标的位置信息,对空情的实时性要求较高,因此本文采用单阶段目标检测方法。在单阶段目标检测方法中,相较于单步多框检测(single shot multibox detector,SSD)和Retina-Net算法,YOLO算法在较大的特征图中构造检测器,参数共享程度高,模型参数量更少。且YOLO采用聚类方法选取Anchor尺寸,与SSD和Retina-Net通过人工选择的方式相比,获得的Anchor更符合实际情况,模型在训练时更易收敛,对小目标的检测效果更好。航管一次雷达除了监视民航等大飞机外,还需要对战斗机等小飞机进行探测,因此本文提出了基于YOLO的深度学习雷达目标检测方法。根据航管一次雷达的实测数据,利用脉冲压缩后的方位-距离二维雷达原始图像构建雷达目标数据集;通过改进YOLO的网络结构、网络特征和损失函数,提高YOLO检测模型的精度;引入迁移学习思想[16],先利用ImageNet数据集[17]对模型进行预训练,后利用雷达目标数据集进行再训练,减少训练所需的样本量。运用训练好的YOLO检测模型,对雷达原始图像中的目标和背景进行区分,从而检测出雷达目标。
1 雷达目标检测框架
雷达目标检测框架如图1所示。首先,对雷达回波信号进行预处理,生成雷达原始图像;然后,利用雷达原始图像构建雷达目标数据集;最后,利用数据集对YOLO检测模型进行训练和测试,并与CFAR和Faster R-CNN的检测性能作对比。
图1 雷达目标检测框架Fig.1 Radar target detection framework
1.1 信号预处理
采集某型航管一次雷达接收机输出的数字同相/正文(in-phase/quadrature,I/Q)信号。对I/Q信号进行灵敏度时间控制(sensitivity time control, STC)[18]和干扰抑制后,进行脉冲压缩处理以提高回波信号的信噪比和信杂比。由于该型雷达的发射波形采用长/短脉冲组合形式,脉冲压缩时,长/短脉冲采用不同的脉压系数,分时进行处理。将脉压后的长/短脉冲分别对应远/近距离进行拼接,进行视频处理后形成方位-距离二维的雷达原始图像。
由图1可以看出,脉冲压缩后回波信号的信噪比得到大幅提升,使两批目标能够清晰地显现,脉压后的信号直接视频输出得到雷达原始图像。图1中为一帧雷达原始图像,其横向为3 726个方位序列,表示0°~360°的探测方位范围,纵向为20 796个距离单元,表示0~150 km的探测距离范围。由于雷达原始图像未经过动目标显示(moving target indication, MTI)[19]、动目标检测(moving target detection, MTD)[20]和CFAR等后续的信号处理,所以包含大量的杂波。
1.2 数据集构建
目前,雷达目标检测领域公开的数据集主要基于SAR、X波段和毫米波等高分辨力雷达构建[21-29]。针对分辨力中等的航管一次雷达,尚未有公开的数据集发布。因此,本文根据航管一次雷达宽带模式下探测空中目标的雷达原始图像自行构建数据集。
由于整帧雷达原始图像覆盖空域过大,空中目标显示不明显。采取放大、裁剪等方式从雷达原始图像中截取带有目标、杂波的局部图像。由于改进后的YOLO算法下采样率为32,为了使特征图只有一个中心以提高预测边界框的效率,检测模型对输入图像的尺寸要求由448×448改为416×416。从雷达原始图像中共选取1 141张416×416像素的雷达图像构成数据集,其中目标图像由60张一批一架的军航飞机图像、11张一批两架的军航飞机图像和500张民航飞机图像构成,杂波图像由290张地物杂波图像和280张气象杂波图像组成。将数据集按4∶1的比例分成包含913张图像的训练集和包含228张图像的测试集,并使用LabelImg工具[30]对数据集进行标注。部分数据集如图2所示。
图2 数据集示例Fig.2 Dataset example
2 基于YOLO的雷达目标检测模型
YOLO是最早出现的单阶段目标检测算法,将整幅图像作为输入,充分利用整张图像的上下文信息,通过神经网络直接回归目标的位置坐标和类别概率,具有较快的检测速度,可以实现实时目标检测。
2.1 YOLO算法原理
YOLO算法将整张输入图像均匀划分为S×S个子区域,若待检测目标的中心点在某个子区域中,则由该子区域执行检测该目标的任务。每个子区域会预测B个边界框以及这些边界框包含目标的置信度。置信度反映了该边界框框中目标的概率以及边界框位置的准确程度。置信度的计算公式为
(1)
每个边界框包含x、y、w、h和置信度5个参数。x和y为边界框的中心相对于子区域左上角的偏移距离,w和h为边界框相对于整幅图像的宽和高。
每个子区域还预测了C个条件类别概率Pr(Classi|Object)。这些概率以子区域包含目标为前提,表示该目标为某个类别的概率。在此,YOLO算法默认每个子区域只包含一个目标,所以无论预测多少个边界框,只需要回归一组条件概率。
测试时,将边界框的置信度与条件概率相乘得到该边界框出现某个类别目标的概率:
(2)
2.2 YOLO网络结构
YOLO算法采用卷积神经网络自动提取图像的特征。YOLO的网络结构如图3所示,借鉴了GoogLeNet的网络结构,先利用24个卷积层提取特征,再通过两个全连接层回归预测框的坐标、置信度和类别概率,最后输出的特征图尺寸为7×7×30。由于特征提取网络的最后两层是全连接层,所以整个网络的输入图像尺寸要固定为448×448。
图3 YOLO网络结构Fig.3 Network structure of YOLO
2.3 YOLO训练方法
由于YOLO模型的参数众多,若从头开始训练不仅需要高昂的硬件资源和时间成本,还需要大量带标注的数据集。本文自建的雷达图像数据集规模有限,训练YOLO模型时易导致模型过拟合。另外,深度卷积神经网络的浅层结构主要学习图像的通用特征,具有一定的任务无关性,深层结构才会学习到与雷达目标检测任务相关的特殊特征,因此可利用现有的数量充足的数据集对模型进行预训练得到大部分网络结构参数,再利用少量雷达图像数据集对深层结构进行参数微调,使模型更适合雷达目标检测任务。ImageNet数据集包含了1 000个类别的千万张图片,涵盖了生活中常见的各类图像,具有迁移分类预训练的巨大优势。因此,YOLO模型训练时, 引入迁移学习的思想,先基于ImageNet分类数据集进行预训练,后通过雷达图像数据集进行再训练。预训练时,取YOLO网络的前20个卷积层,加上一个全连接层构成分类模型,并在ImageNet分类数据集上进行训练。此时,分类模型训练的图像尺寸为224×224。预训练完成后,在前20个卷积层后连接4个新的卷积层和两个全连接层,构造出YOLO网络。此时的YOLO网络前20个卷积层的结构和参数由分类模型迁移而来,剩余4个卷积层和两个全连接层的参数通过随机方式进行初始化,并利用雷达目标数据集进行训练,确定最终的模型参数。
训练的损失函数包含正样本中心点坐标的损失、正样本宽高的损失、正样本的置信度损失、负样本的置信度损失和正样本的类别损失5个部分,定义如下:
(3)
3 YOLO检测模型的改进
尽管YOLO模型具有速度快、鲁棒性高的优点,但由于每个子区域只预测两个边界框,且只有一个类别,导致模型对小目标和距离较近的群目标的检测效果不佳。另外,由于没有类似Anchor的先验框,导致模型对新目标或宽高比例不常见目标的检测效果不好。针对YOLO的不足,从网络结构、网络特征和损失函数3个方面进行改进。
3.1 网络结构改进
借鉴残差网络和特征融合的思想,引入DarkNet-53网络,并加入空洞卷积模块构建出新的网络结构。
3.1.1 DarkNet-53
DarkNet-53网络中使用了大量的残差连接,网络深度较高,并且缓解了训练中梯度消失的问题,使模型更易收敛。DarkNet-53没有采用池化操作,而是通过步长为2的卷积核实现降维,下采样次数为5次,总体下采样率为32。
3.1.2 空洞卷积模块
空洞卷积模块可以在不增加计算量和不造成特征损失的情况下,增加特征图的感受野[31]。该模块可以以任何分辨率插入到现有架构中,不容易对背景产生误判,提高小目标的检测效果。空洞卷积核计算方法为
fn=fk+(fk-1)*(r-1)
(4)
式中:fk为原卷积核大小;r为空洞率;*为卷积操作。
感受野为
(5)
式中:lm-1为前一层的感受野大小;si为第i层的步幅。
在DarkNet-53网络的中层特征图后加入膨胀系数为1、2和4的空洞卷积,使卷积层提取多尺度图像的上下文信息,获得更多的图像特征,改进后的YOLO网络结构如图4所示。
图4 改进的YOLO网络结构Fig.4 Improved network structure of YOLO
3.2 网络特征融合
图4中,改进后的YOLO网络采用张量拼接操作,融合浅层和深层特征,具有更好的多尺度表达能力。特征融合的具体过程为,假设第一个用于检测的特征图是网络的第n层,在网络中取较浅的第m(m YOLO网络基于Concat操作,输出3种尺度的特征图,特征图上的每个位置使用3个锚,特征图需要预测的参数数量为N×N×3×(4+1+C),其中N×N为特征图的尺寸大小,3代表3个锚框,4代表预测的边界框的4个坐标,1代表边界框框中目标的置信度,C代表回归的类别数。在雷达目标检测任务中,不考虑背景类,只有航空器一类目标,因此C取1,网络输出的特征图尺寸为13×13×18、26×26×18和52×52×18。这3种特征图分别对应了深层、中层和浅层的特征,既便于检测民航、军用运输机等大尺度目标也便于检测直升机、战斗机等小尺度目标。 在类别预测时,采用回归预测,用Logistic函数替换Softmax函数,将分类损失改为二分交叉熵损失。由于雷达目标检测时只有航空器这一类目标,因此不必计算分类误差,仅需计算位置误差和置信度误差。改进后的损失函数为 (6) 式中:前两项表示位置误差,后两项表示置信度误差。 本实验基于Windows10操作系统,软硬件平台:CPU为Intel(R) Core(TM) i7-10750H @2.60 GHz,GPU为NVIDIA Quadro P620,内存8 GB,支持CUDA10.1加速,运用Python语言在Pytorch框架上搭建雷达目标检测模型。 自建雷达图像数据集,数据集为1 141张航管一次雷达原始图像,包含多机型、多尺度的目标和杂波图像。为了便于计算,在训练集中随机选择840张图片进行训练,测试集中随机选择210张图片进行测试,训练样本与测试样本相互独立,互不重复。对经过ImageNet数据集预训练的YOLO模型进行再训练,采取随机梯度下降法,批处理大小设为2,初始学习率为0.01,动量设为0.9,权重衰减系数设为0.000 5,迭代次数设为100次。 改进前后的YOLO模型训练时,YOLO算法的位置损失和置信度损失曲线,精确率和召回率曲线如图5~图8所示。可以看出,随着迭代次数增加,改进前后目标的位置损失和置信度损失均逐渐下降,精确率和召回率均逐渐上升,说明模型训练阶段各参数设置合理。相比于改进前的YOLO模型,改进后的YOLO模型损失曲线下降更快,精确率和召回率曲线更易收敛,说明改进后的YOLO模型效果更好。 图5 改进前损失曲线Fig.5 Loss curves before improvement 图6 改进后损失曲线Fig.6 Loss curves after improvement 图7 改进前精确率和召回率曲线Fig.7 Precision and recall curves before improvement 图8 改进后精确率和召回率曲线Fig.8 Precision and recall curves after improvement 为了方便与CFAR、Faster R-CNN等检测算法的性能作对比,将检测率、虚警率以及检测时间作为评价模型检测性能的指标。其中,检测率和虚警率的计算公式分别为 (7) (8) 式中:DR为检测率;FR为虚警率;TP为被正确检测出的雷达目标数量;FP为将杂波误检为雷达目标的数量;T为测试集中雷达目标总数。 3种雷达目标检测方法分别采用同样的数据集进行检测。其中,航管一次雷达CFAR检测方法的检测率和虚警率通过采集数据时雷达P显界面统计得出。该型航管雷达的P显界面如图9所示。图9中,黄色方框标注的回波是某一帧数据中杂波幅度超过CFAR检测门限后,形成的5个虚假目标,即CFAR检测时产生的虚警。只不过这些虚假目标在连续3帧数据中的位置无规律性,不满足“3点起批”的条件,所以并未形成航迹。但就CFAR检测方法自身而言,黄色方框中的回波应计入该检测方法的虚警率,其他带批号且形成航迹的回波为雷达检测到的真实目标,应计入检测率。经过统计,该型雷达CFAR检测方法的检测率为80%,虚警率为26.98%,检测速度为0.01 s。 图9 雷达显示界面Fig.9 Radar display interface Faster R-CNN和YOLO两种方法的部分检测结果如图10所示。图10(a)和图10(d)分别展示了两种方法对双目标的检测结果,其中红色框和黄色框分别表示两种方法正确检测到的目标,紫色框表示未检测到的目标,即漏警,可由红色框和黄色框的数量计算出两种方法的检测率,由紫色框的数量计算出两种方法的漏警概率。从两者的对比可知,YOLO检测方法的检测率更高,Faster R-CNN会产生漏警,检测率较低。图10(b)和图10(e)分别展示了两种方法对杂波区的单目标检测效果,两种方法均能够在杂波中检测出目标。图10(c)和图10(f)中黑色框分别展示了两种方法误将杂波检测为目标的情况,即产生的虚警,可由黑色框的数量计算出两种方法的虚警概率,两图的对比说明Faster R-CNN更容易产生虚警。 图10 两种方法的检测结果Fig.10 Test results of two methods Faster R-CNN和YOLO两种检测模型的虚警率-检测率接收器操作特性(receiver operating characteristic,ROC)曲线如图11所示。图11中,横轴为虚警率,纵轴为检测率,蓝色实线为YOLO模型的ROC曲线,曲线下面积(area under curve,AUC)为0.92,红色虚线为Faster R-CNN模型的ROC曲线,AUC为0.88,说明YOLO检测模型的效果比Faster R-CNN更好。经过统计,3种检测方法的检测性能如表1所示。 表1 不同方法检测性能对比Table 1 Detection performance of different methods 图11 两种方法的ROC曲线Fig.11 ROC curves of two methods 从表1可看出,改进的YOLO检测方法的检测率达到96.67%,虚警率降至5.24%,检测时间为0.15 s,接近实时性检测要求。综合看来,改进后的YOLO检测方法的检测性能最优,可提高航管一次雷达对空中目标的检测效果。 本文将YOLO算法应用到航管一次雷达对空中目标的检测任务中,引入空洞卷积模块改进特征提取网络结构,并通过特征融合提高模型对多尺度目标的检测精度。针对中等带宽雷达图像数据集的空白,利用航管一次雷达在宽带工作模式下的实测数据,构建了雷达目标图像数据集对检测模型进行训练和测试。 实验结果表明,不仅具有高分辨力的SAR、X波段和毫米波等雷达可以使用深度学习方法从图像层面进行目标检测,具备中等分辨力的航管一次雷达也可以在图像层面实现深度学习目标检测功能。综上,深度学习目标检测方法在雷达目标检测领域具有良好的应用价值和前景。下一步的研究中,需要完善雷达目标图像数据集,继续优化模型,提高算法的检测速度,并对该方法的泛化性进行探索。3.3 损失函数改进
4 实验结果及分析
4.1 实验设置及训练过程
4.2 评价指标
4.3 检测结果对比
5 结束语