コード例 #1
0
        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])
コード例 #2
0
ファイル: eval.py プロジェクト: SirWyver/votenet
# 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
コード例 #3
0
ファイル: eval.py プロジェクト: zyoungDL/sess
# 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),
コード例 #4
0
ファイル: train_with_rn.py プロジェクト: lanlan96/3DRM
# 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()
コード例 #5
0
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