Git Product home page Git Product logo

threedac's Introduction

3DAC: Learning Attribute Compression for Point Clouds (CVPR 2022)

This is the official implementation of 3DAC, a learning-based data compression framework for point cloud attributes. For technical details, please refer to:

3DAC: Learning Attribute Compression for Point Clouds
Guangchi Fang, Qingyong Hu, Hanyun Wang, Yiling Xu, Yulan Guo.
[Paper]

(1) Setup

This code has been tested with Python 3.7, torch 1.7.0, CUDA 10.2.

  • Clone the repository
git clone [email protected]:fatPeter/ThreeDAC.git && cd ThreeDAC
  • Setup python environment
conda create -n ThreeDAC python=3.7
conda activate ThreeDAC
pip install -r helper_requirements.txt
sudo apt-get install libsparsehash-dev
pip install git+https://github.com/mit-han-lab/[email protected]

(2) ScanNet

  1. Download the ScanNet dataset from the official website and move it to ./dataset.
  2. Voxelize the point cloud geometry with a 9-depth octree and deduplicate redundant points. We merge this process to the dataloader to simplify our code.
  • Train/eval and compress/decompress scripts are in ./ScanNet:
cd ScanNet
  • Train on ScanNet (Qstep denotes the quantization step):
python train.py --Qstep=10
  • Quick eval:
python eval.py --Qstep=10
  • Compress scans of ScanNet:
python compress.py --Qstep=10
  • Decompress:
python decompress.py --Qstep=10

(3) SemanticKITTI

  1. SemanticKITTI dataset can be found here. Download the files and extract everything into the same folder. Uncompress the folder and move it to ./dataset.
  2. Voxelize the point cloud geometry with a 12-depth octree and deduplicate redundant points. We merge this process to the dataloader to simplify our code.
  • Train/eval and compress/decompress scripts are in ./SemanticKITTI:
cd SemanticKITTI
  • Train on SemanticKITTI (step: use part of data for quick testing):
python train.py --Qstep=10 --step=20
  • Compress scans of ScanNet:
python compress.py --Qstep=10 --step=200
  • Decompress:
python decompress.py --Qstep=10 --step=200

Citation

If you find our work useful in your research, please consider citing:

@article{fang20223dac,
  title={3DAC: Learning Attribute Compression for Point Clouds},
  author={Fang, Guangchi and Hu, Qingyong and Wang, Hanyun and Xu, Yiling and Guo, Yulan},
  journal={arXiv preprint arXiv:2203.09931},
  year={2022}
}

threedac's People

Contributors

fatpeter avatar kairunwen avatar pengpeng-yu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.