Commit c2fe651f authored by zhangshilong's avatar zhangshilong Committed by ChaimZhu
Browse files

refactor directory

parent bc5806ba
...@@ -10,10 +10,11 @@ from mmengine.model import BaseModule ...@@ -10,10 +10,11 @@ from mmengine.model import BaseModule
from torch import Tensor from torch import Tensor
from torch import nn as nn from torch import nn as nn
from mmdet3d.core import box3d_multiclass_nms, limit_period, xywhr2xyxyr from mmdet3d.models.layers import box3d_multiclass_nms
from mmdet3d.core.utils import InstanceList, OptInstanceList
from mmdet3d.registry import MODELS from mmdet3d.registry import MODELS
from mmdet.core import multi_apply from mmdet3d.structures import limit_period, xywhr2xyxyr
from mmdet3d.utils import InstanceList, OptInstanceList
from mmdet.models.utils import multi_apply
from ..builder import build_head from ..builder import build_head
from .anchor3d_head import Anchor3DHead from .anchor3d_head import Anchor3DHead
......
...@@ -6,11 +6,11 @@ from mmengine.data import InstanceData ...@@ -6,11 +6,11 @@ from mmengine.data import InstanceData
from torch import Tensor from torch import Tensor
from torch.nn import functional as F from torch.nn import functional as F
from mmdet3d.core.utils import (ConfigType, InstanceList, OptConfigType,
OptInstanceList, OptMultiConfig)
from mmdet3d.registry import MODELS, TASK_UTILS from mmdet3d.registry import MODELS, TASK_UTILS
from mmdet.core import multi_apply from mmdet3d.utils import (ConfigType, InstanceList, OptConfigType,
from mmdet.models.utils import gaussian_radius, gen_gaussian_target OptInstanceList, OptMultiConfig)
from mmdet.models.utils import (gaussian_radius, gen_gaussian_target,
multi_apply)
from mmdet.models.utils.gaussian_target import (get_local_maximum, from mmdet.models.utils.gaussian_target import (get_local_maximum,
get_topk_from_heatmap, get_topk_from_heatmap,
transpose_and_gather_feat) transpose_and_gather_feat)
......
...@@ -8,12 +8,12 @@ from mmengine import InstanceData ...@@ -8,12 +8,12 @@ from mmengine import InstanceData
from torch import Tensor from torch import Tensor
from torch.nn import functional as F from torch.nn import functional as F
from mmdet3d.core.bbox.structures import (DepthInstance3DBoxes, from mmdet3d.registry import MODELS
from mmdet3d.structures import BaseInstance3DBoxes
from mmdet3d.structures.bbox_3d import (DepthInstance3DBoxes,
LiDARInstance3DBoxes, LiDARInstance3DBoxes,
rotation_3d_in_axis) rotation_3d_in_axis)
from mmdet3d.registry import MODELS from mmdet.models.utils import multi_apply
from mmdet.core import multi_apply
from ...core import BaseInstance3DBoxes
from ..builder import build_loss from ..builder import build_loss
from .vote_head import VoteHead from .vote_head import VoteHead
......
...@@ -3,8 +3,8 @@ import numpy as np ...@@ -3,8 +3,8 @@ import numpy as np
import torch import torch
from mmengine.data import InstanceData from mmengine.data import InstanceData
from mmdet3d.core import limit_period from mmdet3d.structures import limit_period
from mmdet.core import images_to_levels, multi_apply from mmdet.models.utils import images_to_levels, multi_apply
class AnchorTrainMixin(object): class AnchorTrainMixin(object):
......
...@@ -9,13 +9,11 @@ from mmengine import ConfigDict, InstanceData ...@@ -9,13 +9,11 @@ from mmengine import ConfigDict, InstanceData
from torch import Tensor from torch import Tensor
from torch.nn import functional as F from torch.nn import functional as F
from mmdet3d.core.post_processing import aligned_3d_nms from mmdet3d.models.layers import VoteModule, aligned_3d_nms, build_sa_module
from mmdet3d.models.losses import chamfer_distance from mmdet3d.models.losses import chamfer_distance
from mmdet3d.models.model_utils import VoteModule
from mmdet3d.ops import build_sa_module
from mmdet3d.registry import MODELS, TASK_UTILS from mmdet3d.registry import MODELS, TASK_UTILS
from mmdet.core.utils import multi_apply from mmdet3d.structures import Det3DDataSample
from ...core import Det3DDataSample from mmdet.models.utils import multi_apply
from .base_conv_bbox_head import BaseConvBboxHead from .base_conv_bbox_head import BaseConvBboxHead
......
...@@ -3,10 +3,11 @@ from typing import List, Optional, Union ...@@ -3,10 +3,11 @@ from typing import List, Optional, Union
from mmengine import InstanceData from mmengine import InstanceData
from mmdet3d.core import Det3DDataSample
from mmdet3d.core.utils import (ForwardResults, InstanceList, OptConfigType,
OptMultiConfig, OptSampleList, SampleList)
from mmdet3d.registry import MODELS from mmdet3d.registry import MODELS
from mmdet3d.structures import Det3DDataSample
from mmdet3d.structures.det3d_data_sample import (ForwardResults,
OptSampleList, SampleList)
from mmdet3d.utils.typing import InstanceList, OptConfigType, OptMultiConfig
from mmdet.models import BaseDetector from mmdet.models import BaseDetector
...@@ -113,7 +114,7 @@ class Base3DDetector(BaseDetector): ...@@ -113,7 +114,7 @@ class Base3DDetector(BaseDetector):
(num_instance, ) (num_instance, )
- labels_3d (Tensor): Labels of 3D bboxes, has a shape - labels_3d (Tensor): Labels of 3D bboxes, has a shape
(num_instances, ). (num_instances, ).
- bboxes_3d (Tensor): Contains a tensor with shape - bbox_3d (Tensor): Contains a tensor with shape
(num_instances, C) where C >=7. (num_instances, C) where C >=7.
When there are image prediction in some models, it should When there are image prediction in some models, it should
contains `pred_instances`, And the ``pred_instances`` normally contains `pred_instances`, And the ``pred_instances`` normally
......
...@@ -3,7 +3,7 @@ from typing import Optional ...@@ -3,7 +3,7 @@ from typing import Optional
import torch import torch
from mmdet3d.core import merge_aug_bboxes_3d from mmdet3d.models.test_time_augs import merge_aug_bboxes_3d
from mmdet3d.registry import MODELS from mmdet3d.registry import MODELS
from .mvx_two_stage import MVXTwoStageDetector from .mvx_two_stage import MVXTwoStageDetector
......
...@@ -6,8 +6,8 @@ from mmcv.runner import force_fp32 ...@@ -6,8 +6,8 @@ from mmcv.runner import force_fp32
from torch import Tensor from torch import Tensor
from torch.nn import functional as F from torch.nn import functional as F
from mmdet3d.core.utils import ConfigType, OptConfigType, OptMultiConfig
from mmdet3d.registry import MODELS from mmdet3d.registry import MODELS
from mmdet3d.utils import ConfigType, OptConfigType, OptMultiConfig
from .voxelnet import VoxelNet from .voxelnet import VoxelNet
......
# Copyright (c) OpenMMLab. All rights reserved. # Copyright (c) OpenMMLab. All rights reserved.
from mmdet3d.core import ConfigType, OptConfigType, OptMultiConfig
from mmdet3d.registry import MODELS from mmdet3d.registry import MODELS
from mmdet3d.utils import ConfigType, OptConfigType, OptMultiConfig
from .single_stage_mono3d import SingleStageMono3DDetector from .single_stage_mono3d import SingleStageMono3DDetector
......
# Copyright (c) OpenMMLab. All rights reserved. # Copyright (c) OpenMMLab. All rights reserved.
from mmdet3d.registry import MODELS from mmdet3d.registry import MODELS
from ...core import SampleList from ...structures.det3d_data_sample import SampleList
from .single_stage import SingleStage3DDetector from .single_stage import SingleStage3DDetector
...@@ -75,7 +75,7 @@ class GroupFree3DNet(SingleStage3DDetector): ...@@ -75,7 +75,7 @@ class GroupFree3DNet(SingleStage3DDetector):
(num_instance, ) (num_instance, )
- labels_3d (Tensor): Labels of bboxes, has a shape - labels_3d (Tensor): Labels of bboxes, has a shape
(num_instances, ). (num_instances, ).
- bboxes_3d (Tensor): Contains a tensor with shape - bbox_3d (Tensor): Contains a tensor with shape
(num_instances, C) where C >=7. (num_instances, C) where C >=7.
""" """
x = self.extract_feat(batch_inputs_dict) x = self.extract_feat(batch_inputs_dict)
......
...@@ -5,7 +5,7 @@ import torch ...@@ -5,7 +5,7 @@ import torch
from torch import Tensor from torch import Tensor
from mmdet3d.registry import MODELS from mmdet3d.registry import MODELS
from ...core import Det3DDataSample from mmdet3d.structures import Det3DDataSample
from .two_stage import TwoStage3DDetector from .two_stage import TwoStage3DDetector
......
...@@ -6,9 +6,9 @@ import torch ...@@ -6,9 +6,9 @@ import torch
from mmengine import InstanceData from mmengine import InstanceData
from torch import Tensor from torch import Tensor
from mmdet3d.core import Det3DDataSample
from mmdet3d.models.utils import MLP
from mmdet3d.registry import MODELS from mmdet3d.registry import MODELS
from mmdet3d.structures import Det3DDataSample
from ..layers import MLP
from .base import Base3DDetector from .base import Base3DDetector
......
...@@ -3,10 +3,11 @@ from typing import List, Tuple, Union ...@@ -3,10 +3,11 @@ from typing import List, Tuple, Union
import torch import torch
from mmdet3d.core import Det3DDataSample, InstanceList, build_prior_generator from mmdet3d.models.layers.fusion_layers.point_fusion import point_sample
from mmdet3d.core.utils import ConfigType, OptConfigType, SampleList from mmdet3d.registry import MODELS, TASK_UTILS
from mmdet3d.models.fusion_layers.point_fusion import point_sample from mmdet3d.structures import Det3DDataSample
from mmdet3d.registry import MODELS from mmdet3d.structures.det3d_data_sample import SampleList
from mmdet3d.utils import ConfigType, InstanceList, OptConfigType
from mmdet.models.detectors import BaseDetector from mmdet.models.detectors import BaseDetector
...@@ -53,7 +54,7 @@ class ImVoxelNet(BaseDetector): ...@@ -53,7 +54,7 @@ class ImVoxelNet(BaseDetector):
bbox_head.update(test_cfg=test_cfg) bbox_head.update(test_cfg=test_cfg)
self.bbox_head = MODELS.build(bbox_head) self.bbox_head = MODELS.build(bbox_head)
self.n_voxels = n_voxels self.n_voxels = n_voxels
self.anchor_generator = build_prior_generator(anchor_generator) self.anchor_generator = TASK_UTILS.build(anchor_generator)
self.train_cfg = train_cfg self.train_cfg = train_cfg
self.test_cfg = test_cfg self.test_cfg = test_cfg
......
...@@ -8,8 +8,8 @@ from mmengine import InstanceData ...@@ -8,8 +8,8 @@ from mmengine import InstanceData
from torch import Tensor from torch import Tensor
from torch.nn import functional as F from torch.nn import functional as F
from mmdet3d.core import Det3DDataSample
from mmdet3d.registry import MODELS from mmdet3d.registry import MODELS
from mmdet3d.structures import Det3DDataSample
from .base import Base3DDetector from .base import Base3DDetector
...@@ -407,7 +407,7 @@ class MVXTwoStageDetector(Base3DDetector): ...@@ -407,7 +407,7 @@ class MVXTwoStageDetector(Base3DDetector):
(num_instances, ) (num_instances, )
- labels_3d (Tensor): Labels of bboxes, has a shape - labels_3d (Tensor): Labels of bboxes, has a shape
(num_instances, ). (num_instances, ).
- bboxes_3d (:obj:`BaseInstance3DBoxes`): Prediction of bboxes, - bbox_3d (:obj:`BaseInstance3DBoxes`): Prediction of bboxes,
contains a tensor with shape (num_instances, 7). contains a tensor with shape (num_instances, 7).
""" """
batch_input_metas = [item.metainfo for item in batch_data_samples] batch_input_metas = [item.metainfo for item in batch_data_samples]
......
...@@ -4,9 +4,10 @@ from mmcv.ops import Voxelization ...@@ -4,9 +4,10 @@ from mmcv.ops import Voxelization
from mmcv.runner import force_fp32 from mmcv.runner import force_fp32
from torch.nn import functional as F from torch.nn import functional as F
from mmdet3d.core import bbox3d2result, merge_aug_bboxes_3d from mmdet3d.models.test_time_augs import merge_aug_bboxes_3d
from mmdet3d.structures.ops import bbox3d2result
from mmdet.models.builder import DETECTORS from mmdet.models.builder import DETECTORS
from .. import builder from mmdet.registry import MODELS
from .single_stage import SingleStage3DDetector from .single_stage import SingleStage3DDetector
...@@ -35,8 +36,8 @@ class SASSD(SingleStage3DDetector): ...@@ -35,8 +36,8 @@ class SASSD(SingleStage3DDetector):
pretrained=pretrained) pretrained=pretrained)
self.voxel_layer = Voxelization(**voxel_layer) self.voxel_layer = Voxelization(**voxel_layer)
self.voxel_encoder = builder.build_voxel_encoder(voxel_encoder) self.voxel_encoder = MODELS.build(voxel_encoder)
self.middle_encoder = builder.build_middle_encoder(middle_encoder) self.middle_encoder = MODELS.build(middle_encoder)
def extract_feat(self, points, img_metas=None, test_mode=False): def extract_feat(self, points, img_metas=None, test_mode=False):
"""Extract features from points.""" """Extract features from points."""
......
...@@ -4,9 +4,9 @@ from typing import Dict, List, Tuple, Union ...@@ -4,9 +4,9 @@ from typing import Dict, List, Tuple, Union
import torch import torch
from torch import Tensor from torch import Tensor
from mmdet3d.core.utils import (ConfigType, OptConfigType, OptMultiConfig,
OptSampleList, SampleList)
from mmdet3d.registry import MODELS from mmdet3d.registry import MODELS
from mmdet3d.utils import ConfigType, OptConfigType, OptMultiConfig
from ...structures.det3d_data_sample import OptSampleList, SampleList
from .base import Base3DDetector from .base import Base3DDetector
...@@ -103,7 +103,7 @@ class SingleStage3DDetector(Base3DDetector): ...@@ -103,7 +103,7 @@ class SingleStage3DDetector(Base3DDetector):
(num_instance, ) (num_instance, )
- labels_3d (Tensor): Labels of bboxes, has a shape - labels_3d (Tensor): Labels of bboxes, has a shape
(num_instances, ). (num_instances, ).
- bboxes_3d (Tensor): Contains a tensor with shape - bbox_3d (Tensor): Contains a tensor with shape
(num_instances, C) where C >=7. (num_instances, C) where C >=7.
""" """
x = self.extract_feat(batch_inputs_dict) x = self.extract_feat(batch_inputs_dict)
......
...@@ -3,9 +3,10 @@ from typing import Tuple ...@@ -3,9 +3,10 @@ from typing import Tuple
from torch import Tensor from torch import Tensor
from mmdet3d.core import Det3DDataSample, InstanceList
from mmdet3d.core.utils import SampleList
from mmdet3d.registry import MODELS from mmdet3d.registry import MODELS
from mmdet3d.structures import Det3DDataSample
from mmdet3d.structures.det3d_data_sample import SampleList
from mmdet3d.utils import InstanceList
from mmdet.models.detectors.single_stage import SingleStageDetector from mmdet.models.detectors.single_stage import SingleStageDetector
......
# Copyright (c) OpenMMLab. All rights reserved. # Copyright (c) OpenMMLab. All rights reserved.
from mmdet3d.core import ConfigType, OptConfigType, OptMultiConfig
from mmdet3d.registry import MODELS from mmdet3d.registry import MODELS
from mmdet3d.utils import ConfigType, OptConfigType, OptMultiConfig
from .single_stage_mono3d import SingleStageMono3DDetector from .single_stage_mono3d import SingleStageMono3DDetector
......
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
import copy import copy
from typing import Union from typing import Union
from mmdet3d.core.utils import (ConfigType, OptConfigType, OptMultiConfig,
SampleList)
from mmdet3d.registry import MODELS from mmdet3d.registry import MODELS
from mmdet3d.utils import ConfigType, OptConfigType, OptMultiConfig
from ...structures.det3d_data_sample import SampleList
from .base import Base3DDetector from .base import Base3DDetector
...@@ -143,7 +143,7 @@ class TwoStage3DDetector(Base3DDetector): ...@@ -143,7 +143,7 @@ class TwoStage3DDetector(Base3DDetector):
(num_instance, ) (num_instance, )
- labels_3d (Tensor): Labels of bboxes, has a shape - labels_3d (Tensor): Labels of bboxes, has a shape
(num_instances, ). (num_instances, ).
- bboxes_3d (Tensor): Contains a tensor with shape - bbox_3d (Tensor): Contains a tensor with shape
(num_instances, C) where C >=7. (num_instances, C) where C >=7.
""" """
feats_dict = self.extract_feat(batch_inputs_dict) feats_dict = self.extract_feat(batch_inputs_dict)
......
...@@ -4,8 +4,9 @@ from typing import Dict, List, Optional, Union ...@@ -4,8 +4,9 @@ from typing import Dict, List, Optional, Union
from mmengine import InstanceData from mmengine import InstanceData
from torch import Tensor from torch import Tensor
from mmdet3d.core import Det3DDataSample, merge_aug_bboxes_3d
from mmdet3d.registry import MODELS from mmdet3d.registry import MODELS
from mmdet3d.structures import Det3DDataSample
from ..test_time_augs import merge_aug_bboxes_3d
from .single_stage import SingleStage3DDetector from .single_stage import SingleStage3DDetector
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment