Skip to main content

Parameter estimation and tracking algorithm for resolvable group targets based on GLMB filter and RLS algorithm

Abstract

Current resolvable group targets tracking algorithms can only track a small number of group targets assuming the standard deviation vectors (SDVs) are known. Based on generalized labeled multi-Bernoulli filter, this paper first proposes a serial tracking algorithm, in order to save the computational cost of filter tracking large-batch and multi-structure group targets. Then, the least squares and the k-means algorithms are used to jointly estimate the SDVs and the group target states. The experimental simulation results verify the effectiveness of the proposed methods.

Introduction

With the progress of the sensor technologies and radar detection methods [1,2,3], multiple measurements may be gotten from a point source target. These measurements not only reflect the target state but also its shape. We call the target as an extended target [4]. Group targets are usually composed of multiple targets that cooperate with each other [5], and a group produces multiple measurements if each group member produces at least one measurement. In general, the extended target and the group targets have similar characteristics in dynamic modeling, state estimation, and shape estimation. Specifically, first, they have certain shapes and thus produce multiple measurements. Second, these measurements have close distance. For simplicity, we call these two kinds of targets as group targets and do not make any distinctions.

In the classical estimation theory approach, Koch and Feldmann et al. [6, 7] used random matrix estimation of second-order moments to obtain approximate elliptical shape and centroid of group targets in a Bayesian framework, but they focus on a single group targets without considering clutter. In contrast to using random matrices, Baum et al. [8,9,10] introduced the random hypersurface model, assuming that each measurement source is an element in a random hypersurface, and verified the applicability by elliptical-shaped targets. Literature [11] improved the estimation results of the star convex model for the shapes of group targets by introducing constraints. In reference [12], a random matrix-based Probability hypothesis density (PHD) filter was proposed to track multiple group targets. In 2005, Gilholm et al. proposed an group targets model based on Poisson distribution [13, 14], which treats the group model as a Poisson distribution rather than a point, and can estimate the group targets without constructing explicit association assumptions.

Random finite set (RFS) is another major theory to deal with group targets tracking problems. In 2009, Mahler proposed the extended target probability hypothesis density (ET-PHD) filter [15], which can estimate the states and the number of group targets. In 2011, Orguner et al. proposed the extended target cardinality probability hypothesis density (ET-CPHD) filter [16], which solves the sensitivity problem of the ET-PHD filter on the number of group targets. In addition, some other group targets tracking algorithms based on PHD filter have also been proposed in recent years, such as Gaussian mixture PHD (GM-PHD) filter [17] and Sequential Monte Carlo PHD (SMC-PHD) filter [18]. In addition to the PHD filter, the cardinality-balanced multi-target multi-Bernoulli (CBMeMBer) filter is also popular, and some scholars have been studying the filter to track group targets [19,20,21]. The above filters cannot estimate the trajectories of the targets. In 2013, Vo et al. proposed a Generalized Labeled Multi-Bernoulli (GLMB) filter [22], which can not only estimate the states and the number of the targets, but also estimate the trajectories of the targets. Reuter et al. improved the GLMB filter and proposed the Labeled Multi-Bernoulli (LMB) filter [23]. However, both the GLMB filter and the LMB filter can only track point targets. In 2015, Beard et al. proposed the gamma Gaussian inverse Wishart-LMB (GGIW-LMB) algorithm [24], which can estimate the number, states, and trajectories of the group targets. In the literature [25,26,27], graph theory is introduced to describe the relationship between group targets, and collaborative noise is proposed. Reference [28] proposed a resolvable group targets tracking algorithm based on graph theory and GLMB filter. In addition, some other group targets tracking algorithms based on GLMB filter have been proposed in recent years, such as literature [29] proposed a finite mixture modeling and tracking learning algorithm, literature [30] proposed a multi-extended targets tracking algorithm, and literature [31] proposed a multiple extended targets-based GLMB spline (ET-GLMB-S) filter.

The characteristics of large-batch and multi-structure group targets are mainly reflected in two aspects: large-batch means that there are a large number of subgroups; and multi-structure refers to many subgroups of different structure types. When tracking large-batch and multi-structure group targets, the data association between targets and measurements becomes very complicated due to the large number of group members and the close distances between target nodes. Therefore, the RFS-based tracking method is more suitable for tracking large-batch and multi-structure group targets. The ideal value of the difference between the states of the group members is called the standard deviation vectors(SDVs), and the parameters in this paper mainly refer to it. Least squares method is usually used to estimate the unknown parameters.

In the literature [25], a tracking algorithm for resolvable group targets is proposed, which considers the sum of deviation noise and process noise as collaborative noise, so that the GLMB filter can be applied to track resolvable group targets. The SDVs are assumed to be known in this algorithm, however, in practice the SDVs are often unknown; in addition, as the number of tracked group members increases, the computational cost of the GLMB algorithm increases exponentially during the prediction and update iterations, which makes the algorithm cannot directly track large-batch and multi-structure group targets. To deal with the problems above, some preliminary results were presented in [32], and this paper is a more complete version.

In this paper, we first use a serial GLMB filter to track large-batch and multi-structure group targets when the SDVs are known; then use a two-stage estimation method to jointly estimate the SDVs and the group target states. In addition, this paper introduces an average optimal sub-pattern assignment (OSPA) distance, to evaluate the performance of the filter tracking large-batch and multi-structure group targets. The paper is organized as follows: Sect. 2 introduces the foundations of L-RFS, graph theory, and recursive least squares (RLS); Sect. 3 models the motion model of group targets and shows the problem description; Sect. 4 introduces the algorithms; Sect. 5 conducts simulation experiments; Sect. 6 concludes the paper.

Background

This section briefly reviews the necessary background knowledge.

Notation

In this paper, some standard mathematical formulas and symbols are used: Generalized Kronecker can measure whether a given two sets are equal, which can be defined as follows:

$$\begin{aligned} \delta _{Y}\left( X\right) ={\left\{ \begin{array}{ll}1 &{} {\text{if}}\,X = Y\\ 0 &{} {\text{ otherwise }}\end{array}\right. } \end{aligned}$$
(1)

and the inclusion function, by:

$$\begin{aligned} 1_{Y}\left( X\right) ={\left\{ \begin{array}{ll}1, &{} {\text{if}}\,X \subseteq Y\\ 0, &{} {\text{ otherwise }}\end{array}\right. } \end{aligned}.$$
(2)

The inner product function used is expressed as follows:

$$\begin{aligned} \langle f,g\rangle \overset{\triangle }= \int _{}^{} f(x)g(x){\text{ d }}x \end{aligned}.$$
(3)

The exponential symbol of multi-objective is shown as follows:

$$\begin{aligned}&h^{X}\overset{\triangle }{=}\prod _{x\in X}h(x) \end{aligned}$$
(4)

especially,

$$\begin{aligned}&h^{\varnothing }=1 \end{aligned}$$
(5)

Labeled random finite sets (L-RFS)

At time k, if there are multiple targets, the states and number of targets can be represented by a RFS as: \(X_{k}=\left\{ x_{k,1},\cdots ,x_{k,N_k}\right\} \in {\mathcal{F}}\left( {\mathbb{X}}\right)\), where the states and number of targets are random, and thus the order in which they appear bears no significance. The random finite variable \({X_{k}}\) describes all the dynamic information of the targets, including the changes in the states of the targets, the disappearance of the targets, the appearance of new targets, etc. Similarly, the observation set of the targets represented by RFS is: \(Z_{k}=\left\{ z_{k,1},\cdots ,z_{k,M_k}\right\} \in {\mathcal{F}}({\mathbb{Z}})\). At time k, the measured RFS includes not only the measurement of the targets themselves, but also the clutter and missed detection. \({N_k}\) and \({M_k}\) represent the number of targets and the number of measurements at time k, respectively. \({\mathcal{F}}({\mathbb{X}})\) and \({\mathcal{F}}({\mathbb{Z}})\) represent a set composed of all finite subsets of \({\mathbb{X}}\) and \({\mathbb{Z}}\), respectively. \({Z_{k}^{g}\subseteq Z_k}\), \({Z_{k}^{g}}\) represents a set of measurements of the group targets at time k, \(Z_{k}^{g}=\left\{ z_{k,1}^{g},\cdot \cdot \cdot ,z_{k,m_k}^{g} \right\}\), where \({z_{k,m_k}^{g}}\) represents the measurement generated by the \({m_k}\)th group member at time k.

The labeled RFS indicates that the multi-target state \({\varvec{x}}\in {\mathbb{X}}\) in the set is expanded by adding a label \(l\in {\mathbb{L}}\), so as to characterize the uniqueness of the state in the set, where \({\mathbb{X}}\), \({\mathbb{L}}\) represents the state space and the label space, i.e., \({\varvec{x}}=\left( x,l \right)\), where \(l=\left( k,i \right)\), k is the target birth time and i is a positive integer, representing the new target index at this time. Therefore, a labeled RFS can be considered as a finite subset of \({\mathbb{X}} \times {\mathbb{L}}\).

Let \({\mathcal{L}}\): \({\mathbb{X}} \times {\mathbb{L}} \rightarrow {\mathbb{L}}\) be the mapping of label RFS to label value space, i.e., \({\mathcal{L}} \left( \left( x,l \right) \right) =l\). \({\mathcal{L}} \left( {\mathbf {X}} \right) =\left\{ {\mathcal{L}} \left( {\varvec{x}} \right) :{\varvec{x}}\in {\mathbf {X}} \right\}\) is the set of label values corresponding to \({\mathbf {X}}\). Because the target state and the label value are in one-to-one correspondence, the total number of targets should be equal to the total number of labels. Further, the following expressions can be used as label constraints:

$$\begin{aligned} \Delta \left( {\mathbf {X}} \right) =\left\{ \begin{array}{c} 1,\left| {\mathcal{L}}\left( {\mathbf {X}} \right) \right| =\left| {\mathbf {X}} \right| \\ 0,\left| {\mathcal{L}}\left( \varvec{{\mathbf {X}} } \right) \right| \ne \left| \varvec{{\mathbf {X}}} \right| \\ \end{array} \right. \end{aligned}.$$
(6)

Labeled multi-Bernoulli (LMB) RFS

The density of the labeled multi-Bernoulli RFS on the \({\mathbb{X}}\times {\mathbb{L}}\) is expressed as follows:

$$\begin{aligned}&\pi (\left\{ ({x}_{1},l_{1}),\ldots ,({x}_{n},l_{n})\right\} )=\delta _{n}(\mid \left\{ l_{1},\ldots ,l_{n}\right\} \mid )\\&\times \prod _{\zeta \in \psi }(1-r^{(\zeta )})\prod _{j=1}^n\frac{1_{\alpha (\psi )}(l_{j})r^{({\alpha ^{-1}(l_{j})})}p^{({\alpha ^{-1}(l_{j})})}({x}_{j})}{1-r^{({\alpha ^{-1}(l_{j})})}} \end{aligned}$$
(7)

and for convenience the abbreviated \(\pi =\left\{ \left( r^{(\zeta )},p^{(\zeta )}\right) \right\} _{\zeta \in \psi }\) is usually used for the density of an LMB RFS.

GLMB RFS

The density of the GLMB RFS on the \({\mathbb{X}}\times {\mathbb{L}}\) is expressed as follows:

$$\begin{aligned} \pi ({{\textbf{X}}})=\triangle ({{\textbf{X}}})\sum _{c\in {\mathbb{C}}}\omega ^{(c)}(\mathcal{L}({{\textbf{X}}}))\left[ p^{(c)}\right] ^{{\textbf{X}}} \end{aligned}$$
(8)

where \({{\mathbb{C}}}\) is a discrete space, \({\omega ^{(c)}(L)}\) represents the weight coefficient, \({p^{(c)}}\) represents the probability density function, and satisfy: \(\sum _{L\in {\mathbb{L}}}\sum _{c\in {\mathbb{C}}}\omega ^{(c)}(L)=1, \int _{}^{} p^{(c)}(x,l){\text{ d }}x=1.\)

Graph theory

The collaborative relationship between group targets is very similar to graph theory, which provides the theoretical basis for dealing with the dependencies within group targets. At time k, the graph is composed of some vertices and the lines between them, which are called edges. The graph is usually described as: \({G_{k}=(V_{k},E_{k})}\), where \({V_{k}=\left\{ v_{k,1},\ldots ,v_{k,N_k}\right\} }\) represents vertex set; \({E_{k}=V_{k}\times V_{k}}\) represents the edge of the graph, which represents the dependency between two vertices. According to whether the edge has direction, the graph can be divided into directed graph and undirected graph. Adjacency matrix can describe whether there is a relationship between vertices in the graph, as shown in Eq. (9). The adjacency matrix of a directed graph is asymmetric, while the adjacency matrix of an undirected graph is symmetric.

$$\begin{aligned} \varvec{A_{d}}=\begin{bmatrix}0 &{} \cdots &{}a(1,n) \\ \vdots &{} \ddots &{} \vdots \\ a(n,1) &{}\cdots &{}0\end{bmatrix} \end{aligned}.$$
(9)

In this paper, the adjacency matrix of digraph is used to describe the parent–child relationship between targets. When the \({i_m}\)th target is the parent node of the \({i_n}\)th target, \({a(m,n)=1}\), and in other cases, \({a(m,n)=0}\). For example, if the group relationship composed of three targets is shown in Fig. 1, the adjacency matrix of the group is expressed as:

$$\begin{aligned} \varvec{A_{d}}=\begin{bmatrix}0 &{} 1 &{}0\\ 0 &{} 0 &{}1 \\ 0 &{} 0 &{}0\end{bmatrix} \end{aligned}.$$
(10)

From the perspective of graph theory, the vertices in graph theory are composed of group elements, and the edges of the graph imply the dependent relation between group elements. When there are many groups, these groups can be regarded as forests in the graph theory.

Fig. 1
figure 1

Structural model of group targets

Recursive least squares(RLS)

Estimating the SDVs between group members can be regarded as a problem of estimating unknown parameters when the measurements of the group members are known. Least squares method is a mathematical optimization technique. It finds the best functional match of the data by minimizing the sum of squares of the difference between the output of the measurement model and the output of the actual measurement data. It requires data at all times when estimating unknown parameters, therefore it is only suitable for offline estimation. Recursive least squares can estimate these unknown parameters online using the estimated values from the previous step and the measured values from the current step.

For linear equations:

$$\begin{aligned} y_{k}=h_{k}x+\upsilon _{k} \end{aligned}$$
(11)

where \({y_{k}}\) and \({h_{k}}\) represent the observed data and the observation matrix at time k, respectively, x represents the parameter to be estimated, and \({\upsilon _{k}}\) represents the observation noise at time k.

The least squares method can be expressed as:

$$\begin{aligned} {\widehat{x}} =\mathop {{\text{ argmin }}}\limits _{x}\sum _{k=1}^n(y_{k}-h_{k}x)^{T}(y_{k}-h_{k}x) \end{aligned}.$$
(12)

From the above equation, it can be seen that the least squares method requires data at all times to estimate the parameters, while the recursive least squares method can estimate the parameters online and its steps can be described as [33]:

$$\begin{aligned} K_{k}=\frac{P_{k-1}h_k^{T}}{r_{k}+h_{k}P_{k-1}h_k^{T}} \end{aligned}$$
(13)
$$\begin{aligned} P_{k}=(I-K_{k}h_{k})P_{k-1} \end{aligned}$$
(14)
$$\begin{aligned} {\widehat{x}}_{k}={\widehat{x}}_{k-1}+K_{k}(y_{k}-h_{k}{\widehat{x}}_{k-1}) \end{aligned}$$
(15)
$$\begin{aligned} r_{k}=\frac{1}{k}\left\{ (k-1)r_{k-1}+[P_{k}-h_k^{T}{\widehat{x}}_{k-1}][P_{k}-h_k^{T}{\widehat{x}}_{k-1}]^{T}\right\} \end{aligned}$$
(16)

where \({K_{k}}\) represents the gain of RLS at time k, \({\widehat{x}}_{k}\) represents the parameter estimated at time k, \({P_{k}}\) represents the covariance matrix at time k, and \({r_{k}}\) represents the variance of the measurement noise at time k.

Problem description

The dynamic models of resolvable group targets

In a linear motion scenario, if the ith member has multiple parent nodes, its motion model is modeled as follows:

$$\begin{aligned} x_{k+1,i}=\sum _{l\in {P}(i)}w_{k}(l,i)\left[ F_{k,l}x_{k,l}+b_{k}(l,i)\right] +B_{k,i}\omega _{k,i} \end{aligned}$$
(17)
$$\begin{aligned} z_{k+1,i}=H_{k+1}x_{k+1,i}+v_{k+1,i} \end{aligned}$$
(18)
$$\begin{aligned} x_{k,i}\in X_{k}, \sum _{l\in {P}(i)}w_{k}(l,i)=1,\omega _{k}(l,i)\in \left[ 0,1\right] \end{aligned}$$
(19)

where \({x_{k+1,i}}\) represents state of the target i at time \({k+1}\), including the position and speed; \({z_{k+1,i}}\) denotes the measurement of the target i at time \({k+1}\); l represents the parent node of the target i, \({b_{k}(l,i)}\) is the SDV between the target i and its parent node l. P(i) denotes a set of all parent nodes of the target i, \({w_{k}(l,i)}\) is the weight coefficient. \({F_{k,i}}\) and \({H_{k+1}}\) represent the state transition matrix and the observation matrix, respectively, and \({B_{k,i}}\) is a matrix of process noise, Both \({\omega }\) and \({\upsilon }\) obey normal distributions, they represent process noise and observation noise, respectively.

If a target has no parent node, it is called the head node. The head node’s motion is not affected by other targets. Therefore, the \({b_{k}(l,i)=0}\) in the head node motion model, linear motion model of the head node is:

$$\begin{aligned} x_{k+1,i}=F_{k,i}x_{k,i}+B_{k,i}\omega _{k,i} \end{aligned}.$$
(20)

If the target has only one parent node, its linear motion model is:

$$\begin{aligned} {x_{k+1,i}=F_{k,l}x_{k,l}+b_{k}(l,i)+B_{k,i}\omega _{k,i}} \end{aligned}.$$
(21)

Group targets are trending toward a larger number and more complex structure. When tracking large-batch and multi-structure group targets, it is necessary to not only estimate the number, states, and trajectories of each subgroup members, but also estimate the number of groups and the structures of each subgroup. Assuming that \({{\overline{g}}_k}\) subgroups appear at time k, \(X_{k}=\left\{ X_{k,1},\ldots X_{k,{{\overline{g}}_k}}\right\}\), the problem of estimating all group members can be described as:

$$\begin{aligned} {\hat{X}}_{k,g}=\mathop {{\text{ argmax }}}\limits _{X_{k,g}}P(X_{k,g}\mid Z_{k}) \end{aligned}$$
(22)
$$\begin{aligned} X_{k,g}=\left\{ x_{k,g}^1,\ldots ,x_{k,g}^{n_{g}}\right\} \end{aligned}$$
(23)
$$\begin{aligned} {\hat{X}}_k=\bigcup _{g=1}^{{\overline{g}}_k}{{\hat{X}}_{k,g}} \end{aligned}.$$
(24)

\({\hat{X}}_{k,g}\) represents the estimation of the gth subgroup at time k, including the number, states, and trajectories of the subgroup members. \({{\hat{X}}_k}\) represents the estimation of the states of all group members at time k. \({Z_{k}}\) represents the measurement RFS at time k, \({X_{k,g}}\) represents the states and number of all members of the gth subgroup at time k, \({x_{k,g}^{n_{g}}}\) represents the state of the \({n_{g}}\)th member in the gth subgroup at time k.

Estimating parameters problem description

In current resolvable group target tracking algorithms, it is assumed that the SDV between parent target and child target is known; but in practice, the SDV is often unknown due to the influence of observer accuracy and other factors such as environment. If the SDV is estimated, on the one hand, the roles of each target can be further inferred; on the other hand, the states of group members can be estimated more accurately. The relationship between the parent–child nodes and the SDV at time k can be described as:

$$\begin{aligned} x_k^l-x_k^i=b_{k}(l,i) \end{aligned}$$
(25)

where \({x_k^l}\) and \({x_k^i}\) represent the states of parent node l and child node i at time k, respectively.

From Eq. (25), it can be seen that if want to get the \(b_{k}(l,i)\), we have to get the states of the parent node and child node first. However, due to there is a cooperative relationship between group members, the current algorithm cannot estimate the state of the child node, so it is also impossible to estimate the \(b_{k}(l,i)\) in advance. It is assumed that there are \({{\overline{g}}_k}\) subgroup centers \(O_k=\left\{ o_{k,1},\ldots ,o_{k,{{\overline{g}}_k}} \right\}\) consisting of \({N_k}\) group members \(X_k=\left\{ x_{k,1},\ldots x_{k,N_k} \right\}\) at time k. Estimated the SDVs can be described by the equation:

$$\begin{aligned} {\hat{b}}_k=\underset{{b}_k}{{\text{ argmax }}}P\left( {{b}_k}\left| Z_k,O_k \right. \right) \end{aligned}$$
(26)
$$\begin{aligned} b_{k}=\bigcup _{1\le i \le n_{k},1\le j \le n_{k},i\ne j}b_{k}(i,j) \end{aligned}.$$
(27)

\({O_k}\) represents a set of all subgroup centers at time k, \({o_{g,k}\in O_k}\) represents the position of the gth subgroup center at time k, \({Z_k}\) represents the measurement RFS at time k, and \({b_k}\) is the estimated parameters.

Methods

Algorithm for large-batch and multi-structure group targets tracking when SDVs are known

Tracking Large-batch and multi-structure group targets require a lot of computing cost. To save the computing cost, we could divide them into multiple subgroups for serial tracking, as shown in Fig. 2. Serial refers to tracking n subgroups successively at a step, which needs to be tracked n times.

Fig. 2
figure 2

Serial tracking algorithm for large-batch and multi-structure group targets

Estimate number of subgroups

  1. (1)

    Estimate deviation matrix: \({Z}_{k}=\left\{ {z}_{k,1},\ldots ,{z}_{k,n_k}\right\}\) represents the measurement of the group members at time k. The deviation matrix is introduced to represent the difference between the state estimates of each target:

    $$\begin{aligned} \varvec{D_{k}({Z}_{k})}=\begin{bmatrix}0 &{} d_{k}(1,2) &{}\cdots &{} d_{k}(1,n_{k})\\ d_{k}(2,1) &{} 0&{} \cdots &{}d_{k}(2,n_{k}) \\ \vdots &{}\vdots &{}\ddots &{}\vdots \\ d_{k}(n_{k},1)&{}d_{k}(n_{k},2)&{}\cdots &{}0\end{bmatrix} \end{aligned}$$
    (28)

    where \({d_{k}(i,j)}\) is defined as the 2 norm of the vector (ij):

    $$\begin{aligned} d_{k}(i,j)=\parallel {z}_{k,i}-{z}_{k,j}\parallel _{2},\qquad i\ne j\ \end{aligned}.$$
    (29)

    In this paper, we obtain the adjacency matrix for each time by:

    $$\begin{aligned} {\hat{A}}_{dk}(i,j)={\left\{ \begin{array}{ll}1, &{} d_{k}(i,j) \le d_{\lambda },\,i\ne j\\ 0, &{} {\text{ otherwise }}\end{array}\right. } \end{aligned}$$
    (30)

    where \({d_{\lambda }}\) represents the threshold value of \({d_{k}(i,j)}\), and when the 2 norm between target i and target j is less than the threshold value \({d_{\lambda }}\), the two targets are considered to belong to the same subgroup.

  1. (2)

    Estimation of the number of subgroups

    Due to the cooperative relationship between group members, the state of one member can be represented by the states of other members, and this relationship can be described by linear dependence. The linear dependence can be expressed by the formula:

    $$\begin{aligned} v_{n}={k_{1}}{v_{1}+{k_{2}}v_{2}+\cdots +{k_{n-1}}}v_{n-1} \end{aligned}$$
    (31)

    where \({\left\{ k_{1},k_{2},\ldots ,k_{n-1}\right\} }\) is the set of weight coefficients, and at least one of them is not equal to zero; \({\left\{ v_{1},v_{2},\ldots ,v_{n}\right\} }\) is the set of matrices or vectors.

    Without considering the process noise \({B_{k,i}}\), Eq. (17) can be expanded as follows:

    $$\begin{aligned} x_{k+1,i}=\omega _{1}\left[ F_{k,1}x_{k,1}+b_{k}(1,i)\right] +\omega _{2}\left[ F_{k,2}x_{k,2}+b_{k}(2,i)\right]\\ +\cdots +\omega _{n}\left[ F_{k,n}x_{k,n}+b_{k}(n,i)\right] \end{aligned}$$
    (32)

    let \({F_{k,m}x_{k,m}+b_{k}(m,i)=x_{m},\,\,m=1,2,\ldots ,n}\), then formula (32) reduces to:

    $$\begin{aligned} x_{k+1,i}=\omega _{1}x_{1}+\omega _{2}x_{2}+\cdots +\omega _{n}x_{n} \end{aligned}.$$
    (33)

    From Eqs. (31) and (33), it can be seen that the members in the same subgroup are linearly dependence.

    Eigenvectors corresponding to different eigenvalues are linearly independent. The number of subgroups can be estimated by calculating the number of eigenvectors of the deviation matrix.

Estimation of group members

The GLMB filter can estimate the number, states, and trajectories of independent targets. However, there are dependencies between group members. In other words, the states of targets are not independent of each other. In order to analyze the relationship between Eqs. (17) and (20), the true deviation variable \({{\check{b}}_{k}(l,i)}\) is introduced [25]. The relationship between true deviation vector and the SDV is shown in Fig. 3.

Fig. 3
figure 3

The relationship between true deviation vector and the SDV

In Fig. 3, the ellipse represents the difference between true deviation vector and the SDV. \({{\check{b}}_{k}(l,i)}\) represents the real offset between the target i and its parent node l at time k, that is:

$$\begin{aligned} x_{k,i}=x_{k,l}+{\check{b}}_{k}(l,i) \end{aligned}$$
(34)

combining Eqs. (34) and (17), we can get the following formula:

$$\begin{aligned} x_{k+1,i}=\sum _{l\in {{P}(i)}}\omega _{k}(l,i)F_{k,l}x_{k,i}+\sum _{l\in {{P}(i)}}\omega _{k}(l,i)\left[ b_{k}(l,i)-F_{k,l}(x_{k,i}-x_{k,l})\right] +B_{k,i}\omega _{k,i} \end{aligned}$$
(35)

In general, we assume that the state transition matrix of target in the same subgroup is the same, i.e., \({F_{k,l}=F_{k}}\). The above formula can be simplified as:

$$\begin{aligned}&\ x_{k+1,i}=F_{k}x_{k,i}+\triangle b_{k,i}+B_{k,i}\omega _{k,i}\\&\triangle b_{k,i}=\sum _{l\in {{P}(i)}}\omega _{k}(l,i)\left[ b_{k}(l,i)-F_{k}{\check{b}}_{k}(l,i)\right] \end{aligned}$$
(36)

where \({\triangle b_{k,i}}\) can be seen as a displacement noise between group members, which reflects the dependency between group members. Different from Eqs. (20), (36) involves process noise \({\omega _{k,i}}\) and displacement noise \({\triangle b_{k,i}}\). Together, the two noises are called collaboration noise \({\omega _{k,i}^o}\), i.e., \({\omega _{k,i}^o=\triangle b_{k,i}+B_{k,i}\omega _{k,i}}\). We can replace the original state noise \({\omega _{k,i}}\) with collaboration noise \({\omega _{k,i}^o}\) in GLMB filter, so that GLMB filter can work normally.

Since the GLMB algorithm requires a large computational cost to implement, we use the \({\delta }\)-GLMB filter for computational convenience:

$$\begin{aligned} \pi ({{\textbf{X}}})=\triangle ({{\textbf{X}}})\sum _{(I,\xi )\in {{{\mathcal{F}}}}({\mathbb{L}})\times \varXi }w^{(I,\xi )}\times \delta _{I}({\mathcal{L}}({{\textbf{X}}}))\left[ p^{(\xi )}\right] ^{{{\textbf{X}}}} \end{aligned}.$$
(37)

The \({\delta }\)-GLMB filter tracks multiple targets in two parts: the prediction step and the update step.

Prediction step:

$$\begin{aligned} \pi _{+}({{\textbf{X}}}_{+})=\triangle ({{\textbf{X}}}_{+})\sum _{(I_{+},\xi )\in F({\mathbb{L}}_{+})\times \varXi }w_{+}^{(I_{+},\xi )}\times \delta _{I_{+}}({\mathcal{L}}({{\textbf{X}}}_{+}))\left[ p_+^{(\xi )}\right] ^{{{\textbf{X}}}_{+}} \end{aligned}$$
(38)

where

$$\begin{aligned} {{w_ + }^{\left( {{I_ + },\xi } \right) } = {w_B}\left( {{I_ + } \cap {\mathbb{B}}} \right) {w_s}^{\left( \xi \right) }\left( {{I_ + } \cap {\mathbb{L}}} \right) } \end{aligned}$$
(39)
$$\begin{aligned} {{p_ + }^{\left( \xi \right) }\left( {x,\ell } \right) = {1_{{\mathbb{L}}}}\left( \ell \right) p_S^{\left( \xi \right) }\left( {x,\ell } \right) + \left( {1 - {1_{{\mathbb{L}}}}\left( \ell \right) } \right) {p_B}\left( {x,\ell } \right) } \end{aligned}$$
(40)
$$\begin{aligned} {p_S^{\left( \xi \right) }\left( {x,\ell } \right) = \frac{{\left\langle {{p_S}\left( { \cdot ,\ell } \right) f\left( {x| \cdot ,\ell } \right) ,{p^{\left( \xi \right) }}\left( { \cdot ,\ell } \right) } \right\rangle }}{{\eta _S^{\left( \xi \right) }\left( \ell \right) }}} \end{aligned}$$
(41)
$$\begin{aligned} {\eta _S^{\left( \xi \right) }\left( \ell \right) = \int {\left\langle {{p_S}\left( { \cdot ,\ell } \right) f\left( {x| \cdot ,\ell } \right) ,{p^{\left( \xi \right) }}\left( { \cdot ,\ell } \right) } \right\rangle {\text{ d }}x} } \end{aligned}$$
(42)
$$\begin{aligned} {{w_S}^{\left( \xi \right) }\left( L \right) = {{\left[ {\eta _S^{\left( \xi \right) }} \right] }^L}\sum \limits _{I \subseteq {\mathbb{L}}} {{1_I}\left( L \right) } {{\left[ {{q_S}^{\left( \xi \right) }} \right] }^{I - L}}{w^{\left( {I,\xi } \right) }}} \end{aligned}$$
(43)
$$\begin{aligned} {{q_S}^{\left( \xi \right) }\left( \ell \right) = \left\langle {{q_S}\left( { \cdot ,\ell } \right) ,p_S^{\left( \xi \right) }\left( { \cdot ,\ell } \right) } \right\rangle } \end{aligned}$$
(44)

where \({w_B}\left( {{I_ + } \cap {\mathbb{B}}} \right)\) denotes the weight of the newborn label \({ {{I_ + } \cap {\mathbb{B}}}}\), \({w_s}^{\left( \xi \right) }\left( {{I_ + } \cap {\mathbb{L}}} \right)\) denotes the weight of the surviving label \({ {{I_ + } \cap {\mathbb{B}}}}\). \({{p_B}\left( {\cdot ,\ell } \right) }\) denotes the probability density of the newborn target, the density \({{p_s^{\left( \xi \right) }\left( {x,\ell } \right) }}\) of the surviving target is obtained from the prior density \({{p_S}\left( {\cdot ,\ell } \right) }\), and \({f\left( {x| \cdot ,\ell } \right) }\) denotes the probability density of the surviving target.

Update step:

$$\begin{aligned} \pi \left( {{{{{\textbf{X}}}|{Z}}}} \right) \mathrm{{ = }}&\Delta \left( {{{{\textbf{X}}}}} \right) \sum \limits _{\left( {I,\xi } \right) \in {{{\mathcal{F}}}}\left( {{\mathbb{L}}} \right) \times \Xi } {\sum \limits _{\theta \in \Theta } {{w^{\left( {I,\xi ,\theta } \right) }}\left( Z \right) } }\times {\delta _I}\left( {{{{\mathcal{L}}}}\left( {{{{\textbf{X}}}}} \right) } \right) {\left[ {{p^{\left( {\xi ,\theta } \right) }}\left( { \cdot |Z} \right) } \right] ^{{{{\textbf{X}}}}}} \end{aligned}$$
(45)

where \(\Theta\) is the space of mapping \(\theta\):\({\mathbb{L}}\rightarrow \left\{ {0,1 \cdots ,\left| Z \right| } \right\}\), \(\theta \left( i \right) = \theta \left( {i'} \right) > 0\) denotes \(i = i'\). \({ \Theta ^{(M)}=\left\{ \xi ^{(1)},\ldots ,\xi ^{(M)}\right\} }\) denotes the M elements of \({\Theta }\) in a fixed \({(I,\xi )}\) at maximum weight \({w^{(I,\xi ,\theta ^{(i)})}}\). Its associated parameters are defined as follows:

$$\begin{aligned} {w^{\left( {I,\xi ,\theta } \right) }}\left( Z \right) = \frac{{{\delta _{{\theta ^{ - 1}}\left( {\left\{ {0:\left| Z \right| } \right\} } \right) }}\left( I \right) {w^{\left( {I,\xi } \right) }}{{\left[ {\eta _Z^{\left( {\xi ,\theta } \right) }} \right] }^I}}}{{\sum \limits _{\left( {I,\xi } \right) \in {{{\mathcal{F}}}}\left( {{\mathbb{L}}} \right) \times \Xi } {\sum \limits _{\theta \in \Theta } {{\delta _{{\theta ^{ - 1}}\left( {\left\{ {0:\left| Z \right| } \right\} } \right) }}\left( I \right) {w^{\left( {I,\xi } \right) }}{{\left[ {\eta _Z^{\left( {\xi ,\theta } \right) }} \right] }^I}} } }} \end{aligned}$$
(46)
$$\begin{aligned} {p^{\left( {\xi ,\theta } \right) }}\left( {x,\ell |Z} \right) = \frac{{{p^{\left( \xi \right) }}\left( {x,\ell } \right) {\psi _Z}\left( {x,\ell ;\theta } \right) }}{{\eta _Z^{\left( {\xi ,\theta } \right) }\left( \ell \right) }} \end{aligned}$$
(47)
$$\begin{aligned} {\eta _Z^{\left( {\xi ,\theta } \right) }\left( \ell \right) } = \left\langle {{p^{\left( \xi \right) }}\left( { \cdot ,\ell } \right) ,{\psi _Z}\left( { \cdot ,\ell ;\theta } \right) } \right\rangle \end{aligned}$$
(48)
$$\begin{aligned} {\psi _Z}\left( {x,\ell ;\theta } \right) =&{\delta _0}\left( {\theta \left( \ell \right) } \right) {q_D}\left( {x,\ell } \right) +\left( {1 - {\delta _0}\left( {\theta \left( \ell \right) } \right) } \right) \frac{{{p_D}\left( {x,\ell } \right) g\left( {{z_{\theta \left( \ell \right) }}|x,\ell } \right) }}{{\kappa \left( {{z_{\theta \left( \ell \right) }}} \right) }} \end{aligned}$$
(49)

where \({P_{D}(x\mid \ell )}\) is the detection probability, \({g(\cdot \mid x,\ell )}\) is the likelihood function, and \({\kappa (\cdot )}\) is the clutter intensity.

Estimation of group structure

The adjacency matrix obtained in 4.1.1 is symmetric, and the graph obtained from the symmetric adjacency matrix is an undirected graph, which cannot describe the parent–child relationship between members. In this paper, we use the inner product of velocity and position offset vectors between nodes to further describe the parent–child relationship. Specifically, if the inner product is positive, the target is the parent node, and if it is negative, the target is the child node. That is:

$$\begin{aligned} V_{i}=[\dot{P}_{i,x},\dot{P}_{i,y}]^{T} \end{aligned}$$
(50)
$$\begin{aligned} \triangle d_{i,j}=[P_{i,x}-P_{j,x},P_{i,y}-P_{j,y}]^{T} \end{aligned}$$
(51)
$$\begin{aligned} \alpha _{k}=\langle V_{i},\triangle d_{i,j} \rangle \end{aligned}$$
(52)

where \({V_{i}}\) denotes the velocity of target i, \({\triangle d_{i,j}}\) denotes the position offset vector between target i and target j, \({\alpha _{k}}\) represents the inner product of velocity and position offset vectors. The results are divided into the following 3 cases:

$$\begin{aligned} \alpha _{k}={\left\{ \begin{array}{ll}>0 &{} {\text{ parent }}\, {\text{ node }}\\ <0 &{} {\text{ child }} \,{\text{ node }}\\ 0&{} {\text{ unknown }}\end{array}\right. } \end{aligned}.$$
(53)

For example, in Fig. 4, target A is the parent node of target B.

Fig. 4
figure 4

The velocity \({V_{A}}\) and position vector \({P_{A}}\) of target A, and the velocity \({V_{B}}\) and position vector \({P_{B}}\) of target B

Definition 1:

Let \({G_{1}=(V_{1},E_{1})}\) and \({G_{2}=(V_{2},E_{2})}\) be two graphs. We call \({G_{1}}\) and \({G_{2}}\) isomorphic, and write \({G_{1}\simeq G_{2}}\), if there exists a bijection \({\phi }\): \({V_{1}\rightarrow V_{2}}\) with side \({v_{i}v_{j}\in E_{1}\Leftrightarrow \phi (v_{i})\phi (v_{j})\in E_{2}}\) for all \({v_{i},v_{j}\in V_{1}}\).

Since the members of target state set have no any significance with the sequence, the same group targets may have different adjacency matrix. We introduce the concept of isomorphism to judge whether two different adjacency matrices describe the same group. The isomorphism of the adjacency matrix can be judged by matrix equivalence, if the adjacency matrix A and the adjacency matrix B are isomorphic, there exists a replacement matrix P with \({{\text{ PAP }}^{-1}=B}\).

A pseudocode of the Serial tracking algorithm for large-batch and multi-structure group targets is provided in Algorithm 1.

figure a

Joint estimation algorithm of SDVs and target states

In this paper, a two-stage estimation algorithm is proposed to jointly estimate the states of the group members and the SDVs. In the first stage, the states of the subgroup centers are estimated. In the second stage, the states of the group members and the SDVs are estimated. The specific flow of the algorithm is shown in Fig. 5.

Fig. 5
figure 5

Two-stage estimation algorithm

Tracking of subgroup centers based on k-means clustering and GLMB algorithm

In this paper, k-means clustering and GLMB algorithm are used to estimate the states of subgroup centers. At time k, assume that the group targets’ measurement set is \({Z_{k}^{g}=\left\{ z_{k,1}^{g},\ldots ,z_{k,m_k}^{g} \right\} }\), the mixing distribution function of the ith member is shown below:

$$\begin{aligned} f\left( z_{k,i}^{g}\left| \varTheta _k \right. \right) =\omega _{k,1}f\left( z_{k,i}^{g}\left| \theta _{k,1} \right. \right) +\cdot \cdot \cdot +\omega _{k,{\overline{g}}_k}f\left( z_{k,i}^{g}\left| \theta _{k,{\overline{g}}_k} \right. \right) \end{aligned}$$
(54)

where \({\left\{ \theta _{k,1},\ldots ,\theta _{k,{\overline{g}}_k} \right\} }\) represents the parameters of each distribution element, and \({\left\{ \omega _{k,1},\ldots ,\omega _{k,{\overline{g}}_k} \right\} }\) represents the mixture weights of each element, \({\overline{g}}_k\) represents the number of subgroups at time k.

It is assumed that all measurements consist of group members and clutter, i.e., \({Z_k=Z_{k}^{g}\cup Z_{k}^{c}}\), \({Z_{k}^{c}}\) represents the set of clutter measurements. It is assumed that the group members obey multiple Gaussian distributions, and the clutter obeys a uniform distribution. The mixture distribution of ith measurement can be expressed as:

$$\begin{aligned} f\left( z_{k,i}\left| \varTheta _k \right. \right) =\omega _{k,0}U\left( z_{k,i}\left| V_k \right. \right) +\omega _{k,1}N\left( z_{k,i};\mu _{k,1},D_{k,1} \right) +\cdot \cdot \cdot +\\ \omega _{k,{\overline{g}}_k}N\left( z_{k,i};\mu _{k,{\overline{g}}_k,}D_{k,{\overline{g}}_k} \right) \end{aligned}.$$
(55)

The purpose of clustering using k-means is to divide the measurements into the most probable classes. Introducing a label variable \({\mathcal{E}}_k=\left\{ 0,1,\ldots ,{\overline{g}}_k\right\}\), 0 denotes clutter label. The complete set of measurements can be expressed as: \(Z_{k}=\left\{ \left( z_{k,0},e_{k,0} \right) ,\ldots ,\left( z_{k,M_k},e_{k,M_k} \right) \right\}\). \({\left( z_{k,j},e_{k,j} \right) }\) represents the jth measurement originating from the \({e_{k,j}}\) class at time k. The specific steps of the k-means algorithm [34] are as follows:

  1. (1).

    Initialize the positions of the \({{\overline{g}}_k}\) clustering centers at time k, \({{c}_{k,1},\ldots ,{c}_{k,{\overline{g}}_k}}\).

  2. (2).

    Let \({\mathcalligra{f}}\): \(Z_k \rightarrow {\mathcal{E}}_k\) be the mapping of measurement RFS to label variable space. Calculate the class to which the jth measurement belongs,

    $$\begin{aligned} {\mathcalligra{f}}(z_{k,j},e_{k,j})={e_{k,j}},{\left\{ \begin{array}{ll}e_{k,j}=g&{} {\text{ if }} \ \underset{g}{{\text{ argmin }}}\Vert z_{k,j}-{c}_{k,g} \Vert ^2\le d_\eta \ \ \ \ \\ e_{k,j}=0&{} {\text{ if }} \ \underset{g}{{\text{ argmin }}}\Vert z_{k,j}-{c}_{k,g} \Vert ^2> d_{\eta } \ \ \ \ \end{array}\right. }g=1,\ldots ,{\overline{g}}_k, j=1,\ldots M_k \end{aligned}.$$
    (56)

    \(d_{\eta }\)denotes the threshold value of the distance between the measurement and the center of the group.

  3. (3).

    Update the positions of clustering centers:

    $$\begin{aligned} {c}_{k,g}=\frac{\sum _{j=1}^{m_k}{z_{k,j}}}{\sum _{j=1}^{m_k}\delta _{g}\left( {\mathcalligra{f}}(z_{k,j},e_{k,j})\right) }\ \ {\text{ for }}\ e_{k,j}={g}, \ \ \ g=1,\ldots ,{\overline{g}}_k \end{aligned}$$
    (57)
  4. (4).

    Repeat (2) and (3) until the objective function J converges:

    $$\begin{aligned} J_g =\sum _{j=1}^{m_k}{\Vert z_{k,j}-{c}_{k,g}} \Vert ^2\ \ {\text{ for }}\ e_{k,j}={g}, \ \ \ g=1,\ldots ,{\overline{g}}_k \end{aligned}.$$
    (58)

    We assume that the subgroups are independent of each other, and if the center of each subgroup is regarded as a special target, its state can be estimated by the GLMB algorithm. The specific algorithm framework is shown in Fig. 6, in which, \({x_{m,k}^o}\) represents the state of the mth subgroup center at time k, \({{\bar{x}}_{m,k+1}^o}\) denotes the predicted state of the mth subgroup center by GLMB at time \({k+1}\), and \({{{\hat{x}}}_{m,k+1}^o}\) represents the updated state of the mth subgroup center by GLMB at time \({k+1}\).

Fig. 6
figure 6

Tracking of subgroup centers based on k-means clustering and GLMB

Joint estimation algorithm of SDVs and target states based on RLS

Before estimating the target states and the SDVs, the displacement vectors between the targets and the subgroup centers need to be estimated. In the gth subgroup, \({x_{k,g}^m}\) represents the state of the mth target at time k, \({x_{k,g}^o}\) denotes the state of the subgroup center at time k, and \({{b^{\prime }}_{k,i}^m}\) represents the displacement vector between the mth target and the subgroup center at time k. \({Z_{k,g}}\) denotes a set of all measurements from the gth subgroup at time k, \(z_{k,g}^m\in Z_{k,g}\), and \({z_{k,g}^m}\) represents the measurement generated by the target m at time k. The relationship between them can be described as:

$$\begin{aligned} {x}_{k,g}^m=x_{k,g}^o+{b^{\prime }}_{k,g}^m+\omega _k^\prime \end{aligned}$$
(59)
$$\begin{aligned} {z}_{k,g}^m=H{x}_{k,g}^m+\nu _k^\prime \end{aligned}$$
(60)

where \({\omega _k^\prime }\) and \({\nu _k^\prime }\) represent the process noise and observation noise at time k, respectively. Substitute Eq. (59) into Eq. (60):

$$\begin{aligned} {z}_{k,g}^m=H(x_{k,g}^o+{b^{\prime }}_{k,g}^m+\omega _k^\prime )+\nu _k^\prime =Hx_{k,g}^o+H{b^{\prime }}_{k,g}^m+H\omega _k^\prime +\nu _k^\prime \end{aligned}.$$
(61)

Considering \({H\omega _k^\prime +\nu _k^\prime }\) as a new noise \({\omega _k^{\prime \prime }}\):

$$\begin{aligned} {z}_{k,g}^m=Hx_{k,g}^o+H{b^{\prime }}_{k,g}^m+\omega _k^{\prime \prime } \end{aligned}$$
(62)
$$\begin{aligned} {z}_{k,g}^m-Hx_{k,g}^o=H{b^{\prime }}_{k,g}^m+\omega _k^{\prime \prime } \end{aligned}.$$
(63)

The estimation of the displacement Vector using the least squares method can be described by the equation:

$$\begin{aligned} J(\hat{b^{\prime }}_{k,g}^m)=({z}_{k,g}^m-Hx_{k,g}^o-H\hat{b^{\prime }}_{k,g}^m)^{T}({z}_{k,g}^m-Hx_{k,g}^o-H\hat{b^{\prime }}_{k,g}^m) \end{aligned}$$
(64)

let \({\frac{\partial J(\hat{b^{\prime }}_{k,g}^m)}{\partial \hat{b^{\prime }}_{k,g}^m}=0}\):

$$\begin{aligned} \frac{\partial [({z}_{k,g}^m-Hx_{k,ig}^o-H\hat{b^{\prime }}_{k,g}^m)^{T}({z}_{k,g}^m-Hx_{k,g}^o-H\hat{b^{\prime }}_{k,g}^m)]}{\partial \hat{b^{\prime }}_{k,g}^m}=0 \end{aligned}$$
(65)
$$\begin{aligned} -2H^{T}({z}_{k,g}^m-Hx_{k,g}^o-H\hat{b^{\prime }}_{k,g}^m)=0 \end{aligned}$$
(66)

that is:

$$\begin{aligned} H^{T}({z}_{k,g}^m-Hx_{k,g}^o-H\hat{b^{\prime }}_{k,g}^m)=0 \end{aligned}$$
(67)
$$\begin{aligned} H^{T}({z}_{k,g}^m-Hx_{k,g}^o)=H^{T}H\hat{b^{\prime }}_{k,g}^m \end{aligned}.$$
(68)

Assuming that \({H^{T}H}\) is full rank, both sides of Eq. (68) are simultaneously left multiplied by the inverse of \({H^{T}H}\):

$$\begin{aligned} \hat{b^{\prime }}_{k,g}^m=(H^{T}H)^{-1}H^{T}(z_{k,g}^m-Hx_{k,g}^o) \end{aligned}.$$
(69)

The state of the \({g_m}\)th target in the gth subgroup at time k can be estimated as follows:

$$\begin{aligned} {\hat{x}}_{k,g}^m=x_{k,g}^o+{b^{\prime }}_{k,g}^m \end{aligned}.$$
(70)

The SDV between the \({g_m}\)th member and the \({g_n}\)th member can be estimated as follows:

$$\begin{aligned} {\hat{b}}_{k}(m,n)={b^{\prime }}_{k,g}^m-{b^{\prime }}_{k,g}^n \end{aligned}.$$
(71)

A pseudocode of the two-stage estimation is provided in Algorithm 2.

figure b

Results and discussion

Experiment 1: large-batch multi-structured group targets tracking with known SDVs

Fig. 7
figure 7

Structures of subgroup targets

It is assumed that there are 100 group targets in the observation area containing clutter, and they are composed of 9 subgroups, which have three different structures, as shown in Fig. 7, (a) indicates the subgroup with “Chain” formation, which consists of 10 group members; (b) represents a subgroup with a “triangle” formation consisting of 15 group members; (c) represents a subgroup with a “herringbone” formation consisting of 10 group members. In the figure, the arrows point from the parent node to the child node.

All group members move in the 2-D plane with constant velocity (CV). The probability that each group members is detected is \({P_{D}}\) = 0.98, and the clutter is uniformly distributed, with the intensity \({\lambda _{c}}\) = 30. The observation area is \({S=\left[ -20000,0\right] \times \left[ 0,30000\right] {\text{ m }}^{2}}\), and the detection time is 100 steps in total. At the 1st step, there are 3 groups of “Chain” formations with 30 targets appearing at different locations, and their survival time is [1–100] steps; At the 10th step, there are 4 groups of “herringbone” formations with 40 targets appear at different locations, and their survival time is [10–100] steps; At the 20th step, there are 2 groups of “triangle” formations with 30 targets appear at different locations, and their survival time is [20–100] steps.

The state equation of the group member is shown in Eq. (17), where it is assumed that the number of parents of each group member does not exceed at most one. The state transition matrix \({F_{k,i}}\) and process noise matrix \({B_{k,i}}\) are, respectively:

$$\begin{aligned} \varvec{F_{k,i}}=\begin{bmatrix}1 &{} \triangle t &{}0 &{}0 \\ 0&{}1&{}0&{}0\\ 0&{}0&{}1&{}\triangle t \\ 0 &{} 0&{}0&{}1 \end{bmatrix},\quad \varvec{B_{k,i}}=\begin{bmatrix}\frac{{\triangle t}^{2}}{2} &{}0\\ 1&{}0\\ 0&{}\frac{{\triangle t}^{2}}{2} \\ 0 &{} 1 \end{bmatrix} \end{aligned}$$
(72)

where sampling time \({{\triangle t}}\) = 1 s, \({x_{k}=\left[ q_{k,x}\,{\dot{q}}_{k,x}\,q_{k,y}\,{\dot{q}}_{k,y}\right] }\) represents the position and speed of the target in the x direction and y direction, respectively.

The observation equation of the target is Eq. (18), where H represents the observation matrix, and \({H=\begin{bmatrix}1&0&0&0 \,;\,0&0&1&0 \end{bmatrix}}\), the covariance matrix of observation noise is \({{\text{ diag }}\begin{bmatrix}100 \,; \,100 \end{bmatrix}}\). The initial states of head nodes of the 9 subgroups are shown in Table 1.

Table 1 Target initial states and birth/death time
Fig. 8
figure 8

True trajectories of all targets

Fig. 8 shows the real motion trajectories of 100 group targets. The black circles and triangles indicate the starting and ending points of the group targets’ motion, respectively, and the straight lines indicate the motion trajectories of the group targets.

Fig. 9
figure 9

States estimation of all targets

Fig. 9 shows the state estimation results for all group members, where (a) is the result estimated by the serial GLMB filter, points with different colors represent the tracking results of different group members, and the colors of the points represent the labels of the targets. When tracking the same target in the xy domain, the trajectory color of the target is the same, but since the motion trajectories of the 9 subgroups overlap in the xy domain, their trajectory colors also overlap. The existence of points with significantly different colors in the trajectory indicates the appearance of new target labels, which may be caused by the interference of clutter. In order to show the trajectories of targets born at different times more clearly, the left side of Fig. 9b shows the trajectories of targets born at time 0, the middle shows the trajectories of targets born at time 10, and the right side shows the trajectories of targets born at time 20. Fig. 9c is the result estimated by the serial CBMeMBer filter, and the black dots indicate the estimated states of group members. In Fig. 9, the black lines indicate the real trajectories of the group members, and crosses indicate clutter. The upper picture shows the tracking trajectories of the group members in the x-axis direction, and the lower picture shows the tracking trajectories of the group members in the y-axis direction. It can be seen that the estimated states of the two filters are basically consistent with the real states of all targets.

Fig. 10
figure 10

Estimation of the number of all targets

Fig. 10 shows the real number and estimated number of all group members. The black line indicates the true number of group members at each step, and the black dots indicate the estimated number of group members at each step. As can be seen from the figure, the number of group members estimated by the serial GLMB filter is more accurate than that estimated by the serial CBMeMBer filter. Due to the appearance of new group members at the 10th and 20th steps, the estimated number of group members deviates significantly from the true number of group members, and this problem may be related to the setting of the initial filter parameters.

When the number of tracked targets is small, the OSPA distance [35] is usually used to evaluate the performance of the tracking algorithm with the following equation:

$$\begin{aligned} {\bar{d}}_p^{(c)}(X,{\hat{X}})=\left\{ \frac{1}{n}\left[ \min _{\pi \in \prod _n}\sum _{i=1}^md^{(c)}(x_{i},{\hat{x}}_{\pi (i)})^p+c^{p}(n-m)\right] \right\} ^{\frac{1}{p}} \end{aligned}$$
(73)

where X denotes the true set of states with m targets and \({{\hat{X}}}\) denotes the estimated set of states with n targets, and \({m\le n,1<p<+\infty ,d^{(c)}(x,{\hat{x}})=\min \left\{ c,d(x,{\hat{x}})\right\} ,c>0}\),

\({\prod _{n}}\) denotes a set consisting of various permutations of \({1,2,\ldots ,n}\).

When a large number of group targets exist, calculating OSPA distance requires a large computational cost. To save computational cost, this paper proposes a new method for applying the OSPA distance:

$$\begin{aligned} {\text{ OSPA }}({\text{ avg }})=\frac{1}{b}\sum _{i=1}^b{\bar{d}}_{p,i}^{(c)}(X,{\hat{X}}) \end{aligned}$$
(74)

where b denotes the number of groups, X and \({{\hat{X}}}\) denote the true state set and estimated state set of ith subgroup, respectively.

Fig. 11
figure 11

Average OSPA distance (100 MC runs)

Figure 11 shows the average OSPA results after 100 Monte Carlo simulations, it can be seen that the serial GLMB filter performs better than the serial CBMeMBer filter.

To compare the estimation accuracy of the algorithms, we introduce the following formula:

$$\begin{aligned} N_{{\text{ Acc }}}=\frac{1}{S}\sum _{i=1}^S1-\frac{ \mid N_i-\hat{N_i}\mid }{N_i} \end{aligned}$$
(75)

where \(N_{Acc}\) represents the average accuracy rate of the estimated target number, \(N_i\) and \(\hat{N_i}\) represents the true target number and the estimated target number at ith step, respectively, and S represents all steps.

Table 2 Performance analysis of algorithms

From Table 2, it can be seen that among the three algorithms, the GLMB algorithm takes the longest time and has the highest accuracy in estimating the number of targets because it has to estimate all the targets in each step; The serial GLMB algorithm takes more time in each step than the serial CBMeMBer algorithm because the serial GLMB algorithm adds label to each target in order to estimate the trajectories of targets, resulting in higher computational complexity, but the serial GLMB algorithm is more accurate in estimating the number of targets than the serial CBMeMBer algorithm; Both the serial GLMB algorithm and the serial CBMeMBer algorithm have lower accuracy in estimating the number of targets than the GLMB algorithm. This may be because the serial algorithm regards the targets that do not belong to the subgroup as clutter when estimating the each subgroup members, which leads to an increase in the number of clutter.

Experiment 2: joint estimation of SDVs and target states with unknown SDVs

Suppose there are 6 targets consisting of 2 groups in the observation area containing clutter, and each group consists of 3 group members with a “Chain” group structure, as shown in (a) in Fig. 7. All group members move in the 2-D plane with constant velocity (CV). The probability that each group members is detected is \({P_{D}}\) = 0.98, and the clutter is uniformly distributed, with the intensity \({\lambda _{c}}\) = 0.1, the observation area is \({S=\left[ -2000,20000\right] \times \left[ -2000,2000\right] {\text{ m }}^{2}}\), and the detection time is 100 steps in total. At the 1st step, a “Chain” formation of 3 group members appears at different locations and survives for [1–100] steps; at the 10th step, another “Chain” formation of 3 group members appears at different locations and survives for [10–100] steps.

The state equation and observation equation of the group targets and their parameters are the same as in the simulation experiment 5.1. The initial states of the 6 group members are shown in Table 3.

Table 3 Target initial states and birth/death time
Fig. 12
figure 12

True trajectories of all targets

Figure 12 shows the true motion trajectories of the 6 group members in the cross-motion scenario. The black circles and triangles indicate the starting and ending points of the group targets’ motion, respectively, and the straight lines indicate the motion trajectories of the group targets.

Fig. 13
figure 13

Estimation of the SDVs

Figure 13 shows the SDVs estimated by the RLS algorithm at each step. The estimated SDVs fluctuate widely in the first few steps, and as the number of iterations increases, the estimated SDVs gradually stabilize and are basically consistent with the true SDVs.

Fig. 14
figure 14

States estimation of all targets

Figure 14 shows the states estimation result of the group members. The colored dots indicate the estimated states of group members, the black lines indicate the real motion trajectories of the group members, and crosses indicate clutter. In the figure (a), the upper picture shows the tracking trajectories of the group members in the x-axis direction, and the lower picture shows the tracking trajectories of the group members in the y-axis direction, and it can be seen from the figure (a) that the survival time of the 1st group members is [1–80] steps, and the survival time of the 2nd group members is [10–100] steps. It can be seen from the figure (b) that the two-stage algorithm estimated states of the group members are basically consistent with the real states of all targets.

Fig. 15
figure 15

Estimation of the number of all targets

Figure 15 shows the true number and estimated number of all group members, the black line indicates the real number of group members at each step, and the black dots indicate the estimated number of group members at each step. From the figure, it can be seen that the two-stage algorithm can accurately estimate the number of group members.

Fig. 16
figure 16

OSPA distance (100 MC runs)

Figure 16 shows the OSPA results obtained after 100 Monte Carlo simulations. From the OSPA Loc, it can be seen that there are large fluctuations in the estimated states of group members at the 10th step, which may be related to the setting of the initial parameter values of the RLS algorithm.

Fig. 17
figure 17

Structure estimation of group targets

Figure 17 estimates the structures of the group members at steps 7th, 55th, 64th, and 88th, respectively, from which it can be seen that the estimated group structures are consistent with the true group structures at the 7th, 55th, and 88th steps, but at the 64th step, the estimated group structure is different from the real group structure, which may be caused by crossing between two groups at this time.

Fig. 18
figure 18

Estimation of the number of groups

Figure 18 shows the estimation of the number of groups. At [61–68] steps, the estimated number of groups is inconsistent with the true number of groups, which may be due to the intersection of the two groups at those times.

Conclusion

This paper firstly proposes a serial tracking algorithm based on GLMB to estimate the number, states, and trajectories of large-batch and multi-structure group targets when SDVs are known, which saves a large computational cost by tracking each subgroup in batches; Then, a two-stage algorithm is proposed for the problem of jointly estimating the SDVs and the target states. The experimental simulation results show that proposed algorithms can track the group targets effectively. However, neither this paper consider the case where the structure of group changes, such as group splitting and group merging; nor does it consider the case where there are collaborative relationships among various subgroups. Further research on the above problems is needed.

Availability of data and materials

In this work, we have used the free RFS MATLAB code provided by Prof. Ba-Ngu Vo and Prof. Ba-Tuong Vo at http://ba-tuong.vo-au.com/codes.html.

Abbreviations

SDVs:

Standard deviation vectors

RFS:

Random finite set

GLMB:

Generalized labeled multi-Bernoulli

PHD:

Probability hypothesis density

ET-PHD:

Extended target probability hypothesis density

ET-CPHD:

Extended target cardinality probability hypothesis density

GM-PHD:

Gaussian mixture probability hypothesis density

SMC-PHD:

Sequential Monte Carlo probability hypothesis density

L-RFS:

Labeled random finite set

LMB:

Labeled multi-Bernoulli

GGIW:

Gamma Gaussian inverse Wishart

CBMeMBer:

Cardinality-balanced multi-target multi-Bernoulli

ET-CBMeMBer:

Extended target CBMeMBer

ET-GLMB-S:

Extended targets-based generalized labeled multiple Bernoulli spline

OSPA:

Optimal sub-pattern assignment

RLS:

Recursive least squares

References

  1. D. Orlando, L. Venturino, M. Lops, G. Ricci, Track-before-detect strategies for stap radars. IEEE Trans. Signal Process. 58(2), 933–938 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  2. N. Fiscante, P. Addabbo, C. Clemente, F. Biondi, G. Giunta, D. Orlando, A track-before-detect strategy based on sparse data processing for air surveillance radar applications. Remote Sensing 13(4), 662 (2021)

    Article  Google Scholar 

  3. P. Addabbo, S. Han, F. Biondi, G. Giunta, D. Orlando, Adaptive radar detection in the presence of multiple alternative hypotheses using Kullback-Leibler information criterion-part i: Detector designs. IEEE Trans. Signal Process. 69, 3730–3741 (2021)

    Article  MathSciNet  MATH  Google Scholar 

  4. J. Lan, X.R. Li, Tracking of maneuvering non-ellipsoidal extended object or target group using random matrix. IEEE Trans. Signal Process. 62(9), 2450–2463 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  5. D.J. Salmond, N.J. Gordon, Group and extended object tracking (1999)

  6. J.W. Koch, Bayesian approach to extended object and cluster tracking using random matrices. IEEE Trans. Aerosp. Electron. Syst. 44(3), 1042–1059 (2008)

    Article  Google Scholar 

  7. M. Feldmann, D. Fränken, W. Koch, Tracking of extended objects and group targets using random matrices. IEEE Trans. Signal Process. 59(4), 1409–1420 (2010)

    Article  Google Scholar 

  8. M. Baum, U.D. Hanebeck, Random hypersurface models for extended object tracking. In: 2009 IEEE International Symposium on Signal Processing and Information Technology (ISSPIT), pp. 178–183 (2009). IEEE

  9. M. Baum, U.D. Hanebeck, Shape tracking of extended objects and group targets with star-convex rhms. In: 14th International Conference on Information Fusion, pp. 1–8 (2011). IEEE

  10. M. Baum, B. Noack, U.D. Hanebeck, Extended object and group tracking with elliptic random hypersurface models. In: 2010 13th International Conference on Information Fusion, pp. 1–8 (2010). IEEE

  11. L. Sun, J. Lan, X.R. Li, Extended target tracking using star-convex model with nonlinear inequality constraints. In: Proceedings of the 31st Chinese Control Conference, pp. 3869–3874 (2012). IEEE

  12. K. Granstrom, U. Orguner, A phd filter for tracking multiple extended targets using random matrices. IEEE Trans. Signal Process. 60(11), 5657–5671 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  13. K. Gilholm, D. Salmond, Spatial distribution model for tracking extended objects. IEE Proc. Radar Sonar Navig. 152(5), 364–371 (2005)

    Article  Google Scholar 

  14. K. Gilholm, S. Godsill, S. Maskell, D. Salmond, Poisson models for extended target and group tracking. In: Signal and Data Processing of Small Targets 2005, vol. 5913, pp. 230–241 (2005). SPIE

  15. R. Mahler, Phd filters for nonstandard targets, i: Extended targets. In: 2009 12th International Conference on Information Fusion, pp. 915–921 (2009). IEEE

  16. U. Orguner, C. Lundquist, K. Granström, Extended target tracking with a cardinalized probability hypothesis density filter. In: 14th International Conference on Information Fusion, pp. 1–8 (2011). IEEE

  17. K. Granström, C. Lundquist, U. Orguner, A Gaussian mixture phd filter for extended target tracking. In: 2010 13th International Conference on Information Fusion, pp. 1–8 (2010). IEEE

  18. F. Lian, C.-Z. Han, W.-F. Liu, X.-H. Yuan, Tracking partly resolvable group targets using smc-phdf. Acta Autom. Sin. 36(5), 731–74172 (2010)

    Article  MathSciNet  Google Scholar 

  19. G. Zhang, F. Lian, C. Han, Cbmember filters for nonstandard targets, i: extended targets. In: 17th International Conference on Information Fusion (FUSION), pp. 1–6 (2014). IEEE

  20. W. Li, H. Gu, W. Su, J. Yang, M. Xia, Cbmember filter for extended target tracking based on binomial measurement number model. In: 2019 IEEE MTT-S International Microwave Biomedical Conference (IMBioC), vol. 1, pp. 1–5 (2019). IEEE

  21. S. Wei, X.-x. Feng, Y.-b. Kong, Cbmember filter for extended object tracking using box particle. In: 2016 First IEEE International Conference on Computer Communication and the Internet (ICCCI), pp. 454–458 (2016). IEEE

  22. B.-T. Vo, B.-N. Vo, Labeled random finite sets and multi-object conjugate priors. IEEE Trans. Signal Process. 61(13), 3460–3475 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  23. S. Reuter, B.-T. Vo, B.-N. Vo, K. Dietmayer, The labeled multi-Bernoulli filter. IEEE Trans. Signal Process. 62(12), 3246–3260 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  24. M. Beard, S. Reuter, K. Granström, B.-T. Vo, B.-N. Vo, A. Scheel, Multiple extended target tracking with labeled random finite sets. IEEE Trans. Signal Process. 64(7), 1638–1653 (2015)

    Article  MathSciNet  MATH  Google Scholar 

  25. W. Liu, S. Zhu, C. Wen, Y. Yu, Structure modeling and estimation of multiple resolvable group targets via graph theory and multi-Bernoulli filter. Automatica 89, 274–289 (2018)

    Article  MathSciNet  MATH  Google Scholar 

  26. W. Liu, Y. Chi, G. Zhang, Multiple resolvable group estimation based on the glmb filter with graph structure. In: 2018 IEEE 8th Annual International Conference on CYBER Technology in Automation, Control, and Intelligent Systems (CYBER), pp. 960–964 (2018). IEEE

  27. Y. Chi, W. Liu, Resolvable group state estimation with maneuver movement based on labeled rfs. In: 2018 International Conference on Control, Automation and Information Sciences (ICCAIS), pp. 249–254 (2018). IEEE

  28. Z. shu-jun, L. Wei-Feng, C. Hai-Long, Multiple resolvable groups tracking using the glmb filter. Acta Autom. Sin. 43(12), 2178–2189 (2017)

    Google Scholar 

  29. Y. Chen, W. Liu, X. Wang, Multiple extended target tracking based on glmb filter and gibbs sampler. In: 2017 International Conference on Control, Automation and Information Sciences (ICCAIS), pp. 26–31 (2017). IEEE

  30. C. Li, Z. Fan, R. Shi, A generalized labelled multi-Bernoulli filter for extended targets with unknown clutter rate and detection profile. IEEE Access 8, 213772–213782 (2020)

    Article  Google Scholar 

  31. A. Daniyan, S. Lambotharan, A. Deligiannis, Y. Gong, W.-H. Chen, Bayesian multiple extended target tracking using labeled random finite sets and splines. IEEE Trans. Signal Process. 66(22), 6076–6091 (2018)

    Article  MathSciNet  MATH  Google Scholar 

  32. Z. Zhao, W. Liu, S. Wang, S. Gao, Large-batch and multi-structure group targets tracking based on serial glmb. In: 2021 International Conference on Control, Automation and Information Sciences (ICCAIS), pp. 949–954 (2021). IEEE

  33. Y. Bar-Shalom, X.R. Li, T. Kirubarajan, Estimation with Applications to Tracking and Navigation: Theory Algorithms and Software (John Wiley & Sons, 2004)

    Google Scholar 

  34. T. Kanungo, D.M. Mount, N.S. Netanyahu, C.D. Piatko, R. Silverman, A.Y. Wu, An efficient k-means clustering algorithm: Analysis and implementation. IEEE Trans. Pattern Anal. Mach. Intell. 24(7), 881–892 (2002)

    Article  MATH  Google Scholar 

  35. D. Schuhmacher, B.-T. Vo, B.-N. Vo, A consistent metric for performance evaluation of multi-object filters. IEEE Trans. Signal Process. 56(8), 3447–3457 (2008)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Acknowledgements

Not applicable.

Funding

This work was supported in part by the Key Research and Development Program of Shaanxi Province (2021GY-087) and the NSFC (61771177, U1934221).

Author information

Authors and Affiliations

Authors

Contributions

WL developed and wrote the method presented in this paper. ZZ performed the experiments. All authors discussed the results and implications and commented on the manuscript at all stages. All authors read and approved the final manuscript

Corresponding author

Correspondence to Weifeng Liu.

Ethics declarations

Ethics approval and consent to participate

Not applicable.

Consent for publication

Not applicable.

Competing interests

The authors declare that they have no competing interests.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Liu, W., Zhao, Z., Liu, Q. et al. Parameter estimation and tracking algorithm for resolvable group targets based on GLMB filter and RLS algorithm. EURASIP J. Adv. Signal Process. 2022, 110 (2022). https://doi.org/10.1186/s13634-022-00929-5

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1186/s13634-022-00929-5

Keywords

  • Group targets tracking
  • Dependency relations
  • GLMB filter
  • Random finite sets
  • SDVs
  • Parameter estimation