autonomousvision / carla_garage

[ICCV'23] Hidden Biases of End-to-End Driving Models
MIT License
203 stars 16 forks source link

Clarification: Command #13

Closed animikhaich closed 10 months ago

animikhaich commented 10 months ago

In the dataset (measurement.json) and in the transfuser_utils.py "command" is being used. There are 6 categories: [0, 1, 2, 3, 4, 5].

Can anyone help answer some clarifying questions?

  1. Does the "command" here correspond to the command given for turns? Similar to End-to-end Driving via Conditional Imitation Learning by Codevilla et al. ?
  2. What are the 6 categories for the command? Which does each of these classes ([0, 1, 2, 3, 4, 5]) correspond to?
  3. Is "target_point" used in conjunction with "command"? (assuming "command" serves a similar function to that in Codevilla CIL paper) If so, why? Is that not redundant information?
  4. How is the "command" labeled/generated in the dataset?

Thanks!

Kait0 commented 10 months ago

The mapping is: 0: LEFT, 1: RIGHT, 2: STRAIGHT, 3: LANEFOLLOW, 4: CHANGELANELEFT, 5: CHANGELANERIGHT The command does correspond to the command in CIL, but additionally modern benchmarks consider multi-lane roads so there are additional commands for lane changes. Command corresponds to the navigational command in Table 1 of the paper. In that table we compare the effect of using either the command or the target point.

For the final model I use both because the target speed MLP classifier in figure 7 otherwise has no conditional signal (Target point is input to the GRU). Though adding the command didn't seem to have any measurable effect, so conditioning is likely not so important for longitudinal control.

The commands are provided by the carla leaderboard client. Probably gets calculated based on the HD map and the desired route waypoints with some A*.