Stochastic reconstruction of an oolitic limestone by generative adversarial networks

Stochastic image reconstruction is a key part of modern digital rock physics and materials analysis that aims to create numerous representative samples of material micro-structures for upscaling, numerical computation of effective properties and uncertainty quantification. We present a method of three-dimensional stochastic image reconstruction based on generative adversarial neural networks (GANs). GANs represent a framework of unsupervised learning methods that require no a priori inference of the probability distribution associated with the training data. Using a fully convolutional neural network allows fast sampling of large volumetric images.We apply a GAN based workflow of network training and image generation to an oolitic Ketton limestone micro-CT dataset. Minkowski functionals, effective permeability as well as velocity distributions of simulated flow within the acquired images are compared with the synthetic reconstructions generated by the deep neural network. While our results show that GANs allow a fast and accurate reconstruction of the evaluated image dataset, we address a number of open questions and challenges involved in the evaluation of generative network-based methods.


Introduction
The micro-structural characteristics of porous media play an important role in the understanding of numerous scientific and engineering applications such as the recovery of hydrocarbons from subsurface reservoirs [1], sequestration of CO 2 [2] or the design of new batteries [3].Modern micro-computer tomographic (micro-CT) methods have enabled the acquisition of high-resolution three-dimensional images at the scale of individual pores.Increased resolution comes at the cost of longer image acquisition time and limited sample size.Individual samples allow numerical and experimental assessment of the effective properties of the porous media, but give no insight into the variance of key micro-structural properties.Therefore, an efficient method to generate representative volumetric models of porous media that allow the assessment of the effective properties is required.The generated images serve as an input to a digital rock physics workflow to represent the computational domain for numerical estimation of key physical properties [4].
Typically, a statistical model allows for incorporation of measured data or a priori knowledge of structural elements.The simulated annealing algorithm allows high-quality three-dimensional reconstruction and incorporation of numerous statistical descriptors of the porous medium [5,6,7].Covariance-based methods such as truncated Gaussian simulation, allow the threedimensional reconstruction of micro structures given two-point correlation functions.Three other stochastic approaches have been used in the past to reconstruct three-dimensional porous media outlined below.
Object based methods describe the material domain by imposing a spatial point process on a set of geometric bodies.The so-called Boolean model, considers a union of randomly placed overlapping objects of random shape, typically spheres [8,9].Object based methods are a flexible framework [10] that may also allow interaction of particles to be incorporated and have successfully been used to describe complex and heterogeneous materials.
Process models reconstruct the pore and grain structure of materials by mimicking their natural generating processes.Bakke and Øren [11] have created reconstructions of sandstones by reproducing the natural processes of sedimentation, compaction and diagenesis.
Where images of the materials micro structure can be obtained, by direct imaging or modeling, training image based methods allow stochastic reconstruction of the material domain.
Training image based algorithms such as multiple-point statistics (MPS) [12], direct sampling [13] or image quilting have been successfully used in three-dimensional reconstruction of porous media [14,15,16].
This contribution presents a training image based method of image reconstruction using a class of deep generative methods called generative adversarial networks (GANs) first introduced by [17].Recently, Mosser et.al [18] have shown that GANs allow the reconstruction of threedimensional porous media based on segmented volumetric images.Their study applied GANs to three segmented images of natural porous media.They showed that GANs represent a computationally efficient method that allow fast generation of large volumetric images that capture the statistical and morphological features, as well as the effective permeability.
We expand on the work of Mosser et.al [18] and investigate the ability of generative adversarial networks to create stochastic reconstructions of an unsegmented micro-CT scan of a larger oolitic Ketton limestone sample.Using the unsegmented gray-scale image dataset allows us to evaluate the four Minkowski functionals for the three-dimensional datasets as a function of the gray-level threshold.In addition to the numerical evaluation of permeability as shown by Mosser et al. [18], we compare velocity distributions of the original porous medium and samples obtained from the GAN.

