"A two-model IMM was implemented with two CV models with process noise tuning $\\mathbf{Q}_1=\\mathbf{I}$ and $\\mathbf{Q}_2=100\\mathbf{I}$, respectively. Mahalanobis gating was used with $\\gamma=15$. Further, a nearest neighbour association step was used for associating the gated measurements. \n",
"A two-model IMM was implemented with two CV models with process noise tuning $\\mathbf{Q}_1=\\mathbf{I}$ and $\\mathbf{Q}_2=100\\mathbf{I}$, respectively. Mahalanobis gating was used with $\\gamma=12.43$. Further, a nearest neighbour association step was used for associating the gated measurements. \n",
A constant velocity model was implemented w/ process noise tuning $\mathbf{Q}=\mathbf{I}$.
This gave a good performance for trajectory T1 and T3, but very bad results for the concatenated trajectory T4, where the filter completely fails to follow the observations (due to gating, the associations fall off completely and the filter resorts to the CV model, seen by the completely straight trajectory).
10 simulations were run and the RMSE computed for $p_x$ and $p_y$ independently. The top figure illustrate the filtered trajectories in dashed colored lines, the ground truth trajectory in black and measurements from **one** of the simulations as black dots. The bottom figure illustrates the RMSE over the 10 different simulations.
As illustrated in the bottom figure, the RMSE explodes because of the complete failure to follow the circular part of the trajectory.
A constant velocity model was implemented w/ process noise tuning $\mathbf{Q}=100\mathbf{I}$.
This gave a good performance for trajectory T2 and somewhat reasonable results for the concatenated trajectory T4. However, the trajectory along the parts given by T1 and T3 are still better with the low maneuvering EKF.
10 simulations were run and the RMSE computed for $p_x$ and $p_y$ independently. The top figure illustrate the filtered trajectories in dashed colored lines, the ground truth trajectory in black and measurements from **one** of the simulations as black dots. The bottom figure illustrates the RMSE over the 10 different simulations.
As illustrated in the bottom figure, the RMSE is quite reasonable, but can still be improved.
A two-model IMM was implemented with two CV models with process noise tuning $\mathbf{Q}_1=\mathbf{I}$ and $\mathbf{Q}_2=100\mathbf{I}$, respectively. Mahalanobis gating was used with $\gamma=15$. Further, a nearest neighbour association step was used for associating the gated measurements.
A two-model IMM was implemented with two CV models with process noise tuning $\mathbf{Q}_1=\mathbf{I}$ and $\mathbf{Q}_2=100\mathbf{I}$, respectively. Mahalanobis gating was used with $\gamma=12.43$. Further, a nearest neighbour association step was used for associating the gated measurements.
10 simulations were run and the RMSE computed for $p_x$ and $p_y$ independently. Three figures are produced. The top figure illustrates the filtered trajectories in dashed colored lines, the ground truth trajectory in black and measurements from **one** of the simulations as black dots. The middle figure illustrates the RMSE over the 10 different simulations.
The bottom figure illustrates the model (mode) probabilities over the normalized trajectory length (normalized by the length of the trajectory).
As illustrated in the middle figure, the RMSE is better than for the two individual models from before. The mode clearly switches in the circular part of the trajectory as can be seen in the bottom figure.
%% Cell type:code id:c01d745a tags:
``` python
motion_model=models.cv_model(Q=np.identity(2),D=2,T=1)# Use Q=I
motion_model=models.cv_model(Q=1*np.identity(2),D=2,T=1)# Use Q=I
motion_model_two=models.cv_model(Q=100*np.identity(2),D=2,T=1)# Use Q=100I
An IMM was used with two CV models with tuning $\mathbf{Q}_1=\mathbf{I}$ and $\mathbf{Q}_2=1000\mathbf{I}$. Mahalanobis gating was used with $\gamma=4.7$. The transition probability is as in 2.3, with $p=0.8$.
After looking at the measurements, the first two measurements "seem" to belong to a target and as such, they were used to initialize the target state. The initial uncertainty is set quite high to $\mathbf{P}_0=100\mathbf{I}$.
The top figure shows the estimated trajectory overlayed over the measurements. The method seems to capture the trajectory well. In the bottom figure, the mode probabilities are visualized. Clearly, the high-maneuvering mode is active in the segments of the trajectory where the target quickly steers.
%% Cell type:markdown id:cde84f60 tags:
### Task 3.1 - N/M Logic
An N/M logic was implemented with N1/M1 & N2/M2 for confirmation and N3/M3 for termination. N1, M1, N2, M2, N3 are tuneable parameters. M3 is assumed fixed to N3. Mahalanobis gating is used and nearest neighbour association. Further, an EKF is used with the model provided in the exercise. A track is initiated at the current measurement with speed 0 and initial uncertainty given by $\mathbf{P}_0=\mathrm{diag}[R,~0.1]$. The logic parameters were set to (according to the exercise)
The top figure shows tracks over time. The confirmed tracks are plotted with solid lines and tentative tracks are dashed. Times when measurements are associated to a certain track are visualized as crosses. The bottom figure shows the actual tracks over time. The y-axis are the measurements as well as the predicted measurements. The solid lines are confirmed tracks and dashed are tentative. There seems to be ~6 confirmed tracks over time and quite a few tentative.
The top figure shows tracks over time. The confirmed tracks are plotted with solid lines and tentative tracks are dashed. Times when measurements are associated to a certain track are visualized as crosses. The bottom figure shows the actual tracks over time. The y-axis are the measurements as well as the predicted measurements. The solid lines are confirmed tracks and dashed are tentative. There seems to be ~5 confirmed tracks over time and quite a few tentative. This score-based logic doesn't kill off possible tracks as quickly as the N/M logic (but that is just up to tuning of the deletion criteria as well as the exponential forgetting factor).
"The filter was chosen as an EKF for simplicity (and it seemed to work fine).\n",
"\n",
"##### **Initialization**\n",
"The tracks were initialized at the measurement (converted to the positional domain) with a $0$ velocity. The initial uncertainty was set to $\\mathbf{P}_0=\\mathsc{diag}[10, 10, 100, 100]$ to account for the unknown initial velocity. The track score is initially set to $L_t=0$."
"The tracks were initialized at the measurement (converted to the positional domain) with a $0$ velocity. The initial uncertainty was set to $\\mathbf{P}_0=\\mathrm{diag}[10, 10, 100, 100]$ to account for the unknown initial velocity. The track score is initially set to $L_t=0$."
A GNN tracker and a JPDA tracker were implemented, see src.trackers. The model setup is as follows
##### **Sensor Model**
The sensor model is the standard distance and bearing radar with $\mathbf{R}=\mathrm{diag}[10, 0.001]^2$. The probability of detection is set to $P_D=0.9$.
##### **Gating**
Mahalanobis gating is used with $\gamma=9.2$.
##### **Clutter Model**
The volume is rectangular with $0\leq x\leq 2500$ and $0\leq y\leq2000$. Further, $\beta_{FA}V=2$.
##### **Track Logic**
A score-based track logic was used with an exponential forgetting factor to avoid integrator wind-up. The forgetting factor was tuned to $\lambda=0.6$. The new target rate $\beta_{NT}=\beta_{FA}$. Further, the probability of confirming false tracks $P_{FC}0.1\%$ and the probability of rejecting true tracks is $P_{TM}=1\%$.
##### **Motion Model**
The motion model is chosen as a CV model with $\mathbf{Q}=10\mathbf{I}$ which yielded good tracking performance for both GNN and JPDA.
##### **Filter**
The filter was chosen as an EKF for simplicity (and it seemed to work fine).
##### **Initialization**
The tracks were initialized at the measurement (converted to the positional domain) with a $0$ velocity. The initial uncertainty was set to $\mathbf{P}_0=\mathsc{diag}[10, 10, 100, 100]$ to account for the unknown initial velocity. The track score is initially set to $L_t=0$.
The tracks were initialized at the measurement (converted to the positional domain) with a $0$ velocity. The initial uncertainty was set to $\mathbf{P}_0=\mathrm{diag}[10, 10, 100, 100]$ to account for the unknown initial velocity. The track score is initially set to $L_t=0$.
Both the GNN and JPDA capture all four tracks good. The GNN has a slightly lower RMSE overall which seems reasonable given the "low" clutter rate and only a few track cross-overs.
A GNN and a JPDA tracker were applied to the mysterious data set. The design choices are listed below.
##### **Sensor Model**
The sensor model is the standard distance and bearing radar as before with the same noise parameters. The probability of detection was set to $P_D=0.9$.
##### **Gating**
Mahalanobis gating was used with $\gamma=9.2$.
##### **Clutter Model**
The tracking volume was established by inspecting the measurement data in the positional domain. The volume is rectangular with $-2000\leq x\leq 2000$ and $-21000\leq y\leq-17000$. As before $\beta_{FA}V=2$.
##### **Track Logic**
A score-based track logic was used with an exponential forgetting factor to avoid integrator wind-up. The forgetting factor was tuned to $\lambda=0.95$. The new target rate $\beta_{NT}=\beta_{FA}$. Further, the probability of confirming false tracks $P_{FC}0.1\%$ and the probability of rejecting true tracks is $P_{TM}=1\%$.
##### **Motion Model**
After inspection of the measurement data in the positional domain, a CV model was chosen as the motion model. The process noise was tuned to $\mathbf{Q}=5e4\mathbf{I}$ which yielded good tracking performance for both GNN and JPDA.
##### **Filter**
The filter was chosen as an EKF for simplicity (and it seemed to work fine).
##### **Initialization**
The tracks were initialized at the measurement (converted to the positional domain) with a $0$ velocity. The initial uncertainty was set to $\mathbf{P}_0=\mathrm{diag}[100, 100, 1000, 1000]$ to account for the unknown initial velocity. The track score is initially set to $L_t=0$.
Both the GNN and JPDA manage to keep both tracks the entire time. The GNN results in two "U"-shaped tracks whereas the JPDA results in "S"-shaped tracks. Without more information, it is impossible to say which is correct. However, the JPDA tracker results in a smoother trajectory, probably because of the soft measurement assignments.