R3PM-Net / dataloader /README.md
YasiiKB's picture
initial commit
97aa5af verified

Dataloaders

This directory contains scripts to generate Simulated datasets for training and testing. It uses functionalities from tools folder to:

generate_dataset

  • load and downsample data
  • compute normals if needed
  • apply random transformations
  • add augmentations (noise, outliers and occlusion)
  • save point clouds

Note: Two input point clouds must have same length.

generate_dataset_dict

  • save generated dataset in dictionaries suitable to train models (following Learning3d requirments)
  • checks dimensions (to meet Learning3d requirments)

combine_dataset_dict

  • shuffle and combine all generated dictionaries into one
  • split train and test sets

How to generate datasets?

Modify the args.txt file to contain the correct paths and other specifications e.g. downsampling rate, noise level, etc. Other default arguments in data_dict_generator.py can also be changed.

  1. Generate transformed target point clouds + GT transforms Change --action in dataloader/args.txt to generate_dataset and run:
python dataloader/data_dict_generator.py @dataloader/args.txt
  1. Generate train/test .pkl dicts Change --action in dataloader/args.txt to generate_dataset_dict, then run the above script again.

  2. Combine multiple object dicts Set --action combine_dataset_dict and run again to get train and test dict.pkl files.

Manual Run (without args.txt)

Optinally you can manually run:

python dataloader/data_dict_generator.py \
  --pcdPath /path/to/source_scan.pcd \
  --cadPath /path/to/object.stl \
  --name teeth \
  --action generate_dataset \
  --every_k_points 100 \
  --num_transformation 50 \
  --angles 0 90 180 \
  --translation_range -1 1 \
  --index 0 \
  --noise_level 0 \
  --outlier_level 0 \
  --outlier_bounds -0.05 0.05 \
  --occ_level 0 \
  --save_path data/simulators

then:

python dataloader/data_dict_generator.py \
  --pcdPath /path/to/source_scan.pcd \
  --cadPath /path/to/object.stl \
  --name teeth \
  --action generate_dataset_dict \
  --dataset_size 50 \
  --index 0 \
  --save_path data/simulators