"configs/mask_rcnn_r50_fpn_1x.py" did not exist on "fdb443053a232caca99b3f5e70052f0107506afe"
centerpoint_pillar02_second_secfpn_8xb4-cyclic-20e_nus-3d.py 5.04 KB
Newer Older
1
2
_base_ = [
    '../_base_/datasets/nus-3d.py',
3
4
    '../_base_/models/centerpoint_pillar02_second_secfpn_nus.py',
    '../_base_/schedules/cyclic-20e.py', '../_base_/default_runtime.py'
5
6
7
8
9
]

# If point cloud range is changed, the models should also change their point
# cloud range accordingly
point_cloud_range = [-51.2, -51.2, -5.0, 51.2, 51.2, 3.0]
10
11
12
# Using calibration info convert the Lidar-coordinate point cloud range to the
# ego-coordinate point cloud range could bring a little promotion in nuScenes.
# point_cloud_range = [-51.2, -52, -5.0, 51.2, 50.4, 3.0]
13
14
15
16
17
# For nuScenes we usually do 10-class detection
class_names = [
    'car', 'truck', 'construction_vehicle', 'bus', 'trailer', 'barrier',
    'motorcycle', 'bicycle', 'pedestrian', 'traffic_cone'
]
VVsssssk's avatar
VVsssssk committed
18
data_prefix = dict(pts='samples/LIDAR_TOP', img='', sweeps='sweeps/LIDAR_TOP')
19
model = dict(
20
21
    data_preprocessor=dict(
        voxel_layer=dict(point_cloud_range=point_cloud_range)),
22
    pts_voxel_encoder=dict(point_cloud_range=point_cloud_range),
23
24
25
26
    pts_bbox_head=dict(bbox_coder=dict(pc_range=point_cloud_range[:2])),
    # model training and testing settings
    train_cfg=dict(pts=dict(point_cloud_range=point_cloud_range)),
    test_cfg=dict(pts=dict(pc_range=point_cloud_range[:2])))
27
28
29

dataset_type = 'NuScenesDataset'
data_root = 'data/nuscenes/'
30
backend_args = None
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

db_sampler = dict(
    data_root=data_root,
    info_path=data_root + 'nuscenes_dbinfos_train.pkl',
    rate=1.0,
    prepare=dict(
        filter_by_difficulty=[-1],
        filter_by_min_points=dict(
            car=5,
            truck=5,
            bus=5,
            trailer=5,
            construction_vehicle=5,
            traffic_cone=5,
            barrier=5,
            motorcycle=5,
            bicycle=5,
            pedestrian=5)),
    classes=class_names,
    sample_groups=dict(
        car=2,
        truck=3,
        construction_vehicle=7,
        bus=4,
        trailer=6,
        barrier=2,
        motorcycle=6,
        bicycle=6,
        pedestrian=2,
        traffic_cone=2),
    points_loader=dict(
        type='LoadPointsFromFile',
63
        coord_type='LIDAR',
64
        load_dim=5,
65
66
67
        use_dim=[0, 1, 2, 3, 4],
        backend_args=backend_args),
    backend_args=backend_args)
68
69

train_pipeline = [
70
71
72
73
74
75
    dict(
        type='LoadPointsFromFile',
        coord_type='LIDAR',
        load_dim=5,
        use_dim=5,
        backend_args=backend_args),
76
77
78
79
80
    dict(
        type='LoadPointsFromMultiSweeps',
        sweeps_num=9,
        use_dim=[0, 1, 2, 3, 4],
        pad_empty_sweeps=True,
81
82
        remove_close=True,
        backend_args=backend_args),
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
    dict(type='LoadAnnotations3D', with_bbox_3d=True, with_label_3d=True),
    dict(type='ObjectSample', db_sampler=db_sampler),
    dict(
        type='GlobalRotScaleTrans',
        rot_range=[-0.3925, 0.3925],
        scale_ratio_range=[0.95, 1.05],
        translation_std=[0, 0, 0]),
    dict(
        type='RandomFlip3D',
        sync_2d=False,
        flip_ratio_bev_horizontal=0.5,
        flip_ratio_bev_vertical=0.5),
    dict(type='PointsRangeFilter', point_cloud_range=point_cloud_range),
    dict(type='ObjectRangeFilter', point_cloud_range=point_cloud_range),
    dict(type='ObjectNameFilter', classes=class_names),
    dict(type='PointShuffle'),
jshilong's avatar
jshilong committed
99
100
101
    dict(
        type='Pack3DDetInputs',
        keys=['points', 'gt_bboxes_3d', 'gt_labels_3d'])
102
103
]
test_pipeline = [
104
105
106
107
108
109
    dict(
        type='LoadPointsFromFile',
        coord_type='LIDAR',
        load_dim=5,
        use_dim=5,
        backend_args=backend_args),
110
111
112
113
114
    dict(
        type='LoadPointsFromMultiSweeps',
        sweeps_num=9,
        use_dim=[0, 1, 2, 3, 4],
        pad_empty_sweeps=True,
115
116
        remove_close=True,
        backend_args=backend_args),
117
118
119
120
121
122
123
124
125
126
127
    dict(
        type='MultiScaleFlipAug3D',
        img_scale=(1333, 800),
        pts_scale_ratio=1,
        flip=False,
        transforms=[
            dict(
                type='GlobalRotScaleTrans',
                rot_range=[0, 0],
                scale_ratio_range=[1., 1.],
                translation_std=[0, 0, 0]),
jshilong's avatar
jshilong committed
128
129
130
            dict(type='RandomFlip3D')
        ]),
    dict(type='Pack3DDetInputs', keys=['points'])
131
]
132

jshilong's avatar
jshilong committed
133
134
135
136
137
138
139
train_dataloader = dict(
    _delete_=True,
    batch_size=4,
    num_workers=4,
    persistent_workers=True,
    sampler=dict(type='DefaultSampler', shuffle=True),
    dataset=dict(
140
141
142
143
        type='CBGSDataset',
        dataset=dict(
            type=dataset_type,
            data_root=data_root,
jshilong's avatar
jshilong committed
144
            ann_file='nuscenes_infos_train.pkl',
145
            pipeline=train_pipeline,
146
            metainfo=dict(classes=class_names),
147
            test_mode=False,
jshilong's avatar
jshilong committed
148
            data_prefix=data_prefix,
149
150
151
            use_valid_flag=True,
            # we use box_type_3d='LiDAR' in kitti and nuscenes dataset
            # and box_type_3d='Depth' in sunrgbd and scannet dataset.
152
153
            box_type_3d='LiDAR',
            backend_args=backend_args)))
jshilong's avatar
jshilong committed
154
test_dataloader = dict(
155
    dataset=dict(pipeline=test_pipeline, metainfo=dict(classes=class_names)))
jshilong's avatar
jshilong committed
156
val_dataloader = dict(
157
    dataset=dict(pipeline=test_pipeline, metainfo=dict(classes=class_names)))
158

jshilong's avatar
jshilong committed
159
train_cfg = dict(val_interval=20)