Generative Adversarial Networks
Generative adversarial networks have been developed in the framework of deep generative methods as a method to generate samples from arbitrary probability distributions [19,20].GANs do not impose any a priori model on the probability density and are therefore also referred to as an implicit method.Without the need to specify an explicit model, GANs provide efficient sampling methods for high dimensional and intractable density functions.
In the case of CT images of porous media we can define an image x to be a sample of a real, unknown probability density function (pdf) of images p data of which we have acquired a number of samples which serve as training images.The training set is comprised of 64 3 voxel sub-domains of the original micro-CT image.Sub-domains are extracted without any overlap and each training image represents an independent part of the originally acquired dataset.
GANs consist of two functions: a generator, whose role it is to generate samples of the unknown density p data (x) and a discriminator function that tries to distinguish between samples from the training set and synthetic images created by the generator.The generator G is defined by its parameters θ and performs a mapping from a noise prior z to the image domain: where d is the dimensionality of the noise prior.
The discriminator D ω (x) assigns a probability to an image x being a sample of the true data distribution p data : where values close to 1 represent a high probability of being a sample of x ∼ p data (x).
We represent both the generator G θ (z) and the discriminator D ω (x) by differentiable neural networks with parameters θ and ω respectively.This allows us to use backpropagation combined with mini-batch gradient descent to optimize the generator and discriminator according to the functional: min The optimization criterion of the generator and discriminator (Eq.4) is solved sequentially in a two-step procedure.We first train the discriminator to maximize its ability to distinguish real from fake samples.This is done in a supervised manner by training the discriminator on known real samples (Label 1) and samples created by the generator (Label 0).The misclassification error is back-propagated while keeping the parameters of the generator constant.
In a second step we train the generator to maximize its ability to "fool" the discriminator into misclassifying the images provided by the generator as real images.The parameters of the generator are then modified by applying stochastic gradient descent while keeping the parameters of the discriminator fixed.
Training of these networks is often challenging due to the competing objective functions of the generator and discriminator.Recently, new objective functions and training heuristics have greatly improved the training process of GANs [21,22].
Training GANs follows a different scheme from other stochastic reconstruction methods (Sec.1).There are two phases in GAN based reconstruction: training and generation.Training is expensive, requiring modern graphics processing units (GPU) and for three-dimensional datasets large GPU memory due to the three-dimensional nature of the filter maps and images.Parallelization of the training process across numerous GPUs reduces time for training the network.Nevertheless, finding a set of hyper-parameters that is a network architecture (number of filters, types, order of layers and activation functions) that leads to the desired quality can require significant trial and error.
The second phase of GAN based reconstruction, the generation of individual samples, is extremely fast.All operations in the generator network can be represented as matrix-vector operations which are executed efficiently on modern GPU systems and take on the order of seconds for modern CPUs.

Dataset
The sample used in this study is an oolitic limestone of Jurassic age (169-176 million years).The spherical to ellipsoidal grains consist of 99.1% calcite and 0.9% quartz [23].Inter and intragranular porosity can be observed, as well as significant amounts of unresolved sub-resolution micro-porosity.This is characterized by the various shades of gray in individual grains, where the interaction of sub-resolution porosity with x-rays penetrating the sample during imaging leads to an increase in intermediate gray-level values (Fig. 1).The sample was imaged using a Zeiss XRM 510 with a voxel size of 27.8 µm.The size of the image domain after resampling to 8bit resolution is 900 3 voxels.We subdivide the original image into a training set of nonoverlapping 5832 images at a size of 64 3 voxels.We define a sequential randomized pass over the full training set as an epoch.Evaluation of the effective properties is performed at larger image sizes than the training images to judge whether the GAN is able to generalize to larger domains.To evaluate the reconstruction quality of the GAN model we randomly extract 64 images at a size of 200 3 voxels with no overlap from the original training image (Fig. 1) which we refer to as the validation set.A synthetic validation set was created by sampling 64 images at a size of 200 3 voxels from the trained GAN model.To perform numerical computation of the effective permeability as well as measure the two-point correlation function, all images of the synthetic and original Ketton validation set were segmented using Otsu thresholding [24].Minkowski functionals were evaluated for the unsegmented validation sets.

