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
```
2. Generate train/test .pkl dicts
Change `--action in dataloader/args.txt` to `generate_dataset_dict`, then run the above script again.
3. 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
```