Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hope for Update to Latest OpenPCDet version #45

Closed
SikaStar opened this issue Jun 9, 2022 · 9 comments
Closed

Hope for Update to Latest OpenPCDet version #45

SikaStar opened this issue Jun 9, 2022 · 9 comments

Comments

@SikaStar
Copy link

SikaStar commented Jun 9, 2022

Hi, do you plan to update this project to the latest OpenPCDet version (e.g., OpenPCDet-0.5+)?

@jihanyang
Copy link
Member

Hello, I do have plan to update it to latest OpenPCDet version, since it can already support different GPU and CUDA version after I update it to openpcdet v0.3. However, we appreciate any contribution for this objective.

@SikaStar
Copy link
Author

Hello, I do have plan to update it to latest OpenPCDet version, since it can already support different GPU and CUDA version after I update it to openpcdet v0.3. However, we appreciate any contribution for this objective.

Hi, thanks for your reply! I have tried to use spconv-2.x instead of spconv-1.x, but the performance is lower than your reprted. For example, on nuscens->kitti (SECOND-IoU, with ROS), Car@R11=25.2, Car@R40=21.5 (with spconv-2.x) vs Car@R11=28.3, Car@40=25.4 (with spconv-1.x as you use). I don't know whether the lower performance comes form the higher spconv version?

@jihanyang
Copy link
Member

Hello, could you present the evaluation log? and have you change the code to suit spconv2.x?

@SikaStar
Copy link
Author

Hello, could you present the evaluation log? and have you change the code to suit spconv2.x?

Hi, the following is the evaluation log. I have changed the code to suit spconv2.x, which follows the implementation in OpenPCDet-0.5.2. Thanks for your help!

