张明淳,牛春晖,刘力双,刘 洋
(北京信息科技大学 仪器科学与光电工程学院,北京 100192,中国)
随着无人机(unmanned aerial vehicle,UAV)技术的快速发展以及其产品的大量应用,面对日趋严重的无人机威胁,世界各国对无人机探测系统的需求不断上升。现有常用探测方法主要为无线电探测、红外探测、雷达探测和光电探测等[1]。其中红外探测不易受夜晚和不良气候条件影响,可以全天候工作,且无需主动向外发射电磁波,具有很高的隐蔽性,因此作为一种理想的目标探测方式,备受专家学者们的关注。远距离无人机目标在红外图像中所占像素较少;同时,在受到云层、噪声等复杂背景影响时,会加大目标检测难度。作为无人机探测系统中的一项关键技术,红外小目标检测算法[2]的研究对于提高无人机探测系统在不同场景下的适用性具有重要作用。
LI[3]提出了基于粒子群优化(particle swarm optimization,PSO)的先检测后跟踪(detect before track,DBT)算法,使用5×5大小的固定权值矩阵对图像背景进行预测,并与原图作差得到残差图像,最后通过PSO算法计算最佳阈值对其进行阈值分割,剔除背景与虚警,得到真实目标。HU等人[4]基于硬件平台,研究了一种中值滤波硬件优化算法[5],提出基于行复杂度的背景分离方法提取目标。ZHAO等人[6]采用基于时空上下文(space time context,STC)的跟踪算法进行建模,通过当前目标位置和上下文位置的时空关系估算下一帧目标位置,同时由高斯曲率滤波(Gaussian curvature filtering,GCF)进行预处理[7],保持边缘去除噪声,得到较为准确的下一帧目标置信图来估算目标位置,一定程度上提高了目标跟踪精度,具有较好的实时性。
现有的检测算法在目标背景较为简单时有较好效果,但面对复杂背景中的目标,其检测效果并不理想,导致无人机探测系统不具备适用性。
为满足不同场景下无人机目标检测需求,本文作者对无人机探测系统的结构组成进行了阐述,采用现场可编程门阵列(field-programmable gate array,FPGA)加数字信号处理器(digital signal processor,DSP)架构进行图像采集与目标检测。在此基础上,针对复杂背景下无人机目标成像特性,提出一种基于双边滤波的多尺度改进top-hat红外小目标检测算法。为了验证该算法的检测效果,选取云层、山地和森林等不同背景的图像序列,分别从主观上和客观上进行对比实验。
无人机探测系统主要由图像采集模块(image acquisition module)、图像处理模块(image processing module)以及人机交互模块(human-computer interaction module)三部分组成,能够对视场内的无人机进行远距离探测。图像采集模块由长波红外凝视光学系统与非制冷长波红外焦平面探测器组成[8]。无人机探测系统以凝视方式工作,无需通过旋转和扫描获取图像,由于省去了制冷模块与笨重的转台,因此具有体积小、质量轻、功耗低的优势。
图像数据处理采用国产FPGA+DSP架构[9]。其中FPGA具有现场可编程特性,主要负责接口以及图像预处理;DSP负责后续的图像处理、目标检测等工作[10]。无人机目标向外界发射热辐射信号,热辐射经过光学系统采集后进入到红外探测器,经过数字摄像机和图像采集卡之间的接口传输给FPGA;FPGA完成采集数字图像信号、数字图像解调及预处理工作;图像数据在FPGA与DSP之间通过高速串行输入输出口(serial rapid input output,SRIO)进行高速传输;DSP完成图像处理并将检测到的目标信息传给FPGA,最后通过通用异步收发器(universal asynchronous receiver transmitter,UART)发送给上位机。系统结构如图1所示。
图1 系统结构框图Fig.1 Block diagram of system structure
通常情况下,当无人机目标距离较远时,其红外辐射能量较弱,导致其在红外图像中所占的像素较少,表现为典型的红外弱小目标[11]。另一方面,当无人机所处位置有云层遮挡,环境较为复杂时,易受噪声和背景杂波的干扰和影响,导致目标信噪比和对比度都非常低,进一步加大了检测的难度[12]。为了能准确检测无人机目标,本文中采用基于双边滤波(bilateral filters,BF)的多尺度改进顶帽(top-hat)算法检测目标,并利用基于最大值和平均值的自适应阈值分割方法进行目标提取,流程图如图2所示。算法的多尺度体现在对双边滤波之后的图像,分别在升采样与降采样之后进行改进top-hat处理,并与原尺寸改进top-hat处理之后的图像进行融合。当目标较小时,升采样可以扩大目标,当目标较大时,降采样可以缩小目标,从而便于检测。将其部署到不同的DSP物理核心中,在保证效率的同时提高检测率[13]。
图2 算法流程图Fig.2 Algorithm flow chart
双边滤波是一种典型的非线性滤波算法[14]。其设计思想源于高斯滤波算法,通过像素强度的变化表征并保存边缘信息,能够有效地解决由于滤波引起的边缘模糊问题[15]。双边滤波同样采用加权平均,目标位置的像素值为其周围像素值的加权平均。不同于高斯滤波只考虑目标与周围像素的欧氏距离,双边滤波还将目标与周围像素的灰度距离考虑在内[16]。图像I在像素点I(x,y)的双边滤波可以表示为:
Gσr(|I(p)-I(q)|)I(q)
(1)
(2)
式中:IBF(p)为去噪后的图像;I(p)为更新的像素值;I(q)为邻域像素值;S表示滤波窗口;Wp为归一化参数;Gσs为空间域核,本质为空间函数,用来降低距离较远的像素对要更新的像素的干扰;Gσr为像素域核,本质为范围函数,其用来降低与要更新的像素灰度值不同的像素q的干扰。Gσs和Gσr定义为:
(3)
Gσr(|I(p)-I(q)|)=
(4)
式中:σs、σr分别为高斯距离标准差和高斯灰度标准差,用来衡量图像I的滤波量;(m,n)为目标位置相邻像素的坐标;(i,j)为当前被卷积目标像素的坐标。在图像灰度值差异不大的区域,I(m,n)与I(i,j)大小接近,此时Gσr近似于1,与高斯滤波的作用并无太大差别,不能很好地表征并保留图像细节纹理部分;在图像灰度值差异较大的区域,I(m,n)与I(i,j)相差较大,此时Gσr不能近似于1,由于将目标位置像素点相邻位置的灰度值差异计算在内,因此可以很好地表征并保留图像边缘信息。
数学形态学的各种运算都是基于腐蚀(f⊗b)和膨胀(f⊕b)两个基本运算[17],其公式为:
(5)
(6)
式中:f(x,y)代表原始灰度图像;b(i,j)代表结构算子;(x,y)和(i,j)分别表示图像和结构算子中的像素坐标。为有效利用目标区域与周围区域的差异,定义结构算子Bin和Bout,二者形状相同但大小不同,尺寸较小的Bin为最内层结构算子,尺寸较大的Bout为最外层结构算子[18];Bb是位于Bin和Bout之间的结构算子,其大小介于二者之间,用来调节参与运算的目标区域的大小;ΔB=Bout-Bin为环形结构,用来体现目标位置与周围区域的差异。Bin、Bout、ΔB和Bb之间的关系如图3所示。
图3 结构算子之间的关系Fig.3 Relationships between structural operators
定义运算fΘBout-in:先膨胀后腐蚀。fΘBout-in定义为:
fΘBout-in(x,y)=(f⊕ΔB)⊗Bb
(7)
式中:Bout-in表示运算fΘBout-in中用到的结构算子,和Bin、Bout有关[19]。
改进top-hat算法Ntop-hat(x,y)定义为:
Ntop-hat(x,y)=f(x,y)-fΘBout-in(x,y)
(8)
对于红外图像中的亮目标区域,改进top-hat算法首先使用环状结构ΔB膨胀,利用目标周围区域像素值替代目标位置像素值;其次使用结构算子Bb腐蚀,利用目标周围区域像素最小值替代目标位置像素值;最后将原图与经过fΘBout-in运算之后的图像作差得到目标图像。
本文中采用基于最大值与平均值的自适应阈值,对经过目标增强之后的图像I进行二值化目标提取,计算公式为:
Eth=λEmax+(1-λ)Emean,(λ∈(0,1))
(9)
式中:Eth为计算所得阈值;Emax为图像I中的像素最大值;Emean为图像I中的像素均值;λ为调参系数,这里λ取值为0.7,用于对单目标检测。当检测多目标图像时,可修改λ值在0.4~0.5之间会有较好效果,从而降低漏检率。通过阈值判断,得到二值化图像Iout(x,y),其判断公式为:
(10)
本文中提出一种基于双边滤波的多尺度改进top-hat红外小目标检测算法。首先采用双边滤波平滑背景,保留目标区域边缘,滤波窗口S取值为5×5,两个标准差参数σs、σr分别取值为6和0.01;其次,利用改进top-hat算法对红外图像进行目标增强,提高目标区域与周围区域差异,结构算子Bin和Bout分别取值为2和4;最后,根据式(9),使用所提出的基于最大值和平均值的自适应阈值分割方法对红外无人机目标进行提取,λ取值为0.7。算法实现效果如图4所示。
图4 算法实现效果Fig.4 Effect of algorithm
为了验证该算法的检测效果,本文中从主观和客观上对比实验,评价算法检测效果。采用复杂云层背景(complex cloud background)、山地背景(mountain background)和森林背景(forest background)以及空天背景(sky multiple targets)4组单目标或多目标红外图像序列进行了仿真实验。在Windows11 MATLAB 2020b环境下,分别应用局部对比度方法(local contrast method,LCM)、顶帽算法(top-hat)、多尺度块对比度方法(multiscale patch-based contrast method,MPCM)和高斯-拉普拉斯(Laplace of Gaussian, LoG)4种现有的典型红外小目标检测算法作为对比算法。表1中介绍了实验数据的详细信息,图5、图6中分别给出了4组红外小目标序列图像在各个算法下的检测结果与同一阈值处理后的结果。
表1 序列图像描述Table 1 Sequential image description
图5 5种算法处理后的序列图像Fig.5 Sequence image processed by five algorithms
图6 同一阈值处理后的序列图像Fig.6 Sequence image after same threshold processing
从实验结果可以看出,LCM算法检测结果中伴随大量的虚警目标,top-hat算法与LoG算法检测结果中伴随部分虚警目标,MPCM算法在山地背景中伴随少量虚警目标,相比之下,本文中所提算法能准确分离目标,对不同背景下的红外序列图像具有较好的检测效果。
从客观上评价算法效果,采用信噪比(signal-to-noise ratio,SNR)、信噪比增益(SNR gain,SNRG)和背景抑制因子(background suppression factor,BSF)作为评价指标[20]。SNR和SNRG定义为:
(11)
(12)
式中:μt表示目标位置所有像素的平均值;μb表示背景部分所有像素的平均值;σb表示背景部分所有像素值的标准差;ESNR,in表示算法处理前的信噪比值;ESNR,out表示算法处理后的信噪比值。ESNR越大,表示目标越容易被检测到;ESNRG越大,表示对目标信号的增强性能越好。
背景抑制因子BSF用来表示对背景的抑制能力,BSF定义为:
(13)
式中:σin和σout分别表示原图与处理后图像中完整背景的标准差。EBSF值越高,抑制效果越好。
5种算法在Seq.1~Seq.3场景下的SNRG和BSF如表2所示。
表2 5种算法在前3组场景下的SNRG与BSF值Table 2 Sequence images describe the SNRG and BSF values of the five algorithms in the first three sets of scenes
由实验结果可以看出,本文中所提算法在不同复杂背景的红外序列图像中的SNRG和BSF值最大,分别平均提高了6.8倍和7.44倍,表明本文中所提算法在目标增强和背景抑制方面都优于其它4种比较算法。
为了进一步验证该算法与其它4种算法相比的优越性能,通过接受者操作特性(receiver operating characteristic,ROC)曲线[21]来表征目标检测过程中检测率和虚警率关于阈值的相关关系。根据式(9),使用所提出的基于最大值和均值的自适应阈值分割方法,通过设置不同的λ值来调整阈值门限Eth,绘制ROC曲线。检测率Fd和虚警率Fa定义为:
(14)
(15)
式中:nt表示检测出来的真实目标个数;Nt表示真实目标个数;nf表示虚假目标数;N表示总像素数[22]。
以Fd作为纵坐标,Fa作为横坐标绘制ROC曲线。通常情况下,曲线距离左上方越接近,即Fd较高,Fa较低,说明该算法的检测效果越好。选取Seq.1~Seq.3这3组序列图像进行实验测试,分别为复杂云层背景、山地背景和森林背景。由图7可以看出,和其它4种算法相比,本文中所提算法(红色实线、空圆心标记符)总是能率先趋近于1,能在10-6数量级的虚警率下无限接近于100%的检测率。
图7 不同算法的ROC曲线Fig.7 ROC curves of different algorithms
通过上述实验结果可以看出,与LCM、top-hat、MPCM和LoG这4种典型红外小目标检测算法相比,本文中所提算法的SNRG和BSF值分别平均提高了6.8倍和7.44倍,在目标增强和背景抑制方面都优于其它4种比较算法;同时,由ROC曲线可以看出,该算法在更低的虚警率下有更高的检测率,其总体的处理效果要优于其它4种典型的红外小目标检测算法,具有较强的适用性与鲁棒性。
为了验证无人机探测系统在实际使用场景下的性能,通过外场实验对其进行测试,具体测试场景如图8所示。其中1为220 V户外移动电源,2为上位机,3为28 V线性电源,4为无人机探测装置,5为供电接口,6为数据接口与线缆。
图8 外场测试场景Fig.8 Outdoor test scenario
实验过程中,将无人机探测装置固定于实验平台上,采用四旋翼无人机作为红外目标,控制无人机攀升至距离地面200 m高度,并在成像系统视场内飞行,最后利用无人机探测系统对无人机目标进行检测。图9、图10分别为单帧检测效果和连续多帧检测效果。
图9 单帧检测效果Fig.9 Single frame detection effect
图10 多帧检测效果Fig.10 Multi-frames detection effect
为了客观评价系统在实际场景下的检测效果,对连续帧下的检测数据进行分析,在108帧图像中成功检测并框出目标位置的有106帧,系统的检测率为98.15%。由此可以看出,无人机探测系统在实际使用场景下的检测率能够达到预期效果。
为了验证目标检测算法的实时性,采用代码调试器(code composer studio,CCS)中的clock计时器功能计算目标检测算法所花费的时间。如图11所示,DSP中图像处理所花费的时间为19.92 ms。系统中探测器的输出帧频为30 Hz,所以FPGA采集一帧图像的时间为33.33 ms,减去SRIO与UART的传输时延,大概为32 ms,远大于DSP完成目标检测的时间。因此,当目标出现在当前帧并被检测到时,系统在采集下一帧图像时即可获取目标相关信息,不会出现丢帧、漏检的情况,具有较强的实时性。
图11 目标检测时间Fig.11 Target detection time
通过上述实验结果可以看出,本文中所设计并实现的无人机探测系统能够准确检测出200 m高度的四旋翼无人机小目标;通过多帧目标检测实验,系统的检测率为98.15%,能够达到预期效果;另外系统图像处理花费时间为19.92 ms,远小于33.33 ms的系统整体时延,具有较强的实时性。
介绍了基于国产FPGA与DSP架构的无人机探测系统的组成模块及工作原理,通过分析无人机目标的成像特点,提出了一种可应用于复杂背景的红外弱小目标检测算法。采用基于双边滤波的多尺度改进top-hat算法进行目标增强与背景抑制,并使用基于最大值和平均值的自适应阈值分割方法对无人机目标进行提取。通过对云层、山地和森林等不同背景的图像序列进行定性和定量实验,结果表明,与其它4种算法相比,本文中所提算法具有较强的适用性与鲁棒性,能有效地检测出不同复杂背景下的无人机目标。
后续将在此研究的基础上,增加目标跟踪策略,进一步提高算法的工程适用能力。