-
Notifications
You must be signed in to change notification settings - Fork 1
/
fcaf3d_sunrgbd-3d-10class-r1.00-aug.py
142 lines (139 loc) · 4.38 KB
/
fcaf3d_sunrgbd-3d-10class-r1.00-aug.py
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
_base_ = ['semi_fcaf3d.py']
n_points = 100000
model = dict(
model_cfg=dict(
neck_with_head=dict(
n_classes=10,
n_reg_outs=8)),
transformation=dict(
# flipping=True,
rotation_angle="orthogonal",
# rotation_angle=None,
translation_offset=0.5, # 0.5 meters
# scaling_factor=0.00
),
semi_loss_parameters=dict(
thres_center=0.4,
thres_cls=0.2,
),
# disable_QEC=True,
# eval_teacher=True,
alpha=0.99,
semi_loss_weights=dict(
weight_consistency_bboxes = 1.00,
weight_consistency_center = 0.25,
weight_consistency_cls = 0.50,
),)
dataset_type = 'SUNRGBDDataset'
data_root = 'data/sunrgbd/'
class_names = ('bed', 'table', 'sofa', 'chair', 'toilet', 'desk', 'dresser',
'night_stand', 'bookshelf', 'bathtub')
train_pipeline = [
dict(
type='LoadPointsFromFile',
coord_type='DEPTH',
shift_height=False,
load_dim=6,
use_dim=[0, 1, 2, 3, 4, 5]),
dict(type='LoadAnnotations3D'),
dict(type='IndoorPointSample', num_points=n_points),
dict(
type='RandomFlip3D',
sync_2d=False,
flip_ratio_bev_horizontal=0.5),
dict(
type='GlobalRotScaleTrans',
rot_range=[-0.523599, 0.523599],
scale_ratio_range=[0.85, 1.15],
translation_std=[.1, .1, .1],
shift_height=False),
dict(type='DefaultFormatBundle3D', class_names=class_names),
dict(
type='Collect3D',
keys=['points', 'gt_bboxes_3d', 'gt_labels_3d'])
]
test_pipeline = [
dict(
type='LoadPointsFromFile',
coord_type='DEPTH',
shift_height=False,
load_dim=6,
use_dim=[0, 1, 2, 3, 4, 5]),
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]),
dict(
type='RandomFlip3D',
sync_2d=False,
flip_ratio_bev_horizontal=0.5,
flip_ratio_bev_vertical=0.5),
dict(type='IndoorPointSample', num_points=n_points),
dict(
type='DefaultFormatBundle3D',
class_names=class_names,
with_label=False),
dict(type='Collect3D', keys=['points'])
])
]
data = dict(
samples_per_gpu=2,
workers_per_gpu=8,
train=dict(
type='SemiDataset',
labeled=dict(
type='LabeledDataset',
seed=0,
src=dict(
type=dataset_type,
modality=dict(use_camera=False, use_lidar=True),
data_root=data_root,
ann_file=data_root + 'sunrgbd_infos_train.pkl',
pipeline=train_pipeline,
filter_empty_gt=True,
classes=class_names,
box_type_3d='Depth'),
ratio=1.00
),
unlabeled=dict(
type='UnlabeledDataset',
seed=0,
src=dict(
type=dataset_type,
modality=dict(use_camera=False, use_lidar=True),
data_root=data_root,
ann_file=data_root + 'sunrgbd_infos_train.pkl',
pipeline=train_pipeline,
filter_empty_gt=True,
classes=class_names,
box_type_3d='Depth'),
ratio=0.00
)),
val=dict(
type=dataset_type,
modality=dict(use_camera=False, use_lidar=True),
data_root=data_root,
ann_file=data_root + 'sunrgbd_infos_val.pkl',
pipeline=test_pipeline,
classes=class_names,
test_mode=True,
box_type_3d='Depth'),
test=dict(
type=dataset_type,
modality=dict(use_camera=False, use_lidar=True),
data_root=data_root,
ann_file=data_root + 'sunrgbd_infos_val.pkl',
pipeline=test_pipeline,
classes=class_names,
test_mode=True,
box_type_3d='Depth'))
find_unused_parameters=True
runner = dict(type='IterBasedRunner', max_iters=16000)
lr_config = dict(policy='step', warmup=None, step=[11000, 14000])