基于AMMFO优化的MAFPF车辆跟踪方法*
2021-09-30李昕芮王会峰
黄 鹤,吴 琨,李昕芮,王 珺,王会峰,茹 锋
(1.长安大学电子与控制工程学院,西安710064;2.西安市智慧高速公路信息融合与控制重点实验室,西安710064)
前言
随着交通管理智能化[1]的需求与日俱增,车辆跟踪技术作为智能交通的重要组成部分受到了国内外学者的关注。粒子滤波(proticle filter,PF)首次应用在跟踪系统以来,能够克服遮挡或环境引起的非线性问题,但在环境干扰后会产生样本贫化现象,因此众多学者针对特征单一及粒子退化的问题展开了研究。文献[2]中提出将遗传算法应用于粒子滤波的重采样阶段,能更快地定位目标车辆在各种遮挡情况下的真实位置。文献[3]中提出了一种基于方向修正的粒子滤波跟踪算法,通过赋予目标运动方向相似粒子更大的权重,增加粒子滤波的稳定性,降低粒子消耗。文献[4]中将边缘特征和颜色特征自适应融合,从而克服了环境变化对跟踪目标效果的影响,提高了算法的鲁棒性。文献[5]中将对目标变化具有较强鲁棒性的颜色分布特征以及能代表目标结构的KAZE特征相融合,实现复杂环境下的目标跟踪。但这类文献都是基于重采样的基本框架,无法从根本上解决粒子退化问题,会导致样本多样性损失。
近年来,元启发算法[6-7]优化粒子滤波成为了新的主流研究方向。例如文献[8]中将萤火虫算法与粒子滤波算法相结合,改善了样本贫化,并降低了所需粒子的消耗;文献[9]中通过引入levy飞行策略对蝙蝠算法进行改进,并将其引入至粒子滤波算法中,提高粒子的分布状态及其合理性。此外,元启发算法也涌现出了一些新算法,Mirjalili[10]于2015年受飞蛾趋光性的启发,提出了飞蛾扑火优化算法(mothflame optimization,MFO),实现在图像分割、电力系统等方面的优化[11-13],但目前飞蛾扑火算法在车辆跟踪领域中应用的文献报道甚少。同时,MFO算法与PF算法在算法结构及更新机制等方面有诸多互补的地方,因此,用MFO算法中的飞蛾代替PF算法的低权值粒子并进行优化可提高算法的性能。但在优化过程中,需要对MFO算法的稳定性及精度进一步提升。
因此,本文中提出了一种基于自适应变异更新策略的飞蛾扑火(adaptive mutation moth-flame optimization,AMMFO)优化的多特征自适应融合粒子滤波器(multi-feature adaptive fusion particle filter,MAFPF),并应用在车辆跟踪过程中进行效果验证。自适应变异更新策略能够提升现有MFO算法的寻优精度和收敛速度,优化后有效降低状态预测所需的样本粒子数,较彻底地解决粒子退化问题,提高算法的跟踪性能,在车辆目标发生遮挡、光照、视角和尺度变化等复杂因素背景下仍然能够准确、稳定地跟踪目标车辆。
1 MAFPF的设计
特征融合方法分为两种:(1)将多个特征按固定的权重进行融合,这种方式比较简单,但是跟踪环境复杂多变,若不能根据场景变换及时调整特征权重,则无法发挥各自的优势,而且会被一些辨别能力较差的特征干扰,影响跟踪效果;(2)在跟踪过程中自适应调整各特征的融合权重,充分协调发挥特征之间的优势,提高复杂环境下目标跟踪的稳定性。本文在颜色直方图特征(hue saturation value,HSV)与局部二值模式特征(local binary patterns,LBP)的基础上,利用两者的优势及互补性,设计了一种多特征自适应融合粒子滤波器。
(1)参数初始化
初始化粒子数N,构建目标状态向量X=[x y vx vy Hx Hy ax ay],其中,x、y为跟踪目标的中心坐标,vx、vy为速度分量,Hx、Hy表示跟踪目标框的长宽,ax、ay为长宽的尺度变化因子。从初始帧图像中获得的目标区域中分别提取HSV加权颜色直方图和LBP直方图作为目标模板。
(2)状态转移模型的选择
目标跟踪算法通常采用状态转移模型来近似目标物体的运动过程,状态模型的选择对目标跟踪的准确度有较大的影响。在选取目标状态模型时,既要考虑到模型对运动过程表达的准确性,又要考虑到模型的通用性与计算复杂度。目标连续两帧速度可近似为匀速,因此状态转移过程的数学表达式为
式中:Xk和Xk-1为当前帧与上一帧目标的状态向量;A、B和C为常量;vk-1在上一帧的目标运动速度;wk-1为上一帧的过程噪声。为了更准确表达目标跟踪过程,对式(1)中的运动速度改进如下:
式中表示改进后上一帧的运动速度,由前3帧目标的相对位移dk-i(i=1,2,3)共同决定。
(3)粒子与目标模板更新
对初始帧目标区域建立颜色与LBP特征对应的目标模板,计算后续帧里候选区域的特征直方图,并进行相似性对比,得到各粒子不同特征的权值,融合后得到粒子更新权值。同时,目标模板也需要针对不同的复杂环境进行调整更新。
(4)预测目标位置
根据状态转移模型与观测模型得到的粒子和对应权值,对目标位置进行预测,一般遵循以下两种准则:
①最大后验准则,选择观测模型修正后的权值最大的粒子状态,作为最终的目标估计状态;
②最小均方差准则,通过对粒子与样本相似性赋予不同的权值后,对所有粒子的加权求和得到估计的目标位置。本文中通过最小均方差准则来确定目标位置,具体表达如下:
(5)重采样设计
粒子滤波目标跟踪算法在状态转移的过程中,部分样本粒子可能会朝着一些错误的方向移动,出现粒子退化现象。因此,用权值较大的粒子代替偏离目标的权值较小的粒子,使每个样本粒子权值相等,可以缓解粒子退化。
2 自适应变异更新策略的飞蛾扑火算法
2.1 经典MFO算法
根据MFO算法的更新机制,将其划分为飞蛾扑火和飞蛾弃焰两大部分。
(1)飞蛾扑火
根据飞蛾的趋光性,飞蛾围绕与其距离最近的火焰做螺旋曲线运动(见图1),运动曲线方程为
图1 飞蛾运动轨迹图
式中:Mi为当前更新的飞蛾位置;Fj为Mi围绕的火焰位置;Di为飞蛾与火焰的欧氏距离;b为调整曲线的常数参数;t为[-1,1]之间的随机数,决定当前更新的飞蛾与其围绕火焰的远近。
(2)飞蛾弃焰
为了保证提升飞蛾搜索最优解的效率,火焰会随迭代次数逐步减少。
式中:nf为更新后的火焰数目;N为飞蛾种群总数;l为当前迭代次数;T为迭代次数最大值;round为向上取整函数。
2.2 自适应变异更新策略的飞蛾扑火算法
根据MFO算法跟踪精度及速度的缺陷性,提出了一种自适应变异更新策略的飞蛾扑火算法AMMFO,实现过程如下。
(1)自适应惯性权重策略
在MFO算法中,飞蛾的更新只受与其最近的火焰的影响,在迭代后期易陷入局部极值。为了增强飞蛾扑火算法前期的搜索空间范围并在迭代后期可以跳出局部最优,提出了一种自适应惯性权重策略。自适应惯性权重p如式(7)所示。
式中:Rfit为本次迭代中飞蛾适应度从大到小排序的变量。
p伴随迭代次数的增大逐步趋向于1。引入自适应惯性权重后的飞蛾扑火更新策略如下:
在飞蛾更新中,根据适应度排序,飞蛾会围绕对应的火焰运动,而排序低于火焰数量的飞蛾只会围绕最后的火焰做螺旋曲线运动,导致适应度较差的飞蛾无法跳出局部最优。自适应惯性权重的引用给火焰增加波动值,增大了飞蛾的搜索空间,加快前期的寻优速度,增加后期的寻优精度。有效提升了算法的搜索性能。
(2)变异更新策略
在飞蛾扑火算法中,飞蛾的更新受火焰的引导,若火焰陷入局部最优会导致算法难以跳出局部极值。为了改善飞蛾更新方式的局限性,并受人工蜂群算法的启发,提出了一种飞蛾随机变异与螺旋曲线交替更新的策略。
随机变异如下:
式中:Mij为第i只飞蛾的第j维度;Fkj为第k团火焰的第j维度,k∈{1,2,…,nf};r、rand为[0,1]之间的随机数,通过r的变化调整随机变异策略中飞蛾与火焰的距离,rand决定飞蛾的更新方式。当rand<0.5时,采用自适应螺旋曲线更新飞蛾位置,否则采用随机变异策略更新飞蛾位置。
由式(5)可看出,螺旋曲线式更新更侧重探索火焰周围的最优值,而式(9)更侧重全局最优值的开发。因此,变异更新策略的提出改变了MFO的搜索模式,综合了其探索与开发能力,增大了搜索范围,使得MFO更快速精确地搜索到最优解。
3 多特征自适应变异飞蛾扑火优化粒子滤波的车辆跟踪算法
PF算法在跟踪目标时会出现粒子退化现象,但若在PF中采用重采样的方法,舍弃权值较小的粒子并保留权值大的粒子,会降低粒子的多样性,并会导致目标的估计结果与实际值相差较大,速率变慢。因此,本文中将AMMFO与MAFPF相结合,提出了一种多特征自适应变异飞蛾扑火优化粒子滤波的车辆跟踪算法,用AMMFO代替重采样优化MAFPF,可以有效地解决粒子退化问题,提升车辆跟踪算法的运行效率,增强在遮挡、阴影等环境下车辆跟踪的稳定性。本文算法过程如下。
(1)为了合理优化低权值粒子,提出一种自适应分层阈值,将样本粒子分为高权值粒子与低权值粒子,自适应分层阈值如下:
式中:fB为样本粒子通过高低排序的粒子权值;h1为取值在[0,1]内的常数,调整高低层的划分。通过计算出的阈值TFC将高于该阈值的归为高权值粒子,其余归为低权值粒子。
(2)利用AMMFO优化低权值粒子的分布,避免粒子过于集中,合理的分布在最优值的周围。并在优化过程中设计一种新的适应度函数,利用最新的观测信息决定飞蛾的适应度,如式(11)所示。
式中:R为观测信息的噪声方差;Znew为最新观测信息;为粒子预测的观测信息。
(3)设置AMMFO的迭代终止条件
AMMFO在优化低权值粒子向高似然区运动的过程中,若优化过多会导致粒子过于聚集,丧失了粒子的多样性。因此,为了保证粒子在最优值附近合理的分布,AMMFO优化低权值粒子的终止条件由两方面决定:终止阈值及最大迭代次数。终止阈值如式(12)所示。
式中:TTZ为终止阈值;h2为(0,1)范围内的调节系数。在寻优过程中,若各粒子权值都大于TTZ时则停止优化,否则在达到最大迭代次数时终止寻优。多特征自适应变异飞蛾扑火优化粒子滤波的车辆跟踪算法流程图如图2所示。
图2 AIMFO算法流程
4 实验结果与分析
(1)车辆跟踪实验设置
为验证AMMFO算法是否能有效提高MAFPF车辆跟踪算法在复杂跟踪情景下的精确度与稳定性,将未优化的MAFPF算法、自适应权重粒子群优化的粒子滤波算法(adaptive weight particle swarm optimization,AWPSO)[14]与本文算法进行了实验对比。为了保持实验的一致性,实验设定将文献[14]中基于颜色特征的粒子滤波跟踪算法替换为特征自适应融合粒子滤波车辆跟踪算法,再进行实验分析。实验需要在保证本算法实时性的同时,实现跟踪精度的提升。设粒子数N=20,学习因子c1=c2=2,惯性权值w随个体适应度值自适应地改变,其中最大值为ws=0.9,最小值为we=0.4。
为了验证复杂环境下的车辆跟踪性能,采用UAV123数据集中的car10视频序列。该视频序列共1 405帧,其中包含了无人机拍摄车辆视角变化、尺度变化、遮挡、阴影等多种复杂场景的300帧作为实验视频序列。通过选取关键帧做定性分析,并定量分析车辆跟踪的稳定性、准确性与速度。实验平台的CPU为Intel(R)Core(TM)i7-9750H@2.60 GHz,内 存16 GB,软件环境为Matlab 2018b。
(2)定性分析
视频序列的图像大小为1280×721,无人机拍摄视频中车辆在行驶过程中始终伴随着树木阴影遮挡,并在行驶过程中存在其它相似车辆干扰及遮挡,在后续帧中车辆出现尺度及拍摄角度的变化场景较为复杂。本实验中选取关键帧45帧、114帧、218帧、288帧进行3种算法的定性分析,结果如图3所示。由实验可以看出,在45帧、114帧跟踪车辆受到相似车辆干扰及无人机拍摄角度变化时,MAFPF算法和AWPSO优化后的MAFPF车辆跟踪算法出现了不同程度的跟踪框漂移。其中,MAFPF算法在114帧跟踪漂移较为剧烈,在218帧车辆尺度发生变化时跟踪较为稳定但尺度不匹配;同时AWPSO优化后的MAFPF车辆跟踪算法稳定性较差,跟踪框出现向上漂移现象;在288帧目标车辆受白车遮挡时,上述两种算法均出现较低程度的跟踪精度不足的问题。而本文算法在以上各个关键帧中跟踪效果较好且跟踪稳定。通过定性分析可知,本文算法能够适用于复杂的目标跟踪场景。
图3 实验结果
(3)定量分析
通过各帧的中心位置误差、重叠率定量分析算法跟踪车辆的稳定性(见图4),列表分析平均中心位置误差AE(向下取整)、平均重叠率AO及运行速度RV等指标(见表1)。
图4 视频序列的位置误差及重叠率
表1 视频序列的客观评价表
由图4的定量分析结果可以看出,跟踪初期目标车辆无背景干扰时,3种算法的中心误差与重叠率虽有差异,但都可以稳定跟踪目标。视频序列在第40帧左右无人机拍摄角度及跟踪目标尺度开始变化,3种算法都有不同程度的跟踪框漂移,其中以MAFPF算法漂移最为剧烈,短时间内难以重新精确跟踪目标,中心位置误差及重叠率指标较差。AWPSO、AMMFO优化的MAFPF车辆跟踪算法产生跟踪波动后迅速回到正常水平,而AMMFO优化的MAFPF车辆跟踪算法精度更高,跟踪更为准确,目标跟踪框的重叠率更大。在280帧左右车辆受到遮挡,AMMFO优化的MAFPF车辆跟踪算法相比于另外两种算法波动较小,且能迅速继续精确跟踪,这与定性分析相一致。从表1可以看出,在粒子数N等于20的情况下,本文算法相对于MAFPF算法和AWPSO优化后的MAFPF跟踪算法,平均中心误差分别降低了6个像素和1个像素,平均重叠率分别提升了20.49%和4.39%。此外,AMMFO算法设定了终止阈值,在优化粒子状态空间分布从而增加样本多样性的同时,避免了复杂性算法的增加。通过对比算法的运行速度可知,MAFPF算法的运行帧数为27帧∕s,AWPSO优化的MAFPF算法由于其复杂性运行帧数只有11帧∕s,而本文算法达到了62帧∕s,在保证跟踪稳定性及精度的同时,大幅提升了运行速度,满足了实时性的要求。因此,综合定量与定性分析来看,本文算法的跟踪性能更优。
5 结论
本文中针对样本贫化的现象,从粒子在空间分布的特性出发,提出了一种AMMFO优化的MAFPF车辆跟踪算法。首先,利用随机变异策略及自适应惯性权重改善MFO算法的寻优速度,扩大飞蛾的搜索空间,使其更快地定位到全局最优值。其次,针对MFO算法的样本贫化问题,提出了一种自适应分层阈值策略,利用AMMFO算法优化代替重采样,优化低权值层的样本粒子,改善样本的多样性,有效避免了样本贫化的发生。定性与定量分析结果表明,AMMFO优化后的MAFPF车辆跟踪算法在遮挡、阴影、尺度与角度变化、相似车辆干扰等复杂环境下能够稳定精确的跟踪目标车辆,跟踪速度也有大幅提升。