Dataset utilities for sequences of posed RGBD frames. Some of the gradslam data utilities were used as a reference.
You can download the Replica dataset to using the download script from Nice-SLAM.
Save it to $DATA_PATH
.
To visualize an entire sequence as a point cloud, try
python3 pcd_scene.py dataset=Replica dataset.base_path=$DATA_PATH dataset.scene=room0 voxel_size=0.025 dataset.sequence_stride=20
Dataset configs are defined with Hydra.
All dataset classes are derived from BaseRGBDDataset
, which can be used to load RGB, depth and camera poses. The following arguments can be added to the above command and other scripts using this repo, like Concept-Nodes.
dataset.dataset_name=replica
: A string describing the dataset.dataset.base_path=$DATA_PATH
: Dataset path.dataset.scene=room0
: The scene name. The class will try to load the data frombase_path/scene
.dataset.width=1200
: Original width of the RGB and depth images.dataset.height=680
: Original width of the RGB and depth images.dataset.resized_width=-1
: Resized width of the RGB and depth images. Set to -1 to keep the original width.dataset.resized_height=-1
: Resized width of the RGB and depth images. Set to -1 to keep the original height.dataset.sequence_start=0
: Where to start loading frames. This can be used to skip the beginning of a trajectory.dataset.sequence_end=-1
: When to end loading frames. This can be used to skip the end of a trajectory. Set to -1 to load data until the last frame.dataset.sequence_stride=1
: Skip frames.dataset.relative_pose=true
: Load relative camera poses. The first pose becomes the origin.dataset.depth_scale=6553.5
: Depth scale.dataset.point_cloud=true
: Unproject the RGBD to an Open3D point cloud.dataset.depth_trunc=8.0
: Truncate the point cloud based on distance from camera. This only applies to the point cloud generated by the previous argument.
Look at conf/dataset/Replica.yaml
to see how Replica is configured.
Additionally, the intrinsics can be configured with the fx
, fy
, cx
and cy
parameters or loaded from files, as done in the Scannetpp class.
Look at the first level of conf
for the configurations of the other scripts.