end_points['seed_xyz'] = xyz end_points['seed_features'] = features # Directly predict bounding boxes (skips voting) end_points = self.pnet(xyz, features, end_points) return end_points if __name__ == '__main__': sys.path.append(os.path.join(ROOT_DIR, 'sunrgbd')) from sunrgbd_detection_dataset import SunrgbdDetectionVotesDataset, DC # Define dataset TRAIN_DATASET = SunrgbdDetectionVotesDataset('train', num_points=20000, use_v1=True) # Define model model = BoxNet(10, 12, 10, np.random.random((10, 3))).cuda() # Model forward pass sample = TRAIN_DATASET[5] inputs = { 'point_clouds': torch.from_numpy(sample['point_clouds']).unsqueeze(0).cuda() } end_points = model(inputs) for key in end_points: print(key, end_points[key])
# Init datasets and dataloaders def my_worker_init_fn(worker_id): np.random.seed(np.random.get_state()[1][0] + worker_id) if FLAGS.dataset == "sunrgbd": sys.path.append(os.path.join(ROOT_DIR, "sunrgbd")) from sunrgbd_detection_dataset import SunrgbdDetectionVotesDataset, MAX_NUM_OBJ from model_util_sunrgbd import SunrgbdDatasetConfig DATASET_CONFIG = SunrgbdDatasetConfig() TEST_DATASET = SunrgbdDetectionVotesDataset( "val", num_points=NUM_POINT, augment=False, use_color=FLAGS.use_color, use_height=(not FLAGS.no_height), use_v1=(not FLAGS.use_sunrgbd_v2), ) elif FLAGS.dataset == "scannet": sys.path.append(os.path.join(ROOT_DIR, "scannet")) from scannet_detection_dataset import ScannetDetectionDataset, MAX_NUM_OBJ from model_util_scannet import ScannetDatasetConfig DATASET_CONFIG = ScannetDatasetConfig() TEST_DATASET = ScannetDetectionDataset( "val", num_points=NUM_POINT, augment=False, use_color=FLAGS.use_color, use_height=(not FLAGS.no_height) ) elif FLAGS.dataset == "fsn": sys.path.append(os.path.join(ROOT_DIR, "fsn")) from fsn_detection_dataset import FSNDetectionDataset, MAX_NUM_OBJ
# Init datasets and dataloaders def my_worker_init_fn(worker_id): np.random.seed(np.random.get_state()[1][0] + worker_id) if FLAGS.dataset == 'sunrgbd': sys.path.append(os.path.join(ROOT_DIR, 'sunrgbd')) from sunrgbd_detection_dataset import SunrgbdDetectionVotesDataset from model_util_sunrgbd import SunrgbdDatasetConfig DATASET_CONFIG = SunrgbdDatasetConfig() TEST_DATASET = SunrgbdDetectionVotesDataset( split_set, num_points=NUM_POINT, augment=False, use_color=FLAGS.use_color, use_height=(not FLAGS.no_height), use_v1=(not FLAGS.use_sunrgbd_v2), labeled_sample_list=FLAGS.labeled_sample_list, test_transductive=FLAGS.transductive) elif FLAGS.dataset == 'scannet': sys.path.append(os.path.join(ROOT_DIR, 'scannet')) from scannet_detection_dataset import ScannetDetectionDataset from model_util_scannet import ScannetDatasetConfig DATASET_CONFIG = ScannetDatasetConfig() TEST_DATASET = ScannetDetectionDataset( split_set, num_points=NUM_POINT, augment=False, use_color=FLAGS.use_color, use_height=(not FLAGS.no_height),
# Init datasets and dataloaders def my_worker_init_fn(worker_id): np.random.seed(np.random.get_state()[1][0] + worker_id) # Create Dataset and Dataloader if FLAGS.dataset == 'sunrgbd': sys.path.append(os.path.join(ROOT_DIR, 'sunrgbd')) from sunrgbd_detection_dataset import SunrgbdDetectionVotesDataset, MAX_NUM_OBJ from model_util_sunrgbd import SunrgbdDatasetConfig DATASET_CONFIG = SunrgbdDatasetConfig() TRAIN_DATASET = SunrgbdDetectionVotesDataset( 'train', num_points=NUM_POINT, augment=True, use_color=FLAGS.use_color, use_height=(not FLAGS.no_height), use_v1=(not FLAGS.use_sunrgbd_v2)) TEST_DATASET = SunrgbdDetectionVotesDataset( 'val', num_points=NUM_POINT, augment=False, use_color=FLAGS.use_color, use_height=(not FLAGS.no_height), use_v1=(not FLAGS.use_sunrgbd_v2)) elif FLAGS.dataset == 'scannet': sys.path.append(os.path.join(ROOT_DIR, 'scannet')) from scannet_detection_dataset import ScannetDetectionDataset, MAX_NUM_OBJ from model_util_scannet import ScannetDatasetConfig DATASET_CONFIG = ScannetDatasetConfig()
import trimesh import numpy as np import torch import torch.nn as nn import torch.optim as optim from torch.optim import lr_scheduler from torch.utils.data import DataLoader NUM_POINT = 20000 DATASET_CONFIG = SunrgbdDatasetConfig() TRAIN_DATASET = SunrgbdDetectionVotesDataset('train', num_points=NUM_POINT, augment=False, use_color=False, use_height=True, use_v1=True) TRAIN_DATALOADER = DataLoader( TRAIN_DATASET, batch_size=1, shuffle=False, num_workers=6, ) # -- from pc_utils.py write_oriented_bbox def heading2rotmat(heading_angle): rotmat = np.zeros((3, 3)) rotmat[2, 2] = 1