cbgs_transfusion_lidar.yaml 4.08 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
CLASS_NAMES: ['car','truck', 'construction_vehicle', 'bus', 'trailer',
              'barrier', 'motorcycle', 'bicycle', 'pedestrian', 'traffic_cone']

DATA_CONFIG:
  _BASE_CONFIG_: cfgs/dataset_configs/nuscenes_dataset.yaml
  POINT_CLOUD_RANGE: [-54.0, -54.0, -5.0, 54.0, 54.0, 3.0]

  DATA_AUGMENTOR:
    DISABLE_AUG_LIST: ['placeholder']
    AUG_CONFIG_LIST:
      - NAME: gt_sampling
        DB_INFO_PATH:
            - nuscenes_dbinfos_10sweeps_withvelo.pkl
        PREPARE: {
          filter_by_min_points: [
              'car:5','truck:5', 'construction_vehicle:5', 'bus:5', 'trailer:5',
              'barrier:5', 'motorcycle:5', 'bicycle:5', 'pedestrian:5', 'traffic_cone:5'
          ],
        }

        SAMPLE_GROUPS: [
            'car:2','truck:3', 'construction_vehicle:7', 'bus:4', 'trailer:6',
            'barrier:2', 'motorcycle:6', 'bicycle:6', 'pedestrian:2', 'traffic_cone:2'
        ]

        NUM_POINT_FEATURES: 5
        DATABASE_WITH_FAKELIDAR: False
        REMOVE_EXTRA_WIDTH: [0.0, 0.0, 0.0]
        LIMIT_WHOLE_SCENE: True
    

      - 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.9, 1.1]

      - NAME: random_world_translation
        NOISE_TRANSLATE_STD: [0.5, 0.5, 0.5]
    
  DATA_PROCESSOR:
    - NAME: mask_points_and_boxes_outside_range
      REMOVE_OUTSIDE_BOXES: True
    - NAME: shuffle_points
      SHUFFLE_ENABLED: {
        'train': True,
        'test': True
      }

    - NAME: transform_points_to_voxels
      VOXEL_SIZE: [0.075, 0.075, 0.2]
      MAX_POINTS_PER_VOXEL: 10
      MAX_NUMBER_OF_VOXELS: {
        'train': 120000,
        'test': 160000
      }

MODEL:
  NAME: TransFusion

  VFE:
    NAME: MeanVFE

  BACKBONE_3D:
    NAME: VoxelResBackBone8x
    USE_BIAS: False

  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]
    USE_CONV_FOR_NO_STRIDE: True


  DENSE_HEAD:
    CLASS_AGNOSTIC: False
    NAME: TransFusionHead

    USE_BIAS_BEFORE_NORM: False

    NUM_PROPOSALS: 200
    HIDDEN_CHANNEL: 128
    NUM_CLASSES: 10
    NUM_HEADS: 8
    NMS_KERNEL_SIZE: 3
    FFN_CHANNEL: 256
    DROPOUT: 0.1
    BN_MOMENTUM: 0.1
    ACTIVATION: relu

    NUM_HM_CONV: 2
    SEPARATE_HEAD_CFG:
      HEAD_ORDER: ['center', 'height', 'dim', 'rot', 'vel']
      HEAD_DICT: {
          'center': {'out_channels': 2, 'num_conv': 2},
          'height': {'out_channels': 1, 'num_conv': 2},
          'dim': {'out_channels': 3, 'num_conv': 2},
          'rot': {'out_channels': 2, 'num_conv': 2},
          'vel': {'out_channels': 2, 'num_conv': 2},
      }
  
    TARGET_ASSIGNER_CONFIG:
      FEATURE_MAP_STRIDE: 8
      DATASET: nuScenes
      GAUSSIAN_OVERLAP: 0.1
      MIN_RADIUS: 2
      HUNGARIAN_ASSIGNER:
        cls_cost: {'gamma': 2.0, 'alpha': 0.25, 'weight': 0.15}
        reg_cost: {'weight': 0.25}
        iou_cost: {'weight': 0.25}
    
    LOSS_CONFIG:
      LOSS_WEIGHTS: {
              'cls_weight': 1.0,
              'bbox_weight': 0.25,
              'hm_weight': 1.0,
              'code_weights': [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.2, 0.2]
          }
      LOSS_CLS:
130
        use_sigmoid: True
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
        gamma: 2.0
        alpha: 0.25
      
    POST_PROCESSING:
      SCORE_THRESH: 0.0
      POST_CENTER_RANGE: [-61.2, -61.2, -10.0, 61.2, 61.2, 10.0]

  POST_PROCESSING:
      RECALL_THRESH_LIST: [0.3, 0.5, 0.7]
      SCORE_THRESH: 0.1
      OUTPUT_RAW_SCORE: False
      EVAL_METRIC: kitti



OPTIMIZATION:
  BATCH_SIZE_PER_GPU: 4
  NUM_EPOCHS: 20

  OPTIMIZER: adam_onecycle
  LR: 0.001
  WEIGHT_DECAY: 0.01
  MOMENTUM: 0.9
  BETAS: [0.9, 0.999]

  MOMS: [0.9, 0.8052631]
  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: 35

HOOK:
  DisableAugmentationHook:
    DISABLE_AUG_LIST: ['gt_sampling']
    NUM_LAST_EPOCHS: 5