waymo-research / waymo-open-dataset

Waymo Open Dataset
https://www.waymo.com/open
Other
2.73k stars 617 forks source link

The roadgraph_samples/z in the motion dataset may be incorrect #664

Open key-student opened 1 year ago

key-student commented 1 year ago

Hello! Thank you for your great contributions!

While simulating agents' state/future/z, I used roadgraph_samples/z from the motion dataset and discovered significant discrepancies between the two. Theoretically, agents' state/future/z should be determined by adding the roadgraph_samples/z of the lane they are on to the height of their centroid. However, in some scenarios, the difference between roadgraph_samples/z and state/future/z can be as large as tens of meters. For example:

scenario_id = b'29e83cdf51ee8e4' roadgraph_samples/z.max() = 0.23721531 agent id = 1163 state/z: array([65.134224, 65.0926 , 65.08671 , 65.11564 , 65.120895, 65.16561 , 65.182724, 65.20313 , 65.21966 , 65.204254, 65.199326, 65.20213 , 65.21268 , 65.21642 , 65.247086, 65.260475, 65.27107 , 65.281136, 65.28455 , 65.28149 , 65.27691 , 65.29317 , 65.29884 , 65.30224 , 65.31141 , 65.315056, 65.318245, 65.32405 , 65.321304, 65.34008 , 65.35154 , 65.36817 , 65.35215 , 65.36539 , 65.37001 , 65.38853 , 65.394844, 65.398346, 65.40788 , 65.41251 , 65.41754 , 65.42614 , 65.41599 , 65.42976 , 65.441505, 65.44969 , 65.44442 , 65.44782 , 65.44324 , 65.44458 , 65.449104, 65.45024 , 65.45008 , 65.45362 , 65.44426 , 65.45709 , 65.464294, 65.44579 , 65.44949 , 65.45778 , 65.45184 , 65.45005 , 65.46672 , 65.46532 , 65.448715, 65.46163 , 65.46882 , 65.44785 , 65.47012 , -1. , -1. , -1. , -1. , -1. , -1. , -1. , -1. , -1. , -1. , -1. , -1. , -1. , -1. , -1. , -1. , -1. , -1. , -1. , -1. , -1. , -1. ]

Looking forward to your reply and thank you again!

nicomon24 commented 1 year ago

Hey @key-student, thanks a lot for spotting this! I'll look into it, but I think this might be happening:

I'll look into this and confirm. P.s.: I'm pretty sure there is not normalization per-agent and per-timestep.

scott-ettinger commented 1 year ago

Hello,

I took a look at that particular example. The Z values I see in the roadgraph samples have a range from 61.41466 to 67.778076. The state/future/z values range from 63.87462 to 66.13107. I don't see the issue you are showing in the data.

How are you getting the roadgraph Z values? (there is not a tensor in the examples called roadgraph_samples/z)
I assume you are using the tf_example version of the dataset. The z values should be located as : decoded_tensors['roadgraph_samples/xyz'][:, 2]. The only thing I can think of that would cause what you are showing would be if you used the 'roadgraph_samples/dir' tensor instead of 'roadgraph_samples/xyz'.

Please let me know if you are still having this issue or not.

-Scott