Neural Network Architecture and Training
Following the work of Radford et.al [25] we use a fully convolutional version of the DCGAN architecture.We replace the fully connected input layer of the generator in DCGAN by a transposed convolution.The fully convolutional nature of the generator allows us to create images of arbitrary size by providing latent vectors with larger spatial dimensionality e.g.z ∼ N (0, 1) d×m×n×o .During training m, n and o are of size one, which results in an image of 64 3 voxels.For image generation m, n and o may be of any integer size.
In Figure 2 we show an example of a convolution and transposed convolution operation for the two-dimensional case.The convolution is performed by sliding a filter kernel w i (Eq.5) over the input feature map x i (Eq.6) [26].We rewrite this as an efficient matrix vector operation (Eq.7) by unrolling the discrete convolution: (5) The input image x, in this case a single-channel 4 × 4 image, and the output y are represented as one dimensional vectors: x This allows us to perform the discrete convolution: and we can define the transpose operation: where y and x are defined according to Eq. 6.For each convolutional layer of the network, the input features are convolved with a number of independent filter kernels W.  The generator consists of a series of three-dimensional transposed convolutions.In each layer, the number of weight kernels is reduced by a factor of 1 2 .Before the final transposed convolution we add an additional convolutional layer (Fig. 3).Each layer in the network except the last is followed by a batch normalization [27] and a Leaky Rectified Linear Unit (LeakyReLU) activation function.The final transposed convolution in the generator is followed by a hyperbolic tangent activation function (Tanh).A representation of each activation function used in the network is shown in Fig. 4.
We represent the discriminator as a convolutional classification network with binary output using as input the real samples of the 64 3 voxel training set (Label 1) and synthetic realizations of same size created by the generator (Label 0).Each layer in the network consists of a three-dimensional convolution operations followed by batch normalization and a LeakyReLU activation function.The final convolutional layer outputs a single value between 0 and 1 (Sigmoid activation) which corresponds to the probability that the input image belongs to the original training set or in other words that it is a real image.
We distinguish two sets of parameters for training: the set of weights of a network comprises the adjustable parameters of the filter kernels for convolutional and neurons for linear network layers.The so-called hyper-parameters define the network architecture and training scheme i.e. the number of filters per layer, the number of filters or learning rates.A different set of hyperparameters defines different networks with their own weights (parameters) which are adapted using a mini-batch gradient descent method at training time.In total 8 models have been trained on the Ketton image dataset.The main hyper-parameters that were varied for each model are the number of filters in the generator and discriminator, N GF and N DF respectively, as well as the number of convolutional layers before the final transposed convolution in the generator.The dimensionality of the latent vector z was kept constant at a size of 512×1×1×1.Learning was performed by stochastic gradient descent using the ADAM optimizer with a momentum of β 1 = 0.5, β 2 = 0.999 and a constant learning rate of 2 × 10 −4 .Network training was performed on eight NVIDIA K40 GPUs.
To train the pair of networks G θ (z) and D ω (x) we make use of two heuristic stabilization methods.First, Gaussian noise (µ = 0, σ = 0.1) is added to the input of the discriminator which is annealed linearly over the first 300 epochs of training [28].We perform three steps of training the discriminator per generator step.To stabilize GAN training further, we perform so-called label switching on every third discriminator training step.This heuristic stabilization method is performed by training the discriminator for one step with switched labels; a real image is expected to be labeled as false and generated images as real.Among the eight models tested, the network architecture of the model with the smallest error is presented in Table 1.The presented model has hyper-parameters of N DF = N GF = 64.Training was stopped after 170 epochs i.e. full iterations of the training set of images.The generator consists of 27.9 × 10 6 adjustable parameters and 11.0 × 10 6 parameters for the discriminator.Visual inspection of the generated images and empirical computation of morphological and statistical properties were used as a measure for reconstruction performance at each iteration.
After training, the generator was used to create 64 reconstructions at a size of 200 3 voxels by sampling from the noise prior z (Eq. 1) and performing the mapping from the latent space to the image space (Eq.2). Figure 5 shows slices through 32 non-overlapping sub-domains of the Ketton validation set and slices through 32 synthetic validation samples generated by the GAN model.The shown samples represent a random set of the generator output and were not selected by hand for their visual or statistical quality.The following sections present the a posteriori calculations of statistical, morphological and effective properties of these 64 synthetic validation images in comparison to the extracted validation set of the original Ketton image (Fig. 5).
Table 1: Architecture of the generator and discriminator networks.The generator is a fully convolutional version of a DCGAN [25] with one additional convolution layer prior to the final transposed convolution.LeakyReLU activation functions were used for all layers except the last.

