Skip to content

jianghd1996/IM-Net_reproduction

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IM-Net_reproduction

This repository is the project for course Deep Generation Model. In this project, I try to reproduce IM-Net in pytorch and optimize the sampling and training process.

There are two sampling methods in this repo, baseline is multi resolution training and soft_boundary is soft boundary training process.

Dependencies

Install python package dependencies through pip:

pip install -r requirements.txt

Dataset

We use dataset in PartNet and voxelize the shape in $64^3$ resolution. To download our training data, please visit this link (the voxelization is done by Rundi Wu) and unzip it under data folder.

Sampling

Before training the shape, you need to do the data sampling by

python data_processing.py

the sampling method in baseline will generate a new folder processed_data in the root path and another in soft_boundary will generate soft_data

Training

After sampling the shape, simply run

python main.py
CUDA_VISIBLE_DEVICES=0 python main.py # GPU user

Network structure

Testing and visualization

We define the test() and visualization(number) function in the main.py, to use them, uncomment the following code in main function and

agent.test()
agent.visualization(5) # input the number of shape to visualize

comment agent.train(), then run

python main.py

See latent interpolation result

We define the interpolation also in main.py, to use it, uncomment agent.interpolation(), to interpolate between specific shape, input the shape ID in dataset, like agent.interpolation(177, 1309)

Pretrained weight

We provide pretrained weight for test and interpolation. Download the weight and create a new folder weight in the same path as main.py, and put the weight into weight.

Weight for baseline link

Weight for soft boundary link

Visualize loss curves

We support tensorboard to visualize loss curves when training, run

tensorboard --logdir event --port 6008

and open the link localhost:16008 in explorer to see the training curves.

Example Result

(a) is groundtruth, (b) is result of baseline, (c) is result of soft boundary, the noise is much less in soft boundary

Interpolation result, (a) is result of baseline, (b) is result of soft boundary, with smooth operation, the noise is filtered in (a). The detail is better in (b) in the third and fifth chairs (from left to right)

Acknowledgment

Thanks for Rundi Wu's help for this project. To cite IM-Net, please refer to link.

About

This is the project for course Deep Generation Model. In this project, I try to reproduce IM-Net in pytorch and optimize the training process

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages