From 9d47708f50de9af260a1138ad06328fef7d4c6bc Mon Sep 17 00:00:00 2001 From: inter Date: Sun, 21 Sep 2025 20:19:45 +0800 Subject: [PATCH] Add File --- .../cbgs_second_multihead.yaml | 228 ++++++++++++++++++ 1 file changed, 228 insertions(+) create mode 100644 tools/cfgs/nuscenes_models/cbgs_second_multihead.yaml diff --git a/tools/cfgs/nuscenes_models/cbgs_second_multihead.yaml b/tools/cfgs/nuscenes_models/cbgs_second_multihead.yaml new file mode 100644 index 0000000..19eb118 --- /dev/null +++ b/tools/cfgs/nuscenes_models/cbgs_second_multihead.yaml @@ -0,0 +1,228 @@ +CLASS_NAMES: ['car','truck', 'construction_vehicle', 'bus', 'trailer', + 'barrier', 'motorcycle', 'bicycle', 'pedestrian', 'traffic_cone'] + +DATA_CONFIG: + _BASE_CONFIG_: cfgs/dataset_configs/nuscenes_dataset.yaml + + +MODEL: + NAME: SECONDNet + + VFE: + NAME: MeanVFE + + BACKBONE_3D: + NAME: VoxelResBackBone8x + + MAP_TO_BEV: + NAME: HeightCompression + NUM_BEV_FEATURES: 256 + + BACKBONE_2D: + NAME: BaseBEVBackbone + + LAYER_NUMS: [5, 5] + LAYER_STRIDES: [1, 2] + NUM_FILTERS: [128, 256] + UPSAMPLE_STRIDES: [1, 2] + NUM_UPSAMPLE_FILTERS: [256, 256] + + DENSE_HEAD: + NAME: AnchorHeadMulti + CLASS_AGNOSTIC: False + + DIR_OFFSET: 0.78539 + DIR_LIMIT_OFFSET: 0.0 + NUM_DIR_BINS: 2 + + USE_MULTIHEAD: True + SEPARATE_MULTIHEAD: True + ANCHOR_GENERATOR_CONFIG: [ + { + 'class_name': car, + 'anchor_sizes': [[4.63, 1.97, 1.74]], + 'anchor_rotations': [0, 1.57], + 'anchor_bottom_heights': [-0.95], + 'align_center': False, + 'feature_map_stride': 8, + 'matched_threshold': 0.6, + 'unmatched_threshold': 0.45 + }, + { + 'class_name': truck, + 'anchor_sizes': [[6.93, 2.51, 2.84]], + 'anchor_rotations': [0, 1.57], + 'anchor_bottom_heights': [-0.6], + 'align_center': False, + 'feature_map_stride': 8, + 'matched_threshold': 0.55, + 'unmatched_threshold': 0.4 + }, + { + 'class_name': construction_vehicle, + 'anchor_sizes': [[6.37, 2.85, 3.19]], + 'anchor_rotations': [0, 1.57], + 'anchor_bottom_heights': [-0.225], + 'align_center': False, + 'feature_map_stride': 8, + 'matched_threshold': 0.5, + 'unmatched_threshold': 0.35 + }, + { + 'class_name': bus, + 'anchor_sizes': [[10.5, 2.94, 3.47]], + 'anchor_rotations': [0, 1.57], + 'anchor_bottom_heights': [-0.085], + 'align_center': False, + 'feature_map_stride': 8, + 'matched_threshold': 0.55, + 'unmatched_threshold': 0.4 + }, + { + 'class_name': trailer, + 'anchor_sizes': [[12.29, 2.90, 3.87]], + 'anchor_rotations': [0, 1.57], + 'anchor_bottom_heights': [0.115], + 'align_center': False, + 'feature_map_stride': 8, + 'matched_threshold': 0.5, + 'unmatched_threshold': 0.35 + }, + { + 'class_name': barrier, + 'anchor_sizes': [[0.50, 2.53, 0.98]], + 'anchor_rotations': [0, 1.57], + 'anchor_bottom_heights': [-1.33], + 'align_center': False, + 'feature_map_stride': 8, + 'matched_threshold': 0.55, + 'unmatched_threshold': 0.4 + }, + { + 'class_name': motorcycle, + 'anchor_sizes': [[2.11, 0.77, 1.47]], + 'anchor_rotations': [0, 1.57], + 'anchor_bottom_heights': [-1.085], + 'align_center': False, + 'feature_map_stride': 8, + 'matched_threshold': 0.5, + 'unmatched_threshold': 0.3 + }, + { + 'class_name': bicycle, + 'anchor_sizes': [[1.70, 0.60, 1.28]], + 'anchor_rotations': [0, 1.57], + 'anchor_bottom_heights': [-1.18], + 'align_center': False, + 'feature_map_stride': 8, + 'matched_threshold': 0.5, + 'unmatched_threshold': 0.35 + }, + { + 'class_name': pedestrian, + 'anchor_sizes': [[0.73, 0.67, 1.77]], + 'anchor_rotations': [0, 1.57], + 'anchor_bottom_heights': [-0.935], + 'align_center': False, + 'feature_map_stride': 8, + 'matched_threshold': 0.6, + 'unmatched_threshold': 0.4 + }, + { + 'class_name': traffic_cone, + 'anchor_sizes': [[0.41, 0.41, 1.07]], + 'anchor_rotations': [0, 1.57], + 'anchor_bottom_heights': [-1.285], + 'align_center': False, + 'feature_map_stride': 8, + 'matched_threshold': 0.6, + 'unmatched_threshold': 0.4 + }, + ] + + SHARED_CONV_NUM_FILTER: 64 + RPN_HEAD_CFGS: [ + { + 'HEAD_CLS_NAME': ['car'], + }, + { + 'HEAD_CLS_NAME': ['truck', 'construction_vehicle'], + }, + { + 'HEAD_CLS_NAME': ['bus', 'trailer'], + }, + { + 'HEAD_CLS_NAME': ['barrier'], + }, + { + 'HEAD_CLS_NAME': ['motorcycle', 'bicycle'], + }, + { + 'HEAD_CLS_NAME': ['pedestrian', 'traffic_cone'], + }, + ] + + SEPARATE_REG_CONFIG: + NUM_MIDDLE_CONV: 1 + NUM_MIDDLE_FILTER: 64 + REG_LIST: ['reg:2', 'height:1', 'size:3', 'angle:2', 'velo:2'] + + TARGET_ASSIGNER_CONFIG: + NAME: AxisAlignedTargetAssigner + POS_FRACTION: -1.0 + SAMPLE_SIZE: 512 + NORM_BY_NUM_EXAMPLES: False + MATCH_HEIGHT: False + BOX_CODER: ResidualCoder + BOX_CODER_CONFIG: { + 'code_size': 9, + 'encode_angle_by_sincos': True + } + + + LOSS_CONFIG: + REG_LOSS_TYPE: WeightedL1Loss + LOSS_WEIGHTS: { + 'pos_cls_weight': 1.0, + 'neg_cls_weight': 2.0, + 'cls_weight': 1.0, + 'loc_weight': 0.25, + 'dir_weight': 0.2, + 'code_weights': [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.2, 0.2] + } + + POST_PROCESSING: + RECALL_THRESH_LIST: [0.3, 0.5, 0.7] + SCORE_THRESH: 0.1 + OUTPUT_RAW_SCORE: False + + EVAL_METRIC: kitti + + NMS_CONFIG: + MULTI_CLASSES_NMS: True + NMS_TYPE: nms_gpu + NMS_THRESH: 0.2 + NMS_PRE_MAXSIZE: 1000 + NMS_POST_MAXSIZE: 83 + + +OPTIMIZATION: + BATCH_SIZE_PER_GPU: 4 + NUM_EPOCHS: 20 + + OPTIMIZER: adam_onecycle + LR: 0.003 + WEIGHT_DECAY: 0.01 + MOMENTUM: 0.9 + + MOMS: [0.95, 0.85] + PCT_START: 0.4 + DIV_FACTOR: 10 + DECAY_STEP_LIST: [35, 45] + LR_DECAY: 0.1 + LR_CLIP: 0.0000001 + + LR_WARMUP: False + WARMUP_EPOCH: 1 + + GRAD_NORM_CLIP: 10