1 Introduction

Multitarget tracking (MTT) concerns estimating both number and state of targets from the available measurements (Li et al. 2011). As a satisfactory solution to time-varying number estimates, the MTT has become an important component of almost all the security and surveillance applications (Jing 2005; Ulmke et al. 2010; Gning et al. 2014). In the past decades, several scholars have studied this topic with a great deal of success and many papers addressing the well-established MTT algorithms have been published in the important international journals (Musicki and Evans 2004; Blackman 2004), such as the joint probabilistic data association (JPDA) and the multiple hypothesis tracking (MHT). However, these algorithms suffer from unreliable state estimates and complex computation when a large number of clutters appear around the true target trajectory. To reduce computational complexity, Mahler proposed a completely data association-free filter in 2003, named the probability hypothesis density (PHD) filter. On the basis of the first-order statistical moment, this filter propagates the multitarget PHD instead of the full multitarget posterior density (Mahler 2009). The integral of the PHD is used to estimate the number of targets, and the corresponding peaks are used to estimate the state of targets. Nevertheless, the target number estimates still fluctuate because the PHD filter is derived with the Poisson assumption for cardinality distribution (Panta et al. 2009). In contrast, propagating the cardinality distribution to the PHD with the second-order statistical moment, the cardinalized PHD (CPHD) filter offers a perfect cure by adding memory to the number estimation process (Mahler et al. 2011), which works efficiently in most of the applications.

In the recent years, a variety of related material and further information about the CPHD filter can be found in Mahler et al. (2011), Mahelr (2007b) and Ulmke et al. (2007). To estimate the nonlinear and non-Gaussian dynamic state, the sequential Monte Carlo (SMC) implementation of the CPHD filter was presented in Mahelr (2007b). On the other hand, the Gaussian mixtures (GM) implementation of the CPHD filter was applied to track targets with the linear and Gaussian dynamic state in Ulmke et al. (2007). Furthermore, Ulmke et al. (2008) proposed the improved CPHD filter, where the local target number estimates close to the missed detection were artificially reduced in the case of zero false alarm rate. However, the solutions are based on the single-model (SM) method that cannot reflect the state variation (Daniel et al. 2013; Ma et al. 2013). For comparison, the multiple-model (MM) method provides plenty of motion models, operating in parallel, and the target state can be achieved by a weighted sum of estimates, for example (Georgescu and Willet 2011; Pasha et al. 2009) and the references therein. Georgescu and Willet (2012) derived the MM version of the CPHD filter and its GM implementation, where a track management strategy was developed on the basis of the bin-occupancy filter. In Chen et al. (2011), the GM implementation of the variable state space CPHD filter with the constant velocity (CV) model and the constant turn (CT) model was described. To estimate the nonlinear and non-Gaussian dynamic state, the extended CPHD filter was briefly discussed in Ouyang et al. (2012), so as to improve the estimation accuracy by the weighted particles. However, the imperfection of the traditional particle filter (PF) limits tracking performance, such as the particle impoverishment after iterations.

This paper lays a lot of emphasis on the answer to the mentioned problem and develops an adaptive genetic (AG) CPHD filter in the MM framework, named AG-MM-CPHD filter. Different from the existing MM-CPHD filters in Georgescu and Willet (2012), Chen et al. (2011) and Ouyang et al. (2012), the main contributions of this work are summarized as follows:

  1. (i)

    the AG algorithm (AGA) is presented to improve the target state estimation accuracy at the time of state switching with excellent particles;

  2. (ii)

    the undetected component of measurement-updated weight of survival particle is compensated by the excess weight of newborn particle to correct the target number estimates.

The remainder of this note is arranged as follows: In Sect. 2, the principle and the SMC implementation of the MM-CPHD filter are presented. In Sect. 3, we discuss the improvements of the AG-MM-CPHD filter and illustrate its SMC implementation. The simulation is showed with results to verify the tracking performance of the proposed filter in Sect. 4. In the last section, the conclusions are summarized by providing the future work.

2 The MM-CPHD filter

Considering target motion, birth and death varying with time, we define \(N_k \) targets and \(M_k \) measurements at scan k, where \(N_k \) and \(M_k \) are time dependent. Assume that \(\mathbf{{X}}_k \) and \(\mathbf{{Z}}_k \) are the target state vector and the measurement vector, respectively (Punithakumar et al. 2008; Wen et al. 2011; Xu and Wang 2007; Panta et al. 2009; Liu et al. 2014); the collections of them are given by

$$\begin{aligned}&\mathbf{X}_k =\mathbf{F}_{k\vert k-1} \mathbf{X}_{k-1} +\varvec{\Gamma } _k \mathbf{W}_k =\{ {\mathbf{x}_{k,1} ,\ldots ,\mathbf{x}_{k,N_k } } \},\end{aligned}$$
(1)
$$\begin{aligned}&\mathbf{Z}_k =\mathbf{H}_k \mathbf{X}_k +\mathbf{V}_k =\{ {\mathbf{z}_{k,1} ,\ldots ,\mathbf{z}_{k,M_k } } \}, \end{aligned}$$
(2)

where \(\mathbf{F}_{k\mid k-1} \) and \(\mathbf{H}_k \) are the state transition matrix and the measurement matrix, \(\mathbf{W}_k \) and \(\mathbf{V}_k \) are the state noise vector and the measurement noise vector, and \(\varvec{\Gamma } _k \) is the state noise input matrix.

In the actual detection scene, most targets may survive or transition into a new dynamic state, others may disappear and new targets may appear. The available measurement \(\mathbf{Z}_{k,\zeta } ( {\zeta =1,\ldots ,M_k })\) may be generated by targets or clutters at each scan. In view of target maneuvers, the MM method is more attractive, which allows the target state to transition from one motion model to another in the Bayesian framework, where the model has different structure, state and noise. Its switching follows a Markov chain with the known transition probability. In this section, an MM version of the CPHD filter is derived in one cycle. First, we make two remarks in order:

  1. (i)

    without respect to target spawning, assume target motions are statistically independent, targets appear in the scene independently of the existing targets and targets disappear from the scene;

  2. (ii)

    the probability of detection is set to a constant \(p_{ D} \) regardless of the target state.

2.1 Filtering process

We present the filtering process of the MM-CPHD filter in one cycle, which includes the time update, the measurement update and the state estimation.

2.1.1 Time update

Assume \(r_{k-1} \) is the index of models, \(N_r \) is the number of models, \(v( {v=1,\ldots ,N_r })\) is the previous motion model and the initial PHD \(D_{k-1} ( {\mathbf{x}_{k-1,} {r}_{k-1} =v})\) can match the current motion model \(u( {u=1,\ldots ,N_r })\). Given that each model-matched CPHD filter is fed with different PHDs, the time-updated PHD is given by Pasha et al. (2009), Georgescu and Willet (2012) and Nadarajan et al. (2011),

$$\begin{aligned}&D_{k\vert k-1} ( {\mathbf{x}_k ,r_k =u})\nonumber \\&\quad =b_{k\vert k-1} ( {\mathbf{x}_k ,r_k =u})\nonumber \\&\qquad +\int {p_{s,k\vert k-1} ( {\mathbf{x}_{k-1} })f_{k\vert k-1} ( {\mathbf{x}_k \vert \mathbf{x}_{k-1} ,r_k =u})}\nonumber \\&\qquad \times \sum \limits _{v=1}^{N_r } {D_{k-1} ( {\mathbf{x}_{k-1} ,r_{k-1} =v})} f_{k\vert k-1} ( {r_k =u\vert r_{k-1} =v}) d\mathbf{x}_{k-1}, \end{aligned}$$
(3)

where \(p_{s,k\vert k-1}( {\mathbf{x}_{k-1} })\) is the target-survival probability, \(f_{k\vert k-1} ( {\mathbf{x}_k \vert \mathbf{x}_{k-1} ,r_k =u})\) is the Markov transition probability for targets, \(b_{k\vert k-1} ( {\mathbf{x},r_k =u})\) is the target-appearance PHD and \(f_{k\vert k-1} ( {r_k =u\vert r_{k-1} =v})\) is the Markov transition probability for motion models.

It is noteworthy that the integral of \(D_{k\vert k-1} ( {\mathbf{x}_k ,r_k =u})\) within a certain region represents the expected number of targets

