Official implementation of the ACM MM'24 paper "Context-Aware Indoor Point Cloud Object Generation through User Instructions".
Pull the repo with submodules:
git clone --recurse-submodules <Our-Git-Repo>
Update submodules if not included:
git submodule update --init --recursive
Update only submodules if already exists:
git submodule update --recursive --remote
Check Dataset for more details.
Create environment:
conda create -n pcg python=3.9
conda activate pcg
conda install -c conda-forge cudatoolkit-dev=11.7
pip install -r requirements.txt
We use accelerate to speed up the training process. Please read following instructions to configure your accelerate
environment.
accelerate config
Compile modules for EMD-based metrics and PointNet:
pushd instruct-insertion/openpoints/cpp/chamfer_dist; python setup.py install; popd
pushd instruct-insertion/openpoints/cpp/emd; python setup.py install; popd
pushd instruct-insertion/openpoints/cpp/pointnet2_batch; python setup.py install; popd
Train on Nr3D:
pushd instruct-insertion/scripts; bash train.sh; popd
Train on the combination of Sr3D and Nr3D:
pushd instruct-insertion/scripts; bash train_sr3d.sh; popd
If you need to turn on evaluation mode, please add --mode test
to the end of the training script.
Install jupyterlab
and interative widgets:
pip install jupyterlab
pip install trame==2.5 jupyter-server-proxy
Check Visualization for details.
If the error about gxx_linux
occurs, especially when compiling emd_cuda
, please install the following:
conda install -c conda-forge gxx_linux-64=11.4
Install pre-commit-hooks before commits:
pip install pre-commit
pre-commit install