RockGAN

3D Porous media generation using WGAN-GP.

Welcome to the RockGAN project :metal: :metal: :metal:

The 3D porous media generation using a Wasserstein GAN with gradient penalty (here named as RockGAN) was born as part of a course project at KAUST. The main inspiration comes from the novel ideal of Lukas Mosser , which consisted of applying Generative Adversarial Networks (GANs) as a new tool to generate random samples corresponding to a rock sample of interest rather than applying the conventional multi-point statistics .

What will you find here?

The reader will find a short description of the project delivered in a friendly way and a nutshell. For more technical details, we suggest reading the conference paper submitted , which also contains the GitHub repository. For this project, we simply started trying to produce quality samples in 2D for the Berea and Beadpack dataset. The architecture was slightly different from what you will see in the upcoming sections. However, there is no so much attention if only 2D samples are reproduced. In this study, we satisfy the following questions:

Just remember that GANs are quite of trial and error :D. I hope you enjoy it!

Workflow

Here, we take a similar but different approach. Our work is based on some key points from the paper from Tego Karras at NVIDIA . The main ideas are:

The main workflow idea is expressed in the following figure:

Training RockGAN workflow proposed.

Results

Let us compare the results obtained with RockGAN and the training data of the Berea dataset.

Real samples

Random samples corresponding to the training dataset.

Generated samples

Samples generated by RockGAN.

Publication

More details about the project could be found on the following publication: RockGAN.