diff --git a/mmdet3d/apis/inference.py b/mmdet3d/apis/inference.py index 78dfa1e03a..bd9ed33332 100644 --- a/mmdet3d/apis/inference.py +++ b/mmdet3d/apis/inference.py @@ -7,11 +7,11 @@ from mmcv.runner import load_checkpoint from os import path as osp -from mmdet3d.core import (Box3DMode, DepthInstance3DBoxes, - LiDARInstance3DBoxes, show_multi_modality_result, - show_result, show_seg_result) +from mmdet3d.core import (Box3DMode, CameraInstance3DBoxes, + DepthInstance3DBoxes, LiDARInstance3DBoxes, + show_multi_modality_result, show_result, + show_seg_result) from mmdet3d.core.bbox import get_box_type -from mmdet3d.core.bbox.structures.cam_box3d import CameraInstance3DBoxes from mmdet3d.datasets.pipelines import Compose from mmdet3d.models import build_model @@ -427,11 +427,8 @@ def show_proj_det_result_meshlab(data, raise NotImplementedError( 'camera intrinsic matrix is not provided') - from mmdet3d.core.bbox import mono_cam_box2vis show_bboxes = CameraInstance3DBoxes( pred_bboxes, box_dim=pred_bboxes.shape[-1], origin=(0.5, 1.0, 0.5)) - # TODO: remove the hack of box from NuScenesMonoDataset - show_bboxes = mono_cam_box2vis(show_bboxes) show_multi_modality_result( img, diff --git a/mmdet3d/core/bbox/structures/utils.py b/mmdet3d/core/bbox/structures/utils.py index 8870cb4260..fe63f9de11 100644 --- a/mmdet3d/core/bbox/structures/utils.py +++ b/mmdet3d/core/bbox/structures/utils.py @@ -1,5 +1,6 @@ import numpy as np import torch +from logging import warning def limit_period(val, offset=0.5, period=np.pi): @@ -167,6 +168,9 @@ def mono_cam_box2vis(cam_box): Returns: :obj:`CameraInstance3DBoxes`: Box after conversion. """ + warning.warn('DeprecationWarning: The hack of yaw and dimension in the ' + 'monocular 3D detection on nuScenes has been removed. The ' + 'function mono_cam_box2vis will be deprecated.') from . import CameraInstance3DBoxes assert isinstance(cam_box, CameraInstance3DBoxes), \ 'input bbox should be CameraInstance3DBoxes!' diff --git a/mmdet3d/datasets/nuscenes_mono_dataset.py b/mmdet3d/datasets/nuscenes_mono_dataset.py index f5ed089821..05c82539ad 100644 --- a/mmdet3d/datasets/nuscenes_mono_dataset.py +++ b/mmdet3d/datasets/nuscenes_mono_dataset.py @@ -11,7 +11,7 @@ from mmdet3d.core import bbox3d2result, box3d_multiclass_nms, xywhr2xyxyr from mmdet.datasets import DATASETS, CocoDataset from ..core import show_multi_modality_result -from ..core.bbox import CameraInstance3DBoxes, get_box_type, mono_cam_box2vis +from ..core.bbox import CameraInstance3DBoxes, get_box_type from .pipelines import Compose from .utils import extract_result_dict, get_loading_pipeline @@ -624,9 +624,6 @@ def show(self, results, out_dir, show=True, pipeline=None): img = img.numpy().transpose(1, 2, 0) gt_bboxes = self.get_ann_info(i)['gt_bboxes_3d'] pred_bboxes = result['boxes_3d'] - # TODO: remove the hack of box from NuScenesMonoDataset - gt_bboxes = mono_cam_box2vis(gt_bboxes) - pred_bboxes = mono_cam_box2vis(pred_bboxes) show_multi_modality_result( img, gt_bboxes, diff --git a/mmdet3d/models/detectors/single_stage_mono3d.py b/mmdet3d/models/detectors/single_stage_mono3d.py index 0ed3bb5157..bf033b8744 100644 --- a/mmdet3d/models/detectors/single_stage_mono3d.py +++ b/mmdet3d/models/detectors/single_stage_mono3d.py @@ -5,7 +5,7 @@ from os import path as osp from mmdet3d.core import (CameraInstance3DBoxes, bbox3d2result, - mono_cam_box2vis, show_multi_modality_result) + show_multi_modality_result) from mmdet.models.builder import DETECTORS from mmdet.models.detectors.single_stage import SingleStageDetector @@ -207,9 +207,6 @@ def show_results(self, data, result, out_dir): assert isinstance(pred_bboxes, CameraInstance3DBoxes), \ f'unsupported predicted bbox type {type(pred_bboxes)}' - # TODO: remove the hack of box from NuScenesMonoDataset - pred_bboxes = mono_cam_box2vis(pred_bboxes) - show_multi_modality_result( img, None, diff --git a/setup.cfg b/setup.cfg index c2b6d98937..8b615d27cf 100644 --- a/setup.cfg +++ b/setup.cfg @@ -8,6 +8,6 @@ line_length = 79 multi_line_output = 0 known_standard_library = setuptools known_first_party = mmdet,mmseg,mmdet3d -known_third_party = cv2,indoor3d_util,load_scannet_data,lyft_dataset_sdk,m2r,matplotlib,mmcv,nuimages,numba,numpy,nuscenes,pandas,plyfile,pycocotools,pyquaternion,pytest,recommonmark,scannet_utils,scipy,seaborn,shapely,skimage,tensorflow,terminaltables,torch,trimesh,waymo_open_dataset +known_third_party = cv2,imageio,indoor3d_util,load_scannet_data,lyft_dataset_sdk,m2r,matplotlib,mmcv,nuimages,numba,numpy,nuscenes,pandas,plyfile,pycocotools,pyquaternion,pytest,recommonmark,scannet_utils,scipy,seaborn,shapely,skimage,tensorflow,terminaltables,torch,trimesh,waymo_open_dataset no_lines_before = STDLIB,LOCALFOLDER default_section = THIRDPARTY