张 暄,高跃清
(中国电子科技集团公司 第54研究所,石家庄 050081)
雷达自从20世纪30年代诞生以来,以其全天候、全天时、作用距离远、实时性强等工作特点,已经在军民领域具备难以替代的重要价值,并且在空间目标定位和识别的各个环节中均发挥了不可替代的关键作用,对空间目标的有效识别是空间群目标检测识别中雷达的核心任务,是实现目标定位的基础。
近几年无人机技术不断成熟,城市中无人机的数量大量增加,消费级和工业级无人机具有成本低、目标体积小、操作简便等特点,同时又缺乏针对无人机滥飞的有效监管措施,使得各类无人机入侵事件频发,给国家安全和民众安全带来很大隐患。无人机反制系统是针对无人机目标的探测的重要手段,无人机反制系统主要用于要地、重大活动、边境以及机场等周围的低空无人机防御,主要防范对象为非法入侵或接近的小型商用无人机。无人机反制系统对雷达的要求非常明确,需要在场景中探测到的动目标中准确识别出无人机目标,并屏蔽其他类别动目标。现阶段,雷达目标检测识别算法一般属于监督学习,算法依赖大量带标签的数据作为训练样本,这在实际应用中是比较困难的。此外,目标的特征需要依赖人工提取,对专业知识的要求较高,且耗时、耗力,特征提取的好坏一定程度上依靠经验和运气,导致特征提取的质量也难以保证,很难满足实际应用中对雷达有效性、实时性的要求。
深度学习算法有着深层特征提取能力和强大的自适应学习能力,能够为数据的可视化或分类问题提供更好的解决途径,目前的深度学习的基本模型有自动编码器[1]、深度置信网络[2]、卷积神经网络等模型[3],其中卷积神经网络模型已经在自然语言处理、语音识别、图像识别等领域发挥出了重大作用[4-6]。深度学习在雷达技术领域已有一些应用成果,主要集中在对合成孔径雷达(SAR,synthetic aperture radar)目标图像处理和优化[7-11],如利用卷积神经网络对SAR目标图像进行处理[12],利用深层稀疏编码对SAR目标遮挡图像进行处理等[13],但应用于雷达回波信号处理的模型很少,选择以回波信号经过处理之后得到的距离-多普勒图像作为研究对象,引用深度学习算法,完成对雷达目标的检测任务。
雷达目标检测的目的是在噪声和杂波干扰下发现所关注的目标。噪声和杂波是对检测性能干扰最大的外部因素,传统雷达目标检测使用恒虚警检测算法(CFAR,constant false alarmrate),算法对雷达杂波进行了恒虚警率预处理,随着检测背景的变化而自适应地调整检测门限,但是这样也很难将所有杂波去除,目标检测仍是在存在杂波和噪声的环境下完成的。恒虚警检测算法设计建立在三个假设基础上:
1)距离-多普勒图像由噪声、杂波残留和目标三部分组成,其中噪声的分布稳定且具备一定均匀性,杂波残留是由环境决定不具备均匀性,目标的特征与前两者有较大差异;
2)可以将目标检测问题转换为距离-多普勒图像滤除噪声、在杂波残留和目标中分析特征和找出目标三步;
3)传统的门限检测中门限只是目标的一个特征,选取多个特征组成特征空间,将检测问题转换为特征空间线性划分的问题。
恒虚警检测算法作为当前最常用的目标检测算法,在实际应用中,存在以下问题:
1)恒虚警检测算法是针对特定单一的杂波及目标背景提出的,特定的检测算法只适应于特定的目标背景,当背景发生变化时原算法检测效率会大大降低,很难满足实际应用中对检测率和虚警率的需求。
2)先验知识要求:需要一定的数据统计或先验的方法确定目标大致的位置、大小等信息。
3)当背景噪声和杂波很强的环境下,背景中的干扰能量超出门限值的数量很多,检测率和虚警率间的矛盾变得更明显,检测算法失效。
恒虚警检测算法要求目标与背景噪声有较大的强度差异,而且需要假定背景杂噪声服从高斯分布[14-18],同时算法中的具体参数设定需要考虑目标的尺寸信息,该算法在简单的场景中有着相对广泛的使用。
卷积神经网络(CNN,convolutional neural networks)是一种带有卷积结构的深度神经网络,主要由输入层、卷积层、池化层、全连接层与输出层5部分组成。输入层用来接收原始的输入图像;卷积层是网络中最重要的部分,通过卷积操作能够对输入图像进行特征提取得到特征图;池化层一般设置在卷积层之后,常用的池化方法有最大池化和均值池化,能够减少全连接层中的网络参数,减少整个网络的参数,达到减少计算量的目的;全连接层一般存在于卷积层和池化层之后,用来将卷积层和池化层输出的信息含量较高的特征图进行分类,以完成网络的分类任务。
何恺明等人在2015年提出Faster R-CNN算法[19],采用Faster R-CNN算法进行目标检测所需时间为数十毫秒级,精度高、速度快的Faster R-CNN算法被广泛应用于目标检测中。FasterR-CNN分为三个模块:第一个模块的利用公共网络来提取图像的特征,第二个模块是利用深度卷积神经网络来生成目标对象的候选窗口,第三个模块是利用生成的候选窗口做FasterR-CNN目标检测器。相较于R-CNN算法,FasterR-CNN利用卷积网络自动产生候选框,FasterR-CNN中用来生成候选框结构的CNN和目标检测网络的CNN结构共享,在提高候选框质量的同时使得候选框数目大大减少,缩短了网络训练和检测时间。
RPN(region proposal network)是FasterR-CNN的核心,其结构见图1,由一个中间卷积层和位于卷积层之后的分类层与回归层组成。RPN的本质是基于滑窗的无类别目标检测器,其输入是卷积层提取的特征图,特征图的大小取决于卷积层的结构。RPN以输入特征图上的每个像素点为中心,利用滑动窗口提取特征,如图2所示,在特征图上的每个像素点上利用Anchor机制生成9个框,框有3种不同尺寸:128*128、256*256和512*512,各个尺寸都对应了3个不同的长宽比:1:1、1:2和2:1,每个框都对应了原始图像中的一个区域,包括区域的尺寸和坐标信息。分类层和回归层根据卷积之后得到的特征向量和Anchor机制提取到的区域的尺寸和坐标信息,计算分类损失函数和位置损失函数,得到每个区域对应的分类置信度,用来判断该区域是否包含目标,对有目标的区域,采用边框回归的方法修正候选框使其更接近真实框。相比于如FastR-CNN中使用的传统候选区域算法,RPN耗时很短,能够大大提升网络训练和检测的速度。
图1 RPN结构图
图2 RPN中的Anchor机制
FasterR-CNN流程图见图3,具体的工作步骤为:
1)输入已做标注的训练图像;
2)将图像输入到特征提取网络进行特征提取;
3)利用RPN结构生成目标对象检测的候选框;
4)把候选框映射到卷积网络的最后一层特征图上;
5)RoI池化层使得每个RoI生成固定维度的特征向量;
6)利用探测分类概率和探测分类回归来修正预测框的位置使得预测边框位置更接近真实值。
图3 FasterR-CNN算法流程图
本次设计的检测模型分类部分分为目标与背景两种类型。目标检测模型基于FasterR-CNN模型的结构进行构建,对RPN与FastR-CNN两大部分分别进行设计。
RPN的结构设计如下:
1)卷积层1:32个大小为3×3的卷积核;
2)卷积层2:64个3×3大小卷积核;
3)池化层:采用最大池化的方式,池化半径为2,池化范围为2×2,激活函数为Softmax;
4)卷积层3:128个3×3大小卷积核,激活函数为Relu函数。
5)RPN卷积层:128个3×3大小卷积核;
6)结构的最后由两个卷积层分别实现分类与回归功能,结构为8个1×1卷积核和16个1×1卷积核。
FastR-CNN的结构设计如下:
1)卷积层1:32个大小为3×3的卷积核;
2)卷积层2:64个3×3大小卷积核;
3)池化层:采用最大池化的方式,池化半径为2,池化范围为2×2,激活函数为Softmax;
4)卷积层3:128个3×3大小卷积核,激活函数为Relu函数。
5)RoIPooling层:用于将大小不相同的特征图调整为同样的大小
6)并联的两个全连接层分别实现尺寸调整与分类识别。
特征提取网络的结构如图4所示。
图4 特征提取网络
训练和测试数据集为实测的雷达回波信号经过处理之后得到的距离-多普勒图像。将数据集以8:2的比例随机划分为训练集和测试集,由于来自雷达回波信号的数据量较少,对训练集采用旋转、缩放、镜像、裁剪等操作扩充训练样本,图5为采用的图像数据样例。
图5 距离-多普勒数据样例
对目标检测模型的训练分为两个部分:一是切片选择部分;二是切片检测部分。训练RPN的损失函数是由分类判定损失函数与尺寸调整损失函数两部分组成,具体表达式为:
有监督地对RPN进行训练,正负样本标定原则如下:
1)目标切片与任意标记切片重叠率大于0.7,判定为正样本;
2)目标切片与任意标记切片重叠率小于0.3时,判定为负样本;
3)重叠率在0.3~0.7之间时,切片不参与训练。
锚点框的设置会对网络训练和检测结果有很大的影响,随着训练迭代次数的增加,锚框的坐标值会近似于真实目标值。利用卷积网络的平移不变性,锚框的位置也是被每个栅格固定的,通过K均值聚类算法可以计算出锚框的大小。K均值聚类算法距离函数为:
d(Box,C)=1-RIOU(Box,C)
其中:Box表示锚框大小;C表示锚框中心。(Box,C)表示两个锚框的重叠比;IOU表示真实框与候选框的交集比并集,即重叠度。
网络训练的方法和参数设置如下:
1)采用随机梯度下降法作为优化算法;
2)由于网络参数较多,同时训练集中图像数量较少,为防止出现过拟合现象,在训练时引入Dropout机制。Dropout机制能减少训练耗时,降低网络过拟合的可能性,设定神经元激活值存在20%的概率停止工作;
3)设置选择动量值为0.9,动量机制以指数型衰减的方式累积梯度移动平均值,可以加快梯度收敛的速度;
4)对网络参数进行初始化,设置网络权值参数服从均值为0,标准差为0.01的高斯分布;
5)使用选择学习率衰减方法,能够加快网络收敛速度并且保证网络有最优解,网络训练初始学习率设定为0.001,每迭代100次衰减0.1,网络共设置迭代1 000次。
FasterR-CNN有交替优化训练和近似联合训练两种训练方式[20],这里我们选择交替优化训练方法对所设计的网络进行训练:
1)随机初始化网络参数,将带有目标位置信息标注的距离-多普勒图像作为输入,独立训练RPN,更新CNN和RPN的参数;
2)使用经过训练的RPN生成候选框;
3)初始化特征提取网络,将RPN生成的候选框作为输入来训练特征提取网络和分类层;
4)再次更新RPN参数:使用3)中训练得到的特征提取网络和分类层初始化模型,训练RPN,RPN中的参数会被再次更新;
5)再次使用4)中训练后的RPN来生成候选框;
6)使用3)中训练后得到的特征提取网络参数、4)中的RPN和5)中生成的候选框来训练分类层,得到训练好的FasterR-CNN模型。
用上一小节中设定的训练规则训练设计好的目标检测网络,图6为训练过程中误差函数值的变化,随着网络训练迭代次数增加,网络误差函数趋于收敛,可见网络的训练方法和参数设置是较为合理的。
图6 训练误差函数
将测试数据集输入训练后的FasterR-CNN模型,预测框与真实框重叠率大于0.7即判定为正样本,为直观地评价检测性能,以检测率和虚警率作为评估该模型的参数:
检测率=TP/(TP+FN)
虚警率=FP/(TP+FP)
TP为预测为正的正样本数量,FN表示预测为负的正样本数量,FP表示预测为正的负样本数量。
由于来自雷达回波信号的数据量较小,同训练集相同,采用旋转、缩放、镜像、裁剪等操作扩充测试样本集,如图7上图为原始测试样本,下面两图为经过数据扩充得到的测试样本。扩充后总样本数量为500,其中包含360个待检测目标。
图7 原始和扩充图像样例
所设计算法与传统恒虚警检测算法的检测结果对比见表1所示。
表1 两种检测算法结果对比
可以发现FasterR-CNN目标检测算法与传统恒虚警目标检测算法相比较,在检测率上有所提升,同时虚警数量大大减少。传统恒虚警算法是根据背景和目标差异设定阈值进行检测,在检测率和虚警率上存在矛盾,但基于卷积神经网络的目标检测算法是对目标特征、背景关联信息等等综合学习分析,进而实现对目标的检测,不会局限于检测率与虚警率的矛盾之中。
传统的目标检测算法很难满足现阶段监测安全领域对检测准确性、实时性的要求,鉴于卷积神经网络在文本、语音和图像等领域的广泛成功应用,设计基于卷积神经网络的雷达目标检测算法,成功地优化了检测率和虚警率,但是进行目标检测的虚警问题依旧存在优化空间,同时若要应用于实际问题中,需要依靠更大的数据集作为支撑,需要解决网络层数加深带来的应用成本增加等问题,将深度学习引入到雷达回波信号的研究还值得做进一步的深入。