梁文哲 冯阳凯 王 锐 周 超 蔡 炯
(1.北京理工大学信息与电子学院,北京 100081;2.上海卫星工程研究所,上海 200240)
大气中存在着种类繁多的昆虫,其中多数的迁飞性昆虫都喜欢在夜间迁飞,且飞行高度高达甚至超过1 千米,远远超出了人的眼睛可观测到的范围[1]。昆虫迁飞每年给全球农业带来严重危害,以我国为例,每年水稻、小麦、玉米等农作物的重大害虫远距离迁飞造成虫害的土地面积达到20亿亩次,使用的农药达到40 万吨,粮棉损失达到400 亿斤。如果我们能够掌握不同种类昆虫的迁飞规律,就可以提前采取预警措施,降低对农业作物的危害,进一步还可研究昆虫对于地球生态和人类生存的影响。
雷达是监测昆虫迁飞最有效的手段,它的优势在于可以全天时、全天候、远距离地对昆虫迁飞进行定量监测。传统的雷达目标检测方法常采用CFAR,通过邻近参考单元的回波估计出杂波的幅值(功率),从而进一步确定检测门限。将采样单元的回波幅值(功率)与门限比较,高于门限则认为检测到目标,低于门限则认为没有目标[2]。然而昆虫目标体积小,回波弱,极易受到杂波的干扰,当SNR较低时,还会受到噪声的干扰。为了排除地杂波影响,本团队研制的Ku 波段高分辨全极化昆虫雷达采用垂直对天观测模式,对飞越波束的昆虫目标进行检测,此时空场景回波几乎无杂波,近似均匀高斯白噪声背景。但当昆虫目标距离雷达较远时,SNR 下降,此时CFAR 的检测率下降。因此关键问题在于提高低SNR下昆虫目标的检测率。
近年来,深度学习在图像领域不断蓬勃发展。2012 年,AlexNet 网络在ImageNet 图像分类大赛中取得的成绩证明了卷积神经网络(Convolution Neural Network,CNN)在图像上具有更好的特征提取能力[3]。2014年,Girshick R首次将深度学习应用于图像中的目标检测领域,将CNN 网络和候选框算法相结合提出了目标检测算法R-CNN[4],相比传统算法具有明显的优势。之后,在R-CNN 算法的基础上不断改进,提出了Fast R-CNN[5]、Faster R-CNN[6]、YOLOv1[7]、YOLOv2[8]、YOLOv3[9]等一系列图像领域中的目标检测算法。而目前性能较好的YOLOv3算法同时兼顾检测精度和速度,对于608×608 分辨率的图片,在COCO 数据集上检测精度达到了57.9%,检测速度达到了20 fps,满足实时检测需求。
越来越多的研究人员将图像领域中的深度学习成果应用于雷达领域,包括高分辨距离像(High Resolution Range Profile,HRRP)识别,合成孔径雷达(Synthetic Aperture Radar,SAR)、逆合成孔径雷达(Inverse Synthetic Aperture Radar,ISAR)、遥感等图像的目标检测。
在HRRP识别领域,相比于传统方法,深度学习算法可以自动提取目标HRRP 数据有效的深层特征,以进行不同目标的分类和识别。Karabayir O 等人建立了6 艘军舰和4 艘民用舰船的模型,采用经典的CNN网络对舰船目标进行分类,CNN网络包括4个卷积层、2个最大池化层、1个Relu激活层和1个全连接层,在自建的HRRP 数据集上平均识别率为93.90%[10]。山东大学的殷和义等人基于微波暗室中4 种飞机缩比模型的HRRP 数据,分析了不同分类器的识别效果,结果表明,与BP 神经网络、SVM分类器和KNN分类器相比,CNN分类法识别率更高但耗时更长[11]。北京航空航天大学的张耀天等人融合了CNN 和长短期记忆(Long Short Term Memory,LSTM)网络结构,利用多层CNN 对HRRP 信号时频特征提取的一维特征与原始HRRP 数据进行拼接,作为LSTM 网络的输入进行识别。数据集来源于锥柱体、柱体等4 种简易目标z在X 波段的仿真计算[12]。阿尔托大学的Lunden J 和Koivunen V 利用CNN 模型对多基地雷达的HRRP 的目标进行分类,其数据集来源于对多个飞机模型的仿真计算,并添加白噪声以扩充数据集。其利用不同角度的HRRP数据模拟不同基地雷达的回波信号,利用CNN 对不同雷达HRRP 的识别结果进行融合,将输出的目标概率最大值与所设阈值进行比较,以判断目标是已知还是未知。实验结果表明,该方法在低信噪比下有较好的识别结果[13]。
在SAR 和ISAR 领域,图像中的目标检测算法得到广泛应用。胡昌华等人针对合成孔径雷达图像舰船目标背景复杂的特点,提出一种基于改进的YOLOv3的SAR图像舰船小目标检测算法[14]。周龙等人针对传统雷达图像目标检测方法在海杂波及多种干扰物组成的复杂背景下目标分类识别率低、虚警率高的问题,提出一种基于YOLOv3 的检测算法[15]针对传统基于CFAR 的SAR 目标检测方法极易受背景干扰等问题,夏勇等人提出了一种基于Faster R-CNN 网络的沙漠背景下SAR 目标检测算法[16]。
然而现有的基于深度学习的目标检测识别算法针对的都是舰船、车辆、建筑等大型扩展目标,而点目标如昆虫等,体积小、速度慢,在距离维和多普勒维扩展性弱,在HRRP 上或者在距离多普勒域(Range Doppler,RD)上特征较少,无法采用深度学习的方法进行检测和识别。
针对上述问题,本文研究了低SNR 下基于YOLOv3的昆虫目标检测算法。算法将昆虫目标在RD域的回波结果通过短时傅里叶变换(Short Time Fourier Transform,STFT)变到时频域,丰富目标特征,同时还采用了目标-虚警二元训练策略以及检测后置信度筛选策略来降低算法的虚警率。结果表明,所提算法在相同虚警率条件下优于传统的CACFAR 算法。本文剩余内容的结构安排如下:第2 节介绍了基于YOLOv3 的昆虫目标检测算法,第3 节给出了仿真结果,第4 节给出了实测数据验证结果,第5节给出了结论。
雷达垂直对天观测昆虫等生物目标时,杂波对目标检测的干扰可以忽略不计,但当昆虫距离较远时,SNR下降,传统雷达检测算法的检测率下降。同时由于昆虫体积小、速度慢,在距离维和多普勒维的扩展性弱,特征少,传统的基于HRRP 识别、SAR 图像检测的思路并不适用。针对上述问题,算法中采用图像特征对目标进行检测,不同于传统的幅值门限检测,可利用信息更多;同时算法不在HRRP或者RD 域上对目标进行检测,而是通过STFT 变换到时频域,进一步丰富昆虫目标特征,提高昆虫的检测率;算法选择目前性能较为均衡的YOLOv3 网络来检测昆虫目标,满足较高的检测精度和实时性。
算法整体流程如图1所示。
数据预处理:原始雷达回波是一维向量,需要通过脉冲压缩、相干积累、短时傅里叶变换等预处理手段转换成目标特征明显的二维图片,从而满足YOLOv3的输入要求。
YOLOv3 训练:在仿真数据经过预处理后生成的训练集和测试集上训练YOLOv3 网络,为了降低算法的虚警率,本文提出了目标-虚警二元训练策略,即共两次训练:第一次训练只有一类目标,即昆虫;第二次训练有两类目标,昆虫和虚警。
置信度筛选:实际检测中,将原始回波经过预处理输入到训练好的YOLOv3网络中得到初步检测结果,根据网络检测出目标的置信度进行筛选,置信度大于设定阈值则最终认为是目标,置信度小于阈值,则最终认为是虚警。该策略可以进一步降低算法的虚警率。如图2 所示,point_target 后面的数字即为目标的置信度。
雷达原始回波是一维向量,不能用于YOLOv3网络的训练和检测,因此我们需要对数据进行预处理。传统雷达目标检测前需要将回波进行脉冲压缩和相干积累变换到二维的距离多普勒域上,然而昆虫目标由于体积小,速度慢,导致距离维、多普勒维扩展性差。其在RD 平面上主要呈现为一簇亮点,形状小,特征少,不利于网络进行训练和检测。因此我们通过短时傅里叶变换(Short Time Fourier Transform,STFT)将目标从RD 域变换到时频域,此时理想的昆虫目标形状为一条竖线,特征相比RD域更加明显,便于网络训练和检测。整体的预处理流程如图3所示。
信号截短:脉冲压缩和相干积累后的RD 平面在距离维上点数过多,如果直接对整个距离维的信号进行STFT,则处理后生成的图片过大,难以直接放入网络中进行训练;同时在距离维上,点数过多时,目标在RD 图以及变换后的时频图上特征不明显,不利于网络检测。综合考虑需要在距离维上进行信号的等长度截断。
时频分析:选取目标所在多普勒通道,对若干个截短后的距离维上的信号进行STFT 得到目标的时频图。
幅值标准化:将STFT 后的幅值矩阵归一化到0~255的范围内,等价于图像的灰度化。
按照上述数据预处理流程,每一步仿真生成的结果如图4 所示,其中距离维点数为8192,相干积累的脉冲个数为512。
由图4可以看出,经过数据预处理,目标特征明显增加,在满足YOLOv3输入要求的同时,更能提高算法的检测性能。
YOLOv3 算法由Redmon 等人[8]于2018 年提出,算法中采用了全新设计的Darknet-53残差网络对输入图像进行特征提取,同时采用多尺度特征检测策略,提高了对不同尺寸目标的检测精度,特别是针对小目标;同时也减少了模型的运算量,提高了检测速度。总体而言,YOLOv3 是目前性能较好的图像目标检测网络之一。下面对该算法的网络框架进行简要介绍:
算法的检测流程如图5所示。
首先输入图像通过网络Darknet-53 提取特征,获取图像目标特征图;然后采用多尺度特征目标检测策略,通过三次上采样和特征图拼接,分别在三个不同尺度的特征图上对目标的位置信息进行回归预测,通过Sigmiod 函数对置信度分数进行预测;最后通过非极大值抑制对输出进行滤波,完成目标检测。
为了降低算法的虚警率,在网络的训练阶段,本文提出了虚警-目标二元训练策略,算法训练流程如图6所示。
其中:
数据集生成:根据图3 中的流程生成网络训练需要的训练集、测试集以及统计网络检测性能的检测集。
网络训练和检测:对YOLOv3 网络进行第一次训练,此时只有一类目标,即昆虫。然后在检测集上统计网络检测性能。
虚警筛选:筛选网络在检测集上检测出的虚警样本。
生成虚警目标二元训练集:将虚警样本加入到第一次训练的训练集和测试集中。
网络二次训练:对YOLOv3 网络进行第二次训练,此时有两类目标,即昆虫和虚警。
网络检测性能统计:在检测集上再次统计网络的检测性能。
由于实测昆虫数据标注不规范、数量较少、难以获取等问题,本文算法训练和测试所用的数据集由仿真生成,仿真的脉冲雷达系统参数设置如表1所示,与团队的Ku高分辨全极化昆虫雷达保持一致。算法的有效性由仿真数据和实测数据共同验证。
表1 雷达系统参数设置Tab.1 Radar system parameter settings
STFT参数如表2所示。
表2 STFT参数设置Tab.2 STFT parameter settings
为了使算法在不同SNR 下都具有较好的检测性能,数据集样本生成时覆盖了一定的SNR 范围。按照表1和表2的仿真参数,根据图3的预处理流程生成用于网络训练的数据集参数如表3所示。
表3 数据集参数设置Tab.3 Dataset parameter settings
同时为了统计网络的检测性能(检测率和虚警率),根据图3的预处理流程生成的检测集的参数如表4所示。
表4 检测集参数设置Tab.4 Detection dataset parameter settings
本小节给出在表3 和表4 的数据集上,根据图6中流程训练后的网络的检测性能,其中不同SNR 下的网络的检测率和虚警率统计方法如下:
计算虚警率时,由于每张图片大小是512×512,所以距离维点数取512。
在置信度筛选步骤中,阈值设为0.7,算法的检测性能如下表5所示。
表5 算法检测性能Tab.5 Algorithm detection performance
由表5 可以看出,训练后的网络不具有恒虚警特性,其虚警率在4.56 ×10-6~3.26 ×10-7范围内变化,但总体趋势满足信噪比越高,虚警率越小。下面给出该算法和CA-CFAR 算法的检测性能比较结果,其中CA-CFAR 的参考单元个数设为40,鉴于网络不是恒虚警,为了更合理地比较其与CA-CFAR的检测率,控制不同情形下CFAR 虚警率与网络保持一致。比较结果如图7所示。
其中在8~14 dB 的SNR 下,两种算法的检测率如表6所示。
表6 低SNR下算法检测率对比Tab.6 Comparsion of algorithm detection rate under low SNR
由图7 和表6 可以看出,在仿真数据集上,本文所提的基于YOLOv3 网络的检测算法在8~14 dB 的低SNR 下,检测性能优于传统的CA-CFAR算法。
实测昆虫数据由团队研制的Ku 波段高分辨全极化昆虫雷达采集,采集场景如图8 所示。
可以看出,雷达垂直对天发射信号,采集飞过波束的昆虫回波,此时杂波干扰可以忽略不计。对实测昆虫数据分别用CFAR 算法和本文算法进行处理,其中CFAR 的单边参考单元个数设为40,单边保护单元个数设为20,虚警率设为10-6,结果如图9 所示。
可以看出CFAR 算法漏检了两个目标,如下图10所示。
其中漏检目标1 的SNR 为8.7 dB,此时CFAR算法不能检测出目标,对目标进行STFT 后,用本文算法的检测结果如图11所示。
漏检目标2 的SNR 为9.8 dB,此时CFAR 算法不能检测出目标,对目标回波进行STFT 后,用本文算法的检测结果如图12所示。
可以看出CFAR 算法漏检的两个低SNR 目标,本文所提算法均可检测出来。
两种算法在处理一帧64 ×512 的实测数据所用时间如下表7所示。
表7 算法效率分析Tab.7 Algorithm efficiency analysis
综上,实测数据处理结果进一步说明,在低SNR 下,本文所提基于YOLOv3 的昆虫目标检测算法检测率高于CA-CFAR 算法,算法耗时略高于CACFAR,但仍在可接受范围内。
低SNR下,昆虫目标回波弱,传统CFAR算法检测性能下降。同时昆虫本身体积小、速度慢,距离、多普勒扩展性差,在HRRP 和RD 域上的特征少,现有深度学习的研究成果难以直接应用。针对上述问题,本文提出了基于YOLOv3 网络的昆虫目标检测算法,将目标从距离多普勒域变换到时频域,放大目标特征,便于YOLOv3 网络对目标进行识别和定位。同时提出了目标-虚警二元训练策略和置信度筛选策略,进一步降低了算法的虚警率。仿真数据和实测数据的处理结果均表明,本文所提算法在低信噪比下检测性能优于CA-CFAR 算法。目前本文所提算法的虚警率只能稳定在一定范围内,后续将开展基于深度学习的恒虚警检测算法研究。