diff --git a/projects/DSVT/README.md b/projects/DSVT/README.md index a4b45b570d..d60e49abe5 100644 --- a/projects/DSVT/README.md +++ b/projects/DSVT/README.md @@ -57,17 +57,25 @@ python tools/test.py projects/DSVT/configs/dsvt_voxel032_res-second_secfpn_8xb1- ### Training commands -The support of training DSVT is on the way. +In MMDetection3D's root directory, run the following command to test the model: + +```bash +tools/dist_train.sh projects/DSVT/configs/dsvt_voxel032_res-second_secfpn_8xb1-cyclic-12e_waymoD5-3d-3class.py 8 --sync_bn torch +``` ## Results and models ### Waymo -| Middle Encoder | Backbone | Load Interval | Voxel type (voxel size) | Multi-Class NMS | Multi-frames | Mem (GB) | Inf time (fps) | mAP@L1 | mAPH@L1 | mAP@L2 | **mAPH@L2** | Download | -| :------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------: | :-----------: | :---------------------: | :-------------: | :----------: | :------: | :------------: | :----: | :-----: | :----: | :---------: | :------: | -| [DSVT](./configs/dsvt_voxel032_res-second_secfpn_8xb1-cyclic-12e_waymoD5-3d-3class.py) | [ResSECOND](./configs/dsvt_voxel032_res-second_secfpn_8xb1-cyclic-12e_waymoD5-3d-3class.py) | 5 | voxel (0.32) | ✓ | × | | | 75.2 | 72.2 | 68.9 | 66.1 | | +| Middle Encoder | Backbone | Load Interval | Voxel type (voxel size) | Multi-Class NMS | Multi-frames | mAP@L1 | mAPH@L1 | mAP@L2 | **mAPH@L2** | Download | +| :------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------: | :-----------: | :---------------------: | :-------------: | :----------: | :----: | :-----: | :----: | :---------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------: | +| [DSVT](./configs/dsvt_voxel032_res-second_secfpn_8xb1-cyclic-12e_waymoD5-3d-3class.py) | [ResSECOND](./configs/dsvt_voxel032_res-second_secfpn_8xb1-cyclic-12e_waymoD5-3d-3class.py) | 5 | voxel (0.32) | ✓ | × | 75.5 | 72.4 | 69.2 | 66.3 | \[log\](\ str: @TRANSFORMS.register_module() -class DSVTPointsRangeFilter(BaseTransform): +class PointsRangeFilter3D(BaseTransform): """Filter points by the range. It differs from `PointRangeFilter` by using `in_range_bev` instead of `in_range_3d`. diff --git a/projects/DSVT/dsvt/utils.py b/projects/DSVT/dsvt/utils.py index 978f9154da..706ee04280 100644 --- a/projects/DSVT/dsvt/utils.py +++ b/projects/DSVT/dsvt/utils.py @@ -313,13 +313,13 @@ def center_to_corner2d(center, dim): @weighted_loss def diou3d_loss(pred_boxes, gt_boxes, eps: float = 1e-7): """ - https://github.com/agent-sgs/PillarNet/blob/master/det3d/core/utils/center_utils.py # noqa + modified from https://github.com/agent-sgs/PillarNet/blob/master/det3d/core/utils/center_utils.py # noqa Args: pred_boxes (N, 7): gt_boxes (N, 7): Returns: - _type_: _description_ + Tensor: Distance-IoU Loss. """ assert pred_boxes.shape[0] == gt_boxes.shape[0] @@ -371,14 +371,15 @@ def diou3d_loss(pred_boxes, gt_boxes, eps: float = 1e-7): @MODELS.register_module() class DIoU3DLoss(nn.Module): r"""3D bboxes Implementation of `Distance-IoU Loss: Faster and Better - Learning for Bounding Box Regression https://arxiv.org/abs/1911.08287`_. + Learning for Bounding Box Regression `_. Code is modified from https://github.com/Zzh-tju/DIoU. Args: - eps (float): Epsilon to avoid log(0). + eps (float): Epsilon to avoid log(0). Defaults to 1e-6. reduction (str): Options are "none", "mean" and "sum". - loss_weight (float): Weight of loss. + Defaults to "mean". + loss_weight (float): Weight of loss. Defaults to 1.0. """ def __init__(self,