Two-Point Probability Functions
The two-point probability functions S 2 (r) allow the first and second order moments of a microstructure to be characterized.We define the isotropic non-centered two-point probability function S 2 (r) as the probability that two arbitrary points separated by a distance r are located in the same phase i.e. grain or void phase of the micro-structure.While S 2 (r) may be defined for both phases of a porous medium, we compute the two-point probability function with respect to the pore phase only.
S 2 (0) is equal to the porosity of the porous medium.Stabilization of S 2 (r) occurs around a value of φ 2 as the distance tends towards infinity.In addition, the specific surface area S V can be determined from the slope of the two-point probability function at the origin S V = −4S 2 (0) [29].We calculate S 2 (r) numerically using the lattice point algorithm described by Jiao et.al [6].Figure 6 shows the directional two-point probability function for 64 200 3 voxel sub-domains of the original Ketton validation set (gray) and the GAN generated realizations (red).Our findings show that the 64 GAN-generated realizations lie within the standard deviation of the experimental S 2 (r) computed for the 64 original Ketton images.
Due to the ellipsoidal nature of the grains found in the Ketton limestone, a significant oscillation can be observed in all three orthogonal directions.This "hole-effect" is characteristic of periodic media [30] and is a feature that should be reproduced by reconstructions of the original training images.The hole-effect found in the training image dataset is reproduced by the samples generated by the GAN model, indicating the preservation of periodic features in the pore micro-structure of the synthetic images.
Good agreement between the real and synthetic micro-structures can be observed for the radial averaged two-point probability function (Fig. 7).For both the radial averaged and directional estimates of S 2 (r) a tight clustering around the mean can be observed, where the real porous medium shows a larger degree of variation around the mean.Figure 7: Radial average of the average two-point probability function S 2 (r)) for 64 dataset sub-domains and GAN generated images.Excellent agreement of the average behavior can be observed (dashed line) whereas a lower variation around the mean behavior can be observed for the GAN generated images.

Minkowski Functionals
To evaluate the ability of the trained GAN model to capture the morphological properties of the studied Ketton limestone, we compute four integral geometric properties that are closely related to the set of Minkowski functionals as a function of the image gray value.
For any n-dimensional body we can define n+1 Minkowski functionals to characterize morphological descriptor of the grain-pore bodies structures [31].The Minkowski functional of zeroth-order is equivalent to the porosity of a porous medium and defined as : where V pore corresponds to the pore volume and V to the bulk volume of the porous medium.We measure the specific surface area S V defined as an integral geometric relationship: where M 1 is the Minkowski functional of first order.In three dimensions, M 1 corresponds to the surface area of the pore-grain interface.Both S V and φ can be obtained by estimation of the two-point probability function S 2 (r) (Sec.3.2).The specific surface area S V has dimensions of 1 length and its inverse can be used to define a characteristic length scale of the porous medium.The Minkowski functional of order 2, the integral of mean curvature, M 2 , can be related to the shape of the pore space due to its measure of the curvature of pore-grain interface.We use a bulk volume average of the specific surface area defined as: where r 1 and r 2 are the principal radii of curvature of the pore-grain interface.
The Euler characteristic, ξ V , is a measure of connectivity that is proportional to the dimensionless third order Minkowski functional M 3 : We evaluate these four image morphologic properties at each of the 256 gray-level values of the 200 3 voxel Ketton image sub-domains and the GAN generated realizations.This allows us to describe the porous medium as a set of characteristic functions dependent on a global truncation value ρ for each of the four Minkowski functionals [32,33].To compute the four properties at each threshold level ρ the publicly available micro-structure analysis software library Quantim was used [34].
Figure 8 compares these four estimated properties as a function of the image threshold value for the Ketton image (gray) and the samples generated by the GAN model (red).The shaded regions correspond to the variation around the mean µ ± σ for both synthetic and real image datasets.The same 64 samples used in the evaluation of the two-point probability function have been used for this analysis.Additionally, the vertical dashed lines represent the range of the threshold values obtained by Otsu's method when applied to the individual images.This allows an estimate of the error region that is significant when introducing a thresholding method based on a global truncation value such as Otsu's method.
Our analysis of the GAN based models shows excellent agreement for the porosity φ(ρ), specific surface area S V (ρ) and integral of mean curvature κ V (ρ) as a function of the threshold value ρ.For these three properties a low error is introduced when applying global thresholding.The fourth property, the specific Euler characteristic, χ V (ρ), shows an error of 20% in the range of global thresholding values and in good agreement outside of this range of truncation values.This implies that care must be taken when segmenting an image -real or generated -to preserve the connectivity of the pore space.

