def inferHuman36Data(self, batch, model_type, device, config, randomize_n_views, min_n_views, max_n_views): """ For batch inferences """ outputBatch = {} inputBatch = {} collatFunction = dataset_utils.make_collate_fn(randomize_n_views, min_n_views, max_n_views) batch = collatFunction(batch) images_batch, keypoints_3d_gt, keypoints_3d_validity_gt, proj_matricies_batch = dataset_utils.prepare_batch(batch, device, config) #print(proj_matricies_batch,proj_matricies_batch.shape,len(batch),images_batch.shape) keypoints_2d_pred, cuboids_pred, base_points_pred, volumes_pred, coord_volumes_pred = None, None, None, None, None if model_type == "alg" or model_type == "ransac": keypoints_3d_pred, keypoints_2d_pred, heatmaps_pred, confidences_pred = self.model(images_batch, proj_matricies_batch, batch) elif model_type == "vol": keypoints_3d_pred, heatmaps_pred, volumes_pred, confidences_pred, cuboids_pred, coord_volumes_pred, base_points_pred = self.model(images_batch, proj_matricies_batch, batch) outputBatch["keypoints_3d_pred"] = keypoints_3d_pred outputBatch["heatmaps_pred"] = heatmaps_pred outputBatch["volumes_pred"] = volumes_pred outputBatch["confidences_pred"] = confidences_pred outputBatch["cuboids_pred"] = confidences_pred outputBatch["coord_volumes_pred"] = coord_volumes_pred outputBatch["base_points_pred"] = base_points_pred inputBatch["images_batch"] = images_batch inputBatch["proj_matricies_batch"] = proj_matricies_batch return outputBatch, inputBatch
def setup_cmu_dataloaders(config): # val val_dataset = cmupanoptic.CMUPanopticDataset( cmu_root=config.dataset.val.cmu_root, pred_results_path=config.dataset.val.pred_results_path if hasattr( config.dataset.val, "pred_results_path") else None, train=False, test=True, image_shape=config.image_shape if hasattr(config, "image_shape") else (256, 256), labels_path=config.dataset.val.labels_path, retain_every_n_frames_in_test=config.dataset.val. retain_every_n_frames_in_test, scale_bbox=config.dataset.val.scale_bbox, square_bbox=config.dataset.val.square_bbox if hasattr( config.dataset.val, "square_bbox") else True, kind=config.kind, choose_cameras=config.dataset.val.choose_cameras if hasattr( config.dataset.val, "choose_cameras") else [], ignore_cameras=config.dataset.val.ignore_cameras if hasattr( config.dataset.val, "ignore_cameras") else [], crop=config.dataset.val.crop if hasattr(config.dataset.val, "crop") else True, frames_split_file=config.opt.frames_split_file if hasattr( config.opt, "frames_split_file") else None) val_dataloader = DataLoader( val_dataset, batch_size=config.opt.val_batch_size if hasattr( config.opt, "val_batch_size") else config.opt.batch_size, shuffle=config.dataset.val.shuffle, collate_fn=dataset_utils.make_collate_fn( randomize_n_views=config.dataset.val.randomize_n_views, min_n_views=config.dataset.val.min_n_views, max_n_views=config.dataset.val.max_n_views), num_workers=config.dataset.val.num_workers, worker_init_fn=dataset_utils.worker_init_fn, pin_memory=True, drop_last=False) return val_dataloader
def setup_human36m_dataloaders(config): # val val_dataset = human36m.Human36MMultiViewDataset( h36m_root=config.dataset.val.h36m_root, pred_results_path=config.dataset.val.pred_results_path if hasattr( config.dataset.val, "pred_results_path") else None, train=False, test=True, image_shape=config.image_shape if hasattr(config, "image_shape") else (256, 256), labels_path=config.dataset.val.labels_path, with_damaged_actions=config.dataset.val.with_damaged_actions, retain_every_n_frames_in_test=config.dataset.val. retain_every_n_frames_in_test, scale_bbox=config.dataset.val.scale_bbox, kind=config.kind, undistort_images=config.dataset.val.undistort_images, ignore_cameras=config.dataset.val.ignore_cameras if hasattr( config.dataset.val, "ignore_cameras") else [], crop=config.dataset.val.crop if hasattr(config.dataset.val, "crop") else True, ) val_dataloader = DataLoader( val_dataset, batch_size=config.opt.val_batch_size if hasattr( config.opt, "val_batch_size") else config.opt.batch_size, shuffle=config.dataset.val.shuffle, collate_fn=dataset_utils.make_collate_fn( randomize_n_views=config.dataset.val.randomize_n_views, min_n_views=config.dataset.val.min_n_views, max_n_views=config.dataset.val.max_n_views), num_workers=config.dataset.val.num_workers, worker_init_fn=dataset_utils.worker_init_fn, pin_memory=True, drop_last=False) return val_dataloader
def setup_human36m_dataloaders(config, is_train, distributed_train): train_dataloader = None if is_train: # train train_dataset = human36m.Human36MMultiViewDataset( h36m_root=config.dataset.train.h36m_root, pred_results_path=config.dataset.train.pred_results_path if hasattr(config.dataset.train, "pred_results_path") else None, train=True, test=False, image_shape=config.image_shape if hasattr(config, "image_shape") else (256, 256), labels_path=config.dataset.train.labels_path, with_damaged_actions=config.dataset.train.with_damaged_actions, scale_bbox=config.dataset.train.scale_bbox, kind=config.kind, undistort_images=config.dataset.train.undistort_images, ignore_cameras=config.dataset.train.ignore_cameras if hasattr(config.dataset.train, "ignore_cameras") else [], crop=config.dataset.train.crop if hasattr(config.dataset.train, "crop") else True, ) train_sampler = torch.utils.data.distributed.DistributedSampler(train_dataset) if distributed_train else None train_dataloader = DataLoader( train_dataset, batch_size=config.opt.batch_size, shuffle=config.dataset.train.shuffle and (train_sampler is None), # debatable sampler=train_sampler, collate_fn=dataset_utils.make_collate_fn(randomize_n_views=config.dataset.train.randomize_n_views, min_n_views=config.dataset.train.min_n_views, max_n_views=config.dataset.train.max_n_views), num_workers=config.dataset.train.num_workers, worker_init_fn=dataset_utils.worker_init_fn, pin_memory=True ) # val val_dataset = human36m.Human36MMultiViewDataset( h36m_root=config.dataset.val.h36m_root, pred_results_path=config.dataset.val.pred_results_path if hasattr(config.dataset.val, "pred_results_path") else None, train=False, test=True, image_shape=config.image_shape if hasattr(config, "image_shape") else (256, 256), labels_path=config.dataset.val.labels_path, with_damaged_actions=config.dataset.val.with_damaged_actions, retain_every_n_frames_in_test=config.dataset.val.retain_every_n_frames_in_test, scale_bbox=config.dataset.val.scale_bbox, kind=config.kind, undistort_images=config.dataset.val.undistort_images, ignore_cameras=config.dataset.val.ignore_cameras if hasattr(config.dataset.val, "ignore_cameras") else [], crop=config.dataset.val.crop if hasattr(config.dataset.val, "crop") else True, ) val_dataloader = DataLoader( val_dataset, batch_size=config.opt.val_batch_size if hasattr(config.opt, "val_batch_size") else config.opt.batch_size, shuffle=config.dataset.val.shuffle, collate_fn=dataset_utils.make_collate_fn(randomize_n_views=config.dataset.val.randomize_n_views, min_n_views=config.dataset.val.min_n_views, max_n_views=config.dataset.val.max_n_views), num_workers=config.dataset.val.num_workers, worker_init_fn=dataset_utils.worker_init_fn, pin_memory=True ) return train_dataloader, val_dataloader, train_sampler
def setup_cmu_dataloaders(config, is_train, distributed_train): train_dataloader = None if is_train: # train train_dataset = cmupanoptic.CMUPanopticDataset( cmu_root=config.dataset.train.cmu_root, pred_results_path=config.dataset.train.pred_results_path if hasattr(config.dataset.train, "pred_results_path") else None, train=True, test=False, image_shape=config.image_shape if hasattr(config, "image_shape") else (256, 256), labels_path=config.dataset.train.labels_path, scale_bbox=config.dataset.train.scale_bbox, square_bbox=config.dataset.train.square_bbox if hasattr(config.dataset.train, "square_bbox") else True, kind=config.kind, transfer_cmu_to_human36m=config.model.transfer_cmu_to_human36m if hasattr(config.model, "transfer_cmu_to_human36m") else False, choose_cameras=config.dataset.train.choose_cameras if hasattr(config.dataset.train, "choose_cameras") else [], ignore_cameras=config.dataset.train.ignore_cameras if hasattr(config.dataset.train, "ignore_cameras") else [], crop=config.dataset.train.crop if hasattr(config.dataset.train, "crop") else True, frames_split_file=config.opt.frames_split_file if hasattr(config.opt, "frames_split_file") else None ) train_sampler = torch.utils.data.distributed.DistributedSampler(train_dataset) if distributed_train else None train_dataloader = DataLoader( train_dataset, batch_size=config.opt.batch_size, shuffle=config.dataset.train.shuffle and (train_sampler is None), # debatable sampler=train_sampler, collate_fn=dataset_utils.make_collate_fn(randomize_n_views=config.dataset.train.randomize_n_views, min_n_views=config.dataset.train.min_n_views, max_n_views=config.dataset.train.max_n_views), num_workers=config.dataset.train.num_workers, worker_init_fn=dataset_utils.worker_init_fn, pin_memory=True, drop_last=False ) # val val_dataset = cmupanoptic.CMUPanopticDataset( cmu_root=config.dataset.val.cmu_root, pred_results_path=config.dataset.val.pred_results_path if hasattr( config.dataset.val, "pred_results_path") else None, train=False, test=True, image_shape=config.image_shape if hasattr(config, "image_shape") else (256, 256), labels_path=config.dataset.val.labels_path, retain_every_n_frames_in_test=config.dataset.val.retain_every_n_frames_in_test, scale_bbox=config.dataset.val.scale_bbox, square_bbox=config.dataset.val.square_bbox if hasattr(config.dataset.val, "square_bbox") else True, kind=config.kind, choose_cameras=config.dataset.val.choose_cameras if hasattr(config.dataset.val, "choose_cameras") else [], ignore_cameras=config.dataset.val.ignore_cameras if hasattr(config.dataset.val, "ignore_cameras") else [], crop=config.dataset.val.crop if hasattr(config.dataset.val, "crop") else True, frames_split_file=config.opt.frames_split_file if hasattr(config.opt, "frames_split_file") else None ) val_dataloader = DataLoader( val_dataset, batch_size=config.opt.val_batch_size if hasattr(config.opt, "val_batch_size") else config.opt.batch_size, shuffle=config.dataset.val.shuffle, collate_fn=dataset_utils.make_collate_fn(randomize_n_views=config.dataset.val.randomize_n_views, min_n_views=config.dataset.val.min_n_views, max_n_views=config.dataset.val.max_n_views), num_workers=config.dataset.val.num_workers, worker_init_fn=dataset_utils.worker_init_fn, pin_memory=True, drop_last=False ) return train_dataloader, val_dataloader, train_sampler
def setup_human36m_dataloaders(config, is_train, distributed_train, rank=None, world_size=None): train_dataloader = None if is_train: # train train_dataset = eval('datasets.' + config.dataset.train_dataset)( root=config.dataset.root, pred_results_path=config.train.pred_results_path, train=True, test=False, image_shape=config.model.image_shape, labels_path=config.dataset.train_labels_path, with_damaged_actions=config.train.with_damaged_actions, scale_bbox=config.train.scale_bbox, kind=config.kind, undistort_images=config.train.undistort_images, ignore_cameras=config.train.ignore_cameras, crop=config.train.crop, erase=config.train.erase, data_format=config.dataset.data_format) train_sampler = torch.utils.data.distributed.DistributedSampler( train_dataset) if distributed_train else None train_dataloader = DataLoader( train_dataset, batch_size=config.train.batch_size, shuffle=config.train.shuffle and (train_sampler is None), # debatable sampler=train_sampler, collate_fn=dataset_utils.make_collate_fn( randomize_n_views=config.train.randomize_n_views, min_n_views=config.train.min_n_views, max_n_views=config.train.max_n_views), num_workers=config.train.num_workers, worker_init_fn=dataset_utils.worker_init_fn, pin_memory=True) # val val_dataset = eval('datasets.' + config.dataset.val_dataset)( root=config.dataset.root, pred_results_path=config.val.pred_results_path, train=False, test=True, image_shape=config.model.image_shape, labels_path=config.dataset.val_labels_path, with_damaged_actions=config.val.with_damaged_actions, retain_every_n_frames_in_test=config.val.retain_every_n_frames_in_test, scale_bbox=config.val.scale_bbox, kind=config.kind, undistort_images=config.val.undistort_images, ignore_cameras=config.val.ignore_cameras, crop=config.val.crop, erase=config.val.erase, rank=rank, world_size=world_size, data_format=config.dataset.data_format) val_dataloader = DataLoader( val_dataset, batch_size=config.val.batch_size, shuffle=config.val.shuffle, collate_fn=dataset_utils.make_collate_fn( randomize_n_views=config.val.randomize_n_views, min_n_views=config.val.min_n_views, max_n_views=config.val.max_n_views), num_workers=config.val.num_workers, worker_init_fn=dataset_utils.worker_init_fn, pin_memory=True) return train_dataloader, val_dataloader, train_sampler, val_dataset.dist_size