The actor_mask is generate by:
actor_mask = torch.eq(torch.cat([ego.unsqueeze(1), neighbors[..., :-1]], dim=1), 0)[:, :, -1, -1]
It means concatenating the feature tensors of ego and neighbors, comparing each element with 0, setting elements equal to 0 to True, and then taking the last feature of the last timestep of each agent as the mask.
My question is, as far as I know, the last feature of the last dimension of an agent represents its height. Why can the height feature of the last timestep be used as a criterion for masking?
feature:
ego_state = np.array([sdc_state.center_x, sdc_state.center_y, sdc_state.heading, sdc_state.velocity_x, sdc_state.velocity_y, sdc_state.length, sdc_state.width, sdc_state.height])
The actor_mask is generate by:
actor_mask = torch.eq(torch.cat([ego.unsqueeze(1), neighbors[..., :-1]], dim=1), 0)[:, :, -1, -1]It means concatenating the feature tensors of ego and neighbors, comparing each element with 0, setting elements equal to 0 to True, and then taking the last feature of the last timestep of each agent as the mask.
My question is, as far as I know, the last feature of the last dimension of an agent represents its height. Why can the height feature of the last timestep be used as a criterion for masking?
feature:
ego_state = np.array([sdc_state.center_x, sdc_state.center_y, sdc_state.heading, sdc_state.velocity_x, sdc_state.velocity_y, sdc_state.length, sdc_state.width, sdc_state.height])