Permeability and Velocity Distributions
To validate GAN based model generation for uncertainty evaluation and numerical computations it is key that the generated samples capture the relevant physical properties of the porous media that the model was trained on.For the Ketton sample, the permeability and, moreover, the local velocity distributions represent the key properties of the porous medium [23].
To evaluate the ability of GAN-based models to capture the permeability and in-situ velocity distributions of the Ketton training images, we solve the Stokes equation on a segmented representation of each of the 64 Ketton sub-domains and 64 synthetic pore representations created by the GAN model.The segmented representations used to estimate the two-point probability functions were reused for this evaluation.A finite-difference based method adapted for binary representations of voxel-based pore representations was used to compute the effective permeability from the derived velocity field [35].The effective permeability was computed in the three Cartesian directions.
We present the resulting distribution of estimated permeability values as a function of the effective porosity:  where V f low is the volume of the connected porosity.
Our results show (Figs. 9 and 10) that the GAN model generates stochastic reconstructions that capture the average permeability of the original training image at a scale of 200 3 voxels, with the majority of samples closely centered around the average effective permeability of the Ketton subsets.
The velocity distributions of the 2×64 numerical simulations were normalized by the average cell-centered velocity following the approach of Alhashmi et.al [36] and a histogram with 256 logarithmically-spaced bins in a range from 1×10 −4 to 1×10 2 for each simulation was obtained.
Figure 11 shows the per bin arithmetic average of the bin frequencies and a bounding region of one standard deviation µ±σ as the shaded area.Due to the high range of velocities spanning six orders of magnitude,the x-axis is represented in logarithmic scaling.
Visually, the distributions of the generated samples and Ketton sub-domains are nearly equivalent with minor deviations in the frequency of the very high and very low velocities.For the GAN model, low velocities are more abundant than in the original image whereas the opposite is true for high velocities.
To evaluate whether the velocity distributions obtained from numerical simulation of flow for the GAN generated images are statistically similar to distributions representative of the original image dataset we perform a two-sample Kolmogorov-Smirnov test.The null Hypothesis H 0 states that two samples are of the same underlying distribution.Define D n,m as: and the null hypothesis H 0 is rejected if where n and m are the sample sizes respectively and c(α) = − 1 2 ln( α 2 ).All experiments were performed at a significance level of α = 0.05 for the per-bin average velocity distributions presented in Fig. 11 (dashed curves).For all three directions the null hypothesis can be accepted at the 5% significance level based on the D 0.05 statistic, giving evidence to the visual similarity between the velocity distributions of the real Ketton images and their synthetic counterparts (Table 2).