[2022-06-10 10:20:37,960 test.py 175 INFO] Start logging
[2022-06-10 10:20:37,960 test.py 177 INFO] CUDA_VISIBLE_DEVICES=ALL
[2022-06-10 10:20:37,961 test.py 182 INFO] cfg_file ./cfgs/da-nuscenes-kitti_models/secondiou/secondiou_old_anchor_ros.yaml
[2022-06-10 10:20:37,961 test.py 182 INFO] batch_size 16
[2022-06-10 10:20:37,961 test.py 182 INFO] epochs 80
[2022-06-10 10:20:37,961 test.py 182 INFO] workers 4
[2022-06-10 10:20:37,961 test.py 182 INFO] extra_tag default
[2022-06-10 10:20:37,961 test.py 182 INFO] ckpt ../outputs/da-nuscenes-kitti_models/secondiou/secondiou_old_anchor_ros/default/ckpt/checkpoint_epoch_50.pth
[2022-06-10 10:20:37,961 test.py 182 INFO] launcher none
[2022-06-10 10:20:37,961 test.py 182 INFO] tcp_port 18888
[2022-06-10 10:20:37,961 test.py 182 INFO] local_rank 0
[2022-06-10 10:20:37,961 test.py 182 INFO] set_cfgs ['DATA_CONFIG_TAR.FOV_POINTS_ONLY', 'True']
[2022-06-10 10:20:37,961 test.py 182 INFO] max_waiting_mins 30
[2022-06-10 10:20:37,961 test.py 182 INFO] start_epoch 0
[2022-06-10 10:20:37,961 test.py 182 INFO] eval_tag default
[2022-06-10 10:20:37,961 test.py 182 INFO] eval_all False
[2022-06-10 10:20:37,961 test.py 182 INFO] ckpt_dir None
[2022-06-10 10:20:37,961 test.py 182 INFO] save_to_file False
[2022-06-10 10:20:37,961 config.py 13 INFO] cfg.ROOT_DIR: /ssd2/daiyongxing/3D-Detection/ST3D-st3d_v0.3
[2022-06-10 10:20:37,961 config.py 13 INFO] cfg.LOCAL_RANK: 0
[2022-06-10 10:20:37,962 config.py 13 INFO] cfg.CLASS_NAMES: ['car']
[2022-06-10 10:20:37,962 config.py 10 INFO]
cfg.DATA_CONFIG = edict()
[2022-06-10 10:20:37,962 config.py 13 INFO] cfg.DATA_CONFIG.DATASET: NuScenesDataset
[2022-06-10 10:20:37,962 config.py 13 INFO] cfg.DATA_CONFIG.DATA_PATH: ../data/nuscenes
[2022-06-10 10:20:37,962 config.py 13 INFO] cfg.DATA_CONFIG.VERSION: v1.0-trainval
[2022-06-10 10:20:37,962 config.py 13 INFO] cfg.DATA_CONFIG.SET_NAN_VELOCITY_TO_ZEROS: True
[2022-06-10 10:20:37,962 config.py 13 INFO] cfg.DATA_CONFIG.FILTER_MIN_POINTS_IN_GT: 1
[2022-06-10 10:20:37,962 config.py 10 INFO]
cfg.DATA_CONFIG.DATA_SPLIT = edict()
[2022-06-10 10:20:37,962 config.py 13 INFO] cfg.DATA_CONFIG.DATA_SPLIT.train: train
[2022-06-10 10:20:37,962 config.py 13 INFO] cfg.DATA_CONFIG.DATA_SPLIT.test: val
[2022-06-10 10:20:37,962 config.py 10 INFO]
cfg.DATA_CONFIG.INFO_PATH = edict()
[2022-06-10 10:20:37,962 config.py 13 INFO] cfg.DATA_CONFIG.INFO_PATH.train: ['nuscenes_infos_10sweeps_train.pkl']
[2022-06-10 10:20:37,962 config.py 13 INFO] cfg.DATA_CONFIG.INFO_PATH.test: ['nuscenes_infos_10sweeps_val.pkl']
[2022-06-10 10:20:37,962 config.py 13 INFO] cfg.DATA_CONFIG.POINT_CLOUD_RANGE: [-75.2, -75.2, -2, 75.2, 75.2, 4]
[2022-06-10 10:20:37,962 config.py 13 INFO] cfg.DATA_CONFIG.MIN_POINTS_OF_GT: 1
[2022-06-10 10:20:37,962 config.py 10 INFO]
cfg.DATA_CONFIG.DATA_AUGMENTOR = edict()
[2022-06-10 10:20:37,962 config.py 13 INFO] cfg.DATA_CONFIG.DATA_AUGMENTOR.DISABLE_AUG_LIST: ['normalize_object_size']
[2022-06-10 10:20:37,962 config.py 13 INFO] cfg.DATA_CONFIG.DATA_AUGMENTOR.AUG_CONFIG_LIST: [{'NAME': 'random_object_scaling', 'SCALE_UNIFORM_NOISE': [0.75, 1.0]}, {'NAME': 'normalize_object_size', 'SIZE_RES': [-0.75, -0.34, -0.2]}, {'NAME': 'random_world_flip', 'ALONG_AXIS_LIST': ['x', 'y']}, {'NAME': 'random_world_rotation', 'WORLD_ROT_ANGLE': [-0.3925, 0.3925]}, {'NAME': 'random_world_scaling', 'WORLD_SCALE_RANGE': [0.95, 1.05]}]
[2022-06-10 10:20:37,962 config.py 10 INFO]
cfg.DATA_CONFIG.POINT_FEATURE_ENCODING = edict()
[2022-06-10 10:20:37,962 config.py 13 INFO] cfg.DATA_CONFIG.POINT_FEATURE_ENCODING.encoding_type: absolute_coordinates_encoding
[2022-06-10 10:20:37,963 config.py 13 INFO] cfg.DATA_CONFIG.POINT_FEATURE_ENCODING.used_feature_list: ['x', 'y', 'z']
[2022-06-10 10:20:37,963 config.py 13 INFO] cfg.DATA_CONFIG.POINT_FEATURE_ENCODING.src_feature_list: ['x', 'y', 'z', 'intensity', 'timestamp']
[2022-06-10 10:20:37,963 config.py 13 INFO] cfg.DATA_CONFIG.DATA_PROCESSOR: [{'NAME': 'mask_points_and_boxes_outside_range', 'REMOVE_OUTSIDE_BOXES': True}, {'NAME': 'shuffle_points', 'SHUFFLE_ENABLED': {'train': True, 'test': False}}, {'NAME': 'transform_points_to_voxels', 'VOXEL_SIZE': [0.1, 0.1, 0.15], 'MAX_POINTS_PER_VOXEL': 5, 'MAX_NUMBER_OF_VOXELS': {'train': 80000, 'test': 90000}}]
[2022-06-10 10:20:37,963 config.py 13 INFO] cfg.DATA_CONFIG.BASE_CONFIG: cfgs/dataset_configs/da_nuscenes_kitti_dataset.yaml
[2022-06-10 10:20:37,963 config.py 13 INFO] cfg.DATA_CONFIG.MAX_SWEEPS: 1
[2022-06-10 10:20:37,963 config.py 13 INFO] cfg.DATA_CONFIG.PRED_VELOCITY: False
[2022-06-10 10:20:37,963 config.py 13 INFO] cfg.DATA_CONFIG.BALANCED_RESAMPLING: False
[2022-06-10 10:20:37,963 config.py 13 INFO] cfg.DATA_CONFIG.SHIFT_COOR: [0.0, 0.0, 1.8]
[2022-06-10 10:20:37,963 config.py 10 INFO]
cfg.DATA_CONFIG_TAR = edict()
[2022-06-10 10:20:37,963 config.py 13 INFO] cfg.DATA_CONFIG_TAR.DATASET: KittiDataset
[2022-06-10 10:20:37,963 config.py 13 INFO] cfg.DATA_CONFIG_TAR.DATA_PATH: ../data/kitti
[2022-06-10 10:20:37,963 config.py 13 INFO] cfg.DATA_CONFIG_TAR.POINT_CLOUD_RANGE: [-75.2, -75.2, -2, 75.2, 75.2, 4]
[2022-06-10 10:20:37,963 config.py 10 INFO]
cfg.DATA_CONFIG_TAR.DATA_SPLIT = edict()
[2022-06-10 10:20:37,963 config.py 13 INFO] cfg.DATA_CONFIG_TAR.DATA_SPLIT.train: train
[2022-06-10 10:20:37,963 config.py 13 INFO] cfg.DATA_CONFIG_TAR.DATA_SPLIT.test: val
[2022-06-10 10:20:37,963 config.py 10 INFO]
cfg.DATA_CONFIG_TAR.INFO_PATH = edict()
[2022-06-10 10:20:37,963 config.py 13 INFO] cfg.DATA_CONFIG_TAR.INFO_PATH.train: ['kitti_infos_train.pkl']
[2022-06-10 10:20:37,963 config.py 13 INFO] cfg.DATA_CONFIG_TAR.INFO_PATH.test: ['kitti_infos_val.pkl']
[2022-06-10 10:20:37,963 config.py 10 INFO]
cfg.DATA_CONFIG_TAR.DATA_AUGMENTOR = edict()
[2022-06-10 10:20:37,964 config.py 13 INFO] cfg.DATA_CONFIG_TAR.DATA_AUGMENTOR.DISABLE_AUG_LIST: ['random_object_scaling', 'random_object_rotation']
[2022-06-10 10:20:37,964 config.py 13 INFO] cfg.DATA_CONFIG_TAR.DATA_AUGMENTOR.AUG_CONFIG_LIST: [{'NAME': 'random_object_scaling', 'SCALE_UNIFORM_NOISE': [0.9, 1.1]}, {'NAME': 'random_object_rotation', 'ROT_PROB': 1.0, 'ROT_UNIFORM_NOISE': [-0.78539816, 0.78539816]}, {'NAME': 'random_world_flip', 'ALONG_AXIS_LIST': ['x', 'y']}, {'NAME': 'random_world_rotation', 'WORLD_ROT_ANGLE': [-0.78539816, 0.78539816]}, {'NAME': 'random_world_scaling', 'WORLD_SCALE_RANGE': [0.95, 1.05]}]
[2022-06-10 10:20:37,964 config.py 10 INFO]
cfg.DATA_CONFIG_TAR.POINT_FEATURE_ENCODING = edict()
[2022-06-10 10:20:37,964 config.py 13 INFO] cfg.DATA_CONFIG_TAR.POINT_FEATURE_ENCODING.encoding_type: absolute_coordinates_encoding
[2022-06-10 10:20:37,964 config.py 13 INFO] cfg.DATA_CONFIG_TAR.POINT_FEATURE_ENCODING.used_feature_list: ['x', 'y', 'z']
[2022-06-10 10:20:37,964 config.py 13 INFO] cfg.DATA_CONFIG_TAR.POINT_FEATURE_ENCODING.src_feature_list: ['x', 'y', 'z', 'intensity']
[2022-06-10 10:20:37,964 config.py 13 INFO] cfg.DATA_CONFIG_TAR.DATA_PROCESSOR: [{'NAME': 'mask_points_and_boxes_outside_range', 'REMOVE_OUTSIDE_BOXES': True}, {'NAME': 'shuffle_points', 'SHUFFLE_ENABLED': {'train': True, 'test': False}}, {'NAME': 'transform_points_to_voxels', 'VOXEL_SIZE': [0.1, 0.1, 0.15], 'MAX_POINTS_PER_VOXEL': 5, 'MAX_NUMBER_OF_VOXELS': {'train': 80000, 'test': 90000}}]
[2022-06-10 10:20:37,964 config.py 10 INFO]
cfg.DATA_CONFIG_TAR.TEST = edict()
[2022-06-10 10:20:37,964 config.py 10 INFO]
cfg.DATA_CONFIG_TAR.TEST.BOX_FILTER = edict()
[2022-06-10 10:20:37,964 config.py 13 INFO] cfg.DATA_CONFIG_TAR.TEST.BOX_FILTER.USE_IMAGE_AREA_FILTER: True
[2022-06-10 10:20:37,964 config.py 13 INFO] cfg.DATA_CONFIG_TAR.TEST.BOX_FILTER.FOV_FILTER: True
[2022-06-10 10:20:37,964 config.py 13 INFO] cfg.DATA_CONFIG_TAR.TEST.BOX_FILTER.LIMIT_RANGE: [-75.2, -75.2, -2, 75.2, 75.2, 4]
[2022-06-10 10:20:37,964 config.py 13 INFO] cfg.DATA_CONFIG_TAR.BASE_CONFIG: cfgs/dataset_configs/da_kitti_dataset.yaml
[2022-06-10 10:20:37,964 config.py 13 INFO] cfg.DATA_CONFIG_TAR.TARGET: True
[2022-06-10 10:20:37,964 config.py 13 INFO] cfg.DATA_CONFIG_TAR.FOV_POINTS_ONLY: True
[2022-06-10 10:20:37,964 config.py 13 INFO] cfg.DATA_CONFIG_TAR.CLASS_NAMES: ['Car']
[2022-06-10 10:20:37,964 config.py 13 INFO] cfg.DATA_CONFIG_TAR.SHIFT_COOR: [0.0, 0.0, 1.6]
[2022-06-10 10:20:37,964 config.py 10 INFO]
cfg.MODEL = edict()
[2022-06-10 10:20:37,964 config.py 13 INFO] cfg.MODEL.NAME: SECONDNetIoU
[2022-06-10 10:20:37,965 config.py 10 INFO]
cfg.MODEL.VFE = edict()
[2022-06-10 10:20:37,965 config.py 13 INFO] cfg.MODEL.VFE.NAME: MeanVFE
[2022-06-10 10:20:37,965 config.py 10 INFO]
cfg.MODEL.BACKBONE_3D = edict()
[2022-06-10 10:20:37,965 config.py 13 INFO] cfg.MODEL.BACKBONE_3D.NAME: VoxelBackBone8x
[2022-06-10 10:20:37,965 config.py 10 INFO]
cfg.MODEL.MAP_TO_BEV = edict()
[2022-06-10 10:20:37,965 config.py 13 INFO] cfg.MODEL.MAP_TO_BEV.NAME: HeightCompression
[2022-06-10 10:20:37,965 config.py 13 INFO] cfg.MODEL.MAP_TO_BEV.NUM_BEV_FEATURES: 256
[2022-06-10 10:20:37,965 config.py 10 INFO]
cfg.MODEL.BACKBONE_2D = edict()
[2022-06-10 10:20:37,965 config.py 13 INFO] cfg.MODEL.BACKBONE_2D.NAME: BaseBEVBackbone
[2022-06-10 10:20:37,965 config.py 13 INFO] cfg.MODEL.BACKBONE_2D.LAYER_NUMS: [5, 5]
[2022-06-10 10:20:37,965 config.py 13 INFO] cfg.MODEL.BACKBONE_2D.LAYER_STRIDES: [1, 2]
[2022-06-10 10:20:37,965 config.py 13 INFO] cfg.MODEL.BACKBONE_2D.NUM_FILTERS: [128, 256]
[2022-06-10 10:20:37,965 config.py 13 INFO] cfg.MODEL.BACKBONE_2D.UPSAMPLE_STRIDES: [1, 2]
[2022-06-10 10:20:37,965 config.py 13 INFO] cfg.MODEL.BACKBONE_2D.NUM_UPSAMPLE_FILTERS: [256, 256]
[2022-06-10 10:20:37,965 config.py 10 INFO]
cfg.MODEL.DENSE_HEAD = edict()
[2022-06-10 10:20:37,965 config.py 13 INFO] cfg.MODEL.DENSE_HEAD.NAME: AnchorHeadSingle
[2022-06-10 10:20:37,965 config.py 13 INFO] cfg.MODEL.DENSE_HEAD.CLASS_AGNOSTIC: False
[2022-06-10 10:20:37,965 config.py 13 INFO] cfg.MODEL.DENSE_HEAD.USE_DIRECTION_CLASSIFIER: True
[2022-06-10 10:20:37,965 config.py 13 INFO] cfg.MODEL.DENSE_HEAD.DIR_OFFSET: 0.78539
[2022-06-10 10:20:37,965 config.py 13 INFO] cfg.MODEL.DENSE_HEAD.DIR_LIMIT_OFFSET: 0.0
[2022-06-10 10:20:37,966 config.py 13 INFO] cfg.MODEL.DENSE_HEAD.NUM_DIR_BINS: 2
[2022-06-10 10:20:37,966 config.py 13 INFO] cfg.MODEL.DENSE_HEAD.ANCHOR_GENERATOR_CONFIG: [{'class_name': 'car', 'anchor_sizes': [[4.2, 2.0, 1.6]], 'anchor_rotations': [0, 1.57], 'anchor_bottom_heights': [0], 'align_center': False, 'feature_map_stride': 8, 'matched_threshold': 0.55, 'unmatched_threshold': 0.4}]
[2022-06-10 10:20:37,966 config.py 10 INFO]
cfg.MODEL.DENSE_HEAD.TARGET_ASSIGNER_CONFIG = edict()
[2022-06-10 10:20:37,966 config.py 13 INFO] cfg.MODEL.DENSE_HEAD.TARGET_ASSIGNER_CONFIG.NAME: AxisAlignedTargetAssigner
[2022-06-10 10:20:37,966 config.py 13 INFO] cfg.MODEL.DENSE_HEAD.TARGET_ASSIGNER_CONFIG.POS_FRACTION: -1.0
[2022-06-10 10:20:37,966 config.py 13 INFO] cfg.MODEL.DENSE_HEAD.TARGET_ASSIGNER_CONFIG.SAMPLE_SIZE: 512
[2022-06-10 10:20:37,966 config.py 13 INFO] cfg.MODEL.DENSE_HEAD.TARGET_ASSIGNER_CONFIG.NORM_BY_NUM_EXAMPLES: False
[2022-06-10 10:20:37,966 config.py 13 INFO] cfg.MODEL.DENSE_HEAD.TARGET_ASSIGNER_CONFIG.MATCH_HEIGHT: False
[2022-06-10 10:20:37,966 config.py 13 INFO] cfg.MODEL.DENSE_HEAD.TARGET_ASSIGNER_CONFIG.BOX_CODER: ResidualCoder
[2022-06-10 10:20:37,966 config.py 10 INFO]
cfg.MODEL.DENSE_HEAD.LOSS_CONFIG = edict()
[2022-06-10 10:20:37,966 config.py 10 INFO]
cfg.MODEL.DENSE_HEAD.LOSS_CONFIG.LOSS_WEIGHTS = edict()
[2022-06-10 10:20:37,966 config.py 13 INFO] cfg.MODEL.DENSE_HEAD.LOSS_CONFIG.LOSS_WEIGHTS.cls_weight: 1.0
[2022-06-10 10:20:37,966 config.py 13 INFO] cfg.MODEL.DENSE_HEAD.LOSS_CONFIG.LOSS_WEIGHTS.loc_weight: 2.0
[2022-06-10 10:20:37,966 config.py 13 INFO] cfg.MODEL.DENSE_HEAD.LOSS_CONFIG.LOSS_WEIGHTS.dir_weight: 0.2
[2022-06-10 10:20:37,966 config.py 13 INFO] cfg.MODEL.DENSE_HEAD.LOSS_CONFIG.LOSS_WEIGHTS.code_weights: [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]
[2022-06-10 10:20:37,966 config.py 10 INFO]
cfg.MODEL.ROI_HEAD = edict()
[2022-06-10 10:20:37,966 config.py 13 INFO] cfg.MODEL.ROI_HEAD.NAME: SECONDHead
[2022-06-10 10:20:37,966 config.py 13 INFO] cfg.MODEL.ROI_HEAD.CLASS_AGNOSTIC: True
[2022-06-10 10:20:37,966 config.py 13 INFO] cfg.MODEL.ROI_HEAD.SHARED_FC: [256, 256]
[2022-06-10 10:20:37,966 config.py 13 INFO] cfg.MODEL.ROI_HEAD.IOU_FC: [256, 256]
[2022-06-10 10:20:37,967 config.py 13 INFO] cfg.MODEL.ROI_HEAD.DP_RATIO: 0.3
[2022-06-10 10:20:37,967 config.py 10 INFO]
cfg.MODEL.ROI_HEAD.NMS_CONFIG = edict()
[2022-06-10 10:20:37,967 config.py 10 INFO]
cfg.MODEL.ROI_HEAD.NMS_CONFIG.TRAIN = edict()
[2022-06-10 10:20:37,967 config.py 13 INFO] cfg.MODEL.ROI_HEAD.NMS_CONFIG.TRAIN.NMS_TYPE: nms_gpu
[2022-06-10 10:20:37,967 config.py 13 INFO] cfg.MODEL.ROI_HEAD.NMS_CONFIG.TRAIN.MULTI_CLASSES_NMS: False
[2022-06-10 10:20:37,967 config.py 13 INFO] cfg.MODEL.ROI_HEAD.NMS_CONFIG.TRAIN.NMS_PRE_MAXSIZE: 9000
[2022-06-10 10:20:37,967 config.py 13 INFO] cfg.MODEL.ROI_HEAD.NMS_CONFIG.TRAIN.NMS_POST_MAXSIZE: 512
[2022-06-10 10:20:37,967 config.py 13 INFO] cfg.MODEL.ROI_HEAD.NMS_CONFIG.TRAIN.NMS_THRESH: 0.8
[2022-06-10 10:20:37,967 config.py 10 INFO]
cfg.MODEL.ROI_HEAD.NMS_CONFIG.TEST = edict()
[2022-06-10 10:20:37,967 config.py 13 INFO] cfg.MODEL.ROI_HEAD.NMS_CONFIG.TEST.NMS_TYPE: nms_gpu
[2022-06-10 10:20:37,967 config.py 13 INFO] cfg.MODEL.ROI_HEAD.NMS_CONFIG.TEST.MULTI_CLASSES_NMS: False
[2022-06-10 10:20:37,967 config.py 13 INFO] cfg.MODEL.ROI_HEAD.NMS_CONFIG.TEST.NMS_PRE_MAXSIZE: 1024
[2022-06-10 10:20:37,967 config.py 13 INFO] cfg.MODEL.ROI_HEAD.NMS_CONFIG.TEST.NMS_POST_MAXSIZE: 100
[2022-06-10 10:20:37,967 config.py 13 INFO] cfg.MODEL.ROI_HEAD.NMS_CONFIG.TEST.NMS_THRESH: 0.7
[2022-06-10 10:20:37,967 config.py 10 INFO]
cfg.MODEL.ROI_HEAD.ROI_GRID_POOL = edict()
[2022-06-10 10:20:37,967 config.py 13 INFO] cfg.MODEL.ROI_HEAD.ROI_GRID_POOL.GRID_SIZE: 7
[2022-06-10 10:20:37,967 config.py 13 INFO] cfg.MODEL.ROI_HEAD.ROI_GRID_POOL.IN_CHANNEL: 512
[2022-06-10 10:20:37,967 config.py 13 INFO] cfg.MODEL.ROI_HEAD.ROI_GRID_POOL.DOWNSAMPLE_RATIO: 8
[2022-06-10 10:20:37,967 config.py 10 INFO]
cfg.MODEL.ROI_HEAD.TARGET_CONFIG = edict()
[2022-06-10 10:20:37,967 config.py 13 INFO] cfg.MODEL.ROI_HEAD.TARGET_CONFIG.BOX_CODER: ResidualCoder
[2022-06-10 10:20:37,968 config.py 13 INFO] cfg.MODEL.ROI_HEAD.TARGET_CONFIG.ROI_PER_IMAGE: 128
[2022-06-10 10:20:37,968 config.py 13 INFO] cfg.MODEL.ROI_HEAD.TARGET_CONFIG.FG_RATIO: 0.5
[2022-06-10 10:20:37,968 config.py 13 INFO] cfg.MODEL.ROI_HEAD.TARGET_CONFIG.SAMPLE_ROI_BY_EACH_CLASS: True
[2022-06-10 10:20:37,968 config.py 13 INFO] cfg.MODEL.ROI_HEAD.TARGET_CONFIG.CLS_SCORE_TYPE: raw_roi_iou
[2022-06-10 10:20:37,968 config.py 13 INFO] cfg.MODEL.ROI_HEAD.TARGET_CONFIG.CLS_FG_THRESH: 0.75
[2022-06-10 10:20:37,968 config.py 13 INFO] cfg.MODEL.ROI_HEAD.TARGET_CONFIG.CLS_BG_THRESH: 0.25
[2022-06-10 10:20:37,968 config.py 13 INFO] cfg.MODEL.ROI_HEAD.TARGET_CONFIG.CLS_BG_THRESH_LO: 0.1
[2022-06-10 10:20:37,968 config.py 13 INFO] cfg.MODEL.ROI_HEAD.TARGET_CONFIG.HARD_BG_RATIO: 0.8
[2022-06-10 10:20:37,968 config.py 13 INFO] cfg.MODEL.ROI_HEAD.TARGET_CONFIG.REG_FG_THRESH: 0.55
[2022-06-10 10:20:37,968 config.py 10 INFO]
cfg.MODEL.ROI_HEAD.LOSS_CONFIG = edict()
[2022-06-10 10:20:37,968 config.py 13 INFO] cfg.MODEL.ROI_HEAD.LOSS_CONFIG.IOU_LOSS: BinaryCrossEntropy
[2022-06-10 10:20:37,968 config.py 10 INFO]
cfg.MODEL.ROI_HEAD.LOSS_CONFIG.LOSS_WEIGHTS = edict()
[2022-06-10 10:20:37,968 config.py 13 INFO] cfg.MODEL.ROI_HEAD.LOSS_CONFIG.LOSS_WEIGHTS.rcnn_iou_weight: 1.0
[2022-06-10 10:20:37,968 config.py 13 INFO] cfg.MODEL.ROI_HEAD.LOSS_CONFIG.LOSS_WEIGHTS.code_weights: [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]
[2022-06-10 10:20:37,968 config.py 10 INFO]
cfg.MODEL.POST_PROCESSING = edict()
[2022-06-10 10:20:37,968 config.py 13 INFO] cfg.MODEL.POST_PROCESSING.RECALL_THRESH_LIST: [0.3, 0.5, 0.7]
[2022-06-10 10:20:37,968 config.py 13 INFO] cfg.MODEL.POST_PROCESSING.SCORE_THRESH: 0.1
[2022-06-10 10:20:37,968 config.py 13 INFO] cfg.MODEL.POST_PROCESSING.OUTPUT_RAW_SCORE: False
[2022-06-10 10:20:37,968 config.py 13 INFO] cfg.MODEL.POST_PROCESSING.EVAL_METRIC: kitti
[2022-06-10 10:20:37,968 config.py 10 INFO]
cfg.MODEL.POST_PROCESSING.NMS_CONFIG = edict()
[2022-06-10 10:20:37,969 config.py 13 INFO] cfg.MODEL.POST_PROCESSING.NMS_CONFIG.MULTI_CLASSES_NMS: False
[2022-06-10 10:20:37,969 config.py 13 INFO] cfg.MODEL.POST_PROCESSING.NMS_CONFIG.NMS_TYPE: nms_gpu
[2022-06-10 10:20:37,969 config.py 13 INFO] cfg.MODEL.POST_PROCESSING.NMS_CONFIG.NMS_THRESH: 0.01
[2022-06-10 10:20:37,969 config.py 13 INFO] cfg.MODEL.POST_PROCESSING.NMS_CONFIG.NMS_PRE_MAXSIZE: 4096
[2022-06-10 10:20:37,969 config.py 13 INFO] cfg.MODEL.POST_PROCESSING.NMS_CONFIG.NMS_POST_MAXSIZE: 500
[2022-06-10 10:20:37,969 config.py 10 INFO]
cfg.OPTIMIZATION = edict()
[2022-06-10 10:20:37,969 config.py 13 INFO] cfg.OPTIMIZATION.NUM_EPOCHS: 50
[2022-06-10 10:20:37,969 config.py 13 INFO] cfg.OPTIMIZATION.BATCH_SIZE_PER_GPU: 4
[2022-06-10 10:20:37,969 config.py 13 INFO] cfg.OPTIMIZATION.OPTIMIZER: adam_onecycle
[2022-06-10 10:20:37,969 config.py 13 INFO] cfg.OPTIMIZATION.LR: 0.003
[2022-06-10 10:20:37,969 config.py 13 INFO] cfg.OPTIMIZATION.WEIGHT_DECAY: 0.01
[2022-06-10 10:20:37,969 config.py 13 INFO] cfg.OPTIMIZATION.MOMENTUM: 0.9
[2022-06-10 10:20:37,969 config.py 13 INFO] cfg.OPTIMIZATION.MOMS: [0.95, 0.85]
[2022-06-10 10:20:37,969 config.py 13 INFO] cfg.OPTIMIZATION.PCT_START: 0.4
[2022-06-10 10:20:37,969 config.py 13 INFO] cfg.OPTIMIZATION.DIV_FACTOR: 10
[2022-06-10 10:20:37,969 config.py 13 INFO] cfg.OPTIMIZATION.DECAY_STEP_LIST: [35, 45]
[2022-06-10 10:20:37,969 config.py 13 INFO] cfg.OPTIMIZATION.LR_DECAY: 0.1
[2022-06-10 10:20:37,969 config.py 13 INFO] cfg.OPTIMIZATION.LR_CLIP: 1e-07
[2022-06-10 10:20:37,969 config.py 13 INFO] cfg.OPTIMIZATION.LR_WARMUP: False
[2022-06-10 10:20:37,969 config.py 13 INFO] cfg.OPTIMIZATION.WARMUP_EPOCH: 1
[2022-06-10 10:20:37,970 config.py 13 INFO] cfg.OPTIMIZATION.GRAD_NORM_CLIP: 10
[2022-06-10 10:20:37,970 config.py 13 INFO] cfg.TAG: secondiou_old_anchor_ros
[2022-06-10 10:20:37,970 config.py 13 INFO] cfg.EXP_GROUP_PATH: cfgs/da-nuscenes-kitti_models/secondiou
[2022-06-10 10:20:37,971 kitti_dataset.py 36 INFO] Loading KITTI dataset
[2022-06-10 10:20:38,115 kitti_dataset.py 50 INFO] Total samples for KITTI dataset: 3769
[2022-06-10 10:20:41,789 detector3d_template.py 325 INFO] ==> Loading parameters from checkpoint ../outputs/da-nuscenes-kitti_models/secondiou/secondiou_old_anchor_ros/default/ckpt/checkpoint_epoch_50.pth to GPU
[2022-06-10 10:20:41,941 detector3d_template.py 331 INFO] ==> Checkpoint trained from version: pcdet+0.3.0+0000000
[2022-06-10 10:20:42,820 detector3d_template.py 350 INFO] ==> Done (loaded 189/189)
[2022-06-10 10:20:42,954 eval_utils.py 40 INFO] *************** EPOCH 50 EVALUATION *****************
[2022-06-10 10:22:30,985 eval_utils.py 78 INFO] *************** Performance of EPOCH 50 *****************
[2022-06-10 10:22:30,985 eval_utils.py 80 INFO] Generate label finished(sec_per_example: 0.0287 second).
[2022-06-10 10:22:30,985 eval_utils.py 96 INFO] recall_roi_0.3: 0.719484
[2022-06-10 10:22:30,985 eval_utils.py 97 INFO] recall_rcnn_0.3: 0.719484
[2022-06-10 10:22:30,986 eval_utils.py 96 INFO] recall_roi_0.5: 0.648948
[2022-06-10 10:22:30,986 eval_utils.py 97 INFO] recall_rcnn_0.5: 0.648948
[2022-06-10 10:22:30,986 eval_utils.py 96 INFO] recall_roi_0.7: 0.312763
[2022-06-10 10:22:30,986 eval_utils.py 97 INFO] recall_rcnn_0.7: 0.312763
[2022-06-10 10:22:30,995 eval_utils.py 105 INFO] Average predicted number of objects(3769 samples): 25.733
[2022-06-10 10:22:56,620 eval_utils.py 116 INFO] Car AP@0.70, 0.70, 0.70:
bbox AP:54.3816, 41.8908, 42.5384
bev AP:49.6528, 38.8520, 39.0831
3d AP:32.4719, 25.1919, 24.5210
aos AP:54.09, 41.40, 41.84
Car AP_R40@0.70, 0.70, 0.70:
bbox AP:53.0719, 40.2305, 41.0495
bev AP:48.7658, 36.4707, 36.6339
3d AP:29.2495, 21.4579, 20.5671
aos AP:52.73, 39.67, 40.24
Car AP@0.70, 0.50, 0.50:
bbox AP:54.3816, 41.8908, 42.5384
bev AP:59.0662, 46.8297, 48.1533
3d AP:57.2275, 45.2520, 46.4937
aos AP:54.09, 41.40, 41.84
Car AP_R40@0.70, 0.50, 0.50:
bbox AP:53.0719, 40.2305, 41.0495
bev AP:59.1706, 45.3890, 46.9008
3d AP:56.4214, 43.4389, 44.7529
aos AP:52.73, 39.67, 40.24

