基于gpu架构的密集杂波条件下机动多目标跟踪算法

文档序号:6549953阅读:894来源:国知局
基于gpu架构的密集杂波条件下机动多目标跟踪算法
【专利摘要】本发明属于雷达与声纳【技术领域】,主要涉及结合的联合最大似然-交互式多模型-概率数据关联算法(CJML-IMM-PDA)的实现方法,具体来说是一种基于GPD架构的密集杂波条件下多微弱目标轨迹初始化及维持的实现方法,可在微软提供的软件集成开发平台Visual?studio上,针对低信噪比、高杂波条件下的激动多微弱目标进行快速的轨迹初始化并且对已初始化成功的轨迹保持跟踪状态。
【专利说明】基于GPU架构的密集杂波条件下机动多目标跟踪算法
【技术领域】
[0001]本发明属于雷达与声纳【技术领域】,主要涉及结合的联合最大似然_交互式多模型-概率数据关联算法(CJML-1MM-PDA)的实现方法,具体来说是一种基于GPD架构的密集杂波条件下多微弱目标轨迹初始化及维持的实现方法,可在微软提供的软件集成开发平台Visual studio上,针对低信噪比、高杂波条件下的激动多微弱目标进行快速的轨迹初始化并且对已初始化成功的轨迹保持跟踪状态。
【背景技术】
[0002]密集杂波条件下的多微弱目标跟踪一直以来都是多目标跟踪【技术领域】的研究热点以及难点,并且该技术在雷达(声纳)系统中有举足轻重的作用。当检测区域内的目标杂波密度较大,信噪比较低时,一般使用检测前跟踪(TBD)算法进行跟踪,TBD算法能够累积多帧观测数据,从而更容易找到目标运动的规律,因此能够获得较好的效果。
[0003]TBD算法按结构可分为两大类:批处理和迭代,批处理跟踪器直接从多帧观测数据中进行目标跟踪,由于利用了多帧观测,其效果较好,精度较高,但计算量大。迭代算法主要基于贝叶斯理论,常使用粒子滤波(PF)作为具体的实现手段。在工程应用中,在目标跟踪算法实施之前往往需要对航迹进行初始化,以找到目标的初始状态向量,从而进一步进行跟踪,在批处理TBD算法中,多目标轨迹初始化往往选择的是联合最大似然-概率数据关联(JML-PDA)算法。在轨迹初始化完成后,检测便不是首要任务,因此维持目标轨迹可以交给其它计算量相对较小的算法来实施。由于目标在监测区域内的运动状态未知,传统的单模型滤波算法往往无法得到较好的跟踪效果,交互式多模型-联合概率数据关联算法(IMM-JPDA)基于传统的数学模型,能够与TBD算法较好有机结合起来,实现无缝衔接,因此在密集杂波条件下的多目标跟踪体系中,往往将JML-PDA算法与IMM-JPDA算法结合起来使用,称为CJML-1MM-PDA算法。
[0004]在CJML-1丽-PDA算法中,首先基于IMM-JPDA算法基于上一时刻已有的轨迹获得当前时刻下的目标状态估计值,再通过JML-PDA算法搜索出当前时刻下的新生轨迹。其中,JML-PDA算法首先需要获得轨迹(包括新生轨迹与已有轨迹)与收到量测之间的关联事件,并基于对多帧观测数据得到的联合总对数似然比CJLLR)进行最大化,在获得几LR表达式后基于搜索算法获取几LR最大值后输出对应的参数向量,常用的搜索算法有:网格搜索法、遗传搜索算法(GA)和基于观测空间反映射到参数空间的直接搜索法。其中,网络搜索法由于计算效率低,精度不理想而未被广泛使用,直接搜索法在通过观测映射到参数空间后能够缩小搜索范围以至提高搜索精度,但在高杂波条件下由于接收到的观测值较多而计算量较大,因此其普遍被应用于小杂波情况,相较之下,在单线程架构的处理器上GA算法的搜索精度与直接搜索法相当,并且其搜索基于固定数量的种子,故其计算复杂度在杂波变化时相对稳定,并且由于在搜索的时候GA算法各种子在可独立计算其Fitness指数,具有先天的并行计算优势,因此我们选择GA算法来搜索LLR的最优值,但GA算法也面临着收敛不稳定的问题,经过GA算法搜索出的目标状态向量在较多情况下只是落入最佳几LR对应状态向量的周围而非最佳状态向量本身,要想进一步搜索得到最佳的目标状态向量,需要进一步搜索,由于GA算法的输出结果离最佳值不远,采用传统的数学搜索方法也不会耗费过多时间。DFP方法是拟牛顿法中的一种,依靠目标函数对被搜索状态向量的偏导来进一步收敛状态向量到最佳值,可取得令人满意的收敛效果。IMM-JPDA算法的主要计算量体现在目标与量测之间关联事件的获取上,会随着目标数与量测数的增加呈指数增加,即“组合爆炸”,在传统架构的处理器中,若监测区域内的目标较多或杂波密度较大,IMM-JPDA算法根本无法实时实施。因此,CJML-1MM-PDA算法的计算量体现在两个方面:一是获得轨迹与量测之间的关联事件;二是基于搜索算法得到最大几LR对应的新生轨迹状态向量。

【发明内容】

[0005]本发明的目的在于改善传统基于CPU架构的CJML-1MM-PDA算法在计算实时性上的不足,提出一种基于GPU架构的处理方法,在保持与CPU同等计算精度的前提下实现实时跟踪,可直接应用于工程。
[0006]本发明的思路是:在处理目标-量测之间的关联问题时,预先将可能存在的各类关联事件存入存储器中,算法在确定当前目标数及量测数后,通过“查表”的方式获得所有的关联方式,通过“离线”计算关联事件可省略较多时间,此外,本发明将关联事件的记录方式由传统的矩阵方式改为向量方式,可实现一维并行计算;在搜索新生轨迹时,采用对杂波数变化相对不太敏感的GA搜索展开,在GPU架构中独立计算每一种子的Fitness指数,通过多线程一次计算即可完成CPU架构中多次循环才能完成的步骤,从而获得加速比。另外,由于JML-PDA采用多帧观测来进行数据拟合,并且每帧观测往往收到多个观测数据,因此JLLR表达式中往往存在含参数的多项式求和,在为每一种子计算Fitness指数时,在CPU架构中往往需要对求得的几LR式中的多帧似然值进行数次循环再进行求和,造成极大的时间开销,在GPU架构中,考虑通过多个线程计算每个种子的几LR表达式,其中,单个线程计算一帧观测数据对应的似然值,再通过多线程递归的方式进行求和,可进一步获得加速比。在对单个向量进行复选的时候,参考多线程对应多项式的方式求几LR的方式可减少求和的循环次数,加速整个“极大似然”过程。
[0007]本发明的目的通过如下步骤实现:
[0008]S1、在CPU端对IMM-JPDA算法参数进行初始化,具体如下:
[0009]S101、初始化观测环境各项参数,所述参数包括:频率观测方差,角度观测方差,距离观测方差,对应频率、角度和距离的观测方程,虚警概率,检测概率,杂波密度,雷达采样间隔,各模型协方差,确认门的门限Y,k-ι时刻轨迹在模型j下的状态向量xi_,,k-ι时刻
轨迹在模型j下对应的协方差矩阵Pt,目标i对应于模型j的概率
[0010]S102、收集观测信息,并将其存入观测矩阵Z中,将每一帧手机到的观测数量存入记录向量0bser_num中;
[0011]S103、通过调用 CUDA runtime 驱动库中的 cudaMallocO 与 cudaMal1cPitchO函数在显存中分别开辟向量与矩阵的存储区域,具体存储区域包括:观测存储矩阵cu_Obser、观测数量记录向量cu_0bser_num、目标在模型条件下于k_l时刻的状态矩阵cu_x_k_l、目标在模型条件下的预测状态矩阵cu_X_pre、目标在模型条件下的更新状态矩阵cu_x_k、目标在模型条件下于k-1时刻的协方差矩阵cu_P_k_l、目标在模型条件下的预测协方差矩阵cu_P_pre、目标在模型条件下的更新协方差矩阵cu_P_k、目标在模型条件下的互协方差矩阵cu_S、观测方程的雅可比矩阵cu_H_k_k_l、目标在各模型下的增益矩阵cu_W ;
[0012]S104、在CPU端将接收到的多帧观测信息矩阵Obser和每帧观测数量0bser_num加载到内存中;
[0013]S2、基于马氏转移矩阵Pm在CPU端进行模型交换,计算出目标i对应模型j的预测概率= Σ/Μ ,其中,M代表算法在执行时选择的模型集的全部,P表示模型从r转
r 龟M'J
移到j的概率,为马氏转移矩阵Pm中的元素;
[0014]S3、在CPU端启动多模型预测线程,具体如下:
[0015]S301、在模型j条件下的目标状态预测公式为cu_pre = Fj.cu_x_k_l ,其中,Fj代表模型j的转移矩阵;
[0016]S302、在模型j条件下的目标协方差矩阵的预测公式为cu_P_pre = Fj.cu_x_k_l.(Fj) T+Q」,其中,(.)T代表矩阵的转置,Qj代表模型j的方差;
[0017]S303、在模型j条件下的目标互协方差矩阵的计算公式为cu_s = cu_H_k_k_l.cu_P_pre.(cu_H_k_k_l) T+R,其中,R 为观测的协方差;
[0018]S304、在模型j条件下的目标增益矩阵的计算公式为cu_W = cu_P_pre.cu_H_k_k_l.(ci^P+pre)—1,其中,(.”表示矩阵求逆;
[0019]S4、基于通过离线算得的预设关联事件表获得目标与观测之间的关联事件,同时基于互协方差矩阵较大的模型划定确认门排除一部分关联事件,具体如下:
[0020]S401、在S302所述目标协方差矩阵中找出行列式最大的协方差矩阵S_max对应的模型;
[0021]S402、找出S303所述行列式最大的协方差矩阵S_max对应的模型;
[0022]S403、判断目标i与模型j的关联性,若(z_j)T.(S_max).z_j ( Y,则意味着模型j落入目标i确认门中,有关联的可能性,若(z_j)T.(Sjnaxr1.z_j > Y,则意味着模型j未落入目标i确认门中,没有关联的可能性,其中,确认门的门限Y为经验值;
[0023]S5、在CPU端启动模型和目标之间对应概率的计算线程,具体如下:
[0024]S501、对第i个关联事件E(i),在两个模型下计算每个量测与目标关联的似然值,对所述似然值求和;
[0025]S502、对所有关联事件,依据事件内量测与目标之间的关联关系加权后归一化得到各量测对于各目标的概率;
[0026]S6、在CPU端启动多模型更新线程,具体如下:
[0027]S601、基于式 cu_x_k = cu_pre+cu_ff.(Z (m) _z_pre (j))算得基于观测 m 更新得到模型j下目标的状态向量,完成后在模型j下将各观测对应的状态向量同对应的概率加权得到目标在模型j下的状态更新;
[0028]S602、基于式 cu_P_k = [cu_x_k_cu_x_k (m) ] [cu_x_k_cu_x_k (m) ]τ 算得各量测对应于各模型得到的更新协方差,再将它们同对应的概率加权,最终与预测协方差cu_P_pre相加得到目标在模型j下的更新协方差矩阵;
[0029]S7、在CPU端基于目标i对应于模型j的似然值更新模型概率得到冗;[0030]S8、在CPU端计算模型j条件下目标i在k时刻的更新状态向量(及协方差矩阵P/,基于μ?将其融合得到最终的目标状态Xk及对应的协方
差Pk,其中状态向量融合式为
【权利要求】
1.基于GPU架构的密集杂波条件下机动多目标跟踪算法,其特征在于,包括以下步骤: S1、在CPU端对IMM-JPDA算法参数进行初始化,具体如下: S101、初始化观测环境各项参数,所述参数包括:频率观测方差,角度观测方差,距离观测方差,对应频率、角度和距离的观测方程,虚警概率,检测概率,杂波密度,雷达采样间隔,各模型协方差,确认门的门限Y,k-l时刻轨迹在模型j下的状态向量xL,k-1时刻轨迹在模型j下对应的协方差矩阵PA,目标i对应于模型j的概率 S102、收集观测信息,并将其存入观测矩阵Z中,将每一帧手机到的观测数量存入记录向量 Obser_num 中; S103、通过调用CUDA runtime 驱动库中的 cudaMallocO 与 cudaMal1cPitchO 函数在显存中分别开辟向量与矩阵的存储区域,具体存储区域包括:观测存储矩阵cu_0bser、观测数量记录向量cu_Obser_num、目标在模型条件下于k_l时刻的状态矩阵cu_x_k_l、目标在模型条件下的预测状态矩阵cu_X_pre、目标在模型条件下的更新状态矩阵cu_x_k、目标在模型条件下于k-Ι时 刻的协方差矩阵cu_P_k_l、目标在模型条件下的预测协方差矩阵cu_P_pre,目标在模型条件下的更新协方差矩阵cu_P_k、目标在模型条件下的互协方差矩阵cu_S、观测方程的雅可比矩阵cu_H_k_k_l、目标在各模型下的增益矩阵cu_W ; S104、在CPU端将接收到的多帧观测信息矩阵Obser和每帧观测数量0bser_num加载到内存中; S2、基于马氏转移矩阵Pm在CPU端进行模型交换,计算出目标i对应模型j的预测概率Mh =’其中,M代表算法在执行时选择的模型集的全部,P-表示模型从r转移reMrJ到j的概率,为马氏转移矩阵Pm中的元素; S3、在CPU端启动多模型预测线程,具体如下: S301、在模型j条件下的目标状态预测公式为cu_pre= Fj.οιι_χ_1?_1,其中,Fj代表模型j的转移矩阵; S302、在模型j条件下的目标协方差矩阵的预测公式为cu_P_pre= Fj *cu_x_k_l.(Fj)T+Qj,其中,(.)τ代表矩阵的转置,Qj代表模型j的方差; S303、在模型j条件下的目标互协方差矩阵的计算公式为cu_S= cu_H_k_k_l.cu_P_pre.(cu_H_k_k_l)T+R,其中,R为观测的协方差; S304、在模型j条件下的目标增益矩阵的计算公式为cu_W= cu_P_pre.cu_H_k_k_l.(ci^P+pre)—1,其中,(.”表示矩阵求逆; S4、基于通过离线算得的预设关联事件表获得目标与观测之间的关联事件,同时基于互协方差矩阵较大的模型划定确认门排除一部分关联事件,具体如下: S401、在S302所述目标协方差矩阵中找出行列式最大的协方差矩阵S_max对应的模型; S402、找出S303所述行列式最大的协方差矩阵S_max对应的模型; S403、判断目标i与模型j的关联性,若(z_j)T.(S_max).z_j ( Y,则意味着模型j落入目标i确认门中,有关联的可能性,若(z_j)T.(S_max).z_j > y ,则意味着模型j未落入目标i确认门中,没有关联的可能性,其中,确认门的门限Y为经验值; S5、在CPU端启动模型和目标之间对应概率的计算线程,具体如下:S501、对第i个关联事件E(i),在两个模型下计算每个量测与目标关联的似然值,对所述似然值求和; S502、对所有关联事件,依据事件内量测与目标之间的关联关系加权后归一化得到各量测对于各目标的概率; S6、在CPU端启动多模型更新线程,具体如下: S601、基于式cu_x_k= cu_pre+cu_ff.(Z (m) -z_pre(j))算得基于观测m更新得到模型j下目标的状态向量,完成后在模型j下将各观测对应的状态向量同对应的概率加权得到目标在模型j下的状态更新; S602、基于式cu_P_k = [cu_x_k_cu_x_k (m) ] [cu_x_k_cu_x_k (m) ]τ 算得各量测对应于各模型得到的更新协方差,再将它们同对应的概率加权,最终与预测协方差cu_P_pre相加得到目标在模型j下的更新协方差矩阵; S7、在CPU端基于目标i对应于模型j的似然值更新模型概率得到μ S8、在CPU端计算模型j条件下目标i在k时刻的更新状态向量4及协方差矩阵P/,基于W将其融合得到最终的目标状态xk及对应的协方差pk,其中状态向量融合式为
2.根据权利要求1所述基于GPU架构的密集杂波条件下机动多目标跟踪算法,其特征在于:S1102所述求得每个遗传种子在对应帧数下的局部联合似然比之和时,需要对max (Obser_num)进行判定:若max (Obser_num)≥64,则通过多线程递归的方式进行求和;若max (Obser_num) < 64,则使用一个线程求和。
3.根据权利要求1所述基于GPU架构的密集杂波条件下机动多目标跟踪算法,其特征在于:S24所述循环计算的次数〈9。
4.根据权利要求1所述基于GPU架构的密集杂波条件下机动多目标跟踪算法,其特征在于:S2903所述计算方式为离线计算。
【文档编号】G06T1/20GK104021519SQ201410271158
【公开日】2014年9月3日 申请日期:2014年6月17日 优先权日:2014年6月17日
【发明者】唐续, 高林, 金辉, 李立萍 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1