22 second: {
33 voxel_generator {
44 point_cloud_range : [0, -40, -3, 70.4, 40, 1]
5- # point_cloud_range : [0, -32.0, -3, 52.8, 32.0, 1]
65 voxel_size : [0.05, 0.05, 0.1]
76 max_number_of_points_per_voxel : 5
87 }
@@ -48,31 +47,29 @@ model: {
4847 classification_weight: 1.0
4948 localization_weight: 2.0
5049 }
50+ num_point_features: 4 # model's num point feature should be independent of dataset
5151 # Outputs
5252 use_sigmoid_score: true
5353 encode_background_as_zeros: true
5454 encode_rad_error_by_sin: true
5555
5656 use_direction_classifier: true # this can help for orientation benchmark
5757 direction_loss_weight: 0.2 # enough.
58- use_aux_classifier: false
58+
5959 # Loss
6060 pos_class_weight: 1.0
6161 neg_class_weight: 1.0
6262
6363 loss_norm_type: NormByNumPositives
6464 # Postprocess
65- post_center_limit_range: [0, -40, -3.0 , 70.4, 40, 0.0 ]
65+ post_center_limit_range: [0, -40, -2.2 , 70.4, 40, 0.8 ]
6666 use_rotate_nms: true
6767 use_multi_class_nms: false
6868 nms_pre_max_size: 1000
6969 nms_post_max_size: 100
70- nms_score_threshold: 0.3
70+ nms_score_threshold: 0.3 # 0.4 in submit, but 0.3 can get better hard performance
7171 nms_iou_threshold: 0.01
7272
73- use_bev: false
74- num_point_features: 4
75- without_reflectivity: false
7673 box_coder: {
7774 ground_box3d_coder: {
7875 linear_dim: false
@@ -83,7 +80,7 @@ model: {
8380 anchor_generators: {
8481 anchor_generator_range: {
8582 sizes: [1.6, 3.9, 1.56] # wlh
86- anchor_ranges: [0, -40.0, -1.0 , 70.4, 40.0, -1.0 ] # carefully set z center
83+ anchor_ranges: [0, -40.0, -1.00 , 70.4, 40.0, -1.00 ] # carefully set z center
8784 rotations: [0, 1.57] # DON'T modify this unless you are very familiar with my code.
8885 matched_threshold : 0.6
8986 unmatched_threshold : 0.45
@@ -100,91 +97,102 @@ model: {
10097 }
10198}
10299
103-
104100train_input_reader: {
105- max_num_epochs : 160
106- batch_size: 6
107- prefetch_size : 25
108- max_number_of_voxels: 16000
109- shuffle_points: true
110- num_workers: 3
111- groundtruth_localization_noise_std: [1.0, 1.0, 0.5]
112- # groundtruth_rotation_uniform_noise: [-0.3141592654, 0.3141592654]
113- # groundtruth_rotation_uniform_noise: [-1.57, 1.57]
114- groundtruth_rotation_uniform_noise: [-0.78539816, 0.78539816]
115- global_rotation_uniform_noise: [-0.78539816, 0.78539816]
116- global_scaling_uniform_noise: [0.95, 1.05]
117- global_random_rotation_range_per_object: [0, 0] # pi/4 ~ 3pi/4
118- anchor_area_threshold: -1
119- remove_points_after_sample: true
120- groundtruth_points_drop_percentage: 0.0
121- groundtruth_drop_max_keep_points: 15
122- database_sampler {
123- database_info_path: "/media/yy/My Passport/datasets/kitti/kitti_dbinfos_train.pkl"
124- sample_groups {
125- name_to_max_num {
126- key: "Car"
127- value: 15
128- }
129- }
130- database_prep_steps {
131- filter_by_min_num_points {
132- min_num_point_pairs {
101+ dataset: {
102+ dataset_class_name: "KittiDataset"
103+ kitti_info_path: "/media/yy/960evo/datasets/kitti/kitti_infos_train.pkl"
104+ kitti_root_path: "/media/yy/960evo/datasets/kitti"
105+ }
106+
107+ batch_size: 8
108+ preprocess: {
109+ max_number_of_voxels: 17000
110+ shuffle_points: true
111+ num_workers: 3
112+ groundtruth_localization_noise_std: [1.0, 1.0, 0.5]
113+ # groundtruth_rotation_uniform_noise: [-0.3141592654, 0.3141592654]
114+ # groundtruth_rotation_uniform_noise: [-1.57, 1.57]
115+ groundtruth_rotation_uniform_noise: [-0.78539816, 0.78539816]
116+ global_rotation_uniform_noise: [-0.78539816, 0.78539816]
117+ global_scaling_uniform_noise: [0.95, 1.05]
118+ global_random_rotation_range_per_object: [0, 0] # pi/4 ~ 3pi/4
119+ global_translate_noise_std: [0, 0, 0]
120+ anchor_area_threshold: -1
121+ remove_points_after_sample: true
122+ groundtruth_points_drop_percentage: 0.0
123+ groundtruth_drop_max_keep_points: 15
124+ remove_unknown_examples: false
125+ remove_environment: false
126+ database_sampler {
127+ database_info_path: "/media/yy/960evo/datasets/kitti/kitti_dbinfos_train.pkl"
128+ sample_groups {
129+ name_to_max_num {
133130 key: "Car"
134- value: 5
131+ value: 15
135132 }
136133 }
137- }
138- database_prep_steps {
139- filter_by_difficulty {
140- removed_difficulties: [-1]
134+ database_prep_steps {
135+ filter_by_min_num_points {
136+ min_num_point_pairs {
137+ key: "Car"
138+ value: 5
139+ }
140+ }
141+ }
142+ database_prep_steps {
143+ filter_by_difficulty {
144+ removed_difficulties: [-1]
145+ }
141146 }
147+ global_random_rotation_range_per_object: [0, 0]
148+ rate: 1.0
142149 }
143- global_random_rotation_range_per_object: [0, 0]
144- rate: 1.0
145150 }
146-
147- remove_unknown_examples: false
148- remove_environment: false
149- kitti_info_path: "/media/yy/My Passport/datasets/kitti/kitti_infos_train.pkl"
150- kitti_root_path: "/media/yy/My Passport/datasets/kitti"
151151}
152152
153153train_config: {
154154 optimizer: {
155155 adam_optimizer: {
156156 learning_rate: {
157157 one_cycle: {
158- lr_max: 3e -3
158+ lr_max: 2.25e -3
159159 moms: [0.95, 0.85]
160160 div_factor: 10.0
161161 pct_start: 0.4
162162 }
163163 }
164- weight_decay: 0.01 # super converge. decrease this when you increase steps.
164+ weight_decay: 0.01
165165 }
166166 fixed_weight_decay: true
167167 use_moving_average: false
168168 }
169- steps: 30950 # 619 * 50, super converge. increase this to achieve slightly better results
170- steps_per_eval: 3095 # 619 * 5
169+ # steps: 99040 # 1238 * 120
170+ # steps: 49520 # 619 * 80
171+ # steps: 30950 # 619 * 80
172+ # steps_per_eval: 3095 # 619 * 5
173+ steps: 23200 # 464 * 50
174+ steps_per_eval: 2320 # 464 * 5
175+
171176 save_checkpoints_secs : 1800 # half hour
172177 save_summary_steps : 10
173- enable_mixed_precision: false
178+ enable_mixed_precision: false
174179 loss_scale_factor : 8.0
175180 clear_metrics_every_epoch: true
176181}
177182
178183eval_input_reader: {
179- batch_size: 6
180- max_num_epochs : 160
181- prefetch_size : 25
182- max_number_of_voxels: 40000
183- shuffle_points: false
184- num_workers: 3
185- anchor_area_threshold: -1
186- remove_environment: false
187- kitti_info_path: "/media/yy/My Passport/datasets/kitti/kitti_infos_val.pkl"
188- # kitti_info_path: "/media/yy/My Passport/datasets/kitti/kitti_infos_test.pkl"
189- kitti_root_path: "/media/yy/My Passport/datasets/kitti"
184+ dataset: {
185+ dataset_class_name: "KittiDataset"
186+ kitti_info_path: "/media/yy/960evo/datasets/kitti/kitti_infos_val.pkl"
187+ # kitti_info_path: "/media/yy/960evo/datasets/kitti/kitti_infos_test.pkl"
188+ kitti_root_path: "/media/yy/960evo/datasets/kitti"
189+ }
190+ batch_size: 8
191+ preprocess: {
192+ max_number_of_voxels: 40000
193+ shuffle_points: false
194+ num_workers: 3
195+ anchor_area_threshold: -1
196+ remove_environment: false
197+ }
190198}
0 commit comments