second_multihead.yaml 3.9 KB
Newer Older
Gus-Guo's avatar
Gus-Guo committed
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
CLASS_NAMES: ['Car', 'Pedestrian', 'Cyclist']
DATA_CONFIG: 
    _BASE_CONFIG_: cfgs/dataset_configs/kitti_dataset.yaml


MODEL:
    NAME: SECONDNet

    VFE:
        NAME: MeanVFE

    BACKBONE_3D:
        NAME: VoxelBackBone8x

    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

        USE_DIRECTION_CLASSIFIER: True
        DIR_OFFSET: 0.78539
        DIR_LIMIT_OFFSET: 0.0
        NUM_DIR_BINS: 2
        
Gus-Guo's avatar
Gus-Guo committed
37
        USE_MULTIHEAD: True
38
        SEPARATE_MULTIHEAD: True
Gus-Guo's avatar
Gus-Guo committed
39
40
        ANCHOR_GENERATOR_CONFIG: [
            {
41
                'class_name': 'Car',
Gus-Guo's avatar
Gus-Guo committed
42
43
44
45
                'anchor_sizes': [[3.9, 1.6, 1.56]],
                'anchor_rotations': [0, 1.57],
                'anchor_bottom_heights': [-1.6],
                'align_center': False,
46
47
48
                'feature_map_stride': 8,
                'matched_threshold': 0.6,
                'unmatched_threshold': 0.45
Gus-Guo's avatar
Gus-Guo committed
49
50
            },
            {
51
                'class_name': 'Pedestrian',
Gus-Guo's avatar
Gus-Guo committed
52
53
54
55
                'anchor_sizes': [[0.8, 0.6, 1.73]],
                'anchor_rotations': [0, 1.57],
                'anchor_bottom_heights': [-1.6],
                'align_center': False,
Gus-Guo's avatar
Gus-Guo committed
56
                'feature_map_stride': 8,
57
58
                'matched_threshold': 0.5,
                'unmatched_threshold': 0.35
Gus-Guo's avatar
Gus-Guo committed
59
60
            },
            {
61
                'class_name': 'Cyclist',
Gus-Guo's avatar
Gus-Guo committed
62
63
64
65
                'anchor_sizes': [[1.76, 0.6, 1.73]],
                'anchor_rotations': [0, 1.57],
                'anchor_bottom_heights': [-1.6],
                'align_center': False,
Gus-Guo's avatar
Gus-Guo committed
66
                'feature_map_stride': 8,
67
68
                'matched_threshold': 0.5,
                'unmatched_threshold': 0.35
Gus-Guo's avatar
Gus-Guo committed
69
70
71
            }
        ]

Gus-Guo's avatar
Gus-Guo committed
72
73
        SHARED_CONV_NUM_FILTER: 64

Gus-Guo's avatar
Gus-Guo committed
74
75
        RPN_HEAD_CFGS: [
            {
76
                'HEAD_CLS_NAME': ['Car'],
Gus-Guo's avatar
Gus-Guo committed
77
78
79
80
81
                'LAYER_NUMS': [],
                'LAYER_STRIDES': [],
                'NUM_FILTERS': [],
                'UPSAMPLE_STRIDES': [],
                'NUM_UPSAMPLE_FILTERS': []
Gus-Guo's avatar
Gus-Guo committed
82
83
            },
            {
84
                'HEAD_CLS_NAME': ['Pedestrian'],
Gus-Guo's avatar
Gus-Guo committed
85
86
87
88
89
                'LAYER_NUMS': [],
                'LAYER_STRIDES': [],
                'NUM_FILTERS': [],
                'UPSAMPLE_STRIDES': [],
                'NUM_UPSAMPLE_FILTERS': []
90
91
92
            },
            {
                'HEAD_CLS_NAME': ['Cyclist'],
Gus-Guo's avatar
Gus-Guo committed
93
94
95
96
97
                'LAYER_NUMS': [],
                'LAYER_STRIDES': [],
                'NUM_FILTERS': [],
                'UPSAMPLE_STRIDES': [],
                'NUM_UPSAMPLE_FILTERS': []
98
            }
Gus-Guo's avatar
Gus-Guo committed
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
148
149
        ]

        TARGET_ASSIGNER_CONFIG:
           NAME: AxisAlignedTargetAssigner
           POS_FRACTION: -1.0
           SAMPLE_SIZE: 512
           NORM_BY_NUM_EXAMPLES: False
           MATCH_HEIGHT: False
           BOX_CODER: ResidualCoder

        LOSS_CONFIG:
            LOSS_WEIGHTS: {
                'cls_weight': 1.0,
                'loc_weight': 2.0,
                'dir_weight': 0.2,
                '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]
        MULTI_CLASSES_NMS: False
        SCORE_THRESH: 0.1
        OUTPUT_RAW_SCORE: False

        EVAL_METRIC: kitti

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


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