Skip to content

Commit 0db30f4

Browse files
committed
Adjust the hook function and nuscenes_dataset.py
1 parent ed2bb81 commit 0db30f4

File tree

3 files changed

+60
-55
lines changed

3 files changed

+60
-55
lines changed

pcdet/datasets/augmentor/data_augmentor.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ def __init__(self, root_path, augmentor_configs, class_names, logger=None):
2424
cur_augmentor = getattr(self, cur_cfg.NAME)(config=cur_cfg)
2525
self.data_augmentor_queue.append(cur_augmentor)
2626

27-
def disableAugmentation(self, augmentor_configs):
27+
def disable_augmentation(self, augmentor_configs):
2828
self.data_augmentor_queue = []
2929
aug_config_list = augmentor_configs if isinstance(augmentor_configs, list) \
3030
else augmentor_configs.AUG_CONFIG_LIST

pcdet/datasets/nuscenes/nuscenes_dataset.py

Lines changed: 58 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,63 @@ def crop_image(self, input_dict):
151151
input_dict['img_process_infos'] = img_process_infos
152152
input_dict['camera_imgs'] = crop_images
153153
return input_dict
154+
155+
def load_camera_info(self, input_dict, info):
156+
input_dict["image_paths"] = []
157+
input_dict["lidar2camera"] = []
158+
input_dict["lidar2image"] = []
159+
input_dict["camera2ego"] = []
160+
input_dict["camera_intrinsics"] = []
161+
input_dict["camera2lidar"] = []
162+
163+
for _, camera_info in info["cams"].items():
164+
input_dict["image_paths"].append(camera_info["data_path"])
165+
166+
# lidar to camera transform
167+
lidar2camera_r = np.linalg.inv(camera_info["sensor2lidar_rotation"])
168+
lidar2camera_t = (
169+
camera_info["sensor2lidar_translation"] @ lidar2camera_r.T
170+
)
171+
lidar2camera_rt = np.eye(4).astype(np.float32)
172+
lidar2camera_rt[:3, :3] = lidar2camera_r.T
173+
lidar2camera_rt[3, :3] = -lidar2camera_t
174+
input_dict["lidar2camera"].append(lidar2camera_rt.T)
175+
176+
# camera intrinsics
177+
camera_intrinsics = np.eye(4).astype(np.float32)
178+
camera_intrinsics[:3, :3] = camera_info["camera_intrinsics"]
179+
input_dict["camera_intrinsics"].append(camera_intrinsics)
180+
181+
# lidar to image transform
182+
lidar2image = camera_intrinsics @ lidar2camera_rt.T
183+
input_dict["lidar2image"].append(lidar2image)
184+
185+
# camera to ego transform
186+
camera2ego = np.eye(4).astype(np.float32)
187+
camera2ego[:3, :3] = Quaternion(
188+
camera_info["sensor2ego_rotation"]
189+
).rotation_matrix
190+
camera2ego[:3, 3] = camera_info["sensor2ego_translation"]
191+
input_dict["camera2ego"].append(camera2ego)
192+
193+
# camera to lidar transform
194+
camera2lidar = np.eye(4).astype(np.float32)
195+
camera2lidar[:3, :3] = camera_info["sensor2lidar_rotation"]
196+
camera2lidar[:3, 3] = camera_info["sensor2lidar_translation"]
197+
input_dict["camera2lidar"].append(camera2lidar)
198+
# read image
199+
filename = input_dict["image_paths"]
200+
images = []
201+
for name in filename:
202+
images.append(Image.open(str(self.root_path / name)))
203+
204+
input_dict["camera_imgs"] = images
205+
input_dict["ori_shape"] = images[0].size
206+
207+
# resize and crop image
208+
input_dict = self.crop_image(input_dict)
209+
210+
return input_dict
154211

155212
def __len__(self):
156213
if self._merge_all_iters_to_one_epoch:
@@ -182,59 +239,7 @@ def __getitem__(self, index):
182239
'gt_boxes': info['gt_boxes'] if mask is None else info['gt_boxes'][mask]
183240
})
184241
if self.use_camera:
185-
input_dict["image_paths"] = []
186-
input_dict["lidar2camera"] = []
187-
input_dict["lidar2image"] = []
188-
input_dict["camera2ego"] = []
189-
input_dict["camera_intrinsics"] = []
190-
input_dict["camera2lidar"] = []
191-
192-
for _, camera_info in info["cams"].items():
193-
input_dict["image_paths"].append(camera_info["data_path"])
194-
195-
# lidar to camera transform
196-
lidar2camera_r = np.linalg.inv(camera_info["sensor2lidar_rotation"])
197-
lidar2camera_t = (
198-
camera_info["sensor2lidar_translation"] @ lidar2camera_r.T
199-
)
200-
lidar2camera_rt = np.eye(4).astype(np.float32)
201-
lidar2camera_rt[:3, :3] = lidar2camera_r.T
202-
lidar2camera_rt[3, :3] = -lidar2camera_t
203-
input_dict["lidar2camera"].append(lidar2camera_rt.T)
204-
205-
# camera intrinsics
206-
camera_intrinsics = np.eye(4).astype(np.float32)
207-
camera_intrinsics[:3, :3] = camera_info["camera_intrinsics"]
208-
input_dict["camera_intrinsics"].append(camera_intrinsics)
209-
210-
# lidar to image transform
211-
lidar2image = camera_intrinsics @ lidar2camera_rt.T
212-
input_dict["lidar2image"].append(lidar2image)
213-
214-
# camera to ego transform
215-
camera2ego = np.eye(4).astype(np.float32)
216-
camera2ego[:3, :3] = Quaternion(
217-
camera_info["sensor2ego_rotation"]
218-
).rotation_matrix
219-
camera2ego[:3, 3] = camera_info["sensor2ego_translation"]
220-
input_dict["camera2ego"].append(camera2ego)
221-
222-
# camera to lidar transform
223-
camera2lidar = np.eye(4).astype(np.float32)
224-
camera2lidar[:3, :3] = camera_info["sensor2lidar_rotation"]
225-
camera2lidar[:3, 3] = camera_info["sensor2lidar_translation"]
226-
input_dict["camera2lidar"].append(camera2lidar)
227-
# read image
228-
filename = input_dict["image_paths"]
229-
images = []
230-
for name in filename:
231-
images.append(Image.open(str(self.root_path / name)))
232-
233-
input_dict["camera_imgs"] = images
234-
input_dict["ori_shape"] = images[0].size
235-
236-
# resize and crop image
237-
input_dict = self.crop_image(input_dict)
242+
input_dict = self.load_camera_info(input_dict, info)
238243

239244
data_dict = self.prepare_data(data_dict=input_dict)
240245

tools/train_utils/train_utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,6 @@ def disable_augmentation_hook(hook_config, dataloader, total_epochs, cur_epoch,
267267
dataset_cfg=cfg.DATA_CONFIG
268268
logger.info(f'Disable augmentations: {DISABLE_AUG_LIST}')
269269
dataset_cfg.DATA_AUGMENTOR.DISABLE_AUG_LIST = DISABLE_AUG_LIST
270-
dataloader._dataset.data_augmentor.disableAugmentation(dataset_cfg.DATA_AUGMENTOR)
270+
dataloader._dataset.data_augmentor.disable_augmentation(dataset_cfg.DATA_AUGMENTOR)
271271
flag = True
272272
return flag

0 commit comments

Comments
 (0)