Discussion
We have presented the results of training a generative adversarial network on a micro-CT image of the oolitic Ketton limestone.The image morphological properties were evaluated as a function of the image threshold level and it was shown that the generated images capture the textural features of the original training image.Two-point statistics and effective properties computed on segmented representations of the individual sub-domains have also shown excellent agreement between the realizations generated by the GAN model and subsets of the Ketton image.Nevertheless there remain a number of open questions that need to be addressed.
All effective properties, statistical and morphological properties have shown a tight bound around the average behavior of the training image.This indicates that there is less variation in the generated samples than in the training samples.This behavior can have a number of origins.
The training images can be regarded as samples of the unknown multivariate pdf p real (x), which is likely to be multi-modal.The original formulation of the GAN objective function [19] has been shown to lead to unimodal pdfs, even if the training set pdf itself is multimodal [37].The behavior of a generator to represent multi-modal pdfs by a pdf with fewer modes is called mode-collapse [37].This behavior may occur due to the fact that there is no incentive for diversity in GAN training.Visually the images generated by the presented GAN model are nearly indistinguishable from their real counterparts (Fig. 5).Minkowski functionals and statistical parameters allow us to perform an evaluation of the reconstruction quality.Nevertheless, this does not rule out the fact that the generator may be memorizing By visual inspection of the validation set generated by the GAN model, no evidence of identical or repeated features in the generated images could be found.Following the approach by Radford et.al [25] we perform an interpolation between two points in the latent space z (Eq.18b) as evidence for the generator's ability to learn meaningful representations and to show the absence of memorization.We interpolate between two vectors in the latent space as follows: where β is a range of numbers from zero to one.The smooth transition between the starting image G θ (z start ) and the endpoint G θ (z end ) shown in Fig. 12 indicates that the generator has not memorized the training set and learned a lower-dimensional representation z that results in meaningful features of the pore-grain microstructure.Definition of GAN training objectives compatible with high-diversity samples showing no mode-collapse and stable training remains an open problem.Che et.al [38] present a summary of recent advances to counteract mode-collapse, as well as propose a regularization method improve GAN output variety.Reformulations of the GAN training criterion (Eq.4) based on the Wasserstein distance show the ability to model multi-modal densities and allow stable training [39].
While the input and output to the GAN generator and discriminator is well defined, the interior mechanics of the neural network that result in high-quality reconstructions is not well understood.Rather than treating GANs as a black-box mechanism, it is of interest to evaluate the behavior of the generator and discriminator in more detail.In Fig. 13 we have extracted the generator's output after each layer's activation function (following the convolution operation and batch normalization).
Based on the consecutive upsampling of the noise prior z by each transposed convolution in the generator, we observe a multi-scale feature representation of the final image.Early layers, where the spatial dimensions of the images are small, can be related to global features in the generator output.The final layers create highly detailed representations of the structural features of the reconstructed images.This view of the generator's behavior also helps identify deficiencies in the networks architecture.In layers 3 and 4 we see repeated noise that appears to be following a grid like structure.This is due to the transposed convolutional operation and in parts is diminished by the additional convolution operation prior to the last upsampling operation.This could be alleviated by the use of other convolution based upsampling layers such as the sub-pixel convolution operation [40] or interpolation upsampling (nearest neighbor, bilinear, trilinear).The discriminator's role is simply to label images as real or "fake", but it also is a critical component in the ability of the generator to learn features in the original image space.The discriminator, in order to distinguish GAN-generated from real training images, needs to learn a unique set of features that distinguish real samples from fake ones.As such, for future work, it may be of interest to use a GAN trained discriminator as a more general classifier or feature representation [41].
Nevertheless, we can perform a similar operation as for the generator and inspect some of the features learned by the discriminator.Figure 14 shows a set of 5 learned filters applied to an image of the Ketton training set.At shallow layers we find that the discriminator has learned to identify the pore space (Layer 1, second row) as well as a number of edge detection filters.Deeper layers in the network represent more abstract representations and after layer 2 no original features of the pore space is distinguishable.
Considering that the samples used to evaluate the statistical and effective properties were not chosen by hand but represent a random sample of generated image based on the GAN model, further improvement can be obtained in the reconstruction results.The discriminator may be used as an evaluation criterion for samples where higher values obtained from the discriminator D(G θ (z)) indicate that the samples are closer to the real training image dataset.In this way, high-quality reconstructions may be "cherry-picked" by choosing higher scoring representations from a much larger set of reconstructions.
The black-box behavior of GANs as well as their theoretical and practical challenges makes training GAN based generative models difficult.The computational effort and the time necessary to find a set of hyper-parameters that leads to convergence of GAN training is less important if the intent is to create many synthetic realizations of a micro-structure and as such lends itself for applications where a large number of samples are required such as for uncertainty quantification [42,43].

