Pointcept / Pointcept

Pointcept: a codebase for point cloud perception research. Latest works: PTv3 (CVPR'24 Oral), PPT (CVPR'24), OA-CNNs (CVPR'24), MSC (CVPR'23)
MIT License
1.3k stars 141 forks source link

Which files should I modify if I use my own dataset (for path planning)? #265

Open Maxianzhai opened 1 month ago

Maxianzhai commented 1 month ago

Hi, I'm trying to use my own dataset but I'm having some problems.

The point information in my dataset is not quite the same as other datasets, it only has xyz coordinates , three (N,1) features (for path planning)and the label.

Q1:What files should I modify to adapt the framework?

Q2:Below is my understanding I don't know if there is any problem or else please point it out: I need to first write pointcept/datasets/preprocessing/preprocess_mydataset.py to process my dataset. Then writeconfigs/mydataset/semseg-pt-v3.py right?

Q3:But what ispointcept/datasets/scannet.py(for example) used for? Do I need to write the corresponding file based on my own dataset?

Q4:Can I combine three (N,1) features into (N,3) to use instead of color.npy

To add more detail: I need to use PTV3's Semantic Segmentation feature to help me divide the points into two categories. Each element of my three (N,1) features is a boolean array.

Gofinge commented 3 weeks ago

Q1:What files should I modify to adapt the framework?

  1. Modify pointcept.dataset to make your custom feature correctly loaded;
  2. Modify your config to enable your custom dataset, also modified data.*.transform.Collect.feat_key, to make additional features constitute your feature input.

Below is my understanding I don't know if there is any problem or else please point it out.

Yes, you can refer to our default dataset to arrange the data.

But what ispointcept/datasets/scannet.py(for example) used for? Do I need to write the corresponding file based on my own dataset?

Yes, but based on DefaultDataset, there is no need to modify too much.

Q4:Can I combine three (N,1) features into (N,3) to use instead of color.npy

This is controlled by data.*.transform.Collect.feat_key in config. Just make sure your new feature is named and put in the data_dict.