mppnet_4frames.yaml 4.25 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
138
139
140
141
142
143
144
145
146
147
CLASS_NAMES: ['Vehicle', 'Pedestrian', 'Cyclist']

DATA_CONFIG:
    _BASE_CONFIG_: cfgs/dataset_configs/waymo_dataset.yaml
    PROCESSED_DATA_TAG: 'waymo_processed_data_v0_5_0'

    SAMPLED_INTERVAL: {
        'train': 1,
        'test': 1
    }
    FILTER_EMPTY_BOXES_FOR_TRAIN: True
    DISABLE_NLZ_FLAG_ON_POINTS: True

    SEQUENCE_CONFIG:
        ENABLED: True
        SAMPLE_OFFSET: [-3,0]

    USE_PREDBOX: True
    ROI_BOXES_PATH: {
        'train': '../output/xxxxx/train/result.pkl',  # example: predicted boxes of RPN in training set
        'test': '../output/xxxxx/val/result.pkl',  # example: predicted boxes of RPN in evalulation set
    }

    DATA_AUGMENTOR:
        DISABLE_AUG_LIST: [ 'placeholder' ]
        AUG_CONFIG_LIST:

            -   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 ]

    DATA_PROCESSOR:
        -   NAME: mask_points_and_boxes_outside_range
            REMOVE_OUTSIDE_BOXES: True

        -   NAME: shuffle_points
            SHUFFLE_ENABLED: {
                'train': True,
                'test': True
            }

    POINT_FEATURE_ENCODING: {
        encoding_type: absolute_coordinates_encoding, 
        used_feature_list: ['x', 'y', 'z', 'intensity', 'elongation','time'],
        src_feature_list: ['x', 'y', 'z', 'intensity', 'elongation','time'],       
        }


MODEL:
    NAME: MPPNet

    ROI_HEAD:
        NAME: MPPNetHead
        TRANS_INPUT: 256
        CLASS_AGNOSTIC: True
        USE_BOX_ENCODING:
            ENABLED: True 
        AVG_STAGE1_SCORE: True
        USE_TRAJ_EMPTY_MASK: True
        USE_AUX_LOSS: True
        IOU_WEIGHT: [0.5,0.4]



        ROI_GRID_POOL:
            GRID_SIZE: 4
            MLPS: [[128,128], [128,128]]
            POOL_RADIUS: [0.8, 1.6]
            NSAMPLE: [16, 16]
            POOL_METHOD: max_pool
            

        Transformer:
            num_lidar_points: 128
            num_proxy_points: 64  # GRID_SIZE*GRID_SIZE*GRID_SIZE
            pos_hidden_dim: 64
            enc_layers: 3
            dim_feedforward: 512
            hidden_dim: 256 #equal to ROI_HEAD.TRANS_INPUT
            dropout: 0.1
            nheads: 4
            pre_norm: False
            num_frames: 4
            num_groups: 4
            use_grid_pos:
                enabled: True
                init_type: index

            use_mlp_mixer:
                enabled: True
                hidden_dim: 16

        TARGET_CONFIG:
            BOX_CODER: ResidualCoder
            ROI_PER_IMAGE: 96
            FG_RATIO: 0.5
            REG_AUG_METHOD: single
            ROI_FG_AUG_TIMES: 10
            RATIO: 0.2
            USE_ROI_AUG: True
            USE_TRAJ_AUG:
                ENABLED: True
                THRESHOD: 0.8
            SAMPLE_ROI_BY_EACH_CLASS: True
            CLS_SCORE_TYPE: roi_iou

            CLS_FG_THRESH: 0.75
            CLS_BG_THRESH: 0.25
            CLS_BG_THRESH_LO: 0.1
            HARD_BG_RATIO: 0.8

            REG_FG_THRESH: 0.55

        LOSS_CONFIG:
            CLS_LOSS: BinaryCrossEntropy
            REG_LOSS: smooth-l1
            CORNER_LOSS_REGULARIZATION: True
            LOSS_WEIGHTS: {
                'rcnn_cls_weight': 1.0,
                'rcnn_reg_weight': 1.0,
                'rcnn_corner_weight': 2.0,
                'traj_reg_weight': [2.0, 2.0, 2.0],
                'code_weights': [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]
            }

    POST_PROCESSING:
        RECALL_THRESH_LIST: [0.3, 0.5, 0.7]
        SCORE_THRESH: 0.1
        OUTPUT_RAW_SCORE: False
        SAVE_BBOX: False
        EVAL_METRIC: waymo
        NOT_APPLY_NMS_FOR_VEL: True

        NMS_CONFIG:
            MULTI_CLASSES_NMS: False
            NMS_TYPE: nms_gpu
            NMS_THRESH: 0.7
            NMS_PRE_MAXSIZE: 4096
            NMS_POST_MAXSIZE: 500


OPTIMIZATION:
Cedarch's avatar
Cedarch committed
148
149
    BATCH_SIZE_PER_GPU: 2
    NUM_EPOCHS: 6
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167

    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