This document provides detailed instructions for preparing the datasets used in our project. We use two main datasets: ShapeNet-Multiview and ScanNet v2.
ShapeNet-Multiview dataset is a collection of multi-view renderings of 3D models in the ShapeNet dataset.
Our ShapeNet-Multiview dataset is based on the work of ShapenetRender_more_variation. We configured different parameters specifically for compatibility with our framework. It provides high-quality multi-view renderings of 3D models with the following features:
- 24 views per model
- Resolution: 128 x 128
- Modalities: RGB and point cloud
- Camera parameters and metadata included
Option 1: Download from Baidu Cloud
Link: https://pan.baidu.com/s/1XIuxMYMhXeIhd9Bf8XZuoQ?pwd=ve54
Extraction Code: ve54Option 2: Download from HuggingFace
https://huggingface.co/datasets/Yanran21/Shapenet_multiviewThe dataset is split into multiple zip files, which need to be downloaded, merged, and extracted. The commands for merging and extracting are as follows:
zip -s 0 shapenet_dataset.zip --out shapenet_dataset_merged.zip
unzip shapenet_dataset_merged.zipAfter downloading and extracting, your dataset should follow this structure:
shapenet_dataset_merged/
├── image/
│ ├── 02691156/
│ │ ├── 10155655850468db78d106ce0a280f87/
│ │ │ ├── easy/
│ │ │ │ ├── 00.png
│ │ │ │ ├── 00.txt
│ │ │ │ ├── 01.png
│ │ │ │ ├── 01.txt
│ │ │ │ ├── ...
│ │ │ │ ├── rendering_metadata.txt
│ │ │ ├── pts/
│ │ │ │ ├── 02691156-10155655850468db78d106ce0a280f87.npy
│ │ └── ...
│ └── 02747177/
│ ├── ...
where rendering_metadata.txt contains the camera parameters and metadata for each view. pts contains the point cloud data. image contains the rendered images.
For using the dataset, you need to set the data.dataset_root in the configs/dataset/shapenet.yaml file.
ScanNet v2 is a large-scale indoor scene dataset with RGB-D scans and 3D reconstructions.
We utilize both point clouds and RGB images from ScanNet v2. For point cloud, we employ the processed ScanNet data provided by Pointcept. For RGB images, we use the original ScanNet v2 dataset directly.
After processing, your ScanNet point cloud dataset should look like:
scannet_pts_dataset_root/
├── train/
│ ├── scene0000_00/
│ │ ├── color.npy
│ │ ├── coord.npy
│ │ ├── normal.npy
│ │ ├── instance.npy
│ │ ├── segment20.npy
│ │ └── segment200.npy
│ └── ...
├── val/
│ ├── scene0000_00/
│ │ ├── color.npy
│ │ └── ...
│ └── ...
├── test/
│ ├── scene0000_00/
│ │ ├── color.npy
│ │ └── ...
│ └── ...
And your ScanNet rgb dataset should look like:
├── 2D
│ ├── color/
│ │ ├── scene0000_00/
│ │ │ ├── 000000.jpg
│ │ │ ├── 000001.jpg
│ │ │ ├── ...
│ │ └── ...
│ ├── depth/
│ │ ├── scene0000_00/
│ │ │ ├── 000000.png
│ │ │ ├── 000001.png
│ │ │ ├── ...
│ │ └── ...
│ ├── pose/
│ │ ├── scene0000_00/
│ │ │ ├── 000000.txt
│ │ │ ├── 000001.txt
│ │ │ ├── ...
│ │ └── ...
For using the dataset, you need to set the data.pts_dataset_root and data.rgb_dataset_root in the configs/dataset/scannet.yaml file.