目标跟踪是计算机视觉中的一个重要主题, 它具有许多真实世界的应用, 包括流量管理[1], 机器人定位[2]和人机界面[3]. 跟踪系统由两个主要部分组成: 视觉表示[4]和运动估计[5]. 在跟踪的运动估计步骤中, 对物体动态的不确定性或非线性进行建模, 以在视频序列中定位物体. 跟踪方法可以分为两组, 即运动估计的确定性[6]和随机[7]方法. Meanshift算法是一个确定性的跟踪器, 它利用一个区域来迭代地最大化相似性度量. 该算法可能在遮挡, 前景和背景的相似颜色分布以及长视频序列中漂移[8]. 相比之下, 随机跟踪器采用统计来定位目标跟踪的目标位置. 卡尔曼滤波方法是针对线性和高斯观测噪声[9]而开发的, 作为一种顺序随机方式, 不能用于非线性运动. 粒子滤波方法保持了视觉跟踪中模型评估和分析步骤的非线性和不确定性[10].
但是标准粒子滤波方法(PF)存在权值退化的问题, 标准粒子滤波在利用重采样方法解决退化现象时, 又会产生粒子贫化现象. 针对该问题, 文献[11]提出了一种根据权值来进行选择的粒子滤波方法, 该算法在粒子群体中选取一些权值相对较大的粒子用于进行估计下一时刻的状态, 这样就能在一定程度上减轻粒子的贫化问题程度. 文献[12]提出了一种确定性的重采样粒子滤波, 该粒子滤波方法提出了一种重采样的确定性优化思想, 这样增加了粒子状态的多样性. 文献[13]提出了一种饱和粒子滤波方法, 这种方法是按照系统的不同特性挑选出相应比较适合的重采样方法, 使得粒子更加贴近真实状态. 但前面提出来的几种方法仍然是在传统重采样思想的基础上, 并不能从源头上解决粒子贫化的问题现象.
基于群智能优化算法的粒子滤波是现代粒子滤波领域中一个较为新颖的发展方向[14]. 因为群智能算法改进粒子滤波主要是对粒子群体的分布状态展开迭代并寻优[15,16], 其中没有涉及到对权值较低的粒子进行直接舍弃, 所以可以在源头上来解决掉粒子的贫化现象.
文献[17]通过融合蜂群算法建立箱式粒子贫化解决策略, 结果较好. 文献[18]通过将粒子群算法和蚁群算法融合在粒子滤波算法中, 实现粒子集间的信息共享, 增强算法的全局寻优能力. 文献[19]通过融合萤火虫算法优化粒子滤波, 使用亮度和吸引度动态优化粒子集.
蝙蝠算法(Bat Algorithm, BA)[20]在2010年被剑桥大学Yang教授提出, 其实现智能寻优的方法是模拟现实世界蝙蝠的捕食行为, 类似于粒子群算法, 蝙蝠算法同样是一种基于群体的随机策略进行搜索来寻优的机制, 不同点在于蝙蝠算法在随机性拥有更强的优势. 文献[20]已证明, 蝙蝠算法的综合寻优能力优于粒子群算法、蚁群算法等主流群智能优化算法.
文献[21]提出的蝙蝠算法优化粒子滤波, 并验证该算法优于其它智能算法, 但是带来计算效率低下的问题. 文献[22]使用Lévy的飞行路线特征来改进蝙蝠算法优化, 增强了算法跳出局部极值的能力. 文献[23]使用拉丁正交策略构建蝙蝠群位置初始策略, 来使得搜索区间分散均衡, 以提升性能.
上述的改进蝙蝠算法的过程中, 更多考虑的是算法参数和初始化策略改进, 能够获得一定的性能提升. 与上述算法的改进策略不同, 本文主要针对搜索区域进行策略调整.
本文在原有的蝙蝠优化算法中加入差分进化算法, 以改进算法的搜索能力, 并将其用于基于粒子滤波器的目标跟踪中, 在执行重采样之前进行差分进化蝙蝠优化搜索, 可以避免重采样本身的粒子贫化现象.
2 基本的粒子滤波算法在标准的粒子滤波器中, 在时间
$w_t^i = w_{t - 1}^i\frac{{{p} \left( {\left. {{z_t}} \right|x_t^i} \right){p} \left( {\left. {x_t^i} \right|x_{t - 1}^i} \right)}}{{{q} \left( {\left. {x_t^i} \right|x_{t - 1}^i,{z_t}} \right)}}$ | (1) |
其中, q是重要性密度函数. 前一次的后验分布是
基于蝙蝠启发式的元启发式优化算法, 即蝙蝠算法, 由Yang[20]基于蝙蝠的回声定位的能力提出. 在标准的蝙蝠算法中, 蝙蝠的回声定位特征抽象化为如下规则[20].
(1)蝙蝠种群都通过回声定位来获得距离, 并使用某种特殊的方法“明白”目标和非目标两者之间存在的不同特征点;
(2)蝙蝠在位置xi处伴随着速度vi以一定的速度飞行频率和响度来搜寻目标. 他们可以自动调节发射脉冲的波长(或频率), 并根据目标的接近程度调节脉冲发射速率.
(3)虽然响度可以按照多种方式变化, 但是通常是假设响度从大(正)A0变化到最小设定数Amin.
但是蝙蝠算法存在后期收敛速度较慢的、收敛精度不高、容易陷入局部最优点等不足. 本文提出的基于差分蝙蝠算法优化粒子滤波(DEBA-PF), 将差分算法融合到蝙蝠算法中, 使蝙蝠种群个体之间具有变异、交叉、选择机制, 从而达到增加蝙蝠个体的多样性, 提高算法的全局寻优能力和局部搜索能力, 能够避免陷入局部最优从而得到全局最优. 本文实验结果也证明DEBA效果更佳.
4 蝙蝠算法融合差分进化算法DEBA由于差分进化算法(DE)的有效性和简单性, 而使得差分进化算法获得很多的关注. 差分进化算法(DE)[24]的基本思想在于应用当前种群个体的差异来重组种群进而得到中间种群, 然后应用父代个体与子代个体竞争来获得下一代种群. DEBA算法的步骤如下:
Step 1. 初始化DEBA算法各个参数;
Step 2. 根据蝙蝠个体适应度函数得到各个蝙蝠权重和初始种群当前最优解;
Step 3. 模拟蝙蝠种群的全局搜索寻优行为, 根据本文中的等式(4)–(6)更新各个蝙蝠个体的对应的位置和速度;
Step 4. 模拟蝙蝠个体的局部搜索行为, 以及对应生成一个均匀分布的随机数
Step 5. 生成另外一个独立的随机数, 若
Step 6. 对蝙蝠的局部搜索能力进行调整, 利用式(9)更新脉冲频率和响度;
Step 7. 利用差分进化算法以每一个蝙蝠位置为初始点进行变异、交叉、选择操作, 得到新的蝙蝠位置;
Step 8. 计算并对比适应度函数值, 更新全局最优值;
Step 9. 当算法符合设定的精度阈值
从上述的DEBA算法步骤可以看到, BA和DEBA不同点在于DEBA在每一次的进化过程中, 通过进化之后的蝙蝠个体位置
本文选用灰度分布进行目标的描述, 建立系统观测模型. 设视频图像跟踪区域的中心为
${p} _x^u = \frac{{\displaystyle\sum\nolimits_{i = 1}^M {{k} \left( {\left\| {\frac{{X - {X_i}}}{h}} \right\|} \right)} \delta \left( {{b} \left( {{X_i}} \right) - u} \right)}}{{\displaystyle\sum\nolimits_{i = 1}^M {{k} \left( {\left\| {\frac{{X - {X_i}}}{h}} \right\|} \right)} }}$ | (2) |
其中,
本文算法设计的目标函数式如下所表示:
${I} = \exp \left[ { - \frac{1}{{2{R_g}}}\left( {{z_{\rm{New}}} - {z_{\rm{Pred}}}\left( i \right)} \right)} \right]$ | (3) |
对于每一个蝙蝠设为
${f_i} = {f_{\min }} + \left( {{f_{\max }} - {f_{\min }}} \right){\bf{\beta }}$ | (4) |
$v_i^{g + 1} = v_i^g + \left( {x_i^g - {x^*}} \right){f_i}$ | (5) |
$x_i^{g + 1} = x_i^g + v_i^{g + 1}$ | (6) |
其中,
对于局部搜索部分, 一旦从当前最佳解决方案中选择了解决方案, 则使用随机游走模型在局部生成每个蝙蝠的新的解决方案, 本文设置的局部搜索方法如下:
若
${x_{\rm{new}}} = {x_{\rm{old}}} + \varepsilon {A^g}$ | (7) |
若
${x_{\rm{new}}} = x_i^{g + 1}$ | (8) |
其中,
通过响度
$A_i^{g + 1} = \omega A_i^g{\rm{,r}}_i^{g + 1} = r_i^0\left[ {1 - \exp \left( { - \gamma t} \right)} \right]$ | (9) |
其中,
$A_i^g \to 0,r_i^g = r_i^0,{\text{当}}g \to \infty $ | (10) |
用差分进化算法以每个蝙蝠位置为初始点进行变异、交叉、选择, 得到新的蝙蝠位置.
变异操作过程: 从蝙蝠种群中随机选取3个蝙蝠个体:
${v_{ij}}\left( t \right) = x_a^g\left( t \right){\text{ + }}F\left( {x_b^g\left( t \right) + x_c^g\left( t \right)} \right)$ | (11) |
交叉操作过程: 交叉操作过程可以增多蝙蝠种群的多样性, 经过下式对第
$u_{ij}^{g + 1}\left( t \right) = \left\{ {\begin{array}{l} {v_{ij}^g\left( t \right),\;\; {\rm{if}}\;\;\left( {rand\left( {0,1} \right)} \right) \leqslant CR} \\ \quad\quad\quad{{\rm{or}} \;\;j = rand\left( {1,n} \right)} \\ {x_{ij}^g\left( t \right),\;\;{\rm{if}}\;\;\left( {rand\left( {0,1} \right)} \right) > CR} \\ \quad\quad\quad{{\rm{or}}\;\; j \ne rand\left( {1,n} \right)} \end{array}} \right.$ | (12) |
在上式中,
选择操作过程: 通过适应度函数来判断蝙蝠个体
$x_i^{g + 1}\left( t \right)= \left\{ {\begin{array}{l} {u_{ij}^{g + 1}\left( t \right),\;\;{\rm{if}}\;\;\left( {f\left( {u_{ij}^{g + 1}\left( t \right)} \right) < f\left( {x_i^g\left( t \right)} \right)} \right)} \\ {x_i^g\left( t \right),\;\;{\rm else}} \end{array}} \right.$ | (13) |
Step 1. 输入初始的测试图像, 并设定所要进行跟踪的目标对象;
Step 2. 随机生成N个蝙蝠个体
${x_i}\left( t \right) \sim {q} \left[ {\left. {{x_i}\left( t \right)} \right|{x_i}\left( {t - 1} \right),z\left( t \right)} \right]$ | (14) |
Step 3. 计算蝙蝠个体的灰度直方图特征;
Step 4. DEBA算法操作;
Step 5. 计算重要性权值:
$w_i^t \approx w_i^{t - 1}p\left( {\left. {{z^g}} \right|x_i^g} \right)$ | (15) |
Step 6. 进行归一化:
$w_i^t = {{w_i^t}/{\sum\nolimits_{i = 1}^N {w_i^t} }}$ | (16) |
Step 7. 根据蝙蝠权值大小重采样, 得到N个新样本;
Step 8. 状态输出, 对新样本求平均确定跟踪点:
${\tilde x_t} = \sum\nolimits_{i = 1}^N {w_i^tx_i^g} $ | (17) |
上述算法过程充分利用了整个蝙蝠种群的有效信息, 帮助蝙蝠个体跳出局部最优, 避免了状态值变化不大的情况下还会继续进行迭代过程, 使得算法终止优化, 更多地是因为算法达到设定精度停止阈值, 从而降低算法直到达到设定的最高迭代次数才会终止下来的概率, 提高算法计算效率.
8 仿真实验和结果分析 8.1 性能测试分析本文选取单变量非静态增长模型, 实验测试对象的过程模型和观测模型如下:
过程模型:
$\begin{split} {{x}}\left( t \right) = & 0.5{{x}}\left( {t - 1} \right) + \frac{{25{{x}}\left( {t - 1} \right)}}{{1 + {{\left[ {{{x}}\left( {t - 1} \right)} \right]}^2}}} \\ &+ 8\cos \left[ {1.2\left( {t - 1} \right)} \right] + {n_{et}}\left( t \right) \end{split} $ | (18) |
观测模型:
${{z}}\left( t \right) = \frac{{{{x}}{{\left( t \right)}^2}}}{{20}} + {w_{et}}\left( t \right)$ | (19) |
上述等式中,
在本文算法中所使用的均方根误差公式:
${R_{\rm{MSE}}} = {\left[ {\frac{1}{T}{{\sum\nolimits_{T - 1}^T {\left( {{{{x}}_t} - {{{{\hat x}}}_t}} \right)} }^2}} \right]^{\frac{1}{2}}}$ | (20) |
(1)当蝙蝠数为N=20、Q=10时, 仿真结果如图1所示.
(2)当蝙蝠数为N=50、Q=10时, 仿真结果如图2所示.
(3)当蝙蝠数为N=100、Q=10时, 仿真结果如图3所示.
(4)当蝙蝠数为N=20、Q=1时, 仿真结果如图4所示.
(5)当蝙蝠数为N=50、Q=1时, 仿真结果如图5所示.
(6)当蝙蝠数为N=100、Q=1时, 仿真结果如图6所示.
在下示仿真图中, 用x表示真实点, *表示BA估计点, ○表示PF估计点, ·表示PSO估计点, ☆表示DEBA估计点, 分别用实线连接.
从图1~图6可以看出, 差分进化蝙蝠算法优化粒子滤波具有更高的状态值预测精度, 这是因为差分进化算法优化粒子滤波的在粒子滤波的基础上, 模拟蝙蝠个体和种群搜索目标的过程中, 可以对全局搜索和局部寻优能力进行精确控制, 同时融合了差分进化算法使得本文算法能够较大幅度提高算法的收敛速度、鲁棒性和寻优能力.
从表1中可以看出, 在高噪声的影响下, 差分进化蝙蝠算法粒子数N=20时精度依然比标准粒子滤波中粒子数N=100时的精度高, 这样即表明, 本文所用的差分进化算法在非线性、高噪声的环境会较标准的粒子滤波更好的跟踪目标.
8.2 目标跟踪测试为了测试本研究算法的性能, 本文在多个测试视频上进行了对比实验, 如图7至图12所示.
从以上实验结果可以看到, 在非线性下、高斯噪声环境下, 标准粒子滤波算法跟踪效果较差, 鲁棒性能不佳, 而本文所采用的差分进化蝙蝠算法在总体上来说具有良好的跟踪效果和鲁棒性.
9 结语本文提出了一种基于差分进化蝙蝠算法智能优化粒子滤波的目标跟踪方法, 同时具备全局搜索和局部搜索能力, 提高跟踪算法的跟踪性能. 测试视频图像的实验结果也表明, 本文方法在复杂背景下的跟踪具有较好的鲁棒性和准确性. 在后面工作中, 将对其它信号源图像的目标跟踪问题进行深入研究, 对跟踪过程中的模板更新、目标遮挡等问题做进一步优化.
[1] |
Yilmaz A, Javed O, Shah M. Object tracking: A survey. ACM Computing Surveys, 2006, 38(4): 13. DOI:10.1145/1177352 |
[2] |
Mekonnen AA, Lerasle F, Herbulot A. Cooperative passers-by tracking with a mobile robot and external cameras. Computer Vision and Image Understanding, 2013, 117(10): 1229-1244. DOI:10.1016/j.cviu.2012.12.004 |
[3] |
Xu BL, Lu ML. An ant-based stochastic searching behavior parameter estimate algorithm for multiple cells tracking. Engineering Applications of Artificial Intelligence, 2014, 30: 155-167. DOI:10.1016/j.engappai.2013.11.010 |
[4] |
Tian CN, Gao XB, Wei W, et al. Visual tracking based on the adaptive color attention tuned sparse generative object model. IEEE Transactions on Image Processing, 2015, 24(12): 5236-5248. DOI:10.1109/TIP.2015.2479409 |
[5] |
Ait Abdelali H, Essannouni F, Essannouni L, et al. Fast and robust object tracking via accept–reject color histogram-based method. Journal of Visual Communication and Image Representation, 2016, 34: 219-229. DOI:10.1016/j.jvcir.2015.11.010 |
[6] |
Comaniciu D, Ramesh V, Meer P. Kernel-based object tracking. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2003, 25(5): 564-577. DOI:10.1109/TPAMI.2003.1195991 |
[7] |
Sun X, Yao HX, Lu XS. Dynamic multi-cue tracking using particle filter. Signal, Image and Video Processing, 2014, 8(S1): 95-101. DOI:10.1007/s11760-014-0674-z |
[8] |
Mazinan AH, Amir-Latifi A. Applying mean shift, motion information and Kalman filtering approaches to object tracking. ISA Transactions, 2012, 51(3): 485-497. DOI:10.1016/j.isatra.2012.02.002 |
[9] |
Ait Abdelali H, Essannouni F, Essannouni L, et al. An adaptive object tracking using Kalman filter and probability product kernel. Modelling and Simulation in Engineering, 2016, 2016: 2592368. |
[10] |
Yi SY, He ZY, You XG, et al. Single object tracking via robust combination of particle filter and sparse representation. Signal Processing, 2015, 110: 178-187. DOI:10.1016/j.sigpro.2014.09.020 |
[11] |
张琪, 胡昌华, 乔玉坤. 基于权值选择的粒子滤波算法研究. 控制与决策, 2008, 23(1): 117-120. Zhang Q, Hu CH, Qiao YK. Particle filter algorithm based on weight selected. Control and Decision, 2008, 23(1): 117-120. DOI:10.3321/j.issn:1001-0920.2008.01.026 |
[12] |
Li TC, Sattar TP, Sun SD. Deterministic resampling: Unbiased sampling to avoid sample impoverishment in particle filters. Signal Processing, 2012, 92(7): 1637-1645. DOI:10.1016/j.sigpro.2011.12.019 |
[13] |
Stano PM, Lendek Z, Babuška R. Saturated particle filter: Almost sure convergence and improved resampling. Automatica, 2013, 49(1): 147-159. DOI:10.1016/j.automatica.2012.10.006 |
[14] |
Yu YH, Zheng XY. Particle filter with ant colony optimization for frequency offset estimation in OFDM systems with unknown noise distribution. Signal Processing, 2011, 91(5): 1339-1342. DOI:10.1016/j.sigpro.2010.12.009 |
[15] |
Zhong J, Fung YF. Case study and proofs of ant colony optimisation improved particle filter algorithm. IET Control Theory & Applications, 2012, 6(5): 689-697. |
[16] |
Xian WM, Long B, Li M, et al. Prognostics of lithium-ion batteries based on the verhulst model, particle swarm optimization and particle filter. IEEE Transactions on Instrumentation and Measurement, 2014, 63(1): 2-17. DOI:10.1109/TIM.2013.2276473 |
[17] |
Leinonen M, Codreanu M, Juntti M. Distributed joint resource and routing optimization in wireless sensor networks via alternating direction method of multipliers. IEEE Transactions on Wireless Communications, 2013, 12(11): 5454-5467. DOI:10.1109/TWC.2013.100213.121227 |
[18] |
邱雪娜, 刘士荣, 吕强. 基于信息分享机制的粒子滤波算法及其在视觉跟踪中的应用. 控制理论与应用, 2010, 27(12): 1724-1730. Qiu XN, Liu SR, Lü Q. Particle filter algorithm based on information-shared mechanism and its application to visual tracking. Control Theory & Applications, 2010, 27(12): 1724-1730. |
[19] |
田梦楚, 薄煜明, 陈志敏, 等. 萤火虫算法智能优化粒子滤波. 自动化学报, 2016, 42(1): 89-97. Tian MC, Bo YM, Chen ZM, et al. Firefly algorithm intelligence optimized particle filter. Acta Automatica Sinica, 2016, 42(1): 89-97. |
[20] |
Yang XS. A new metaheuristic bat-inspired algorithm. González JR, Pelta DA, Cruz C, et al. Nature Inspired Cooperative Strategies For Optimization. Berlin, Heidelberg: Springer, 2010. 65–74.
|
[21] |
陈志敏, 田梦楚, 吴盘龙, 等. 基于蝙蝠算法的粒子滤波法研究. 物理学报, 2017, 66(5): 050502. Chen ZM, Tian MC, Wu PL, et al. Intelligent particle filter based on bat algorithm. Acta Physica Sinica, 2017, 66(5): 050502. |
[22] |
Neuimin OS, Zhuk SY. Sequential detection of target trajectory tracking loss using the decision statistics of pips. Radioelectronics and Communications Systems, 2014, 57(8): 352-361. DOI:10.3103/S0735272714080032 |
[23] |
Son HS, Park JB, Joo YH. Segmentalized FCM-based tracking algorithm for zigzag maneuvering target. International Journal of Control, Automation and Systems, 2015, 13(1): 231-237. DOI:10.1007/s12555-013-0406-0 |
[24] |
Storn R, Price K. Differential evolution–a simple and efficient heuristic for global optimization over continuous spaces. Journal of Global Optimization, 1997, 11(4): 341-359. DOI:10.1023/A:1008202821328 |