$$\begin{aligned} {\tilde{N}}_{k\vert k-1} ( {r_k =u})=\int {D_{k\vert k-1} } ( { \mathbf{x}}_{k-1} ,r_k =u)\text{ d }{} \mathbf{x}_{k-1}. \end{aligned}$$
(4)

Assume n is the current number of tracks; the cardinality distribution of the target appearance RFS is given by Mahelr (2007a, b)

$$\begin{aligned} \rho _{ B} ( {n,r_k =u})=\int {b_{k\vert k-1} } ({ \mathbf{x}}_k ,r_k =u)\text{ d }{\mathbf{x}}_k. \end{aligned}$$
(5)

Then the cardinality generation function (p.g.f.) of the target appearance RFS is

$$\begin{aligned} B_k ( {x,r_k =u})=\sum \limits _{n=0}^\infty {\rho _{ B} ( {n,r_k =u})x^n}. \end{aligned}$$
(6)

Define the integral function \(s[h]={\int h(\mathbf{x})D( \mathbf{x})\text{ d }{\mathbf{x}}}/N\); the predicted cardinality distribution and its corresponding p.g.f. are given by

$$\begin{aligned}&\rho _{k\vert k-1} ({n,r_k =u})\nonumber \\&\quad =\sum \limits _{j=0}^n {\frac{\rho _{ B} ( {n-j,r_k =u})}{j!}}G_{k-1} ( 1-s[ {{p}_{S,k\vert k-1}} ( {\mathbf{x}_{k-1} }) ],\nonumber \\&\qquad r_{k-1} =v)s[ {{p}_{S,k\vert k-1}} ( {\mathbf{x}_{k-1} }) ]^j ,\end{aligned}$$
(7)
$$\begin{aligned}&G_{k\vert k-1} ( {x,r_k =u})\nonumber \\&\quad =B_k ( {x,r_k =u})G_{k-1}( 1-s[ {{p}_{S,k\vert k-1}} ( {\mathbf{x}_{k-1} }) ]\nonumber \\&\qquad +\,xs[ {{p}_{S,k\vert k-1}} ( {\mathbf{x}_{k-1} }) ],r_{k-1} =v). \end{aligned}$$
(8)

2.1.2 Measurement update

The measurement-updated cardinality distribution and its p.g.f. are given by

$$\begin{aligned}&\rho _k ( {n,r_k =u})\nonumber \\&\quad =\frac{\sum \nolimits _{j=0}^m {C_k^{\left\langle {m-j} \right\rangle } ( 0)\frac{1}{( {n-j})!}\hat{G}_{k\vert k-1}^{\left\langle j \right\rangle \left\langle {n-j} \right\rangle } ( {0,r_k =u})s[ {1-p_D } ]^{n-j}\sigma _j ( {\mathbf{Z}_k })} }{\sum \nolimits _{i=0}^m {C_k^{\left\langle {m-i} \right\rangle } ( 0)\hat{G}_{k\vert k-1}^{\left\langle i \right\rangle } ( {s[ {1-p_D } ],r_k =u})\sigma _i ( {\mathbf{Z}_k })} },\end{aligned}$$
(9)
$$\begin{aligned}&G_k ({x,r_k =u})\nonumber \\&\quad =\frac{\sum \nolimits _{j=0}^{m} {x^{j} C_k^{\langle {m-j} \rangle }( 0){\hat{G}}_{k\vert k-1}^{\langle {j}\rangle } ({x-xs[{p_{D}} ],r_k =u})\sigma _{j} ({\mathbf{Z}_{k}})}}{\sum \nolimits _{i=0}^{m} {C_{k}^{\langle {m-i}\rangle }}(0){\hat{G}}_{k\vert k-1}^{\langle {i} \rangle }({1-s[{p_{D}}],r_{k} =u})\sigma _{i}({\mathbf{Z}_{k}})}, \end{aligned}$$
(10)

where \(C_k( \cdot )\) is the p.g.f. of the false alarm process \(c_k ( z)\), \(\sigma _{j}({\mathbf{Z}_k })\) is the elementary symmetric function of \(\mathbf{Z}_k \), and \(( \cdot )^{\left\langle j \right\rangle }\) denotes the \(j\mathrm{th}\) derivative, \(\hat{G}_{k\vert k-1}^{\left\langle j \right\rangle } ( x)={G_{k\vert k-1} ( x)} /{N_{k\vert k-1}^j }\).

We have in hand the multitarget likelihood function \(g_k( {z\vert {\mathbf{x}}_k })\); the measurement-updated PHD at scan k is

$$\begin{aligned}&D_k ({x_k ,r_k =u})\nonumber \\&\quad =\left( ({1-{p_{D}}})\Upsilon _0 ( {r_k =u})+\sum \limits _{z\in Z_k } {p_D g_k ( {z\vert \mathbf{x}_k})\Upsilon _k ( {r_k =u})}\right) \nonumber \\&\qquad \times \, D_{k\vert k-1} ( {\mathbf{x}_{k},r_{k} =u}), \end{aligned}$$
(11)

Where \(\Upsilon _0 ( {r_k =u})\) and \(\Upsilon _k ( {r_k =u})\) are given by

$$\begin{aligned}&\Upsilon _0 ( {r_{k} =u})=\frac{\sum \nolimits _{j=0}^{m} {C_{k}^{\langle {m-j}\rangle } (0){\hat{G}}_{k\vert k-1}^{\left\langle {j+1} \right\rangle } ({s[ {1-p_{D}}],r_{k} =u})\sigma _{j} ( {\mathbf{Z}_{k}})} }{\sum \nolimits _{i=0}^{m} {C_{k}^{\left\langle {m-i} \right\rangle } (0){\hat{G}}_{k\vert k-1}^{\left\langle i \right\rangle } \left( {s[ {1-p_{D}} ],r_{k} =u}\right) \sigma _{i} ( {\mathbf{Z}_k })} },\end{aligned}$$
(12)
$$\begin{aligned}&\Upsilon _{k}({r_{k} =u})\nonumber \\&\quad =\frac{\sum \nolimits _{j=0}^{m} {C_{k}^{\left\langle {m-j-1} \right\rangle } (0){\hat{G}}_{k\vert k-1}^{\left\langle {j+1} \right\rangle } \left( {s[ {1-p_{D} } ],r_{k} =u}\right) \sigma _{j} ({\mathbf{Z}_{k} -\left\{ z\right\} })} }{c_{k}(z)\sum \nolimits _{i=0}^{m} {C_{k}^{\left\langle {m-i} \right\rangle } (0){\hat{G}}_{k\vert k-1}^{\left\langle i \right\rangle } \left( {s[ {1-p_{D} } ],r_{k} =u}\right) \sigma _{i} ( {\mathbf{Z}_k })} }. \end{aligned}$$
(13)

The measurement-updated number of targets under the model u is

$$\begin{aligned} {\tilde{N}}_{k} ({r_{k} =u})=\frac{\sum \nolimits _{j=0}^{m}{C^{\left\langle {m-j} \right\rangle }( 0)\left( {{\hat{G}}_{k\vert k-1}^{\left\langle {j+1} \right\rangle } \left( {s[ {1-p_D } ],r_k =u}\right) \left( {s\left[ {1-p_D } \right] }\right) {\hat{G}}_{k\vert k-1}^{\left\langle 1 \right\rangle } ( 1)+j{\hat{G}}_{k\vert k-1}^{\left\langle j \right\rangle } \left( {s[ {1-p_D } ],r_k =u}\right) }\right) \sigma _{j} ({\mathbf{Z}_{k}})} }{\sum \nolimits _{i=0}^{m} {C_{k}^{\left\langle {m-i}\right\rangle } ( 0){\hat{G}}_{k\vert k-1}^{\left\langle i \right\rangle } \left( {s[ {1-p_D } ],r_k=u}\right) \sigma _i ( {\mathbf{Z}_{k} })} }. \end{aligned}$$
(14)

2.1.3 State estimation

We use the maximum a posteriori (MAP) method to estimate the number of targets

$$\begin{aligned} {\hat{N}}_{k} ({r_k =u})=\arg \mathop {\sup }\limits _n \rho _k ( {n,r_k =u}). \end{aligned}$$
(15)

