centerpoint.yaml 3.47 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
130
131
132
133
134
135
136
137
CLASS_NAMES: ['Car', 'Bus', 'Truck', 'Pedestrian', 'Cyclist']

DATA_CONFIG:
    _BASE_CONFIG_: cfgs/dataset_configs/once_dataset.yaml

MODEL:
    NAME: CenterPoint

    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: CenterHead
        CLASS_AGNOSTIC: False

        CLASS_NAMES_EACH_HEAD: [
            ['Car', 'Bus', 'Truck', 'Pedestrian', 'Cyclist']
        ]

        SHARED_CONV_CHANNEL: 64
        USE_BIAS_BEFORE_NORM: True  # TODO
        NUM_HM_CONV: 2  # TODO
        SEPARATE_HEAD_CFG:
            HEAD_ORDER: ['center', 'center_z', 'dim', 'rot']
            HEAD_DICT: {
                'center': {'out_channels': 2, 'num_conv': 2},
                'center_z': {'out_channels': 1, 'num_conv': 2},
                'dim': {'out_channels': 3, 'num_conv': 2},
                'rot': {'out_channels': 2, 'num_conv': 2},
            }


        # DATASET: once
        # MODE: 3d

        TARGET_ASSIGNER_CONFIG:
            FEATURE_MAP_STRIDE: 8
            NUM_MAX_OBJS: 500
            GAUSSIAN_OVERLAP: 0.1
            MIN_RADIUS: 2
            # tasks: *tasks_head
            DENSE_REG: 1
            # mapping: {
            #   "Car": 1,
            #   "Bus": 2,
            #   "Truck": 3,
            #   "Pedestrian": 4,
            #   "Cyclist": 5
            # }

        LOSS_CONFIG:
            LOSS_WEIGHTS: {
                'cls_weight': 1.0,
                'loc_weight': 1.0,
                # weight: 0.25
                'code_weights': [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]
            }

        # TEST_CONFIG:
        #   pc_range: [-75.2, -75.2]
        #   out_size_factor: 8
        #   voxel_size: [0.1, 0.1]
        #   nms:
        #     train:
        #       use_iou_3d_nms: True
        #       use_rotate_nms: False
        #       use_maxpool_nms: False
        #       use_circle_nms: False
        #       min_radius: [4, 10, 12, 0.175, 0.85]
        #       nms_iou_threshold: 0.8
        #       nms_pre_max_size: 1500
        #       nms_post_max_size: 80
        #     test:
        #       use_iou_3d_nms: True
        #       use_rotate_nms: False
        #       use_maxpool_nms: False
        #       use_circle_nms: False
        #       min_radius: [4, 10, 12, 0.175, 0.85]
        #       nms_iou_threshold: 0.01
        #       nms_pre_max_size: 500
        #       nms_post_max_size: 83

        POST_PROCESSING:
            SCORE_THRESH: 0.1
            POST_CENTER_LIMIT_RANGE: [-75.2, -75.2, -5.0, 75.2, 75.2, 3.0]
            MAX_OBJ_PER_SAMPLE: 500
            NMS_CONFIG:
                MULTI_CLASSES_NMS: False
                NMS_TYPE: nms_gpu
                NMS_THRESH: 0.01
                NMS_PRE_MAXSIZE: 4096
                NMS_POST_MAXSIZE: 500
            

    POST_PROCESSING:
      RECALL_THRESH_LIST: [0.3, 0.5, 0.7]

      OUTPUT_RAW_SCORE: False

      EVAL_METRIC: once

OPTIMIZATION:
    BATCH_SIZE_PER_GPU: 4
    NUM_EPOCHS: 80

    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: 35