This is a Keras Implementation of 3D Encoder-Decoder Generative Adversarial Network (3D-ED-GAN) for 3D shape Inpainting. The 3D-ED-GAN is a 3D convolutional neural network trained with a generative adversarial paradigm to fill missing 3D data. The cuboid data is generated through Python code and a random masking is applied to each instance to create corrupted shapes.
In this experiment, since the shape is pretty simple, the network gives excellent performance after 10 mins of training on GPU.
Tensorflow-gpu==1.7.0
Keras==2.20
Matplotlib>=2.2
python EncoderDecoderGAN3D.py
For the first few epochs:
After 2000 epochs:
3D convolutional neural networks are pretty computational expensive, I also tried 64^3 cubes and 64x32x32 shapes. The 64^3 cubes obviously need more memory and time to train.
This code can be easily applied to other dataset like ShapeNet. The input format used in this code is illustrated in voxelFormat.pdf
[1] https://github.com/eriklindernoren/Keras-GAN
[2] Shape Inpainting using 3D Generative Adversarial Network and Recurrent Convolutional Networks Weiyue Wang, Qiangui Huang, Suya You, Chao Yang, Ulrich Neumann.
Maker Collider
Shiyu Mou