*3.2. Labeling Target and Particle*

In order to confirm if miss detection occurs for each target and identify particles representing the undetected target, every target and particle has its own unique label. On the other hand, the standard SMC-PHD filter can only provide the point-valued estimates of the target states at each time, not track-valued estimates of individual targets due to no record of the target identities. Some principled solutions such as labeled RFS [15,16] were proposed, and produce track-valued estimate without post processing. This paper attaches a unique label to individual targets and particles, which can be used not only for trajectory extraction, but can also compensate miss detection. It should be pointed out that the particles representing a target can have several different labels, and particles with identical labels can also belong to different targets. Labels are assigned to individual targets and individual particles, considering the following principles:

Principles for labeling targets:


3. When there are multiple targets with the same label at time *k*, the optimal successor will be selected and keep its label unchanged while others will be assigned a new positive number sequentially.

Principles for labeling particles:


It should be mentioned that principle 7 is consistent with principle 2, and principle 8 is consistent with principle 3. False alarm may have the same label as a real target. Consequently, the optimal successor should be selected from all the targets with the same label to inherit the label. Suppose the state of the only target with label *l* at time *k* − 1 is *xl*,*k*−1, the states of targets with the same label at time *k* are *x* (*n*) *<sup>l</sup>*,*<sup>k</sup>* , *<sup>n</sup>* = 1, 2, ··· , then the optimal successor can be selected by comparing the single-target Markov transition density

$$\mathbf{x} \mathbf{g} \mathbf{m} \mathbf{x} \mathbf{x} \mathbf{x} \mathbf{x} \mathbf{j}\_{k|k-1} \left( \mathbf{x}\_{l,k}^{(n)} \middle| \mathbf{x}\_{l,k-1} \right),\tag{10}$$

The detailed Algorithm 1 of labelling particles and targets at each time is provided as below:

### **Algorithm 1** Labelling Particles and Targets

Initialization: the initialization particles are labelled with zeros, and maximum label is set to *r* = 0. Prediction: labels of the prediction particles are *l i k*|*k*−1 , *i* = 1, ··· , *vk*|*k*−1, where *l i <sup>k</sup>*|*k*−<sup>1</sup> <sup>=</sup> *<sup>l</sup> i k*−1|*k*−1 , *i* = 1, ··· , *vk*−1|*k*−<sup>1</sup> and *l i <sup>k</sup>*|*k*−<sup>1</sup> <sup>=</sup> 0, *<sup>i</sup>* <sup>=</sup> *vk*−1|*k*−<sup>1</sup> <sup>+</sup> 1, ··· , *vk*|*k*−1. Correction: labels of the posterior particles are *l i <sup>k</sup>*|*<sup>k</sup>* <sup>=</sup> *<sup>l</sup> i k*|*k*−1 , *i* = 1, ··· , *vk*|*k*, and the resampling technique doesn't change the labels of particles.

Trajectory extraction: *<sup>N</sup>*<sup>ˆ</sup> *<sup>k</sup>*|*<sup>k</sup>* targets are extracted from the posterior PHD. The label of target *<sup>x</sup>* (*n*) *<sup>k</sup>* can be determined by argmax*<sup>l</sup>* - - - - - *l i k*|*k* - - - *l i <sup>k</sup>*|*<sup>k</sup>* <sup>=</sup> *<sup>l</sup>*, *xi <sup>k</sup>*|*<sup>k</sup>* <sup>∈</sup> *<sup>x</sup>* (*n*) *<sup>k</sup>* , *<sup>i</sup>* = 1, ··· , *vk*|*<sup>k</sup>* - - - - - , *<sup>n</sup>* <sup>=</sup> 1, ··· , *<sup>N</sup>*<sup>ˆ</sup> *<sup>k</sup>*|*k*, where <sup>|</sup>*X*<sup>|</sup> represents the cardinality of set *X*.

For each target *x* (*n*) *<sup>k</sup>* , if its label is zero, then *<sup>r</sup>* = *<sup>r</sup>* + 1, set its label to *<sup>r</sup>*, and set *l i k*|*k* - - - *l i <sup>k</sup>*|*<sup>k</sup>* <sup>=</sup> 0, *xi <sup>k</sup>*|*<sup>k</sup>* <sup>∈</sup> *<sup>x</sup>* (*n*) *<sup>k</sup>* , *<sup>i</sup>* = 1, ··· , *vk*|*<sup>k</sup>* to *<sup>r</sup>*.