Since that each filter corresponds to a peculiar motion model and \(N_{r}\) CPHD filters run in parallel, the total number of targets can be estimated by

$$\begin{aligned} N_k =\text{ round }\left( {\sum \limits _{u=1}^{N_r } {\hat{N}_k ( {r_k =u})} }\right) , \end{aligned}$$
(16)

where round \(( \cdot )\) denotes the nearest integer.

Finally, \(N_{k}\) largest local peaks \(\{{{\hat{\mathbf {x}}}_k^{( j)} } \}_{j=1}^{N_{k}} \) of the PHD are extracted as the state estimates of target tracks.

2.2 SMC implementation

Devised to approximate the PHD, the SMC implementation can give the closed-form solution to intractable integrals in the filtering recursion (Zhou et al. 2012; Ouyang and Ji 2012; Lin et al. 2006).

2.2.1 Time update

Define the Dirac delta function \(\delta ( \cdot )\) and the motion model index set \(\{ {r_{k-1}^{(i)} } \}_{i=1}^{L_{k-1}} \), the PHD \(D_{k-1} ( {\mathbf{x}_{k-1} ,r_{k-1} })\) at scan \(k-1\) can be approximated as

$$\begin{aligned}&D_{k-1} ( {\mathbf{x}_{k-1} ,r_{k-1} })\nonumber \\&\quad =\sum \limits _{i=1}^{L_{k-1} } {w_{k-1}^{(i)}} \delta ({\mathbf{x}_{k-1} -\mathbf{x}_{k-1}^{( i)} ,r_{k-1}-r_{k-1}^{(i)} }). \end{aligned}$$
(17)

The weighted approximation of the time-updated PHD is

$$\begin{aligned}&D_{k\vert k-1} ( {\mathbf{x}_{k} ,r_{k} })\nonumber \\&\quad =\sum \limits _{i=L_{k-1} +1}^{L_{k-1} +J_{k}} {w_{k\vert k-1}^{(i)}} \delta ({\mathbf{x}_{k} -\mathbf{x}_{k\vert k-1}^{(i)},{r}_{k} -r_{k\vert k-1}^{(i)} }), \end{aligned}$$
(18)

where \(L_{k-1} \) particles are the predicted forward from scan \(k-1\), and the additional \(J_{k}\) particles are drawn to the newborn target at scan k.

Considering the motion model \(r_{k\vert k-1}^{( i)} \) in Eq. (18), we can draw the predicted particle as follows:

$$\begin{aligned} \mathbf{x}_{k\vert k-1}^{(i)} =\left\{ {{\begin{array}{l@{\quad }l} {q_{k}( {\cdot \vert \mathbf{x}_{k\vert k-1}^{(i)} ,r_{k\vert k-1}^{(i)} ,\mathbf{Z}_k }),} &{}\quad {i=1,\ldots ,L_{k-1} } \\ {p_k({\cdot \vert r_{k\vert k-1}^{(i)} ,\mathbf{Z}_k }),} &{}\quad {i=L_{k-1} +1,\ldots ,L_{k-1} +J_k }, \\ \end{array} }} \right. \end{aligned}$$
(19)

where \(q_k( {\cdot \vert {\mathbf{x}}_{k\vert k-1}^{(i)} ,r_{k\vert k-1}^{(i)} ,{\mathbf{Z}}_{k}})\) and \(p_k( {\cdot \vert r_{k\vert k-1}^{(i)} ,\mathbf{Z}_k })\) are the proposal distributions of the survival target and the newborn target (Panta 2007; Vo 2008), and the motion model \(r_{k\vert k-1}^{(i)} \) can be drawn from the proposal distributions \(\alpha _{k}({\cdot \vert r_{k-1}})\) and \(\beta _{k}( \cdot )\)

$$\begin{aligned} r_{k\vert k-1}^{(i)} =\left\{ {{\begin{array}{l@{\quad }l} {\alpha _{k}( {\cdot \vert r_{k-1}}),} &{}\quad {i=1,\ldots ,L_{k-1} } \\ {\beta _{k}( \cdot ),} &{}\quad {i=L_{k-1} +1,\ldots ,L_{k-1} +J_k } \\ \end{array} }} \right. . \end{aligned}$$
(20)

Then, the time-updated particle weight is

$$\begin{aligned} w_{k\vert k-1}^{( i)} =\left\{ {{\begin{array}{ll} {w_{{ S,}k\vert k-1}^{( i)} ,} &{}\quad {i=1,\ldots ,L_{k-1} } \\ {w_{{ B,}k\vert k-1}^{( i)} ,} &{}\quad {i=L_{k-1} +1,\ldots ,L_{k-1} +J_k }, \\ \end{array} }} \right. \end{aligned}$$
(21)

where \(w_{{ S,}k\vert k-1}^{( i)}\) and \(w_{{ B,}k\vert k-1}^{( i)} \) are weights of the survival and newborn particles, that is

$$\begin{aligned}&w_{{ S},k\vert k-1}^{(i)}\nonumber \\&\quad =\frac{f_{k\vert k-1} ( {r_{k\vert k-1}^{( i)} \vert r_{k-1}^{(i)}})}{\alpha _{k} ({r_{k\vert k-1}^{(i)} \vert r_{k-1}^{(i)} })}\nonumber \\&\qquad \times \, \frac{{{p}_{S,k\vert k-1}} ({\mathbf{x}_{k\vert k-1}^{(i)}})f_{k\vert k-1} ({\mathbf{x}_{k\vert k-1}^{(i)} \vert \mathbf{x}_{k-1}^{(i)},r_{k-1}^{(i)}})w_{k-1}^{(i)}}{q_{k}({\mathbf{x}_{k\vert k-1}^{(i)} \vert \mathbf{x}_{k-1}^{(i)} ,r_{k-1}^{(i)} ,\mathbf{Z}_k })},\end{aligned}$$
(22)
$$\begin{aligned}&w_{{ B},k\vert k-1}^{( i)} =\frac{f_k \left( {r_{k\vert k-1}^{( i)} }\right) }{\beta _k \left( {r_{k\vert k-1}^{( i)} }\right) }\frac{b_{k\vert k-1} \left( {\mathbf{x}_{k\vert k-1}^{(i)} \vert r_{k-1}^{(i)}}\right) }{J_{k} p_{k} \left( \mathbf{x}_{k\vert k-1}^{( i)} \vert r_{k-1}^{( i)} ,\mathbf{Z}_k \right) }. \end{aligned}$$
(23)

Remark 1

In Eqs. (22) and (23), we note that \(w_{{ S,}k\vert k-1}^{( i)} \) and \(w_{{ B,}k\vert k-1}^{( i)} \) are represented by the product of the original weight under the current motion model (the first term) and the probability of the corresponding model (the second term). The values of \(w_{{ S,}k\vert k-1}^{( i)} \) and \(w_{{ B,}k\vert k-1}^{( i)} \) are scaled down, as the probability of the motion model is not more than 1.

Further, we have the expected number of the predicted targets for each model:

$$\begin{aligned} N_{k\vert k-1} ( {r_k })=\sum \limits _{i=1}^{L_{k-1} +J_k } {w_{k\vert k-1}^{( i)} }. \end{aligned}$$
(24)

The predicted cardinality distribution and its p.g.f. are

$$\begin{aligned}&\rho _{k\vert k-1} \left( {n,r_k }\right) \nonumber \\&\quad =\sum \limits _{i=0}^{n}\frac{\rho _{B} ( {n-i,r_{k} \vert r_{k-1} })}{i}G_{k-1}( 1-\nonumber \\&\qquad s[p_{S,k\vert k-1} ( \mathbf{x}_{k\vert k-1}^{( i)} )],r_{k\vert k-1}^{(i)} )s[{{p}_{S,k\vert k-1}} ( {\mathbf{x}_{k\vert k-1}^{( i)}}) ]^i,\end{aligned}$$
(25)
$$\begin{aligned}&G_{k\vert k-1} ({x,r_{k}})\nonumber \\&\quad =B_k ({x,r_{k\vert k-1} })G_{k-1}\left( 1-s\left[ {{p}_{S}, _{k\vert k-1}} \left( {\mathbf{x}_{k\vert k-1}^{( i)} }\right) \right] \right. \nonumber \\&\left. \qquad +\,xs\left[ p_{S,k\vert k-1} \left( {\mathbf{x}_{k\vert k-1}^{( i)} }\right) \right] ,r_{k\vert k-1}^{( i)} \right) . \end{aligned}$$
(26)

2.2.2 Measurement update

The measurement-updated equations for the cardinality distribution and its p.g.f. are

$$\begin{aligned}&\rho _k ( {n,r_k })\nonumber \\&\quad =\frac{\sum \nolimits _{j=0}^m {C_k^{\left\langle {m-j} \right\rangle } ( 0)\frac{1}{( {n-j})!}\hat{G}_{k\vert k-1}^{\left\langle j \right\rangle \left\langle {n-j} \right\rangle } ( {0,r_k })s[ {1-p_D } ]^{n-j}\sigma _j ( {{\varvec{Z}}_k })} }{\sum \nolimits _{i=0}^m {C_k^{\left\langle {m-i} \right\rangle } ( 0)\hat{G}_{k\vert k-1}^{\left\langle i \right\rangle } ( {s[ {1-p_D } ],r_k })\sigma _i ( {{\varvec{Z}}_k })} },\end{aligned}$$
(27)
$$\begin{aligned}&G_{k} ( {x,r_k })\nonumber \\&\quad =\frac{\sum \nolimits _{j=0}^m {x^jC_k^{\left\langle {m-j} \right\rangle } ( 0)\hat{G}_{k\vert k-1}^{\left\langle j \right\rangle \left\langle {n-j} \right\rangle } ( {x-xs[ {p_D } ],r_k })\sigma _j ( {{\varvec{Z}}_k })} }{\sum \nolimits _{i=0}^m {C_k^{\left\langle {m-i} \right\rangle } ( 0)\hat{G}_{k\vert k-1}^{\left\langle i \right\rangle } ( {1-s[ {p_D } ],r_k })\sigma _i ( {{\varvec{Z}}_k })} }. \end{aligned}$$
(28)

Assume that \(\left\langle {\cdot ,\cdot } \right\rangle \) denotes the inner product operation; the measurement-updated equation for weight \(w_k^{*( i)} \) can be written as

(29)

Define the cardinality distribution of clutters \(p_{C,k} ( \cdot )\), the elementary symmetric function \(e_j ( \cdot )\) and the permutation coefficient \(P_{j+u}^n \), the related parameters in Eq. (29) are given by

$$\begin{aligned}&\Upsilon _k^{n} [ {w_{k\vert k-1} ;{\mathbf{Z}}_{k}} ]( n)\nonumber \\&\quad =\sum \limits _{i=0}^{\min ( {\left| {\mathbf{Z}_k} \right| ,n})}e_{i} ({\Lambda _{k} ({w_{k\vert k-1} ,\mathbf{Z}_k })})\nonumber \\&\qquad \times {\frac{( {\left| {\mathbf{Z}_k } \right| -i})!p_{C,k} ( {\left| {\mathbf{Z}_k } \right| -i})P_{j+u}^n \left\langle {1-p_{D},w_{k\vert k-1} } \right\rangle ^{n-i-u}}{\left\langle {1,w_{k\vert k-1} } \right\rangle ^{n}}},\end{aligned}$$
(30)
$$\begin{aligned}&\Lambda _{k} ({w_{k\vert k-1} ,\mathbf{Z}_{k}})\nonumber \\&\quad =\left\{ {\left\langle {w_{k\vert k-1} ,\frac{\left\langle {1,C_{k} ( z)} \right\rangle p_{D} g_{k} ({z\vert \mathbf{x}_{k\vert k-1}^{(i)} })\mathbf{x}_{k\vert k-1}^{(i)}}{C_{k}(z)}} \right\rangle :z\in \mathbf{Z}_k } \right\} . \end{aligned}$$
(31)

Let round \(( \cdot )\) denote the integer approximation, then the expected number of targets is given by

$$\begin{aligned} {\tilde{N}}_{k} ({r_{k}})=\sum \limits _{i=1}^{L_{k-1} +J_{k}} {w_{k}^{*(i)}} . \end{aligned}$$
(32)

Then the normalized weight is

$$\begin{aligned} w_{k}^{(i)} =\frac{w_{k}^{*(i)}}{\tilde{N}_{k}({r_{k}})}. \end{aligned}$$
(33)

Considering the particle number per target \(\chi \), we resample \(L_k =\chi {\tilde{N}}_{k}\) particles from \(\{ {w_{k}^{*(i)} ,\mathbf{x}_{k}^{*(i)}} \}_{i=1}^{L_{k-1} +J_k } \) and obtain the new particle set \(\{{w_{k}^{(i)},\mathbf{x}_{k}^{( i)} ,r_{k}^{(i)}} \}_{i=1}^{L_{k}}\). Then, the discrete approximation of the PHD at scan k is given by

$$\begin{aligned} D_k ( {\mathbf{x}_{k} ,r_{k}})=\sum \limits _{i=1}^{L_{k}} {w_{k}^{(i)} } \delta ( {\mathbf{x}_{k} -\mathbf{x}_{k}^{(i)} ,r_k -r_k^{(i)} }), \end{aligned}$$
(34)

where \(D_k ( {\mathbf{x}_k ,r_k })\) is as the posterior PHD in the next cycle.

2.2.3 State estimation

The number estimates of targets for one certain motion model can be written as

$$\begin{aligned} {\hat{N}}_{k} ({r_{k}})=\arg \mathop {\sup }\limits _n \rho _k ({n,r_{k}}). \end{aligned}$$
(35)

Then the number of the total targets under \(N_{r}\) parallel motion models at scan k is estimated by

$$\begin{aligned} N_{k} =\text{ round }\left( \;{\sum \limits _{u=1}^{N_{r}} {\hat{N}}_{k}({r_k })}\right) , \end{aligned}$$
(36)

where \(N_{k}\) means the selected posterior PHDs corresponding to the highest weights \(({w_{k}^{({i_{1}})},\ldots ,w_{k}^{({i_{N_{k}}})} })\). Therefore, we estimate the target states \(\{{\hat{\mathbf {x}}}_{k}^{(j)} \}_{j=1}^{N_{k}} \) matching the largest peak j.

Remark 2

In terms of the SMC implementation, we note that the motion state has variety and complexity for the maneuvering target. Quantities of particles are required to represent the target state. However, the particle impoverishment of the traditional PF is partly inherited. The impoverishment of effectiveness and diversity causes the estimation deviation of the target state. Especially, the deviation is greater when the motion model is switching. Secondly, the corresponding particle weight is transferred to other targets in proportion when a target is undetected. On the other hand, when a clutter near the target trajectory is similar to the measurement of the newborn particle, a random false alarm may occur. Although the occurrence probability is very small, the filter still generates many newborn particles to find the newborn target. In the case of small noise variance, a small amount of preserved false alarms are mistaken for true targets. Therefore, the target number is overestimated.

3 The proposed filter

To solve the above problems, we present an AG-MM-CPHD filter and its SMC implementation in this section. The proposed filter mainly contains the particle weight assignment and AGA techniques.

3.1 Particle weight assignment

In the SMC implementation, the PHD would be discarded if the sensor cannot collect the target-originated measurement. Note that the undetected term \(({1-p_{D}})\times \frac{\langle {{\Upsilon _{k}^{1}}[ {w_{k\vert k-1} ;\mathbf{Z}_{k}}]({n,r_{k}}),\rho _{k\vert k-1} ( {n,r_{k}})} \rangle }{\langle {\Upsilon _{k}^{0}[ {w_{k\vert k-1} ;\mathbf{Z}_{k}} ]({n,r_{k}}),\rho _{k\vert k-1} ( {n,{r}_{k}})} \rangle }w_{k\vert k-1}^{(i)} \) in Eq. (29) leads to the loss of targets in the case of \(p_D<1\). At this time, the detected component does not concentrate on the true target, but moves proportionally to other targets. On another aspect, all newborn particles for newborn targets and false alarms may lead to the overestimated number. If a clutter-originated measurement near the track is similar to the value of newborn particles, the increasing weight would lead to unreliable number estimates. Some false alarms are mistaken for true targets when the variance of clutters is small.

Note that \(w_{k\vert k-1}^{( i)} \) is determined by \(L_{k-1} \) and \(J_k \) particles, and \(w_k^{*(i)} \) also is given by the weights \(w_{{ S,}k}^{( i)} \) and \(w_{{ B,}k}^{( i)} \) of the survival particle and the newborn particle, that is

$$\begin{aligned} {w}_{k}^{*(i)} =\left\{ {{\begin{array}{ll} {w_{{ S,}k}^{(i)},} &{}\quad {i=1,\ldots ,L_{k-1} } \\ {w_{{ B,}k}^{(i)},} &{}\quad {i=L_{k-1} +1,\ldots ,L_{k-1} +J_k }. \\ \end{array} }} \right. \end{aligned}$$
(37)

Similarly, the modified weight corresponding to \(w_k^{*( i)} \) can be written as

$$\begin{aligned} \tilde{w}_k^{*(i)} =\left\{ {{\begin{array}{ll} {\tilde{w}_{{ S,}k}^{(i)},} &{}\quad {i=1,\ldots ,L_{k-1} } \\ {\tilde{w}_{{ B,}k}^{(i)},} &{}\quad {i=L_{k-1} +1,\ldots ,L_{k-1} +J_k }, \\ \end{array} }} \right. \end{aligned}$$
(38)

where \(\tilde{w}_{{ S,}k}^{( i)} \) and \(\tilde{w}_{{ B,}k}^{( i)} \) are the modified weights of the survival particle and the newborn particle.

Proposition 1

Assume that \(\varepsilon \) is the weight threshold for \(w_{{ B,}k}^{( i)} ;\) to find the newborn target mixed up with the clutters, the weight \(w_{{ m},k}^{(i)} \) is assigned as

$$\begin{aligned} w_{{ m},k}^{( i)} =\left\{ {{\begin{array}{ll} {w_{{{ S}^{\prime }},k}^{( i)} =\left( {1+\sum \limits _{i=L_{k-1} +1}^{L_{k-1} +J_k } {\frac{w_{{ B},k}^{( i)} -w_{{ B}^{\prime },k}^{( i)} }{\sum \nolimits _{i=1}^{L_{k-1} } {w_{{ S},k}^{( i)} } }} }\right) w_{{ S},k}^{( i)} ,} &{}\quad {i=1,\ldots ,L_{k-1} } \\ {w_{{{ B}^{\prime }},k}^{( i)} =\left\{ {{\begin{array}{ll} {\varepsilon ,} &{} {w_{{ B},k}^{( i)} \ge \varepsilon } \\ {w_{ {B},k}^{( i)} ,} &{} {w_{ {B},k}^{( i)} <\varepsilon } \\ \end{array} }} \right. ,} &{}\quad {i=L_{k-1} +1,\ldots ,L_{k-1} +J_k } ,\\ \end{array} }} \right. \end{aligned}$$
(39)

where \(w_{{{ S}^{\prime }},k}^{( i)} \) and \(w_{{ B}^{\prime },k}^{( i)} \) are optimized weights for survival particles and newborn particles.

Proof

We assign excess weight to all survival particles when \(w_{{ B},k}^{( i)} \ge \varepsilon \). Then the sum of \(w_{{ m},k}^{( i)} \) is

$$\begin{aligned}&\sum \limits _{i=1}^{L_{k-1} +J_k } {w_{{ m},k}^{( i)} }\nonumber \\&\quad =\sum \limits _{i=1}^{L_{k-1} } {w_{{{ S}^{\prime }},k}^{( i)} } +\sum \limits _{i=L_{k-1} +1}^{L_{k-1} +J_k } {w_{{ B}^{\prime },k}^{( i)} } \nonumber \\&\quad =\sum \limits _{i=1}^{L_{k-1} } {w_{{ S},k}^{( i)} } +\sum \limits _{i=1}^{L_{k-1} } {\left( {\sum \limits _{i=L_{k-1} +1}^{L_{k-1} +J_k } {\frac{w_{{ B},k}^{( i)} -w_{{{ B}^{\prime }},k}^{( i)} }{\sum \nolimits _{i=1}^{L_{k-1} } {w_{{ S},k}^{( i)} } }} }\right) w_{{ S},k}^{( i)} }\nonumber \\&\qquad +\sum \limits _{i=L_{k-1} +1}^{L_{k-1} +J_k } {w_{{ B}^{\prime },k}^{( i)} } \nonumber \\&\quad =\sum \limits _{i=1}^{L_{k-1} } {w_{{ S},k}^{( i)} } +\sum \limits _{i=L_{k-1} +1}^{L_{k-1} +J_k } {( {w_{{ B},k}^{( i)} -w_{{{ B}^{\prime }},k}^{( i)} })} +\sum \limits _{i=L_{k-1} +1}^{L_{k-1} +J_k } {w_{{{ B}^{\prime }},k}^{( i)} } \nonumber \\&\quad =\sum \limits _{i=1}^{L_{k-1} } {w_{{ S},k}^{( i)} } +\sum \limits _{i=L_{k-1} +1}^{L_{k-1} +J_k } {w_{{ B},k}^{( i)} }\nonumber \\&\quad =\sum \limits _{i=1}^{L_{k-1} +J_k } {w_k^{( i)} }. \end{aligned}$$
(40)

In Eq. (40), we note that the sum of weights keeps unchanged after the weight is assigned. \(\square \)

Proposition 2

If \(i_1 \) survival particles have weight \({ {{w_{{{ S}^{\prime },k}}^{({i_{1}})}}} \ge 1}\) and \({i}_2 \) survival particles have weight \({ {{w_{{{ S}^{\prime },k}}^{({i_{2}})}}} <1}\), the weight of survival particles \({ {{w_{{{ S}^{\prime \prime },k}}^{({i})}}}} \)is reassigned as

$$\begin{aligned} w_{{{S}^{{\prime }{\prime }}},k}^{(i)} =\left\{ {\begin{array}{ll} {1,} &{}\quad { {{w_{{{ S}^{\prime },k}}^{({i_{1}})}}} \ge 1} \\ \left( {1+\sum \limits _{i_{1}} \frac{{{w_{{ S}^{\prime },k}^{({i_{1}})}}} -1}{\sum \limits _{i_2 } {{w_{{ S}^{\prime },k}^{({i_{2}})}}}}}\right) {w_{{ S}^{\prime },k}^{({i_{2}})}}, &{}\quad {{w_{{ S}^{\prime },k}^{({i_{2}})}}}<1 \\ \end{array}}\right. \end{aligned}$$
(41)

Proof

We reassigned excess weights to other survival particles when \(w_{{ S}^{\prime },k}^{({i_1})} \ge 1\). Then the sum of \({w_{{ S}^{{\prime }{\prime }},k}^{(i)}}\) is

$$\begin{aligned} \sum \limits _{i=1}^{L_{k-1} } {w_{{{ S}^{\prime \prime }},k}^{( i)} }= & {} \sum \limits _{i_1 } 1 +\sum \limits _{i_2 } {\left( {1+\sum \limits _{i_1 } {\frac{w_{{{ S}^{\prime }},k}^{( {i_1 })} -1}{\sum \limits _{i_2 } {w_{{{ S}^{\prime }},k}^{( {i_2 })} } }} }\right) } w_{{{ S}^{\prime }},k}^{( {i_2 })} \nonumber \\= & {} \sum \limits _{i_1 } 1 +\sum \limits _{i_2 } {w_{{{ S}^{\prime }},k}^{( {i_2 })} } +\sum \limits _{i_1 } {( {w_{{{ S}^{\prime }},k}^{( {i_1 })} -1})} \nonumber \\= & {} \sum \limits _{i_1 } {w_{{{ S}^{\prime }},k}^{( {i_1 })} } +\sum \limits _{i_2 } {w_{{{ S}^{\prime }},k}^{( {i_2 })} } \nonumber \\&\underline{\underline{i_1 +i_2 =L_{k-1} }} \sum \limits _{i=1}^{L_{k-1} } {w_{{{ S}^{\prime }},k}^{( i)} } . \end{aligned}$$
(42)

In Eq. (42), we also note that the sum of weights remains unchanged after the weight is reassigned. \(\square \)

After Propositions 1 and 2, we rewrite Eq. (24) to meet the needs of the particle weight assignment scheme

$$\begin{aligned} {\tilde{N}}_{k}({r_{k}})=\text{ round }\left( \sum \limits _{i=1}^{L_{k-1}} {w_{{ S}^{\prime },k}^{({i_{1}})}}\right) +\text{ round }\left( \sum \limits _{i=L_{k-1}+1}^{L_{k-1}+J_{k}}{w_{{ B}^{\prime \prime },k}^{({i})}}\right) . \end{aligned}$$
(43)

Remark 3

In Eq. (43), we note that \(\tilde{N}_{k}({r_{k}})\) not only represents the number of the survival target and the newborn target, but also balances the number of the undetected target and that of the false alarm. Therefore, the particle weight assignment can inherently correct the number estimates of targets.

3.2 AGA

To pave the way toward the proposed filter, we also apply the AGA to reflect the dynamic state of targets. As we know, John Holland proposed the conventional genetic algorithm (GA) in 1975, where the probabilities of crossover and mutation were constant. It can possess hill-climbing properties essential for the MM optimization, but they are too vulnerable to achieve a local optimization. As a result, the conventional GA has slow convergent speed and premature phenomenon in actual applications. To deal with this problem, M. Srinvivas proposed the AGA in 1994, which is an approach for adapting operator probabilities in the conventional GA, where the probabilities of crossover and mutation are varied depending on the fitness value of solutions (Srinivas and Patnaik 1994; Ma et al. 2009; Yu and Yu 2015).

According to the SMC implementation of the MM-CPHD filter, the particle set can act as a population in the AGA, where each particle can be regarded as an individual. The population size is the number of individuals in a population, that is, the number of the required particles. Besides, the particle weight is an important function for both number and state estimates. Especially, the sum of the measurement-updated weights can represent the expected number of targets. Since the measurement-updated weight directly determines the filtering performance, we use it as the fitness function in the proposed AGA.

3.2.1 Selection

In the proposed AGA, we use the effective population size to represent the number of breeding particles in an actual population which would show the same amount of dispersion of allele frequencies under random genetic drift or the same amount of inbreeding as the population under consideration. Considering the assigned weight \(w_{m,k}^{(i)}\), we define the effective population size as follows:

$$\begin{aligned} N_{\mathrm{eff}} =\frac{1}{\sum \nolimits _{i=1}^{L_{k-1} +J_k } {( {w_{{ m},k}^{(i)} })^2} }. \end{aligned}$$
(44)

Usually, the AGA has convergence when the variance of \(w_{{ m},k}^{(i)} \) is less than the given threshold. Considering the computational complexity, we perform the AGA in the case of \(N_{\mathrm{eff}} \le {2( {L_{k-1} +J_{k}})}/3\). Otherwise, the AGA is neglected and it is not necessary that the AGA is executed in the measurement update step. Subsequently, we select a proportion of the existing populations to breed a new generation based on the fitness-based process during each successive generation, where the roulette wheel method is invoked and the weight \(w_{{ m},k}^{( i)} \) is set to the fitness function. The larger the weight, the more likely is the chromosome selected. Then, we define a random number R and add together the fitness of the populations until the sum is more than R. The last added individual \(\mathbf{x }_{k}^{(i)}\) is regarded as the selected one, and a copy is passed to the next generation (Dai et al. 2006; Wang et al. 2011). Due to the selection probability\(p_{s},\) the number of the selection particles can be set to \(p_{s}({L_{k-1}+J_{k}})\).

3.2.2 Crossover

We define the crossover probability as follows:

$$\begin{aligned} p_c =\left\{ {{\begin{array}{l@{\quad }l} {\rho _c \exp \left( {-\frac{\eta _c }{2}\left( {\frac{w_{{ m},k}^{( i)} -\bar{w}_{{ m},k}^{( i)} }{w_{{ m},k,\max }^{( i)} -w_{{ m},k}^{( i)} }}\right) ^2}\right) ,} &{} {w_{{ m},k}^{( i)} \ge \bar{w}_{{ m},k}^{( i)} } \\ {\rho _c ,} &{} {w_{{ m},k}^{( i)} <\bar{w}_{{ m},k}^{( i)} }, \\ \end{array} }} \right. \end{aligned}$$
(45)

where \(w_{{ m},k,\max }^{( i)} \) and \(\bar{w}_{{ m},k}^{( i)} \) are the maximum fitness value and the average fitness value, respectively, \(\eta _c \) is the crossover regulator that can adjust the convergent speed, and \(\rho _{c}\) is the coefficient.

In Eq. (45), we note that \(p_c \) keeps the uniform distribution \(\rho _c\) under the condition of \(w_{{ m},k}^{( i)} <\bar{w}_{{ m},k}^{( i)} \) and follows the exponent-conic distribution on the trailing edge. Besides, the value is adaptively adjusted with the related regulator \(\eta _c \) that can present the actual change of \(p_c\).

On the basis of \(p_c \), we choose a pair of particles \(\mathbf{x}_k^{( \alpha )} \) and \(\mathbf{x}_{k}^{(\beta )}\) from the selection particles to mate. The new particles are given by

(46)

where \(\zeta \) follows the uniform distribution in the period [0, 1], and the number of the crossover particles is set to \(p_{c} ({L_{k-1}+J_{k}})\).

3.2.3 Mutation

Assume \(\eta _{m}\) is the mutation regulator and \(\rho _{m}\) is the coefficient, then the mutation probability is given by

$$\begin{aligned} p_{m} =\left\{ {{\begin{array}{l@{\quad }l} {\rho _m \exp \left( {-\frac{\eta _m }{2}\left( {\frac{w_{{ m},k}^{( i)} -\bar{w}_{{ m},k}^{( i)} }{w_{{ m},k,\max }^{( i)} -w_{{ m},k}^{( i)} }}\right) ^2}\right) ,} &{}{w_{{ m},k}^{( i)} \ge \bar{w}_{{ m},k}^{( i)} } \\ {\rho _m ,} &{}{w_{{ m},k}^{( i)} <\bar{w}_{{ m},k}^{( i)} ,} \\ \end{array} }} \right. \end{aligned}$$
(47)

where the difference between \(\rho _{m}\) and \(p_{c}\) is \(\rho _{m} <\rho _{c}\).

According to \(\rho _{m}\), we can get the mutated particle \({\tilde{\mathbf {x}}}_{k}^{(i)} \) from the crossover particles

(48)

where \(m_{k}\) and \(l_{k}\) are the maximum and minimum of \({\tilde{\mathbf {x}}}_k^{( i)} \), \(\Gamma \) and \(\xi \) denote the iteration number and the mutation factor, respectively, and the number of the mutation particles is set to \(p_m ( {L_{k-1} +J_k })\). In addition, we consider the termination condition of the generation number \(\tau _k \). If \(\tau _{k}>{\Gamma }\), the AGA loop operation will terminate.

Remark 4

The proposed AGA makes full use of the particle information in each generation to adaptively maintain particle convergence. It chooses the perfect individual and then utilizes the crossover and mutation to generate new individual (Vo 2008). It also ensures the particle effectiveness and the particle diversity. A new solution shares the typical characteristics of its parents. New parents are selected for each offspring, and the process continues until a new particle is generated. The processing results in the next-generation particle of the chromosomes being different from the initial generation (Zhang et al. 2010, 2007). The average fitness increases in this process, since only the best organism from the first particle is selected for the breeding, along with a small proportion of the lesser one which ensures genetic diversity. Figure 1 illustrates the change of \(p_c \) or \(p_m ,\) respectively. As seen, the curve on the trailing edge of the conventional GA is linear, while the proposed AGA has the characteristics of being nonlinear on the trailing edge. With regard to the particles with lower weight, both the crossover and the mutation can generate the particles with larger weight. For the particles with larger weight, the fast impact of crossover and mutation should be properly reduced. The nonlinear variation of the curves also indicates that the crossover and the mutation look for the robust particle with the optimal fitness.

Fig. 1
figure 1

Curve of \(p_c \) or \(p_m \)

3.3 Computational step

Considering the particle set \(\{{\mathbf{x}}_{k-1}^{(i)} ,w_{k-1}^{(i)} ,r_{k-1}^{(i)}\}_{i=1}^{L_{k-1}} \) and the PHD \(D_{k-1} ({\mathbf{x}_{k-1},r_{k-1}})\) at scan \(k-1\), we summarize the recursion of the AG-MM-CPHD filter at scan k in Algorithm 1. Steps 2–4 describe the time-updated weight \(w_{k\vert k-1}^{( i)} \) when \(r_{k\vert k-1}^{( i)} \) and \(\mathrm{\mathbf{x}}_{k\vert k-1}^{( i)} \) are drawn. Especially in step 4, the expected time-updated number of targets \(N_{k\vert k-1} ( {r_k })\) and the time-updated cardinality distribution \(\rho _{k\vert k-1} ( {n,r_k })\) are obtained, respectively. The same method is also applied for calculation of the measurement-updated weight \(w_k^{*( i)} \) and the measurement-updated cardinality distribution \(\rho _k ( {n,r_k })\) in steps 5–6. Steps 7–9 compute the expected measurement-updated number of targets \(\tilde{N}_{k} ({r_{k}})\) using the modified weight \(w_{{ m},k}^{( i)} \) based on the particle weight assignment. The most important is the proposed AGA in steps 10–14. The selected particles \( \mathbf{{x}}_{k}^{(i)} \), the crossover particles \({ \mathbf{x}}_k^{( \alpha )} \) and \(\mathbf{x}_{k}^{(\beta )} \), and the mutation particles \({\tilde{\mathbf {x}}}_{k}^{(i)} \) are obtained based on the corresponding probabilities \(p_{s}\), \(p_{c}\) and \(p_{m}, \) respectively. In steps 15–16, a new particle set is achieved by the normalized weight \(w_{k}^{(i)} \). For the state estimation, the number estimates \(\hat{N}_k ( {r_k })\) and the state estimates \(\{{{\hat{\mathbf {x}}}_{k}^{(j)}}\}_{j=1}^{N_{k}} \) are obtained, respectively, in steps 17–18. Finally, the set \(\{ {\mathbf{x}_k^{(i)} ,w_{k}^{(i)} ,r_{k}^{(i)}} \}_{i=1}^{L_k} \) and the PHD \(D_k({\mathbf{x}_{k},{r_{k}} })\) at scan k are output in step 19.

figure a

4 Simulation results and discussions

This section presents the numerical study for the AG-MM-CPHD filter, and 100 Monte Carlo trials are performed to validate the tracking performance of the proposed filter. Our experimental environment was: Intel\(^\mathrm{TM}\) Core\(^{\mathrm{TM}}\) i5, 4 GB Memory, and MATLAB\(^{\mathrm{TM}}\) v8.0.

4.1 Scenario

In the scenario, three targets move in a two-dimensional surveillance region \([ {-100,1200} ]\times [ {-100,1800} ]\) m\(^{2}\).

  1. (i)

    Target 1 moves from the initial position (100, 0) m on 1\({\mathrm{st}}\) s at CV motion with the velocity of (50, 20) m s\(^{-1}\) for 6 s before executing 9\(^\circ \) s\(^{-1}\) CT motion for 9  s, and then returns the original CV motion until 40\({\mathrm{th}}\) s.

  2. (ii)

    Target 2 travels from the initial position (0, 0) m on 16\(\mathrm{th}\) s at CV motion with the velocity of (20, 50) m s\(^{-1 }\)for 20 s before executing \(-9^{\circ }\) s\(^{-1}\) CT motion for 10 s.

  3. (iii)

    Target 3 keeps CV motion with the velocity of (30, 20) m s\(^{-1}\) from the initial position (0, 500) m during 11\({\mathrm{th}}\)–50th s.

We use \({\mathbf {X}}_k =[ {{\mathbf {x}}_k ,{\mathbf {x}}_k ,{\mathbf {y}}_k ,{\mathbf {y}}_k } ]^\mathrm{T}\) to define the target motion state with the position \((\mathbf{x}_{k} ,\mathbf{y}_{k})\) and the velocity \(\dot{\mathbf{x}}_{k},\dot{\mathbf{y}}_{k}\), where \([\cdot ]^\mathrm{T}\) denotes the transposed matrix.

For the CV motion model \(( {r_k =1})\), the transition matrix is defined as

$$\begin{aligned} \mathbf{F}_{1k\vert k-1} =\left[ {{\begin{array}{l@{\quad }l@{\quad }l@{\quad }l} 1 &{} T &{} 0 &{} 0 \\ 0 &{} 1 &{} 0 &{} 0 \\ 0 &{} 0 &{} 1 &{} T \\ 0 &{} 0 &{} 0 &{} 1 \\ \end{array} }} \right] . \end{aligned}$$
(49)

For the CT motion model \(( {r_k =2})\), assume \(\omega _{k-1} \) is the turn rate, then the transition matrix is defined as

$$\begin{aligned} \mathbf{F}_{2,k\vert k-1} =\left[ {{\begin{array}{c@{\quad }c@{\quad }c@{\quad }c} 1 &{} {\sin \omega _{k-1} T/ {\omega _{k-1} }} &{} 0 &{} {{-({1-\cos \omega _{k-1} T})}/{\omega _{k-1}}}\\ 0 &{} {\cos \omega _{k-1} T} &{} 0 &{} {-\sin \omega _{k-1} T} \\ 0 &{} {{( {1-\cos \omega _{k-1} T})}/{\omega _{k-1}}} &{} 1 &{} {\sin \omega _{k-1} T/{\omega _{k-1} }} \\ 0 &{} {\sin \omega _{k-1} T} &{} 0 &{} {\cos \omega _{k-1} T} \\ \end{array} }} \right] . \end{aligned}$$
(50)

Further, the other matrices in Eqs. (1) and (2) are given by

$$\begin{aligned}&\mathbf{\Gamma }_{k} =\left[ {{\begin{array}{c@{\quad }c} {{T^{2}}/2} &{} 0 \\ T &{} 0 \\ 0 &{} {{T^{2}}/2} \\ 0 &{} T \\ \end{array}}}\right] ,\quad {\mathbf{W}_{k}\sim \mathcal {N}\left( {0,\left[ {{\begin{array}{c@{\quad }c} 1 &{} 0 \\ 0 &{} 1 \\ \end{array}}} \right] }\right) },\\&\mathbf{V}_{k}\sim \mathcal {N}\left( {0,\left[ {{\begin{array}{c} {0.01} \\ {0.01} \\ \end{array}}} \right] }\right) ,\quad \mathbf{H}_{k}=\left[ {{\begin{array}{c@{\quad }c@{\quad }c@{\quad }c} 1 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 1 &{} 0 \\ \end{array} }} \right] , \end{aligned}$$

where T is the sampling period that is set to 1 s, and \({\mathcal {N}}( \cdot )\) denotes the Gaussian distribution.

At scan k, the target-survival probability is \(p_{S,k} =0.97\). Let \(\text{ diag }( \cdot )\) denote the diagonal matrix; the intensity of the newborn target is given by

$$\begin{aligned} b_k ( {\mathbf{X}_{k}})=0.2\sum \limits _{i=1}^{3}{\mathcal {N}( {\mathbf{X}_{k};\mathbf{m}_{b}^{(i)} ,\mathbf{P}_{b}})}, \end{aligned}$$
(51)

where \(\mathbf{m}_{b}^{(1)} =\left[ {100,50,0,20} \right] ^\mathrm{T}\), \(\mathbf{m}_{b}^{(2)} =\left[ {0,20,0,50} \right] ^\mathrm{T}\), \(\mathbf{m}_{b}^{(3)} =\left[ {0,30,500,20} \right] ^\mathrm{T}\) and \(\mathbf{P}_{b}=\text{ diag }({\left[ {10,5,10,5} \right] })\).

Further, the sensor located on \((-100,-100)\) m has the probability of detection \(p_D =0.95\). The clutter is modeled as the Poisson distribution with the uniform density in the surveillance area, and the average number of clutters returns per scan is 1. Assume the initial probabilities for the CV motion model and the CT motion model are \(P_{\mathrm{CV}} =P_{\mathrm{CT}} =0.5\); the weight threshold is \(\varepsilon =0.5\), and the number of the required particles per target is \(\chi =200\). The regulators of the crossover and the mutation are \(\eta _c =\eta _m =10\), and the coefficient of the crossover and the mutation are \(\rho _c=1\) and \(\rho _m=0.5\). Considering the running time, we define the initial effective population size as \(N_{\mathrm{eff}}^{( 0)} =100\) and the termination condition as \(\Gamma =10\). The optimal subpattern assignment (OSPA) distance is used to evaluate the proposed filter and the referenced filter in Georgescu and Willet (2012). As we know, the OSPA distance is used to measure two filters. Let \(\mathbf{X}=\{{\mathbf{x}_{i}} \}_{i=1}^{g}\) be the ground truth track set and \({\hat{\mathbf {X}}}=\{{{\hat{\mathbf {x}}}_i } \}_{i=1}^{e} \) the estimated track set; the OSPA distance is given by

$$\begin{aligned} \left\{ {{\begin{array}{ll} \bar{d}_p^{( c)} \left( \mathbf{X},{\hat{\mathbf {X}}}\right) &{}\,\\ =\left( {\frac{1}{\left| {\hat{\mathbf {X}}}\right| }\left( {\mathop {\min } \limits _{\pi \in \Pi _{\left| {\hat{\mathbf {X}}} \right| } } \sum \limits _{i=1}^{\left| \mathbf{X} \right| } {d^{(c)}( \mathbf{x}_{i} ,{\hat{\mathbf {x}}}_{\pi (i)})^{p}} +c^{p}({| {\hat{\mathbf {X}}} |-\left| \mathbf{X} \right| })}\right) }\right) ^{1/p} &{} {\left| \mathbf{X} \right| \le \left| {\hat{\mathbf {X}}}\right| } \\ {\bar{d}_p^{( c)} ( {\mathbf{X},{\hat{\mathbf {X}}}})=\min ( {c,\Vert {\mathbf{x}}-{\hat{\mathbf {x}}} \Vert })} &{} {\left| \mathbf{X} \right| >\left| {\hat{\mathbf {X}}}\right| } \\ \end{array}}} \right. , \end{aligned}$$
(52)

where \(\Pi _{|{\hat{\mathbf {X}}}|} \) is the set of permutations in \({| {\hat{\mathbf {X}}} |}\), and c is the cutoff parameter that determines the sensitivity of divergence from the cardinality error, p is the order parameter that determines the sensitivity of localization error. There is \(\bar{d}_p^{( c)} ( {\mathbf{X},{\hat{\mathbf {X}}}})=0\) under the condition of \(|\mathbf{X} |=|{\hat{\mathbf {X}}}|=0\). Therefore, the OSPA distance presents both the target-number accuracy and the localization accuracy. As a result, the overall tracking accuracy decreases with the increasing OPSA distance. Here, the related parameters are \(p=2\) and \(c=350\).

4.2 Simulation results

Figure 2 demonstrates a three-target trajectory and the related measurements in the dense clutter area. It is obvious that Targets 1 and 2 are maneuvering and Target 3 is non-maneuvering in the two-dimensional coordinates. We note that the proposed filter can track all the targets in spite of the clutter interference.

Fig. 2
figure 2

Target trajectory and measurement

For simplicity, Fig. 3 shows the true trajectory and the state estimates by clutter suppression. In this figure, the junction points P1, P2 and P3 can be obviously observed. By analysis, we find that Target 1 is close to Targets 3 and 2 at P3 and P2 at the 23\(\mathrm{rd}\) s and 27\(\mathrm{th}\) s, Target 2 is nearing Targets 3 and 1 at P1 and P2 at the 29\(\mathrm{th}\) s and 38\(\mathrm{th}\) s, and Target 3 makes a stealthy approach to Targets 2 and 1 at P1 and P3 at the 20\(\mathrm{th}\) s and 29\(\mathrm{th}\) s. All the trajectories have no intersections in the surveillance region at a certain time. Both the referenced filter in Georgescu and Willet (2012) and the proposed filter can track three targets. The favorable performance of the proposed filter is more efficient. However, the standard MM-CPHD filter can describe the target trajectory with estimation error.

Fig. 3
figure 3

Target state estimates

Fig. 4
figure 4

Target number estimates

Fig. 5
figure 5

OSPA distance

The target number estimates are shown in Fig. 4. It can be seen that the referenced MM-CPHD filter has unstable number estimates. It overestimates a target at the 29\(\mathrm{th}\) s and underestimates a target at the 45\(\mathrm{th}\) s. The reason for the former can be because a clutter is close to Target 1 at the 29th s. The referenced filter mistakes this clutter for the appearing target due to the increasing weight of the newborn particle. For the latter, the sensor cannot collect any measurement in real time from Target 3 at the 45th s because of the actual probability of detection. Lesser measurement-updated weights lead to the undetected target. In contrast, the proposed filter compensates the undetected component of the survival particle when the weight of the newborn particle exceeds the weight threshold, which rectifies the exaggerated weight of the newborn particle. Simultaneously, the increasing weight of the survival particle is beneficial to the survival target. Therefore, the proposed filter produces estimation results essentially in agreement with the true number of targets.

Figure 5 demonstrates the OSPA distance of two filters. For the referenced filter, the OSPA distance is larger when the target number is incorrect at the 29\(\mathrm{th}\) s and 45\(\mathrm{th}\) s. In addition, the filter shows poor adaptation to the target maneuvers at the 7\(\mathrm{th}\) s, 18\(\mathrm{th}\) s and 36\(\mathrm{th}\) s. In the process of motion transition, there is a short adjustment time between the previous motion model and the current motion model. During this period, owing to lack of the diversity and robustness, the particle cannot immediately switch to the current model to approximate the actual state. Therefore, they deviate from the true target position to a certain extent. For example, since Targets 1 and 2 switch to the CT motion at the 18\(\mathrm{th}\) s and 36\(\mathrm{th}\) s, the related OSPA distance is larger. By comparison, the position deviation from the proposed filter is smaller, and the OSPA distance is limited to 73.58 m. This may be because the AGA improves the diversity and robustness. Many excellent particles concentrate on the true target. As a result, the OSPA distance decreases due to the reduced distance between the particles and the true target.

Table 1 Comparison of tracking performance

Table 1 shows the average comparison results of the tracking performance under the same scenario after 500 Monte Carlo trials. In this table, we can analyze the tracking performance of the referenced filter, the Rao-Blackwellized particle CPHD (RBPF-CPHD) tracker in Yang and Ji (2012) and the proposed filter. In terms of tracking efficiency, it can be found that the running time of the proposed filter is longer than that of two other filters. The reason is that the proposed filter has a natural mechanism for the particle weight assignment and AGA techniques in the MM framework, which is used as computational expensive tool for estimating the number and state of targets. For comparison, the RBPF-CPHD tracker saves the running time to the greatest extent, because it uses the RBPF method to reduce the state space and the only position components in the nonlinear state space using sampling particles. But above all, it utilizes the SM that saves computational cost. In terms of tracking reliability, two improved filters can improve the tracking accuracy. The investigation shows that the estimated target number of the referenced filter is the smallest owing to its inherent defect of undetected targets. Since it keeps the cardinal balance only when the number of false alarms is equal to that of undetected targets, the referenced filter has the maximal OSPA distance. For the RBPF-CPHD tracker, the track maintenance algorithm based on the cross entropy (CE) and RBPF techniques in the framework of CPHD filter was achieved, where the CE technique is utilized as a global optimization scheme to compute the optimal feasible associated event. As a result, it further improved the accuracy of the state estimates and the number estimates. By comparison, the proposed filter has promising performance for various dynamic targets under the different dynamic models such as maneuvering multitarget owing to the MM-based structure. Besides, the AGA is used to improve the target state estimation accuracy at the time of state switching with the excellent particles as well as the undetected component of the weight of survival particle is compensated to correct the number estimates of targets. From this table, we note that the proposed filter has the minimal OSPA distance with approximated number estimates. It also indicates that the proposed filter enhances the number estimation accuracy and the state estimation accuracy.As for the overall tracking performance, we can conclude that the proposed filter is acceptable for the MTT.

5 Conclusion

This paper has developed an improved MM version of the CPHD filter, which tracks the multitarget in the noisy set of measurements. The challenges lie in handling imprecise estimates of the existing MM-CPHD filter. Our work employs the particle weight assignment scheme and then the number of the false alarm and that of the missing target is corrected. Moreover, the particle impoverishment was alleviated using the AGA that provided the diversity and robust particles to reflect target maneuvers. The numerical study shows that the proposed filter has significant improvement in tracking performance with promising results. As future developments of this work, we plan to shorten the running time under the current tracking precision.