You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I found a potential mistake in the evaluation code for the tracking task. I have already discussed it with @holger-motional. It would be nice if you could double check it.
Problem description
When loading tracks for evaluation, for each track (both from GT and prediction), the code does an automatic linear interpolation to fill the missing boxes. It uses the right ratio to define the weight of the right box for interpolation. The right ratio is proportional to the time difference between the interpolated box and the right box.
However, as shown in this function, the larger the right ratio is, the closer the interpolated box is to the right box, both location-wise and geometrically. This probably means the larger the time difference between the interpolated box and the right box is, the closer the interpolated tracking box is to the right box, which I find quite problematic.
In the extreme opposite case, where the interpolated timestamp is very close to the right timestamp, the right ratio would approach zero, which means the interpolated box almost overlaps with the left box, instead of the right one. This seems quite counter-intuitive to me because I think if the interpolated box is temporally closer to the right box, it should also be spatially closer.
Example proof
We take the extreme case mentioned above, where the time to be interpolated is rightmost. From right_ratio = float(right_timestamp - timestamp) / (right_timestamp - left_timestamp) ,
we can see that if timestamp == right_timestamp, then right_ratio = float(0) / (right_timestamp - left_timestamp) = 0.
We see that if right_ratio == 0 == rratio, the interpolated box would be the left box, instead of the right one. As the returned variable is tuple((1.0 - 0) * np.array(left, dtype=float) + 0 * np.array(right, dtype=float)) which simplifies to: tuple(np.array(left, dtype=float)).
The text was updated successfully, but these errors were encountered:
Hi,
I found a potential mistake in the evaluation code for the tracking task. I have already discussed it with @holger-motional. It would be nice if you could double check it.
Problem description
When loading tracks for evaluation, for each track (both from GT and prediction), the code does an automatic linear interpolation to fill the missing boxes. It uses the right ratio to define the weight of the right box for interpolation. The right ratio is proportional to the time difference between the interpolated box and the right box.
However, as shown in this function, the larger the right ratio is, the closer the interpolated box is to the right box, both location-wise and geometrically. This probably means the larger the time difference between the interpolated box and the right box is, the closer the interpolated tracking box is to the right box, which I find quite problematic.
In the extreme opposite case, where the interpolated timestamp is very close to the right timestamp, the right ratio would approach zero, which means the interpolated box almost overlaps with the left box, instead of the right one. This seems quite counter-intuitive to me because I think if the interpolated box is temporally closer to the right box, it should also be spatially closer.
Example proof
We take the extreme case mentioned above, where the time to be interpolated is rightmost. From
right_ratio = float(right_timestamp - timestamp) / (right_timestamp - left_timestamp)
,we can see that if
timestamp == right_timestamp
, thenright_ratio = float(0) / (right_timestamp - left_timestamp) = 0
.From
We see that if
right_ratio == 0 == rratio
, the interpolated box would be the left box, instead of the right one. As the returned variable istuple((1.0 - 0) * np.array(left, dtype=float) + 0 * np.array(right, dtype=float))
which simplifies to:tuple(np.array(left, dtype=float))
.The text was updated successfully, but these errors were encountered: