For the Asil'98 example, with N=21 sets of 4 measurements (2 real and 2 false) for two parabolic tracks, using the Kalman cost function without missed target events, w(K) is the total cost of the best paths for K=1..4 (using Kn=0.01, S2a=2, L=4): w = 16.333 40.422 963.63 2692.4 The large increase in w(K) at K=3 seems to indicate that K=2 is the best choice, meaning that the number of tracks is 2. But that is just a heuristic judgement. Since the false detections were generated uniformly over 0..4 for x and y, the volume is V=16 and m1=-log(1/V) is log(16), i.e. the cost for associating a measurement as a false detection instead of a track is: m1 = log(16) Section II,D of YBS "Tracking Methods in a Multitarget Environment", Eq(3.11), indicates a way to add a penalty to the cost function for unused measurements, but it doesn't seem to have the right definition for Nl. Eq(20) of Morefield "Application of 0-1 Integer Programming to Multitarget Tracking Problems" seems to be correct, leading to a term f*log(V) where f is the number of false alarm points. I think the overall costs should be adjusted as follows for this example to include a penalty for unused measurements: mw = w + [3*N1*m1 2*N1*m1 1*N1*m1 0*N1*m1] where N1=N-1. N-1 is used as a factor instead of N because the first measurement set is used to initialize the Viterbi states and is assigned 0 cost. With K=1, 3 out of each 4 measurements are unused at each of N1 points in time, so 3*N1*m1 is the overall penalty cost; with K=2, 2 out of each 4 measurements are unused, so 2*N1*m1 is the overall penalty cost; etc. This yields: mw = 182.69 151.33 1019.1 2692.4 That result shows quantitatively that K=2 has the lowest cost. The above penalty cost for unused measurements is now built into the Viterbi M code and is enabled by setting the variable UNUSED_PENALTY non-zero. Now continuing and considering missed target events, let's first rerun the above example with five missed target events in the middle of the first track, with no penalty for unused measurements. The total costs vs. K with missed target detection enabled in the Viterbi/Kalman cost function are: w = 19.174 83.242 149.22 157.81 Although the cost increases with increasing K, it does not increase as much as the original costs above without missed target event detection. This is because, for K>2, it is choosing missed target events since they have lower cost than associating false detections with a track. For example, with K=4, the measurement combinations associated with the best paths are: combos(path_index(1)) = 1 2 3 4 5 5 5 5 1 2 5 5 1 2 4 5 1 2 4 5 1 2 5 5 1 2 5 5 1 2 5 5 * 2 5 5 5 * 2 5 5 5 * 2 5 5 5 * 1 2 5 5 * 2 5 5 5 1 2 5 5 1 2 5 5 1 2 5 5 1 2 5 5 1 2 5 5 1 2 5 5 1 2 5 5 1 2 5 5 In the above table, the number 5 represents a missed target event detection. Numbers 1 to 4 represent selections of the four measurements, with 1 and 2 corresponding to real target measurements (except for rows 9-13, marked with *, where the first measurement was replaced with random values), and 3 and 4 corresponding to false detections. Row 1 is for time = 1, row 2 for time = 2, etc. Some experiments with combined missed target events and a penalty for unused measurements come out even "worse", with the overall cost decreasing for K>2. It seems that by including missed target event detection, we loose the ability to determine the number of tracks by looking at cost vs. K.