**Algorithm 3** Refined PHD Filter

Initialization: suppose prior PHD at time 0 is Equation (3), *l i* <sup>0</sup>|<sup>0</sup> <sup>=</sup> 0, *<sup>i</sup>* <sup>=</sup> 1, ··· , *<sup>v</sup>*0|0, and *<sup>r</sup>* <sup>=</sup> 0. Prediction: the predicted PHD at time *k* is Equation (5), and labels of the prediction particles are *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: the posterior particle weights at time *k* are calculated by Equation (7), and *l i <sup>k</sup>*|*<sup>k</sup>* <sup>=</sup> *<sup>l</sup> i k*|*k*−1 , *i* = 1, ··· , *vk*|*k*. Revision of Posterior Weights: execute revision of posterior weights introduced in Section 3.3, the revised weights are still represented as *wi k*|*k* , and the posterior PHD at time *k* is Equation (6). State estimation: *<sup>N</sup>*<sup>ˆ</sup> *<sup>k</sup>*|*<sup>k</sup>* <sup>≈</sup> *round<sup>v</sup>* \$*k*|*k i*=1 *wi k*|*k* , resample with no change of particle labels, and *<sup>N</sup>*<sup>ˆ</sup> *<sup>k</sup>*|*<sup>k</sup>* targets are extracted by k-means clustering: *x* (*n*) *<sup>k</sup>* , *<sup>n</sup>* <sup>=</sup> 1, ··· , *<sup>N</sup>*<sup>ˆ</sup> *<sup>k</sup>*|*k*. Trajectory extraction: determine the label of target *x* (*n*) *<sup>k</sup>* and corresponding particles according to Section 3.2. Survival Probability Calculation: calculate survival probability of individual target according to Section 3.1.

Target Confirmation: calculate test statistic *sum <sup>k</sup> <sup>L</sup> <sup>l</sup>*,*k*, and for individual target, add it to the confirmation set, discard it, or make no decision according to Section 3.4.
