StanfordASL / Trajectron-plus-plus

Code accompanying the ECCV 2020 paper "Trajectron++: Dynamically-Feasible Trajectory Forecasting With Heterogeneous Data" by Tim Salzmann*, Boris Ivanovic*, Punarjay Chakravarty, and Marco Pavone (* denotes equal contribution).
MIT License
646 stars 183 forks source link

Kalman filter pre-processing in nuScenes dataset #2

Closed TsuTikgiau closed 4 years ago

TsuTikgiau commented 4 years ago

Hello, I have a question about the preprocessing in nuScenes dataset. I found that the code use kalman filter to preprocess data. Is this necessary to do so? For vehicles the code use bicycle model in the kalman filter. Since there are some more complex models to model vehicles, would it be better to use another model? Thank you!

BorisIvanovic commented 4 years ago

Hi @TsuTikgiau , this is a good question.

The reason we used one is because the nuScenes dataset actually has quite a bit of noise in it (you can especially see this in low speed vehicles as well as vehicles far from the ego-vehicle). Thus, estimating quantities like heading and velocity from raw data is quite noisy. This is why we applied the kalman filter you see in the code. As for if that's necessary, we felt like it was, otherwise this noise may skew predictions and make training difficult.

You could definitely apply a more complex model! Just be wary that more complex vehicle dynamics models usually require estimating more detailed parameters (e.g. mass distribution per tire) which is quite difficult to do from this data (it would be an educated guess at best). To answer your question of would it be better: Given what I've written here, probably not. The dataset simply doesn't have the kind of detailed information one would need for more complex dynamics modeling. I'd love to be proven wrong, but this is the sense I got from the data.

BorisIvanovic commented 4 years ago

I'll close this now, but if you have additional questions please feel free to re-open it!

zjysteven commented 1 year ago

This is a long shot and I know that this repo is no longer maintained, but I was wondering why in the preprocessing the bicycle model is used, while for generating trajectories the extended unicycle model is used (and the paper says "one would usually model vehicles on the road using a bicycle model. However, estimating the bicycle model parameters of another vehicle from online observations is very difficult")? I'm totally new to this field, but it doesn't make sense to me that two different dynamic models are used in the system.