Conclusion
We have presented a method to reconstruct micro-structures of porous media based on grayscale image representations of volumetric porous media.By creating a GAN based model of an oolitic Ketton limestone, we have shown that GANs can learn to represent the statistical and effective properties of segmented representations of the pore space as well as their Minkowski functionals as a function of the image gray-level.In addition to the effective permeability which is associated with a global average of the velocity field, we show that the pore-scale velocity statistical distributions have been recovered by the synthetic GAN based models.We highlight the roles of the discriminator and generator function of the GAN and show that the GAN learns a multi-scale representation of the pore-space based on inference from a latent noise prior.Large hyper-parameter search involved in the deep neural network architectures and learning instabilities make the training of GANs difficult.The high computational cost involved in training GANs is made good use of for applications when very large or many stochastic reconstructions are required.Future work will focus on creating GAN-based methodologies that ensure a valid representation of the underlying data distribution allowing application of GANs for uncertainty quantification of effective material properties.

Figure 1 :
Figure 1: Two-dimensional cross-section of the three-dimensional micro-CT image of the studied oolitic Ketton limestone sample.The image was acquired with a voxel size of 27.8 µm.Histogram equalization was applied to the image prior to its use as a training image.

Figure 2 :
Figure 2: Example of a discrete convolution (a) and equivalent transposed convolution operation (b) for a 3 × 3 filter kernel size applied to a 4 × 4 feature map.The active regions to compute the output value are shaded green.

Figure 3 :
Figure 3: Architecture of the neural network used to represent the generator function G θ (z).The latent vector z is passed through a fully convolutional feed-forward neural network.Transposed convolution operations upsample the image in each layer.A single convolutional layer is introduced prior to the final network layer to reduce artifacts due to upsampling using transposed convolution.

Figure 4 :
Figure 4: Activation functions used in the generator and discriminator networks.

Figure 5 :
Figure 5: Cross-sections of the 200 3 voxel sub-domains of the Ketton micro-CT image (top) and synthetic realizations obtained from the trained generator of the generative network (bottom).

Figure 6 :
Figure 6: Comparison of the two-point probability function S 2 (r) measured along the Cartesian axes for Ketton image sub-domains and GAN generated realizations.S 2 (r) was measured on images after thresholding using Otsu's method.Grey and red shaded areas respectively show the variation around the average behavior (µ ± σ) of 64 images of the Ketton image and GAN generated validation set.

Figure 8 :
Figure 8: Four Minkowski functionals as a function of the segmentation threshold.Shaded regions show variation of the properties around the mean µ ± σ. Vertical dashed lines show the region of segmentation thresholds obtained by applying Otsu's method.

Figure 9 :
Figure 9: Directional permeability computed on validation dataset (64 images at 200 3 voxels) extracted from the original Ketton limestone micro-CT dataset and realizations obtained from the GAN model.Values of permeability obtained from the synthetic images are tightly clustered around the mean of the original dataset.

Figure 10 :
Figure 10: Averaged permeability for the original image datasets and synthetic realizations obtained from the GAN model.

Figure 11 :Figure 12 :
Figure 11: Comparison of probability density functions of the magnitude of velocity extracted from the centers of voxels in the pore space divided by the average flow velocity plotted on semi-logarithmic (left) and double-logarithmic axes (right).The combination of 64 simulations of sub-domains obtained from the original dataset and 64 generated realizations of the GAN model are shown.Shaded regions highlight the variation around the mean of all simulations µ ± σ.The solid line shows the homogeneous limit velocity distribution for a single capillary tube.

Figure 13 :
Figure 13: Representations of the noise prior z as it is propagated through the generator G θ .Each layer adds to a multi-scale reconstruction of the final image G θ (z).The shallow layers 1, 2 and 3 introduce global features of the final image whereas deeper layers add high fidelity details to the output image.Significant noise is still present in layer 3 due to the use of transposed convolution operations, but reduced by the convolution in layer 5.