Skip to content

wenc13/PatchGeneration

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Patch-wise Generation

It is the PyTorch implementation of the paper:

                            Cheng Wen, Baosheng Yu, Rao Fu, Dacheng Tao

Abstract

A generative model for high-fidelity point clouds is of great importance in synthesizing 3d environments for applications such as autonomous driving and robotics. Despite the recent success of deep generative models for 2d images, it is non-trivial to generate 3d point clouds without a comprehensive understanding of both local and global geometric structures. In this paper, we devise a new 3d point cloud generation framework using a divide-and-conquer approach, where the whole generation process can be divided into a set of patch-wise generation tasks. Specifically, all patch generators are based on learnable priors, which aim to capture the information of geometry primitives. We introduce point- and patch-wise transformers to enable the interactions between points and patches. Therefore, the proposed divide-and-conquer approach contributes to a new understanding of point cloud generation from the geometry constitution of 3d shapes. Experimental results on a variety of object categories from the most popular point cloud dataset, ShapeNet, show the effectiveness of the proposed patch-wise point cloud generation, where it clearly outperforms recent state-of-the-art methods for high-fidelity point cloud generation.

Citation

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

@article{wen2023patch,
  title={Patch-Wise Point Cloud Generation: A Divide-and-Conquer Approach},
  author={Wen, Cheng and Yu, Baosheng and Fu, Rao and Tao, Dacheng},
  journal={arXiv preprint arXiv:2307.12049},
  year={2023}
}

Enviroments

To run this code, you need first install these python packages:

python 3.8  
pytorch 1.10  
torchvision, numpy, plyfile

Dataset

Usage

In this paper, we propose three different generator architectures.

# MLP generator
CUDA_VISIBLE_DEVICES=0 python train.py --generator MLP --class_choice chair

# Point transformer generator
CUDA_VISIBLE_DEVICES=0 python train.py --generator PointTrans --class_choice chair

# Dual transformer generator
CUDA_VISIBLE_DEVICES=0 python train.py --generator DualTrans --class_choice chair

License

The code is released under MIT License (see LICENSE file for details).

About

Patch-Wise Point Cloud Generation: A Divide-and-Conquer Approach

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published