杨 雷,郭恩泽,刘益岑,魏国峰,杨 宁,郭道省
(1.中国人民解放军陆军工程大学 通信工程学院, 南京 210007;2.中国人民解放军陆军工程大学 通信士官学校,重庆 400035;3.信号盲处理国家级重点实验室, 成都 610041)
近年来,无人机技术蓬勃发展,各类无人机在诸多领域得到广泛的应用。由于相关部门的监管控制技术不够完善,无人机造成的“黑飞事件”也屡见不鲜,引发众多社会安全问题。同时,识别分类算法在实际环境中,常被应用在小型嵌入式等移动设备上。因此,在硬件条件资源有限的情况下,实现对无人机个体快速准确的识别,对有效进行空中管控、采取相应反制措施以及维护航空安全秩序具有十分重要的意义[1-2]。
目前对无人机个体的识别,主要通过提取截获的无人机信号的特征,然后利用分类器根据特征进行分类识别。当今随着深度学习的快速发展,一些研究者将深度神经网络应用到辐射源个体识别领域中。文献[3-4]提取原始的基带时域I/Q特征,利用神经网络实现端对端的识别,但是这种时域非线性特征受噪声影响较大,识别率有一定局限性。文献[5]通过将信号的时域变换到频域,提取频域Welch功率谱信息作为CNN的输入,在SNR=10 dB噪声环境下对20个zigbee设备识别率达到90%以上。然而,CNN更擅长处理二维图像特征,上述方法直接识别I/Q、功率谱等一维特征,会导致CNN识别性能产生折扣[6],因此更主流的研究是将信号识别问题转化为图像识别问题,利用神经网络模型识别图像特征。文献[7]通过GoogleNet神经网络识别雷达探测的多普勒图像特征,完成对3种型号无人机的分类。文献[8]利用深层ResNet残差网络识别遥测信号的频谱图,实现对无人机的识别。上述2种识别图像特征的方法均取得了较高的分类精度,但同时模型参数量和计算量都越来越大,导致识别速度不佳,并且算法通常只能在强大的GPU上运行,对硬件要求比较高,不易在资源受限的小型嵌入式设备中应用。为此轻量化网络模型更符合实际需求,一些研究者开始转向利用轻量级网络来识别信号。Su等[9]设计群卷积来替代标准卷积结构来改进网络,有效降低网络模型复杂度的同时,提高了深度卷积网络的运算效率,但此设计忽略了特征间的联系,造成识别精度不理想。Wang等[10]利用深度可分离卷积构建轻量级MobileNet网络,利用该网络模型识别公开数据集RML2016.10a调制信号的差分密度星座图,尽管减少了参数量,但也造成了特征提取能力的下降,并且未针对信号的特点, 识别模型的性能有待进一步提高。
以上研究成果从不同的角度进行了探索,其主要研究不足在于:一方面,有些利用一维CNN识别一维特征的方法还很难应用于强噪声环境下,算法鲁棒性差,并且会导致神经网络识别性能发生折扣;另一方面,为了兼顾识别精度和速度,有些利用轻量级神经网络替代传统深度网络的识别方法,未结合信号的特征进一步分析,模型的性能还有提升的空间。
基于上述分析,为进一步提升对无人机信号识别的轻量级网络性能,本文中提出了基于轻量级残差网络的无人机个体识别方法。针对利用一维CNN识别一维特征在噪声环境下抗干扰性差并且导致CNN识别性能发生折扣等问题,通过STFT提取时频图特征并做灰度处理,有效克服一维时域信号在实际噪声环境下鲁棒性差的缺点;针对目前设计的轻量级神经网络,未结合信号特征的自身特点,模型性能仍有待提高的问题,以MobileNetv2网络为主体,结合无人机个体信号的时频图像特征,通过缩减网络层数以降低模型深度,通过减少输出通道数以降低模型维度,避免过高的分类维度可能导致“维度灾难”的问题;然后借鉴ResNet残差结构的思想,通过对其中Bottleneck结构的“膨胀系数”进行调整,以不同“膨胀系数”交替设置的方式来增加卷积层的残差连接,实现更多不同深度网络的集成,提高特征的提取能力,从而构建出轻量级残差网络SDRNet模型。利用SDRNet模型识别提取的STFT灰度图像特征,实现对无人机个体信号的高效识别。实验结果证明,所提方法在信噪比SNR=10 dB的噪声环境下获得94%的识别率,并且完成一次识别所需的乘加计算量约为109.9 M次,模型参数量约为0.430 7 M,网络模型大小约为1.628 MB。相比于其他神经网络模型的识别性能,所提方法在识别率得到保证的情况下,模型参数量、模型规模以及算法计算量都具有明显优势,显著提升了识别效率,更适合在资源受限的设备中推广应用。
在电磁环境中,仅分析时域或者频域内信号特征是单一的,但时频分析可以反映着信号时间与频率的分布关系,是信号处理领域中十分常用的方法。其中,短时傅里叶变换是将一个较长的时域信号分割成长度相等的较短的段,并在每个较短的段上分别计算其离散傅里叶变换。短时傅里叶变换在以损失一定频率分辨率为代价,能够恢复时间分辨率,具体操作就是利用窗函数将长的非平稳信号分割成一系列短时的随机平稳信号[11]。
短时傅里叶变换的公式为:
(1)
式中:z(t)是源信号;g(t)为窗函数。为方便处理,一般把信号进行离散化处理,具体表示为:
(2)
式中:STFTZ(m,n)为时频矩阵的每个离散时频点的数值;M为时间块的数量;N为频率分量的个数,且m∈[1,M],n∈[1,N]。
在短时傅里叶变换中,窗函数的长度直接影响着时频图的时间分辨率和频率分辨率。当窗函数的长度越长时,截取信号越长,则时频变换得到的频率分辨率越高,时间分辨率就越差。因此,必须根据实际的实验需求来选择最佳的窗口长度。
MobileNetv2是2018年提出的轻量级网络,它的主要特性体现在具有线性瓶颈的Bottleneck结构,线性瓶颈结构中的深度可分离卷积由深度卷积(depthwise convolution,DW)和逐点卷积(pointwise convolution,PW)组成。深度卷积与普通卷积不同,它的卷积核个数和输入向量的通道数必须相同,且每个卷积核仅能处理数据中的一个通道。逐点卷积可以使得深度卷积在高维空间提取特征,同时它也可将各个深度卷积的单通道提取的特征结果进行重新组合,保证了特征提取的准确性和有效性。其中,Bottleneck结构有2种类型,如图1所示。当步长stride=1时,有残差连接;当步长stride=2时,直接使用串联方式的连接。当Bottleneck结构是步长stride=1并有残差连接的情况时,可以加深网络层数,提升传播效率[12]。
图1 2种步长下的Bottleneck结构Fig.1 Bottleneck structures at two step sizes
Bottleneck结构通过深度可分离卷积和倒置结构的设计,先进行升维后进行降维,使得网络可以以更小的输入与输出维度,在高维空间上进行特征提取,又可以显著降低网络模型参数量和计算量[13]。假设输入特征图尺寸为D*D,输入通道数为M,DW卷积核大小为C*C,PW通道数为N,则深度可分离卷积的计算量S1与标准卷积的计算量S2之比为:
(3)
由式(3)可知,利用深度可分离卷积代替标准卷积,可将模型的计算量降低为原来的,显著提升了网络模型的计算速度。
分析无人机信号的STFT时频图特点可知,同一种类型的不同无人机信号时频图特征具有很强的相似性,识别分类时极易发生混淆,可以通过增加网络模型深度来提升特征提取的能力。但是随着网络深度继续增加到一定程度后,会出现梯度消失或爆炸的现象[14]。然而,ResNet网络在传统卷积神经网络基础上引入“残差学习”的思想,解决了因权值无法更新或模型无法收敛等因素造成网络性能退化的问题。ResNet网络的核心部分就是残差模块,其结构如图2所示。
图2 残差模块结构图Fig.2 Residual module structure diagram
一个残差模块可以表示为:
XL+1=XL+F(XL,WL)
(4)
式中:XL+1、XL分别为第L+1、L层特征图;WL、F分别为第L层卷积参数和运算函数。也就是将网络的传输函数H(XL,WL)=XL+F(XL,WL) 替代H(XL,WL)=XL+1,叠加的卷积层只需要拟合 函数即可,使得深层网络模型的优化更加简单。
残差模块中这种“恒等连接”的结构设计,使得网络可以将提取的浅层和深层信息实现快捷传递,有效解决了信息传递过程中造成的特征丢失,提升了深层网络模型的整体性能[15]。
以搭建识别准确率高、计算复杂度低、存储开销小的无人机信号的分类网络模型为目标,将MobileNetv2作为网络主体,结合无人机个体信号的时频图像特征,通过缩减网络层数以降低模型深度,通过减少输出通道数以降低模型维度;同时借鉴ResNet残差结构的设计思想,对新设计的轻量级残差结构中Bottleneck模块以不同“膨胀系数”交替设置的方式,使得所有Bottleneck模块的卷积层结构都有残差连接,实现更多不同深度网络的集成,设计出SDRNet轻量级残差网络模型。
信号的特征提取模块,主要以深度可分离卷积和倒置残差结构为核心,在MobileNetv2的Bottleneck结构基础上进行改进设计,构建新的轻量级残差模块,如图3所示。首先,利用深度可分离卷积代替标准卷积结构,先由一个1×1逐点卷积升维,然后是一个卷积核大小均设置为3×3深度卷积提取各通道特征,再搭配一个1×1逐点卷积进行降维,这样的设计有效降低模型参数量和计算量;其次,与MobileNetv2中一部分Bottleneck采用残差连接,一部分Bottleneck直接使用串联的连接方式有所不同。本文中设计的轻量级残差模块借鉴ResNet残差结构的思想,所有卷积层部分均使用残差连接的设计,这样既可以实现更多不同深度网络的集成,又可以实现信息的快捷传递,提升深层网络的性能。最后针对网络模型都使用残差连接,Bottleneck结构在特征信息传递过程会存在残差模块的输入特征图和输出特征图维度不匹配的问题,而尺寸为1×1的卷积核对输出特征图进行维度变换可以解决这个问题[16]。因此,本文中设计的轻量级残差模块有2种结构:Bottleneck-A模块和Bottleneck-B模块,分别如图3(a)与如图3(b)所示。
图3 轻量级残差模块结构图Fig.3 Scale Down ResNet module structure diagram
根据对设计的轻量级残差模块的分析,假设T表示第一层经逐点卷积之后升维的倍数、即“膨胀系数”,主要作用是对输入图像的大小进行调整;S表示卷积的步长,D、M、N分别表示输入图边长、输入通道数和输出通道数。传统的计算量统计方式往往是忽略规范化操作和激活层等等,只是单纯考虑卷积层和全连接层等参数层的“乘加”操作。同时,在卷积层和全连接层的计算量统计过程中,也会忽略如“偏置”等仅“纯加法”操作的计算量[17]。则Bottleneck构成的倒残差结构各层的计算量:第一层的计算量为:O(D*D*M*T*M)次;第二层的计算量为:O(D/S*D/S*3*3*T*M)次;第三层的计算量为:O(D/S*D/S*T*M*N)次。
针对无人机信号的个体识别,本研究设计了一种轻量级残差网络SDRNet模型,该模型包括1个卷积层、1个池化层、4个Bottleneck-A模块、4个Bottleneck-B模块、1个PW层、1个GAP层和1个Softmax层,具体网络结构如图4所示。在本网络模型中,首先,将提取的时频图大小调整为224×224×1,通过64个卷积核大小为7×7的标准卷积提取初级特征,并通过最大池化操作对时频图进行降维处理,以减轻网络的训练参数;其次,对新设计的轻量级残差结构中Bottleneck模块的“膨胀系数”进行调整,将4个Bottleneck-A模块和4个Bottleneck-B模块以不同“膨胀系数”交替设置的方式,使得所有Bottleneck模块的卷积层结构都有残差连接,并且通过深度可分离卷积和倒置残差等结构来提取时频图像的深层特征;然后通过512个大小为1×1的PW对特征进行升维,并通过一个GAP层对特征图的信息进行聚合,使每张特征图可以获得1个均值,进一步减少参数量、提高模型训练速度;最后,通过全连接层和Softmax层进行分类输出,得到最终分类结果。同时,为了避免网络模型在训练过程中各层激活输入的值发生位移导致神经网络梯度消失,在每层的激活函数之前增加了BN归一化层。
图4 轻量级网络模型结构图Fig.4 Scale down network model structure diagram
网络模型结构的详细信息如表1所示。表中,T为轻量级残差Bottleneck-A和Bottleneck-B模块进行升维的通道“膨胀系数”,S为卷积和池化操作的步长。
表1 SDRNet模型详细信息Table 1 SDRNet model details
数据来源于公开数据集,它是由美国东北大学采集的悬停在暗声室内的大疆M100无人机的信号[18]。根据实验需要,本文选用其中的6架同型号无人机,在AWGN高斯白噪声信道、信噪比SNR=0~10 dB、步长为2 dB的条件下,同一个信噪比每个无人机信号提取1 100个数据,其中I/Q数据每一路各包含1 000个采样点。信号特征数值的分布以及度量直接影响网络模型训练和模型识别精度,为使网络模型的收敛速度得到加快和避免梯度爆炸,因此,对提取的特征数据进行标准化处理。标准化操作算法如公式所示:
(5)
式中:xmean和xstd分别为各属性特征的平均值和标准差,为属性特征值标准化后的大小。
信噪比为10 dB的噪声环境下的STFT灰度图如图5所示。由于STFT时频灰度图可较好反映出不同无人机个体的细微差异,故本文将原始时域I/Q信号进行STFT,提取时频灰度图作为信号指纹特征,同一信噪比条件下有6 600张图像样本,共39 600张图像,以此作为样本数据集,并按照9∶1∶1的比例设置为训练集、验证集和测试集。
图5 AWGN信道10 dB环境下STFT灰度图Fig.5 STFT grayscale image of AWGN channel in 10 dB environment
实验使用Matlab 2020b作为仿真平台,仿真实验搭载Intel Core i7 2.8GHz处理器,操作系统为Windows10专业版64位,深度学习框架通过Matlab 2020b中的深度学习工具箱进行搭建。所有模型在训练时,训练参数均设置如下:初始学习率为0.05;学习率减少因子为0.1;学习率减少周期为10;最大轮数为14,小批量样本数为64,其他参数设置均为默认值。
为了验证新构建的轻量级残差网络SDRNet模型的有效性,利用STFT灰度图像特征进行网络模型的训练和测试。图6为SDRNet网络模型在信噪比为10 dB条件下的训练进度图。从图中可以看出:随着训练次数的增加,识别率在逐渐增加,训练损失函数迅速下降;当训练次数达到一定程度,识别率不在有明显上升,损失函数不在有明显下降,而是在很小范围内波动,说明此时网络已经趋于稳定,并且稳定时取得了较为理想的分类准确率。分析其原因,主要由于搭建的网络模型中的主干特征提取模块均采用残差学习的思想,通过恒等连接的设计,在实现信息快捷传递的同时,也提高了网络模型对无人机时频灰度图特征的拟合能力。
图6 SDRNet网络模型在SNR=10 dB时的训练进度图Fig.6 Training progress diagram of SDRNet network model when SNR=10 dB
为了进一步验证所设计的SDRNet模型的识别方法的鲁棒性,选取在识别图像领域表现良好的MobileNetv2[19]、GoogleNet[20]、ResNet18[21]三种神经网络模型进行对比,比较测试集中各模型对不同无人机个体信号的识别率,从而分析各网络模型对无人机信号的分类识别性能。
实验结果如表2、图7所示。4种网络模型对6个无人机信号的STFT时频灰度图特征均表现出良好的分类能力,为了更清晰直观地比较四种网络模型在信噪比SNR=10 dB下对无人机信号的识别准确率情况,生成如下混淆矩阵,如图8所示。从结果可知,SDRNet模型的识别效果较好,在SNR=10 dB时识别率是94.00%,仅次于残差网络ResNet18模型的识别准确率。分析其原因:相较于残差网络ResNet18模型,SDRNet模型尽管也采用残差连接的设计,但是其深度可分离卷积略逊于残差网络ResNet18中卷积层的特征提取能力,并且网络层数较浅,模型识别分类能力不如ResNet18网络;相较于GoogleNet的标准卷积架构,SDRNet网络继承了ResNet网络残差结构的优势,提高了深层特征的提取能力,使得在增加网络深度的同时依然保持较高的模型识别精度,因此特征特取和分类识别能力明显优于GoogleNet网络模型;相较于MobileNetv2,SDRNet网络同样借鉴深度可分离卷积的轻量化设计思想,并且网络层数更浅,但是SDRNet网络主干模块针对无人机个体信号时频灰度图的特点,增加了卷积层的残差连接部分,有利于学习时频灰度图像的细微特征,可以实现更多不同深度网络的集成,并且能够实现信息的快捷传递,提升深层网络的性能,识别准确率更高。
表2 不同网络模型识别率对比Table 2 Comparison of recognition rates of different network models
图7 4种网络模型识别结果图Fig.7 Recognition results of four network models
图8 4种网络模型生成的混淆矩阵Fig.8 Confusion matrices generated by four network models
以计算时间作为指标,衡量网络模型的时效性是不够科学准确的,因为往往受到各种不良因素的干扰,比如硬件本身内部结构以及仿真设备的固有特性等等。但是网络模型的时效性和网络的乘加计算量成正相关关系。综上考虑,将网络的乘加计算量作为指标能较为科学准确的衡量网络算法的时效性。
传统的乘加计算量统计方式往往是忽略规范化操作和激活层等等,只是单纯考虑卷积层和全连接层等参数层的“乘加”操作。同时,在卷积层和全连接层的计算量统计过程中,也会忽略如“偏置”等仅“纯加法”操作的计算量[17]。通过计算可以发现,SDRNet模型完成一次识别需要进行大约109.9 M次的乘加计算,而其他3种网络模型完成一次识别需要的乘加计算量分别是:MobileNetv2模型大约305.8 M次;GoogleNet模型大约1471.3 M次;ResNet18模型大约721.3 M次。SDRNet模型的乘加计算量为MobileNetv2模型的35.9%、GoogleNet模型的7.3%、ResNet18模型的15.2%。
首先,训练后的模型用Matlab导出,然后比较4种网络模型的可学习参数量、规模大小。查看Matlab中各类模型可学习参数量和模型规模,得到结果如下:SDRNet模型可学习参数量大约为0.430 7 M,模型规模大约为1.628 MB;MobileNetV2模型可学习参数量大约为2.2 M,模型规模大约为8.308 MB; GoogLeNet模型可学习参数量大约为5.9 M,模型规模大约为21.654 MB;ResNet18模型可学习参数量大约为11.1 M,模型规模大约为40.236 MB。为了使比较结果数据清晰可视化,网络模型可学习参数量和模型规模大小对比结果如条形图9所示。
图9 4种网络模型参数量与模型规模对比图Fig.9 Comparison diagram of parameter number and model size of four network models
综上分析,对比各网络模型对无人机个体信号的识别率及计算量、网络模型可学习参数量以及模型规模大小,相比于MobileNetv2轻量级神经网络、经典的GoogleNet卷积神经网络模型和ResNet18残差网络模型,基于轻量级残差SDRNet模型在保证识别准确率的前提下,模型可学习参数量和网络模型规模均小于其他3种卷积神经网络,且大大减少了识别所需的计算量,提高了方法的时效性,更容易在工程和便携设备中推广应用。
针对现有的无人机个体识别方法存在分类准确率低、实时性差、网络模型参数量大以及难以应用于资源受限的设备等问题,本文提出基于轻量级残差网络SDRNet的无人机个体识别方法。
1) 网络基于MobileNetv2,通过缩减网络层数以降低模型深度,通过减少输出通道数以降低模型维度;借鉴ResNet残差结构的设计思想,通过增加卷积层的残差连接以实现更多不同深度网络的集成,进而设计出轻量级残差网络SDRNet模型。
2) 通过对无人机个体信号进行STFT得到时频图,并对时频图进行灰度处理,以灰度时频图特征作为样本对轻量级残差网络SDRNet进行训练,从而实现对无人机个体的识别。
3) 相比于利用MobileNetv2轻量级神经网络、GoogleNet卷积神经网络和ResNet18残差网络模型,所提方法在保持较高识别准确率的同时,具有更快的识别速度和更小的内存开销。更适合在智能边缘设备等资源受限的小型嵌入式设备中推广应用。