https://github.com/justanhduc/graphx-conv
Official implementation of GraphX-Convolution
https://github.com/justanhduc/graphx-conv
3d-reconstruction deep-learning graphx-convolution pytorch shapenet
Last synced: 12 months ago
JSON representation
Official implementation of GraphX-Convolution
- Host: GitHub
- URL: https://github.com/justanhduc/graphx-conv
- Owner: justanhduc
- License: mit
- Created: 2019-03-22T13:40:34.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2020-09-07T08:58:15.000Z (almost 6 years ago)
- Last Synced: 2025-07-02T11:57:52.882Z (about 1 year ago)
- Topics: 3d-reconstruction, deep-learning, graphx-convolution, pytorch, shapenet
- Language: Python
- Homepage: https://justanhduc.github.io/2019/09/29/GraphX-Convolution.html
- Size: 15.4 MB
- Stars: 62
- Watchers: 5
- Forks: 17
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# GraphX-Convolution
The official implementation of the ICCV 2019 paper
"GraphX-convolution for point cloud deformation in 2D-to-3D conversion".

__Update 1:__ We have achieved a better performance with `PointCloudResLowRankGraphXUpDecoder`,
which is an upgraded version of the best deformation network in the paper. The new network works
comparably with the best network in the paper but consumes much less memory.
__Update 2 (Sep 7, 2020):__ Refactor the code to work with the latest [Neuralnet-pytorch](https://github.com/justanhduc/neuralnet-pytorch).
## Prerequisite
[Pytorch](https://pytorch.org/get-started/locally/) (>=1.0.0)
[Neuralnet-pytorch](https://github.com/justanhduc/neuralnet-pytorch) (``pip install "neuralnet-pytorch[gin] @ git+git://github.com/justanhduc/neuralnet-pytorch.git@6bda19fdc57f176cb82f58d287602f4ccf4cfc23" --global-option="--cuda-ext"``)
[Gin-config](https://github.com/google/gin-config)
[Matplotlib](https://matplotlib.org/)
[TensorboardX](https://github.com/lanpa/tensorboardX)
The code has been tested on a Linux Ubuntu 16.04 machine.
## Data
The data we used in our experiment provided by [ShapeNet](https://www.shapenet.org/).
However, for convenience, we used the pre-processed data provided by Pixel2mesh.
The data can be downloaded from [here](https://github.com/nywang16/Pixel2Mesh).
The train/test split used in the paper is the default split provided by ShapeNet.
For more convenience, we provide the pre-processed train/test file lists in [data](./data).
To process the data into the format used by the code, execute
```
cd data
python split.py path/to/the/downloaded/data/folder
```
A pre-processed zip file can be found [here](https://drive.google.com/file/d/1EzGkZ4XBhVNGZPnMXPSbkOaNz2sechbZ/view)
## Training and testing
### Training
After the database is setup, we are ready to train the model.
In the [configs](./src/configs) folder, we have prepared the basic training configs for several models
used in the paper.
After the data is downloaded, specify the data root in these config files.
By default, the script creates a `results` folder containing checkpoint folders
corresponding to the model name.
The model name can be specified in the config files.
Then, simply execute
```
cd src
python train.py path/to/a/config/file (--gpu 0)
```
To resume a half-done training, simply specify the checkpoint folder in the config file.
Then run the training script as in the training step.
### Evaluation
Be sure to use the same config file and specify the checkpoint folder in the config file.
After the model is fully trained, to test the model, use
```
python test.py path/to/a/config/file (--gpu 0)
```
The script calculates the Chamfer distance (CD) scores similar to
[Pixel2mesh](https://github.com/nywang16/Pixel2Mesh).
## Results
### Visualizations
### Numerical results
|Methods|Chamfer|IoU|
|:-------:|:---:|:-------:|
|[3D-R2N2](http://3d-r2n2.stanford.edu/)|1.445|0.631|
|[PSG](https://arxiv.org/abs/1612.00603)|0.593|0.640|
|[Pixel2mesh](https://github.com/nywang16/Pixel2Mesh)|0.591|-|
|[GAL](https://link.springer.com/chapter/10.1007/978-3-030-01237-3_49)|-|0.712|
|Ours (UpResGraphX)|__0.252__|__0.725__|
## Citation
TBA