Skip to content

Commit bce886d

Browse files
authored
Add pv_rcnn_plusplus config for KITTI (open-mmlab#1422)
* Add pv_rcnn_plusplus config for KITTI * Rename pv_rcnn_plusplus config file
1 parent 557d463 commit bce886d

File tree

1 file changed

+301
-0
lines changed

1 file changed

+301
-0
lines changed
Lines changed: 301 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,301 @@
1+
CLASS_NAMES: ['Car', 'Pedestrian', 'Cyclist']
2+
3+
DATA_CONFIG:
4+
_BASE_CONFIG_: cfgs/dataset_configs/kitti_dataset.yaml
5+
DATA_AUGMENTOR:
6+
DISABLE_AUG_LIST: ['placeholder']
7+
AUG_CONFIG_LIST:
8+
- NAME: gt_sampling
9+
USE_ROAD_PLANE: True
10+
DB_INFO_PATH:
11+
- kitti_dbinfos_train.pkl
12+
PREPARE: {
13+
filter_by_min_points: ['Car:5', 'Pedestrian:5', 'Cyclist:5'],
14+
filter_by_difficulty: [-1],
15+
}
16+
17+
SAMPLE_GROUPS: ['Car:15','Pedestrian:10', 'Cyclist:10']
18+
NUM_POINT_FEATURES: 4
19+
DATABASE_WITH_FAKELIDAR: False
20+
REMOVE_EXTRA_WIDTH: [0.0, 0.0, 0.0]
21+
LIMIT_WHOLE_SCENE: False
22+
- NAME: random_world_flip
23+
ALONG_AXIS_LIST: ['x']
24+
25+
- NAME: random_world_rotation
26+
WORLD_ROT_ANGLE: [-0.78539816, 0.78539816]
27+
28+
- NAME: random_world_scaling
29+
WORLD_SCALE_RANGE: [0.95, 1.05]
30+
31+
MODEL:
32+
NAME: PVRCNNPlusPlus
33+
34+
VFE:
35+
NAME: MeanVFE
36+
37+
BACKBONE_3D:
38+
NAME: VoxelBackBone8x
39+
40+
MAP_TO_BEV:
41+
NAME: HeightCompression
42+
NUM_BEV_FEATURES: 256
43+
44+
BACKBONE_2D:
45+
NAME: BaseBEVBackbone
46+
47+
LAYER_NUMS: [5, 5]
48+
LAYER_STRIDES: [1, 2]
49+
NUM_FILTERS: [128, 256]
50+
UPSAMPLE_STRIDES: [1, 2]
51+
NUM_UPSAMPLE_FILTERS: [256, 256]
52+
53+
DENSE_HEAD:
54+
NAME: CenterHead
55+
CLASS_AGNOSTIC: False
56+
57+
CLASS_NAMES_EACH_HEAD: [
58+
[ 'Car', 'Pedestrian', 'Cyclist' ]
59+
]
60+
61+
SHARED_CONV_CHANNEL: 64
62+
USE_BIAS_BEFORE_NORM: True
63+
NUM_HM_CONV: 2
64+
SEPARATE_HEAD_CFG:
65+
HEAD_ORDER: [ 'center', 'center_z', 'dim', 'rot' ]
66+
HEAD_DICT: {
67+
'center': { 'out_channels': 2, 'num_conv': 2 },
68+
'center_z': { 'out_channels': 1, 'num_conv': 2 },
69+
'dim': { 'out_channels': 3, 'num_conv': 2 },
70+
'rot': { 'out_channels': 2, 'num_conv': 2 },
71+
}
72+
73+
TARGET_ASSIGNER_CONFIG:
74+
FEATURE_MAP_STRIDE: 8
75+
NUM_MAX_OBJS: 500
76+
GAUSSIAN_OVERLAP: 0.1
77+
MIN_RADIUS: 2
78+
79+
LOSS_CONFIG:
80+
LOSS_WEIGHTS: {
81+
'cls_weight': 1.0,
82+
'loc_weight': 2.0,
83+
'code_weights': [ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ]
84+
}
85+
86+
POST_PROCESSING:
87+
SCORE_THRESH: 0.01
88+
POST_CENTER_LIMIT_RANGE: [ -75.2, -75.2, -2, 75.2, 75.2, 4 ]
89+
MAX_OBJ_PER_SAMPLE: 500
90+
NMS_CONFIG:
91+
NMS_TYPE: nms_gpu
92+
NMS_THRESH: 0.7
93+
NMS_PRE_MAXSIZE: 4096
94+
NMS_POST_MAXSIZE: 500
95+
96+
PFE:
97+
NAME: VoxelSetAbstraction
98+
POINT_SOURCE: raw_points
99+
NUM_KEYPOINTS: 4096
100+
NUM_OUTPUT_FEATURES: 90
101+
SAMPLE_METHOD: SPC
102+
SPC_SAMPLING:
103+
NUM_SECTORS: 6
104+
SAMPLE_RADIUS_WITH_ROI: 1.6
105+
106+
FEATURES_SOURCE: ['bev', 'x_conv3', 'x_conv4', 'raw_points']
107+
SA_LAYER:
108+
raw_points:
109+
NAME: VectorPoolAggregationModuleMSG
110+
NUM_GROUPS: 2
111+
LOCAL_AGGREGATION_TYPE: local_interpolation
112+
NUM_REDUCED_CHANNELS: 1
113+
NUM_CHANNELS_OF_LOCAL_AGGREGATION: 32
114+
MSG_POST_MLPS: [ 32 ]
115+
FILTER_NEIGHBOR_WITH_ROI: True
116+
RADIUS_OF_NEIGHBOR_WITH_ROI: 2.4
117+
118+
GROUP_CFG_0:
119+
NUM_LOCAL_VOXEL: [ 2, 2, 2 ]
120+
MAX_NEIGHBOR_DISTANCE: 0.2
121+
NEIGHBOR_NSAMPLE: -1
122+
POST_MLPS: [ 32, 32 ]
123+
GROUP_CFG_1:
124+
NUM_LOCAL_VOXEL: [ 3, 3, 3 ]
125+
MAX_NEIGHBOR_DISTANCE: 0.4
126+
NEIGHBOR_NSAMPLE: -1
127+
POST_MLPS: [ 32, 32 ]
128+
129+
x_conv3:
130+
DOWNSAMPLE_FACTOR: 4
131+
INPUT_CHANNELS: 64
132+
133+
NAME: VectorPoolAggregationModuleMSG
134+
NUM_GROUPS: 2
135+
LOCAL_AGGREGATION_TYPE: local_interpolation
136+
NUM_REDUCED_CHANNELS: 32
137+
NUM_CHANNELS_OF_LOCAL_AGGREGATION: 32
138+
MSG_POST_MLPS: [128]
139+
FILTER_NEIGHBOR_WITH_ROI: True
140+
RADIUS_OF_NEIGHBOR_WITH_ROI: 4.0
141+
142+
GROUP_CFG_0:
143+
NUM_LOCAL_VOXEL: [3, 3, 3]
144+
MAX_NEIGHBOR_DISTANCE: 1.2
145+
NEIGHBOR_NSAMPLE: -1
146+
POST_MLPS: [64, 64]
147+
GROUP_CFG_1:
148+
NUM_LOCAL_VOXEL: [ 3, 3, 3 ]
149+
MAX_NEIGHBOR_DISTANCE: 2.4
150+
NEIGHBOR_NSAMPLE: -1
151+
POST_MLPS: [ 64, 64 ]
152+
153+
x_conv4:
154+
DOWNSAMPLE_FACTOR: 8
155+
INPUT_CHANNELS: 64
156+
157+
NAME: VectorPoolAggregationModuleMSG
158+
NUM_GROUPS: 2
159+
LOCAL_AGGREGATION_TYPE: local_interpolation
160+
NUM_REDUCED_CHANNELS: 32
161+
NUM_CHANNELS_OF_LOCAL_AGGREGATION: 32
162+
MSG_POST_MLPS: [ 128 ]
163+
FILTER_NEIGHBOR_WITH_ROI: True
164+
RADIUS_OF_NEIGHBOR_WITH_ROI: 6.4
165+
166+
GROUP_CFG_0:
167+
NUM_LOCAL_VOXEL: [ 3, 3, 3 ]
168+
MAX_NEIGHBOR_DISTANCE: 2.4
169+
NEIGHBOR_NSAMPLE: -1
170+
POST_MLPS: [ 64, 64 ]
171+
GROUP_CFG_1:
172+
NUM_LOCAL_VOXEL: [ 3, 3, 3 ]
173+
MAX_NEIGHBOR_DISTANCE: 4.8
174+
NEIGHBOR_NSAMPLE: -1
175+
POST_MLPS: [ 64, 64 ]
176+
177+
178+
POINT_HEAD:
179+
NAME: PointHeadSimple
180+
CLS_FC: [256, 256]
181+
CLASS_AGNOSTIC: True
182+
USE_POINT_FEATURES_BEFORE_FUSION: True
183+
TARGET_CONFIG:
184+
GT_EXTRA_WIDTH: [0.2, 0.2, 0.2]
185+
LOSS_CONFIG:
186+
LOSS_REG: smooth-l1
187+
LOSS_WEIGHTS: {
188+
'point_cls_weight': 1.0,
189+
}
190+
191+
ROI_HEAD:
192+
NAME: PVRCNNHead
193+
CLASS_AGNOSTIC: True
194+
195+
SHARED_FC: [256, 256]
196+
CLS_FC: [256, 256]
197+
REG_FC: [256, 256]
198+
DP_RATIO: 0.3
199+
200+
NMS_CONFIG:
201+
TRAIN:
202+
NMS_TYPE: nms_gpu
203+
MULTI_CLASSES_NMS: False
204+
NMS_PRE_MAXSIZE: 9000
205+
NMS_POST_MAXSIZE: 512
206+
NMS_THRESH: 0.8
207+
TEST:
208+
NMS_TYPE: nms_gpu
209+
MULTI_CLASSES_NMS: False
210+
NMS_PRE_MAXSIZE: 1024
211+
NMS_POST_MAXSIZE: 100
212+
NMS_THRESH: 0.7
213+
SCORE_THRESH: 0.1
214+
215+
# NMS_PRE_MAXSIZE: 4096
216+
# NMS_POST_MAXSIZE: 500
217+
# NMS_THRESH: 0.85
218+
219+
220+
ROI_GRID_POOL:
221+
GRID_SIZE: 6
222+
223+
NAME: VectorPoolAggregationModuleMSG
224+
NUM_GROUPS: 2
225+
LOCAL_AGGREGATION_TYPE: voxel_random_choice
226+
NUM_REDUCED_CHANNELS: 30
227+
NUM_CHANNELS_OF_LOCAL_AGGREGATION: 32
228+
MSG_POST_MLPS: [ 128 ]
229+
230+
GROUP_CFG_0:
231+
NUM_LOCAL_VOXEL: [ 3, 3, 3 ]
232+
MAX_NEIGHBOR_DISTANCE: 0.8
233+
NEIGHBOR_NSAMPLE: 32
234+
POST_MLPS: [ 64, 64 ]
235+
GROUP_CFG_1:
236+
NUM_LOCAL_VOXEL: [ 3, 3, 3 ]
237+
MAX_NEIGHBOR_DISTANCE: 1.6
238+
NEIGHBOR_NSAMPLE: 32
239+
POST_MLPS: [ 64, 64 ]
240+
241+
TARGET_CONFIG:
242+
BOX_CODER: ResidualCoder
243+
ROI_PER_IMAGE: 128
244+
FG_RATIO: 0.5
245+
246+
SAMPLE_ROI_BY_EACH_CLASS: True
247+
CLS_SCORE_TYPE: roi_iou
248+
249+
CLS_FG_THRESH: 0.75
250+
CLS_BG_THRESH: 0.25
251+
CLS_BG_THRESH_LO: 0.1
252+
HARD_BG_RATIO: 0.8
253+
254+
REG_FG_THRESH: 0.55
255+
256+
LOSS_CONFIG:
257+
CLS_LOSS: BinaryCrossEntropy
258+
REG_LOSS: smooth-l1
259+
CORNER_LOSS_REGULARIZATION: True
260+
LOSS_WEIGHTS: {
261+
'rcnn_cls_weight': 1.0,
262+
'rcnn_reg_weight': 1.0,
263+
'rcnn_corner_weight': 1.0,
264+
'code_weights': [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]
265+
}
266+
267+
POST_PROCESSING:
268+
RECALL_THRESH_LIST: [0.3, 0.5, 0.7]
269+
SCORE_THRESH: 0.1
270+
OUTPUT_RAW_SCORE: False
271+
272+
EVAL_METRIC: kitti
273+
274+
NMS_CONFIG:
275+
MULTI_CLASSES_NMS: False
276+
NMS_TYPE: nms_gpu
277+
NMS_THRESH: 0.7
278+
NMS_PRE_MAXSIZE: 4096
279+
NMS_POST_MAXSIZE: 500
280+
281+
282+
OPTIMIZATION:
283+
BATCH_SIZE_PER_GPU: 2
284+
NUM_EPOCHS: 140
285+
286+
OPTIMIZER: adam_onecycle
287+
LR: 0.01
288+
WEIGHT_DECAY: 0.001
289+
MOMENTUM: 0.9
290+
291+
MOMS: [0.95, 0.85]
292+
PCT_START: 0.4
293+
DIV_FACTOR: 10
294+
DECAY_STEP_LIST: [35, 45]
295+
LR_DECAY: 0.1
296+
LR_CLIP: 0.0000001
297+
298+
LR_WARMUP: False
299+
WARMUP_EPOCH: 1
300+
301+
GRAD_NORM_CLIP: 10

0 commit comments

Comments
 (0)