(桂林电子科技大学信息与通信学院,广西桂林 541004)
穿墙雷达(Through-Wall Radar,TWR)是通过发射超宽带(UWR)电磁波,穿透墙壁、树丛、隔板等障碍物,并分析接收到的目标回波信号,对隐藏在障碍物后的目标进行探测的新型雷达[1-2]。
穿墙雷达动目标检测方法分为两种:一种是利用一维回波信号定位确定目标状态方法[3-4];另一种是通过回波信息成像后的目标检测方法[5]。后者较前者具有目标定位精度高,能以图像直观地展示目标信息。该方法包括对回波数据预处理、回波成像、目标检测、目标位置提取等方面[6]。本文基于图像域的检测原理,针对实时性较差,不能完全消除虚警现象等问题,提出了基于ViBe的穿墙雷达信号动目标检测改进方法,该方法不需要预处理步骤,简化了动目标检测方法步骤。
目前,在穿墙雷达基于图像域的目标检测方法中,Buonanno 等提取图像中像素最大值的20%作为全局阈值[7],Chalabi 等通过平均值和标准差设计阈值[8]。上述方法仅对单个移动目标的情况有效。且由于接收天线采集的穿墙雷达回波信号强度不均匀,将导致严重的漏检问题。为此,文献[9]采用恒虚警(Constant False Alarm Rate, CFAR)检测方法,通过局部信息自适应地计算阈值,较好地解决了漏检问题。但实验发现CFAR中有两个不足:一是封闭环境内存在强杂波,CFAR无法消除虚警像素点,干扰用户对目标信息的判断;二是CFAR需要对回波数据进行预处理,实时性较差。针对上述问题,本文提出基于ViBe动目标检测改进方法,该方法能够适应室内环境中强杂波干扰,实时地检测目标动态变化,准确地提供目标的位置信息。
ViBe(Visual Background Extractor)[10]算法常用于计算机视频处理中,它采用随机聚类技术从视频序列每一个像素的8邻域内随机采集样本用于初始化背景模型。背景模型不需要经过多帧的训练,从第2帧开始就可以检测出运动目标。但在穿墙雷达回波成像的多帧序列中,随着目标移动到不同位置,成像后的动目标像素值是不相等的,这与普通视频图像目标像素值相等有差异。因此,ViBe算法并不能直接用于穿墙雷达生成图像中动目标的识别。同时,由于初始的穿墙雷达图像背景样本中存在目标像素,导致结果中会出现“鬼影”像素点和孤立噪点等现象。
为了解决上述问题,本文改进传统ViBe算法,在算法中加入动态阈值,使其能适应穿墙雷达图像像素值变化问题。在此基础上,为避免“鬼影”像素点和孤立噪点等现象,利用三帧差[11]消除了“鬼影”现象,再利用连通域消除图像中的孤立噪点,弥补了ViBe算法的不足。通过仿真和实测实验,验证了本文方法可以准确提供目标的位置信息,消除虚警,具有实时性和稳定性,适合对穿墙雷达动目标进行检测。
超宽带穿墙雷达探测近似模型[12]如图1所示。
图1 超宽带穿墙雷达探测示意图
发射信号和回波信号间的关系用线性模型近似描述为
d(t)=starget(t)+swall(t)+scoupling(t)+snoise(t)
(1)
式中,d(t)代表穿墙雷达获取的回波信号,starget(t)代表墙体后真实目标的反射回波,swall(t)代表墙体直接反射信号产生的回波,scoupling(t)代表收发天线之间的直接耦合波,snoise(t)代表测量和系统引发的随机噪声,包括空间噪声和射频干扰信号。目标成像算法从回波信号d(t)检测出starget(t)。采用BP(Back Projection)[13]法成像。由于墙体等障碍物和天线耦合的存在,动目标电磁回波能量非常微弱,图像中出现大量的虚假像素点,影响检测算法准确地提取目标信息。本文的动目标检测改进方法可以解决上述问题。
ViBe算法为每个背景像素点存储一个样本集合,将当前每一个新的像素值和样本集合比较,判断新的像素点是否为背景点。算法分为3个步骤:背景初始化、像素分类和背景更新策略。
算法采用第1帧图像构造初始背景模型。第1帧中的每一个像素v(x)的背景模型为N个样本组成的一个集合M(x),其中x为当前像素值。N个样本由v(x)自身邻域(通常为8邻域)随机抽样获得,重复抽取得到M(x),如式(2):
M(x)=(v(x1),v(x2),…,v(xj),…,v(xN))
(2)
式中,j∈(1,2,…,N)。
ViBe算法从第2帧图像开始进行像素分类。假设当前待测像素点的像素值为P(x),欧式空间为SR(P(x)),P(x)为SR(P(x))的圆心,R为SR(P(x))的半径。将M(x)与SR(P(x))取交集,输出结果为C(x),如式(3):
(3)
式中,Tmin为M(x)与SR(P(x))交集个数的阈值。当M(x)与SR(P(x))交集个数大于Tmin,P(x)为背景像素,C(x)=0;当M(x)与SR(P(x))交集数小于Tmin,P(x)为目标像素,C(x)=1。
采用无记忆策略来更新背景。当某个像素点被判定为背景像素点,则使用该背景像素点代替从M(x)随机选取的一个样本值,形成新的背景样本。这种无记忆更新策略避免了像素长期保留在背景模型中,使算法对环境有较强的适应性能。
在不同时刻,随着目标移动,雷达接收的目标回波能量大小是变化的,这导致成像后不同时刻的动目标像素的像素值大小也是不相等的。如果直接采用传统的ViBe的固定阈值进行像素分类,处理后的图像中会出现大量虚警像素。同时,由于墙体、天线耦合等强杂波的干扰,图像中会出现“鬼影”和孤立噪声。为解决上述问题,本文提出采用自适应动态阈值,结合三帧差和连通域判定的方法。
R(x)由图像的最大值和M(x)的均方差σ(x)决定,如下式所示:
R(x)=0.5×max(M(x))×σ(x)
(4)
(5)
将R(x)用于动目标像素的判别,代替传统ViBe像素分类。其步骤为:首先计算待测像素与样本值的差(v′1,v′2,…,v′N)。假设#min定义为交点个数阈值。当R(x)与(v′1,v′2,…,v′N)的交点个数小于#min时,该像素可视为移动目标(使用D1i(x,y)=1来表示)。否则,将其视为背景像素点(使用D1i(x,y)=0表示)。同时更新背景模型,如下式所示:
(v′1,v′2,…,v′N)=(P(x)-v(x1),P(x)-
v(x2),…,P(x)-v(xN))
(6)
D1i(x,y)=
(7)
改进后的ViBe算法对阈值进行动态更新,能够很好适应动目标的变化,保留移动目标信息。
ViBe背景模型初始化时,如果第一帧中存在移动物体,则检测结果中存在“鬼影”区域。本文使用三帧差算法提取动目标信息,弥补ViBe算法背景初始时不能存在目标的不足,进一步去除“鬼影”导致的虚警像素点。三帧差具体步骤如下:
首先,提取BP成像后相邻的三帧图像Ii-1,Ii,Ii+1(i为当前帧),计算帧间方差d(i,i-1)(x,y),d(i,i+1)(x,y):
d(i,i-1)(x,y)=|Ii(x,y)-Ii-1(x,y)|
(8)
d(i,i+1)(x,y)=|Ii+1(x,y)-Ii(x,y)|
(9)
然后,设置阈值T将d(i,i-1)(x,y),d(i,i+1)(x,y)二值化,得到二值图像b(i,i-1)(x,y)和b(i,i+1)(x,y):
(10)
(11)
将b(i,i-1)(x,y),b(i,i+1)(x,y)进行逻辑与操作。得到二值图像D2i(x,y),公式如下:
D2i(x,y)=
(12)
二值图像D2i(x,y)即为三帧差图像。图像中可以较清楚地观测到动目标信息,但由于目标在帧间的移动,图像中会出现“真空”现象。为了消除“真空”现象,通过形态学方法处理D2i(x,y),即使用3×3矩阵对图像进行腐蚀操作,然后用3×3膨胀填充“真空”小孔。
为了结合动态阈值ViBe和三帧差的优势,将动态阈值处理得到的二值图像D1i(x,y)和三帧差处理得到的二值图像D2i(x,y)进行逻辑“与”操作处理,得到图像Di(x,y)。公式如下:
(13)
图像Di(x,y)中,消除了“鬼影”像素点,动目标信息都可以较好地保留下来。
经过上述操作后,发现图像Di(x,y)中还存在一些孤立的噪点。本文采用连通域的思想去除孤立噪点。判断每个像素和其他像素在上、下、左、右、左上角、左下角、右上角或右下角是否连通,如果连通,则判断为目标;如果不连通,则判断为孤立噪点。连通域判定法处理后,Di(x,y)图像上只存在动目标像素。
本文提出的动目标检测改进方法首先将原始回波数据进行BP成像,形成帧序列,然后将待测帧分别进行改进ViBe建模和像素分割,并采用三帧差提取动目标像素,处理结果通过连通域判定操作,得到动目标二值化图像,在图像中可以直观地观测动目标信息。算法总体流程图如图2所示。
图2 本文运动目标检测算法的流程图
采用基于GPRMAX仿真数据验证本文动目标检测算法的性能。图3为仿真采用的室内场景。房间的尺寸为LX=LZ=470 cm,两个长1 m、厚0.1 m的内墙在距离前墙2.2 m处,墙厚度TH=0.1 m,房间墙壁是混凝土结构,相对介电常数ε=4.5,电导率σ=0.005 S/m。天线阵列长度L=4 m,距离前墙为h=1 m,有N=16个天线单元,单元之间的间隔d=0.3 m,每个天线辐射中心频率为1 GHz的高斯脉冲波,在快速时间窗tre=60 ns内收集穿墙雷达回波。从第1帧到第10帧,目标1的坐标分别为(3.8,3.8),(4.1,4.1),(4.4,4.4),(4.7,4.7),(5.0,5.0),(5.3,5.3),(5.6,5.6),(5.9,5.9),(6.2,6.2),(6.5,6.5);目标2的坐标分别为(6.0,3.3),(5.7,3.6),(5.4,3.9),(5.1,4.2),(4.8,4.5),(4.5,4.8),(4.2,5.1),(3.9,5.4),(3.6,5.7),(3.3,6.0),轨迹如图3所示。
图3 GPRMAX仿真的室内多目标场景
图4为第5帧BP处理后的图像,黑圆为目标实际位置,由图可知,除了真实目标,还有大量由墙体反射、天线耦合造成的背景噪声。
图4 第5帧BP成像效果图
图5对第5帧分别采用了CA-CFAR检测(如图5(a)所示)、OS-CFAR检测(如图5(b)所示)以及本文检测算法(如图5(c)所示)处理,并对3种检测算法进行了比较。图中圆圈处为实际目标位置,黑色斑点为算法检测出的目标位置。由图可知,CA-CFAR检测的图像中目标周围存在大量虚警,不利于提取目标信息;OS-CFAR检测后,目标周围的虚警像素虽然清除,但是对强杂波引起的虚警的处理效果并不理想;本文检测算法消除目标周围的虚警,并且较好地保留了目标信息。
(c) 第5帧本文检测算法图5 基于第5帧图像使用不同检测算法所得二值图
图6为采用本文算法处理第2帧到第9帧的输出结果,图中只有动目标像素。综上所述,本文算法不仅消除了室内环境造成的虚警现象,而且对移动目标检测具有较高的稳定性。为了更加客观地评价算法的检测性能,将计算每个检测结果的虚警率(False Alarm Rate,FAR)和均方根误差(Root-Mean-Square Error,RMSE)。FAR为杂波区域像素个数的比值与整个区域像素个数的比值,FAR值越小,说明背景噪声造成的虚警像素越少。RMSE为测量目标位置与真实目标位置的均方根误差,RMSE值越小,说明检测出目标的位置越准确。从表1可知,CA-CFAR,OS-CFAR检测算法的FAR值较大,虚警较严重,对目标信息提取影响较大;而本文的FAR值和RMSE值均小于上述两种算法,消除了虚警现象,较精确地保留了目标的位置信息。
(a) 第2帧 (b) 第3帧
(c) 第4帧 (d) 第5帧
(e) 第6帧 (f) 第7帧
(g) 第8帧 (h) 第9帧图6 数据帧检测输出结果
算法FARRMSECA-CFAR0.02070.2419OS-CFAR0.01660.1333本文检测算法00.0866
为了进一步验证本文算法在实际场景中的性能,使用了穿墙雷达系统对房间内两个移动人体收集回波数据,实验场景如图7所示。雷达系统由矢量网络分析仪器和天线阵列搭建(如图7(b)所示)。天线单元共6个,间隔为27 cm。矢量网络分析仪工作频率为1~2 GHz,起始频率为1 GHz,频率步进为5 MHz,雷达系统放置在离墙10 cm处。两个人体目标在房间内直线移动(如图7(c)所示)。
(a) 实测场景示意图
图7 实测场景
(a) 第2帧CA-CFAR检测 (b) 第2帧OS-CFAR检测
(c) 第2帧本文检测算法图8 基于第2帧图像使用不同检测算法所得二值图
图8为分别采用CA-CFAR检测(如图8(a)所示)、OS-CFAR检测(如图8(b)所示)以及本文检测算法(如图8(c)所示)三种算法处理雷达图像的第2帧。由图可知,CA-CFAR检测的图像中存在大量虚警,不利于提取目标信息,同时,由于目标旁瓣较大引起了拖尾现象;OS-CFAR检测后,目标周围的虚警像素点虽然被清除,但是对目标旁瓣较大的处理效果并不理想;本文检测算法消除目标周围的虚警,并且较好地保留了目标信息。
图9为采用本文算法处理实测数据中第2帧到第7帧的输出结果,图中成功检测出移动目标。上述实验验证了仿真实验中得出的结论。本文算法不仅消除了室内环境造成的虚警现象,而且对移动目标检测具有较高的稳定性。表2客观表明CA-CFAR,OS-CFAR检测算法的FAR值较大,虚警较多,对目标信息提取影响较大;而本文的FAR值和RMSE值均小于上述两种算法,消除了虚警现象,较精确地保留了目标的位置信息。
(a) 第2帧 (b) 第3帧
(c) 第4帧 (d) 第5帧
(e) 第6帧 (f) 第7帧图9 实测数据帧检测输出结果
算法FARRMSECA-CFAR0.01040.2183OS-CFAR0.00920.2209本文检测算法00.1369
本文提出的穿墙雷达信号动目标检测的动态阈值ViBe算法,通过结合改进的动态阈值ViBe检测算法、三帧差和保留连通域的方法,使其能实时地适应穿墙雷达图像动目标像素值变化问题,消除目标周围的虚警。仿真数据验证和实测试验结果表明该方法的有效性,能充分利用动目标的运动属性,有效克服墙体杂波、耦合信号和噪声,提取动目标信息。