mppnet_16frames.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
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: [-15,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: 64
        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: [[64,64]]
            POOL_RADIUS: [0.8]
            NSAMPLE: [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: 64 #equal to ROI_HEAD.TRANS_INPUT
            dropout: 0.1
            nheads: 4
            pre_norm: False
            num_frames: 16
            num_groups: 4
            sequence_stride: 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
144
145
    BATCH_SIZE_PER_GPU: 2
    NUM_EPOCHS: 6
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162

    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