Radars generally receive echoes from all surfaces in the signal path. These unwanted back-scattered signals or echoes generated from physical objects are called clutter. In a densely cluttered environment, missed detections and false alarms make tracking objects a challenging task. This example shows you how to track points targets in dense clutter using a Gaussian mixture probability hypothesis density (GM-PHD) tracker with a constant velocity model in Simulink. The example closely follows the Track Point Targets in Dense Clutter Using GM-PHD Tracker MATLAB® example.
load_system('TrackPointTargetsInDenseClutterSimulinkExample'); set_param('TrackPointTargetsInDenseClutterSimulinkExample','SimulationCommand','update'); open_system('TrackPointTargetsInDenseClutterSimulinkExample');
Detection and Ground Truth Reader
Simulation data used in this example is captured from the scenario described in the Track Point Targets in Dense Clutter Using GM-PHD Tracker MATLAB® example. The Detection Generator and Ground Truth Reader blocks are implemented using the MATLAB System (Simulink) block. Code for these blocks is defined in helper classes
HelperTruthLogReader, respectively. Both blocks read recorded data and generate detections, time, and truth data.
The blocks output detections and truth information as a
Simulink.Bus (Simulink) objects.
Conventional trackers such as Global Nearest Neighbor (GNN) and Joint Probabilistic Data Association (JPDA) assume that the sensors return at most one detection per object per scan. Therefore, the traditional trackers suffer with missing targets and false alarms in a cluttered environment. In such an environment a PHD tracker provides better estimation of objects as it handles clustering and data association simultaneously.
In this example you use a GM-PHD point object tracker to track targets. The first step towards configuring a PHD tracker is to define the configuration of the sensor. In this example, you specify sensor configuration in the
PreLoadFcn callback. See Model Callbacks (Simulink) for more information about callback functions. In the sensor configuration, its
FilterInitializationFcn field is specified as
initcvgmphd representing a constant velocity GM-PHD filter . You can set other parameters of the tracker from the block mask.
To evaluate the performance of the tracker, you use the Generalized Optimal Subpattern Assignment (GOSPA) metric. The GOSPA metric aims to evaluate the performance of a tracker using a single cost value. The GOSPA metric can be calculated by the following equation
Where m is the number of ground truths and is the number of estimated tracks. is the cutoff distance threshold, and is the base distance between track and truth calculated by a distance function specified in the
Distance property. is order of the metric and is the alpha parameter of the metric, defined from block mask.
Lower GOSPA cost represents better tracking performance. A value of zero represents a perfect tracking. You can also output different GOSPA components by selecting proper options from block mask.
In this example the GOSPA metric is visualized using the scope block and the scenario is visualized using Scenario Visualization block. The Scenario Visualization block is implemented using MATLAB System (Simulink) block. Code for this block is defined in the helper class
helperClutterTrackingDisplayBlock. The block uses
RunTimeObject parameter of the blocks to display their outputs. See Access Block Data During Simulation (Simulink) for further information on how to access block outputs during simulation.
Notice that GOSPA metric decreases after a few steps. The initial value of GOSPA metric is higher due to the establishment delay for each track. The GOSPA metric results show that the GM-PHD tracker performed well in the densely cluttered scenario with zero false alarms and zero missed tracks.
In this example you learned how to use a GM-PHD tracker to track point objects in dense clutter in Simulink. You also learned how to evaluate performance of a tracking algorithm using GOSPA metric and its associated components. The simulation results show that the GM-PHD tracker does not miss targets or creates false alarms. The lower overall GOSPA score also indicates desirable tracking performance.