Compute match cost. Args: bbox_pred (Tensor): Predicted boxes with normalized coordinates (cx,cy,l,w,cz,h,sin(φ),cos(φ),v_x,v_y) which are all in range [0, 1] and shape [num_query, 10]. gt_bboxes (Tensor): Ground truth boxes with `norm
(self,
pred_instances: InstanceData,
gt_instances: InstanceData,
img_meta: Optional[dict] = None,
**kwargs)
| 51 | """L1 cost for 3D boxes.""" |
| 52 | |
| 53 | def __call__(self, |
| 54 | pred_instances: InstanceData, |
| 55 | gt_instances: InstanceData, |
| 56 | img_meta: Optional[dict] = None, |
| 57 | **kwargs) -> Tensor: |
| 58 | """Compute match cost. |
| 59 | |
| 60 | Args: |
| 61 | bbox_pred (Tensor): Predicted boxes with normalized coordinates |
| 62 | (cx,cy,l,w,cz,h,sin(φ),cos(φ),v_x,v_y) |
| 63 | which are all in range [0, 1] and shape [num_query, 10]. |
| 64 | gt_bboxes (Tensor): Ground truth boxes with `normalized` |
| 65 | coordinates (cx,cy,l,w,cz,h,sin(φ),cos(φ),v_x,v_y). |
| 66 | Shape [num_gt, 10]. |
| 67 | Returns: |
| 68 | Tensor: Match Cost matrix of shape (num_preds, num_gts). |
| 69 | """ |
| 70 | pred_bboxes = pred_instances.bboxes_3d.tensor # (num_preds, 9) |
| 71 | gt_bboxes = gt_instances.bboxes_3d.tensor # (num_gts, 9) |
| 72 | |
| 73 | bbox_cost = torch.cdist(pred_bboxes, gt_bboxes, |
| 74 | p=1) # (num_preds, num_gt) |
| 75 | return bbox_cost * self.weight |
| 76 | |
| 77 | |
| 78 | @TASK_UTILS.register_module() |
nothing calls this directly
no outgoing calls
no test coverage detected