open3d.ml.torch.datasets.MatterportObjects#
- class open3d.ml.torch.datasets.MatterportObjects(dataset_path, name='MatterportObjects', cache_dir='./logs/cache', use_cache=False, val_split=5000, test_result_folder='./test', **kwargs)#
This class is used to create a dataset based on the Matterport-Chair dataset and other related datasets.
The Matterport-Chair dataset is introduced in Sparse PointPillars as a chair detection task for an embodied agent in various homes in Matterport3D (https://niessner.github.io/Matterport/). The training and test splits for Matterport-Chair are available on the Sparse PointPillars project webpage (https://vedder.io/sparse_point_pillars) and code to generate Matterport-Chair can be used to generate datasets of other objects in Matterport3D (https://github.com/kylevedder/MatterportDataSampling).
Point clouds and bounding boxes are stored as numpy arrays serialized with joblib. All coordinates are in the standard robot coordinate frame (https://en.wikipedia.org/wiki/Right-hand_rule#Coordinates), with X forward, Y to the left, and Z up. All bounding boxes are assumed to only have a rotation along the Z axis in the form of yaw (positive yaw is counterclockwise).
Like with KITTI, before you use Matterport-Chair you should run scripts/collect_bboxes.py to generate the bbox dictionary for data augmentation, but with ‘–dataset_type MatterportObjects’ specified.
If you use this in your research, we ask that you please cite Sparse PointPillars (https://github.com/kylevedder/SparsePointPillars#citation).
- __init__(dataset_path, name='MatterportObjects', cache_dir='./logs/cache', use_cache=False, val_split=5000, test_result_folder='./test', **kwargs)#
Initialize the function by passing the dataset and other details.
- Parameters:
dataset_path – The path to the dataset to use.
name – The name of the dataset (MatterportObjects in this case).
cache_dir – The directory where the cache is stored.
use_cache – Indicates if the dataset should be cached.
val_split – The split value to get a set of images for training,
validation –
testing. (for) –
test_result_folder – Path to store test output.
- Returns:
The corresponding class.
- Return type:
class
- static get_label_to_names()#
Returns a label to names dictonary object.
- Returns:
A dict where keys are label numbers and values are the corresponding names.
Names are extracted from Matterport3D’s metadata/category_mapping.tsv’s “ShapeNetCore55” column.
- get_split(split)#
Returns a dataset split.
- Parameters:
split – A string identifying the dataset split that is usually one of
'training' –
'test' –
'validation' –
'all'. (or) –
- Returns:
A dataset split object providing the requested subset of the data.
- get_split_list(split)#
Returns the list of data splits available.
- Parameters:
split – A string identifying the dataset split that is usually one of
'training' –
'test' –
'validation' –
'all'. (or) –
- Returns:
A dataset split object providing the requested subset of the data.
- Raises:
ValueError – Indicates that the split name passed is incorrect. The
split name should be one of 'training', 'test', 'validation', or –
'all'. –
- is_tested(attr)#
Checks if a datum in the dataset has been tested.
- Parameters:
dataset – The current dataset to which the datum belongs to.
attr – The attribute that needs to be checked.
- Returns:
If the dataum attribute is tested, then resturn the path where the attribute is stored; else, returns false.
- static read_label(path)#
Reads labels of bound boxes.
- Returns:
The data objects with bound boxes information.
- static read_lidar(path)#
Reads lidar data from the path provided.
- Returns:
A data object with lidar information.
- save_test_result(results, attrs)#
Saves the output of a model.
- Parameters:
results – The output of a model for the datum associated with the
passed. (attribute) –
attrs – The attributes that correspond to the outputs passed in
results. –