[2022-06-10 10:22:56,628 eval_utils.py 122 INFO] Result is save to /ssd2/daiyongxing/3D-Detection/ST3D-st3d_v0.3/output/cfgs/da-nuscenes-kitti_models/secondiou/secondiou_old_anchor_ros/default/eval/epoch_50/val/default
[2022-06-10 10:22:56,628 eval_utils.py 123 INFO] Evaluation done.*

@jihanyang
Copy link
Member

It seems that you have successfully loaded all paramters. Have you checked the evaluation results under spconv 1.x?

@SikaStar
Copy link
Author

It seems that you have successfully loaded all paramters. Have you checked the evaluation results under spconv 1.x?

Hi, becuase I have no sudo rights on the server, I can not install spconv 1.x. Spconv 2.x can be installed easily only by pip. Besides, I can not load all paramters of the checkpoint you have provided because the version of Spconv.

@jihanyang
Copy link
Member

According to the following logging infos, it seems that you have load all parameters.

[2022-06-10 10:20:41,941 detector3d_template.py 331 INFO] ==> Checkpoint trained from version: pcdet+0.3.0+0000000
[2022-06-10 10:20:42,820 detector3d_template.py 350 INFO] ==> Done (loaded 189/189)

Latest OpenPCDet should already support load paramters from spconv1.x to spconv 2.x:
https://github.com/open-mmlab/OpenPCDet/blob/dadda9ed5c0f190d06856c6ec15d552116203947/pcdet/models/detectors/detector3d_template.py#L338-L348

