ruiyu0 / Retracking-by-Prediction

Code and data for "Towards Robust Human Trajectory Prediction in Raw Videos" IROS 2021
MIT License
24 stars 0 forks source link

Questions about the paper #2

Closed brandonhuo closed 1 year ago

brandonhuo commented 1 year ago

Hi Rui, thank you for the wonderful paper. I have some questions while reading it. 1). According to your re-tracking algorithm, it seems the observation associated with remote predictions will not be included in the track to avoid mistakes. In this scenario, will you simply interpolate forward or use the prediction result? 2). When there are motion changes, e.g., change direction or stopping, do you have some comments on how will the algorithm perform?

ruiyu0 commented 1 year ago

Thanks for your interest in this work. 1) Sorry, I didn't get the first question. Could you elaborate? (e.g., pointing to equations/lines of the paper or code) 2) The paper's main contribution is dealing with noisy tracking results for better prediction. I didn't use a fancy prediction model. A simple LSTM model was trained with GT trajectories. This model didn't consider the map or other environmental information and thus did not work well for the case of changing direction. For motion changes, there is usually a "lag effect" for the prediction model to adjust to the new movement pattern.

brandonhuo commented 1 year ago

Thank you for the reply!

For the first question, I am trying to understand how the algorithm works when noisy detection comes in. Specifically, when there is an ID switch or spurious track, it seems likely that the new prediction (observation) won't be matched with the existing tracks M_a because of the large distance (I might be wrong here.) From algorithm 1 in the paper (line 13), a new track will be established for this unmatched observation.

However, it is hard to tell whether this observation is actually a new person or just a noisy detection of an existing object.

How does the algorithm handle this scenario? Your clarification will help me to better understand the algorithm. Thanks in advance.

ruiyu0 commented 1 year ago

You are right. For your example, it will probably run in this way in Algorithm 1:

1) Line 13, start a new track m; 2) Since this outlier may have a weird or unique prediction, it will probably not associate with future observations, i.e., this new m will repeat Line 10 until Line 17 (its age larger than max age), and then be removed from the set of active tracks.

The outcome is a short outlier track m. As optional postprocessing, we can filter out these short tracks.

brandonhuo commented 1 year ago

Cool! Thanks a lot!