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 --recursiveUpdate only submodules if already exists:
git submodule update --recursive --remoteCheck 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.txtWe use accelerate to speed up the training process. Please read following instructions to configure your accelerate environment.
accelerate configCompile 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; popdTrain on Nr3D:
pushd instruct-insertion/scripts; bash train.sh; popdTrain on the combination of Sr3D and Nr3D:
pushd instruct-insertion/scripts; bash train_sr3d.sh; popdIf 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-proxyCheck 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.4Install pre-commit-hooks before commits:
pip install pre-commit
pre-commit install