BTW, you don't need sudo rights to install spconv 1.x. May I know which command stuck your installation of Spconv1.x? Since I don't have suitable code and environment to reproduce this issue intermediately, maybe change spconv to 1.x could be easier to follow in my perspective.

@SikaStar
Copy link
Author

SikaStar commented Jun 15, 2022

According to the following logging infos, it seems that you have load all parameters.

[2022-06-10 10:20:41,941 detector3d_template.py 331 INFO] ==> Checkpoint trained from version: pcdet+0.3.0+0000000
[2022-06-10 10:20:42,820 detector3d_template.py 350 INFO] ==> Done (loaded 189/189)

Latest OpenPCDet should already support load paramters from spconv1.x to spconv 2.x: https://github.com/open-mmlab/OpenPCDet/blob/dadda9ed5c0f190d06856c6ec15d552116203947/pcdet/models/detectors/detector3d_template.py#L338-L348

BTW, you don't need sudo rights to install spconv 1.x. May I know which command stuck your installation of Spconv1.x? Since I don't have suitable code and environment to reproduce this issue intermediately, maybe change spconv to 1.x could be easier to follow in my perspective.

Thanks for your help. I have successfully loaded parameters from spconv1.x to spconv2.x with your advice. I am still trying to reproduce your results with the latest OpenPCDet with spconv2.x and I found that the num_of_gpus and batch_size_per_gpu could affect the performance significantly on nuscenes->kitti. What are the settings of num_of_gpus and batch_size_per_gpu you used on nuscenes->kitti?

@jihanyang
Copy link
Member

Hello, we use 8 gpus during the pretrain stage and use 4 gpus in the self-training stage. batch_size_per_gpu is set to 4 for SECOND-IoU and 2 for PVRCNN.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants