Download as pdf or txt
Download as pdf or txt
You are on page 1of 20

Available online at www.sciencedirect.

com
ScienceDirect

Comput. Methods Appl. Mech. Engrg. 368 (2020) 113043


www.elsevier.com/locate/cma

An end-to-end three-dimensional reconstruction framework of porous


media from a single two-dimensional image based on deep learning
Junxi Fenga , Qizhi Tenga,b ,∗, Bing Lic,d , Xiaohai Hea,b , Honggang Chena , Yang Lia
a College of Electronics and Information Engineering, Sichuan University, Chengdu 610065, China
b Key Laboratory of Wireless Power Transmission of Ministry of Education, Chengdu 610065, China
c Technique center of CNPC Logging Ltd., Xi’an 710077, China
d Well Logging Key Laboratory, CNPC, Xi’an 710077, China

Received 29 November 2019; received in revised form 1 April 2020; accepted 1 April 2020
Available online xxxx

Graphical Abstract

Abstract
Stochastically reconstructing a three-dimensional (3D) structure of porous media from a given two-dimensional (2D) image
is an outstanding problem. For such problem, despite that the big progress has been made on reconstruction methods such
as optimization-based and multi-point statistics-based algorithms, however, the reconstruction of topologically complex or
non-stationary materials is still not well addressed. Besides, the reconstruction efficiency is another remarkable challenge, and
a 1283 reconstruction using these methods generally requires several hours. In this paper, to overcome these problems, we
propose a general end-to-end deep learning-based 3D reconstruction framework. Specially, the mapping (function) between
a 2D slice and its 3D structure is first learned by a neural network. Then, the 3D reconstruction of a new 2D image using
this mapping is instantaneous. For a 1283 reconstruction, our method only requires 0.2s, thus achieving a 3.6 × 104 speedup
factor compared with the classical methods. Besides, to yield diverse 3D structures for the same 2D input, a Gaussian noise is

∗ Corresponding author at: College of Electronics and Information Engineering, Sichuan University, Chengdu 610065, China.
E-mail addresses: fengjx2011@gmail.com (J. Feng), qzteng@scu.edu.cn (Q. Teng), zycelibingxiao@cnpc.com.cn (B. Li),
hxh@scu.edu.cn (X. He), honggang_chen@yeah.net (H. Chen), mongli1989@163.com (Y. Li).

https://doi.org/10.1016/j.cma.2020.113043
0045-7825/⃝ c 2020 Elsevier B.V. All rights reserved.
2 J. Feng, Q. Teng, B. Li et al. / Computer Methods in Applied Mechanics and Engineering 368 (2020) 113043

introduced into the network. Our approach is tested on two statistically isotropic materials and a non-stationary porous material,
and evaluated in terms of both visual and quantitative comparisons. Experimental results indicate that the proposed method is
accurate, fast, and stable. The proposed framework also enables that theoretically an arbitrary number of constraints can be
incorporated to further improve the reconstruction accuracy.
⃝c 2020 Elsevier B.V. All rights reserved.

Keywords: Porous media; 3D microstructure reconstruction; Deep learning; Conditional generative adversarial network (CGAN)

1. Introduction
Porous media, including sandstones, composite, and alloys, play a significant role in various engineering
applications [1–6]. Understanding of the linkage between their microstructure and physical and/or mechanical
properties requires an accurate knowledge of the inner structures (images). Over the past decades, the advance of
three-dimensional (3D) imaging techniques [6–11] such as micro computed tomography (CT) [6–8,10], and focused
ion beam and scanning electron microscope (FIB-SEM) [9,12], allows us for directly acquiring the images of these
materials. However, their popularity is mainly limited by the high imaging cost, compared with two-dimensional
(2D) imaging instruments such as optical microscope. In addition to this, however, in many cases only several 2D
images (e.g., a surface slice or section) are available. Thus, for subsequent analysis on 3D structure, stochastically
reconstructing a statistically equivalent 3D structure from these limited 2D images is of great importance [13,14].
Reconstruction accuracy, efficiency, and memory requirements are the three considerable factors of this in-
verse problem, which are also commonly used as the assessments for the reconstruction methods. Recently, a
variety of reconstruction and modeling methods have been proposed and developed, primary approaches include
optimization-based method [13–20,20–32], multi-point statistics (MPS) [33–39], cross-correlation-based simulation
(CCSIM) [40–45], direct sampling (DS) [46,47], phase recovery [48], superdimension-based method [49–51]. Even
though these approaches are developed from different perspectives, the core idea is almost identical, i.e., first
manually extracting morphological features (two-point or multi-point statistics) from the given 2D image or an
auxiliary 3D image and then reproducing them in the 3D reconstruction space.
As a representative of optimization-based method, simulated annealing (SA) reconstruction algorithm [10,13,14,
18,19] is very versatile and flexible and has been employed to reconstruct a wide spectrum of porous materials, for its
ability to incorporate an arbitrary number of object functions of any types into the reconstructions. However, due to
a great number of intermediate structures during reconstruction are generated for searching global optimum, original
SA is computationally intensive. Another related issue is that the reconstruction accuracy is essentially determined
by the constraint function, since the most frequently used two-point function is generally not sufficient for the
reconstruction of topologically complex porous media. Therefore, in recent years numerous researchers are diving
into the improved version of initial SA. To solve the conundrum of reconstruction speed in SA, various schemes
are proposed, including hierarchical SA (HSA) [24,25,52], different-phase-neighbor (DPN) pixel-based selection
strategy [15–17,23,25], and multi-thread SA [27,29]. To address the challenge of reconstruction accuracy, the
dilation-erosion method [19,53], higher-order correlation functions [18,25,26,28,54], as well as weighting correlation
function [21,22,55] are also presented. Meanwhile, directional correlation functions [22,32] are devised and applied
to solve the problem of anisotropy and improve accuracy.
MPS [34–39] is also a popular reconstruction method and readily extended to multi-phase and gray reconstruc-
tion. Unlike simulated annealing method that usually extracts two-point morphological information from the training
image (TI), MPS can extract local multi-point feature by scanning the TI using a certain template, which enables
us to obtain the conditional probability regarding one center pixel and its neighbors. Due to multi-point information
is used, the reconstruction of MPS is generally good at reproducing the morphology (such as the geometry and
connectivity) of porous media, especially for geometrically complex materials. Starting from different aspects and
applications, the MPS is flourishing and has a huge variety of variations, including single normal equation simulation
(SNESIM), DS method, CCSIM, and three-step sampling method (TSS), as well as the combination of CCSIM and
TSS, termed as CCSIM-TSS [56].
The original MPS, proposed by Guardiano and Srivastava [33], is very time-consuming, since it needs to rescan
TI for each new data event using a template. This shortcoming has led to the development of SNESIM [34],
wherein a quadtree is utilized to beforehand store the data event extracted from TI, thus allowing for scanning
J. Feng, Q. Teng, B. Li et al. / Computer Methods in Applied Mechanics and Engineering 368 (2020) 113043 3

the TI only once. However, this strategy brings high memory requirements especially when large template is used.
To overcome this shortcoming, list-based method and layer-by-layer reconstruction method, as well as DS method
emerged [35,40,41,46,47]. The biggest discrepancy between SNESIM and DS is that DS does not need to build the
data event set before the subsequent matching process. Instead, it selects an acceptable pattern from TI by directly
comparing the pattern in the reconstructed image and that in the TI. However, DS introduces several parameters
(e.g., the number of hard data and the acceptable threshold in matching process) which could be hard for tuning.
Compared with the direct 3D reconstruction of porous media inevitably suffering from large memory require-
ments, layer-by-layer reconstruction methods can dramatically circumvent this problem [35,40,41]. In particular,
the main idea of layer-by-layer reconstruction algorithms is that the 3D structure could be viewed as the stack of a
range of successive 2D slices. Representatives of layer-by-layer reconstruction approaches comprise CCSIM, TSS,
and CCSIM-TSS. Specially, CCSIM adopts patch-based simulation which is based on a distance quantified by a
devised cross-correlation function. An additional sampling method that leverages quadtree structure and entropy-
based criterion is also presented, which provides an adaptive selection method of hard data from the reconstructed
layer. Reconstruction along a raster path also makes it much efficient. It is also worth mentioning that CCSIM can
deal with anisotropic, multi-face and even continuous materials (gray images). The authors Tahmasebi et al. also
gradually ameliorated the original CCSIM, and the improved versions include multi-scale CCSIM (MS-CCSIM)
using multi-scale features [42], iterative CCSIM (iCCSIM) for avoiding patchiness and discontinuities using an
iterative strategy [43,44], as well as a hybrid algorithm combining point- and patch-simulation (HYYPS) [45].
Even though layer-by-layer reconstruction can reduce the memory load, however the reconstruction quality along
Z direction is relatively imperfect [57], in comparison with the X and Y directions. This is contributed to the fact
that the continuity and variability between two adjacent layers are difficult to control. To address this challenge,
Gao et al. developed a modified MPS method [35], namely TSS, in which in addition to introducing a multi-scale
sampling technique, an extra constraint associated with two-point correlation function is added along the Z direction.
This helps better reproduce morphology of porous media along the Z direction.
In the light of current advance in these reconstruction methods, the shortcomings of reconstruction accuracy
and memory requirements are overcome to a certain extent. Although big progress has been made on efficiency,
such as HSA [24,25,52] and multi-thread SA in SA group [27,29], multi-grid technique [34,35] and GPU-based
implementation [39], as well as deep learning-based acceleration [58]in MPS group, at present reconstruction of a
3D structure with a size of approximately 1283 could take from hours to minutes, depending on different methods,
the most of these approaches are still CPU intensive. Especially, the reconstruction time generally exponentially
increases with the increase of the image size. On the other side, the traditional hand crafted feature design methods
used in SA or MPS, such as extraction of two-point descriptors or multi-point conditional probability, are difficult,
tedious and requires a professional background. Conversely, automatic and adaptive feature design methods are
easier, more efficient, and easily expanded.
In recent years, with the booming development of machine learning (ML) and deep learning (DL), innovative
ideas and novel insights accordingly emerge. The biggest advantage of ML/DL techniques is that they can liberate
us from the complex hand-engineered feature design, since that the parameters (weights) in them are learnable
according to a certain criterion. Another advantage is that once the network is trained, its reconstruction (prediction)
for a new input is instant. It is noteworthy that there is a growing number of ML/DL techniques employed
in modeling, characterization, and analysis of porous media. Examples include machine learning-based 2D-to-
2D and 3D-to-3D modeling methods [59,60], 2D generative adversarial network (GAN) and conditional GAN
(CGAN) reconstruction approaches [58,61–63], 3D GAN and 3D CGAN [64–68], deep learning-based analysis
method [69–73]. However, the aforementioned reconstruction work concentrated mainly on 2D-to-2D and 3D-to-3D
reconstructions, rather an end-to-end 2D-to-3D reconstruction, which still is the primary challenge to be addressed.
Incorporating deep learning into conventional reconstruction method is also an important method for rendering
fast reconstruction. In particular, one of our previous work [58] transformed the 2D-to-3D reconstruction to the 2D-
to-2D reconstruction, by following the idea of layer-by-layer reconstruction. Instead of tediously accessing every
data event and searching a suitable pattern stored previously, the core contribution of this work is to substantially
accelerate the matching process in MPS using deep learning, by building a mapping between conditioning data
and void-solid image, and thus dramatically speeding up the whole reconstruction process. The reconstruction on
CPU for a 1283 3D microstructure only requires ∼5 min, while the traditional MPS method needs several hours.
In addition, recently a porous medium image inpainting method using CGAN is also developed [63], which also
provides a feasible approach to fast reconstruct the missing information based on the given conditioning data.
4 J. Feng, Q. Teng, B. Li et al. / Computer Methods in Applied Mechanics and Engineering 368 (2020) 113043

Fig. 1. Schematic of 3D reconstruction from a 2D slice using neural network. A 2D slice is as the input of the neural network, and the
outputs are possible 3D structures.

In this paper, we propose an end-to-end deep learning-based method for 3D reconstruction of porous media
from a single 2D image, as shown in Fig. 1, aiming at providing a general framework for directly mapping the 2D
input slice to its 3D structure, and making the 3D reconstruction accurate and fast. To demonstrate its ability to
deal with various porous media, we test it on two isotropic materials and a non-stationary material. Moreover, the
reconstruction result is compared with the target in terms of both visual and quantitative comparisons.
The reminder of this paper is presented as: Section 2 describes the porous medium reconstruction framework.
The reconstruction evaluation criteria is given in Section 3. The reconstruction results are presented and analyzed
in Section 4. In Section 5, we make concluding remarks.

2. The 2D-to-3D porous medium reconstruction framework


In this section, we detail the general 2D-to-3D framework for porous medium reconstruction, including the
primary principles and the loss function, as well as the network architectures.

2.1. Motivation

To address the challenge of 2D-to-3D reconstruction of porous media, we propose a BicycleGAN-based


framework for learning the mapping from the 2D input and the 3D output, for the following considerations:
(i) Essentially, 2D-to-3D reconstruction is a domain translation problem, i.e., the reconstruction can be seen as
a process which translates the input from a source domain A (2D space) to a target domain B (3D space).
(ii) Generally, the reconstruction method is expected to produce both realistic and diverse outputs, since that
this ill-posed problem enables that multiple reconstructed 3D structures are reasonable. (iii) BicycleGAN recently
proposed [74] has shown its impressive performance on 2D-to-2D style transfer, such as generating photorealistic
images from sketches, and transferring a night image of a scene to its day images.
It is worthy to note that the original BicycleGAN is only suitable for 2D-to-2D style transfer, in this paper our
goal is to construct a framework to map a 2D slice to its 3D structure, as demonstrated in Fig. 1. As a result,
we redesign the network to fit the 2D-to-3D reconstruction problem. Meanwhile, for simplicity, the 2D image is
assumed to be the slice at the bottom of the 3D structure. Once the model is trained, the reconstruction of a new
2D image is instant.

2.2. Basic principles of BicycleGAN

2.2.1. Training bicycleGAN


BicycleGAN [74], pioneered by Zhu et al. was proposed to address the multimodal image-to-image translation
problem. In general, the data used in neural network always has a dimension of C × H × W , where C, H , W are
the channel, height, and width of the data, respectively. In BicycleGAN framework, a random noise z (generally
is standard Gaussian noise N (z) and has the dimension of n z × 1 × 1) is introduced to enable output diversity. In
particular, in this paper the goal of training this neural network is to learn a mapping from both input A (a 2D
slice with the dimension of 1 × N × N ) and z to the target B (a 3D structure with the dimension of N × N × N ).
More importantly, due to the fact that once trained, the network is expected to produce diverse outputs when only
changing the noise z and remaining input A the same, another critical goal is to learn the relationship between the
random noise z and the target B. This is explained in the following.
J. Feng, Q. Teng, B. Li et al. / Computer Methods in Applied Mechanics and Engineering 368 (2020) 113043 5

Fig. 2. Schematic of training bicycleGAN. A is the input 2D slice, B is the target 3D structure, and B̂ is the predicted 3D structure. G, D,
E are the three neural networks. Q(z|B) and ẑ are the outputs of E in cV AE − G AN and cL R − G AN , respectively. N (z) is a random
Gaussian noise.

Especially, Fig. 2 gives the schematic of training procedure of BicycleGAN. As can be seen, BicycleGAN
consists of three neural networks, i.e., generator G, discriminator D and encoder E. They are all learnable, i.e., their
parameters can be iteratively updated according to the loss function, which is a metric for evaluating the difference
between network output and target. The goal of the G is to accept a 2D image and a noise z and generate the
corresponding 3D (fake) structure, and to fool the D. The D is to accept a 3D structure and give its probability (a
floating number) of being real data, 0 for fake data and 1 for real data, and to distinguish them from each other.
The E is used to encode a 3D (real or fake) structure to a distribution.
More specifically, the framework of BicycleGAN can be divided into two sub-frameworks, namely, conditional
variational autoencoder GAN (cVAE-GAN) and conditional latent regressor GAN (cLR-GAN). In fact, the goals
of cVAE-GAN and cLR-GAN can be regarded as the reconstruction of B (B → z → B̂) and the reconstruction of
z (z → B̂ → ẑ), respectively. As demonstrated in Fig. 2(a), the purpose of cVAE-GAN is to find a mapping that
directly translate the target B to the noise z using an encoding function E. In this process, the input B is firstly
encoded by E as a distribution Q(z|B) and then both Q(z|B) and the input A are sent to generator G to produce its
output B̂. In such process, the desired output B̂ is constrained using both L 1 loss and GAN loss, while the later one
is from the discriminator D. In the meantime, the noise prediction Q(z|B) is optimized to fit the standard Gaussian
distribution N (z) (i.e., Q(z|B) ≜ E(B)) by using KL divergence loss, which is commonly employed to measure the
discrepancy of two distributions (please see more details in Section 2.3).
On the other side, as given in Fig. 2(b), the purpose of cLR-GAN it to enforce the generator network G to make
use of the latent code embedding z. This procedure starts from a Gaussian distribution noise z and attempts to
recover it with ẑ = E(G(A, z)). In this process, both Gaussian distribution N (z) and input A are sent to generator
G and then the output B̂ is thus obtained. After this, the B̂ is encoded by E as a noise distribution ẑ. In the whole
procedure, the agreement between the input N (z) and the prediction ẑ is judged by the L 1 loss. In the same time,
the B̂ is constrained to close to the target B using the GAN loss discriminated by D.

2.2.2. Testing bicycleGAN


It is important to note that, once the whole network system is well trained, the two auxiliary networks D and E
are discarded, and only generator G is utilized for prediction when given an input A, and a Gaussian distribution
N (z) with a dimension of n z × 1 × 1, as demonstrated in Fig. 3. One can obtain various results by changing the
6 J. Feng, Q. Teng, B. Li et al. / Computer Methods in Applied Mechanics and Engineering 368 (2020) 113043

Fig. 3. Schematic of testing bicycleGAN.

random noise N (z). Mathematically, given the 2D image A and a Gaussian noise N (z), the 3D image B̂ can be
obtained as follows:
B̂ = G(A, N (z)) (1)

2.3. Loss function

Here we give the details on the loss functions used in the neural networks during the training process. Particularly,
the objective of neural network is to estimate a mapping (function) from the input to the target. Similar to other
optimization-based methods like SA [13,14], a loss function (aka, cost function) is generally utilized for measuring
the discrepancy between the reconstruction (prediction) and target, and our goal is to minimize the loss function
by using a certain optimization technique, for instance the gradient descent method, which is widely employed in
deep neural network. In this paper, since the BicycleGAN framework can be divided into two sub-frameworks, the
total loss function of BicycleGAN, termed as LBicycleGAN , is defined as follows:
L BicycleG AN = LcV AE−G AN + LcL R−G AN (2)
where LcV AE−G AN and LcL R−G AN are the loss functions of the networks cVAE-GAN and cLR-GAN, respectively.
These two loss functions are detailed in the following.
In cVAE-GAN, as presented in Fig. 2(a), the desired output B̂ is expected to visually close to the real B, this
object is realized by optimizing both encoder E and generator G. Besides, the reconstruction result is constrained
by the discriminator D that accepts a fake or a real data (B̂ or B) and give its probability of being real.
Meanwhile, as demonstrated in earlier literature [74,75], simultaneous use of both GAN loss and L1 loss can
enhance the reconstruction quality. Hence, here along with the GAN loss, the L1 loss is also used. Importantly, to
make the output Q(z|B) of encoder E fit the Gaussian distribution N (z), the KL loss is employed. Hence, the loss
LcV AE−G AN consists of three individual losses, as given as follows:

GAN (G, D, E) + λ L1 L1 (G, E) + λKL LKL (E)


LcV AE−G AN = LVAE VAE
(3)

GAN (G, D, E), L1 (G, E), and LKL (E) are the GAN loss, L1 loss and KL loss, respectively. λ L1 and λKL
where LVAE VAE

are the weights that balance the relative importance of each term.
More specifically, Let p(A), p(B), p(A, B), and E(B) denote the distribution of A, B, joint distribution of A and
B, and the noise distribution encoded by E. Thus, LVAE
GAN (G, D, E) can be defined as [74,76,77]:

LVAE
GAN = EA,B∼ p(A,B) [log(D(B))] + EA,B∼ p(A,B),z∼E(B) [log(1 − D(G(A, z)))] (4)
where E(x) represents the expectation of x, D(B) and D(G(A, z)) are the outputs of D, corresponding to that the
inputs are the target B and fake image G(A, z), respectively.
L1 loss, also known as the absolute value of difference between two variables, is given as:
LVAE
1 (G) = EA,B∼ p(A,B),z∼E(B) ∥B − G(A, z)∥1 (5)
KL loss, which is the Kullback–Leibler divergence (KL divergence) [78]of two random distributions and used
to measure the difference between them, is defined as :
LKL (E) = EB∼ p(B) [DKL (E(B) ∥ N (0, I ))] (6)
∫ p(z)
where N (0, I ) is the standard Gaussian distribution, DKL ( p ∥ q) = p(z) log q(z)
dz.
J. Feng, Q. Teng, B. Li et al. / Computer Methods in Applied Mechanics and Engineering 368 (2020) 113043 7

Fig. 4. Architecture of generator G.

On the other side, in cLR-GAN, as demonstrated in Fig. 2(b), the N (z) is as the one of the input, and the final
output E(G(A, z)) is expected to stay close to the actual test distribution N (z). In the same time, discriminator loss,
termed as LGAN (G, D) (Eq. (4)), of B̂ is used to encourage the network G to generate realistic results. Therefore,
the loss LcL R−G AN can be given as:
LcL R−G AN = LGAN (G, D) + λlatent Llatent
1 (G, E) (7)
where λlatent is the weight of Llatent
1 (G, E), and Llatent
1 (G, E) is defined as:
Llatent
1 (G, E) = EA∼ p(A),z∼ p(z) ∥z − E(G(A, z))∥1 (8)
It is important to note that, in the training stage of these two processes (i.e., cVAE-GAN and cLR-GAN), the
network G, E, and D are alternatively updated in terms of the corresponding loss functions.

2.4. Network architecture

Since the original BicycleGAN, proposed by zhu et al. [74], can only handle 2D-to-2D translation, here according
to our 2D-to-3D reconstruction task, we redesign all the network architectures used in BicycleGAN. Particularly,
the neural network can be seen as a processing system that accepts a specific input and gives a desired output, thus
making clear of the dimensions of the input and output is of important. In our work, there are three neural networks:
generator G, discriminator D, and encoder E. The corresponding input dimensions and output dimensions can be
concluded as: (i) As aforementioned, the input of G contains of a 2D image with the dimension of 1 × N × N
and a noise with the dimension of n z × 1 × 1. Generally the noise is firstly spatially expanded to the dimension
n z × N × N and then is stacked with the 2D image, hence the resulting input data of G will has a dimension of
(n z + 1) × N × N . Generator G accepts such input and then accordingly outputs the desired 3D structure with the
dimension of N × N × N . (ii) Discriminator’s input is a real 3D structure, or a fake 3D structure generated by G
and the output is the probability that being the real data, thus the input dimension is N × N × N and the output
is a floating number. (iii) The goal of encoder E is to encode the fake or real 3D structure as a noise distribution,
therefore the input dimension is N × N × N and the corresponding output dimension is n z × 1 × 1.
In this work, these three neural networks are all convolutional neural networks. Here for the demonstration
purpose, we use N = 128 as an example. The main architectures of G, D and E are presented in Figs. 4, 6
and 8, respectively. It is important to note that, the instance normalization (IN) layer and nonlinear layer are not
shown for briefness. In particular, as shown in Fig. 4, the architecture of G is composed of 8 convolutional layers
(expressed as ‘Conv’), and 7 deconvolutional layers (expressed as ‘ConvT’) followed by another convolutional
layer. From left to right, the function of G can be regarded as four stages: (i) Low-level feature extraction. (ii)
Down-sampling. (iii) Up-sampling. (iv) Multi-channel fusion. Specially, the first convolutional layer is employed to
extract low-level feature in the 2D image, and in the meanwhile to learn a relationship between the input 2D image
8 J. Feng, Q. Teng, B. Li et al. / Computer Methods in Applied Mechanics and Engineering 368 (2020) 113043

Fig. 5. Schematic of a skip connection.

Fig. 6. Architecture of discriminator D.

and the Gaussian noise N (z). Then, the remaining 7 convolutional layers are designed to down-sample feature
maps to extract the multi-scale information, and in our work the sampling factor is 2. Thus, for a 128 × 128
input image, after down-sampling for 7 times, the resulting dimension is 1 × 1. After that, the corresponding 7
deconvolutional layers are then utilized to up-sample the feature map back to 128 × 128 by using the same sample
factor 2. Finally, an extra 1 × 1 convolutional layer is used to fuse the multi-channel information and outputs the
desired 3D structure. Besides, several skip connections are added from down-sampling procedure to up-sampling
procedure. As suggested in earlier literatures [74,75,79], the skip connection can help the up-sampling process fuse
low- and high-level information and thus reconstruct the target better. The schematic of a skip connection is given
in Fig. 5. The skip connection from a C A × H × W feature map A to a C B × H × W feature map B indicates that
a copy of A is concatenated with B along the channel direction. Thus, the dimension of the resulting feature map
is (C A + C B ) × H × W .
Fig. 6 demonstrates the architecture of discriminator D. As can be seen, this architecture consists of four
convolutional layers and an average pooling layer. The average pooling layer (expressed as ‘AvgPool’) is to calculate
the local average of a feature map for feature fusion. As illustrated in Fig. 7, given a feature map with the dimension
of C × H × W as the input, and the kernel (a sliding window) size is set to 2 × 2 and stride (the step of the sliding
window) is 1. Thus, without padding additional elements, the output dimension will be C × (H − 1) × (W − 1),
where each element is the average of a corresponding 2 × 2 area in the input.
As shown in Fig. 8(b), the encoder E contains of a convolutional layers, three residual blocks, an average
pooling layer, and a full connected (FC) layer. The inside structure of a residual block is given in Fig. 8(a). As can
be seen, the residual block is composed of two branches, the input is simultaneously sent to these two branches
and output is the pixel-wise sum of the associated two outputs. In our residual block, the input with the dimension
of Cin × H × W is processed as a output with the dimension of Cout × H2 × W2 . In other words, a residual block is
used to first extract different features in the input and then fuse them, and the output size will be a half of the input
size. After the average pooling layer, the output is reshaped to a vector and then is connected with a FC layer to
match the dimension of the noise.
J. Feng, Q. Teng, B. Li et al. / Computer Methods in Applied Mechanics and Engineering 368 (2020) 113043 9

Fig. 7. Schematic of a average pooling operation. Input (left) is a 3 × 3 image, and the output (right) is the local 2 × 2 average of input
and has a dimension of 2 × 2. The red rectangle represent a 2 × 2 kernel (sliding window). (For interpretation of the references to color in
this figure legend, the reader is referred to the web version of this article.)

Fig. 8. Architecture of encoder E.

3. Reconstruction evaluation criteria


In order to evaluate the reconstruction performance of the proposed method, in addition to visual comparison, we
also use porosity, three morphological descriptors, i.e., two-point correlation function [1], lineal-path function [80],
and two-point cluster function [81], as well as local porosity distribution [82,83], to quantitatively compare the
target and reconstruction.

3.1. Three morphological descriptors

Fig. 9 illustrates the definitions of the two-point correlation function, lineal-path function, and two-point cluster
function. The two-point correlation function S2 (r) [1] is the probability that randomly selected two points separated
by a distance r = ∥r∥ are both in the same phase, which indicates the spatial correlation of two points and to some
extent reflects the connectivity of them. For a statistically isotropic and homogeneous material, S2 (r) only depends
on the distance r between the two points. Hence, r is generally omitted and it is expressed as S2 hereafter.
Different from S2 , the two-point cluster function C2 [81] gives the probability that two points randomly selected
are in the same cluster. From this definition, C2 encodes higher-order connectivity information than S2 . The relation
between the C2 and S2 is:
S2 = C2 + D2 (9)
10 J. Feng, Q. Teng, B. Li et al. / Computer Methods in Applied Mechanics and Engineering 368 (2020) 113043

Fig. 9. Definition of three morphological descriptors.

where D2 denotes the probability that two points randomly selected are in the same phase but in two different
clusters.
The third descriptor is the lineal-path function [80] L, which presents the probability that a segment randomly
selected is entirely contained in the same phase. Clearly, the lineal-path function L embodies the lineal connectivity
information of a porous material. In our work, for a statistically isotropic medium, these three descriptors are
calculated along three orthogonal directions (X , Y , and Z ) and then averaged. For a statistically anisotropic material,
the calculation of them is not averaged and presented in three directions.

3.2. Local porosity distribution

Local porosity distribution (LPD) [82,83] is another frequently employed assessment method for porous medium
geometric characterization through the local porosity calculated by a small measurement cell. Mathematically, local
porosity can be given as follows:
(→ ) V [P ∩ K (L)]
φ − r , L = [ (− )] , (10)
V K → r ,L
where P is the pore space in a porous material, K −
(→ )
r , L denotes a measurement cell with a side length L centered


at the lattice vector r , and V denotes the volume of the space. Consequently, the definition of LPD is given as
follows:
1 ∑ (
δ ϕ−φ −
(→ ))
µ (φ, L) = r ,L , (11)
N
where ϕ represents a specific porosity, N denotes the total
{ number ) measurement cells, δ(·) is Kronecker
(→of the
(−
→ 1, ϕ = φ (−
r , L)
delta function whose definition is: δ ϕ − φ r , L = . Therefore, µ (φ, L) is the probability
( ))
0, ϕ ̸= φ −
→r ,L
of finding a porosity in the range between ϕ and ϕ + dϕ in the measurement cell of length L.

4. Result and discussion


4.1. Dataset, parameter settings and training procedure

In this paper, we concentrate on two-phase 3D reconstruction. For each material, a corresponding dataset
composed of 600–1000 samples is constructed. Each sample in this dataset is a pair of a 2D slice and a 3D structure,
where the 2D image is the bottom slice of the 3D structure. Several examples in sandstone dataset are given in
Fig. 10.
In our work, the hyper-parameters λ L1 for L1 loss and λ K L for KL loss, as given in Eq. (3), are set to 10, 0.5,
respectively. λlatent for reconstruction loss of z, as given in Eq. (7) is set to 0.01. In addition, the batch size (the
J. Feng, Q. Teng, B. Li et al. / Computer Methods in Applied Mechanics and Engineering 368 (2020) 113043 11

Fig. 10. Four examples of samples in sandstone dataset. Each sample is a pair of a 2D slice and a corresponding 3D structure. The dataset
consists of various samples that have different porosities and morphologies.

number of samples sent to the network for one time) and the channel n z of noise are set to 2 and 8, respectively.
We use Adam optimizer [84] with a learning rate 0.0002 for G, D, and E for iteratively updating their parameters.
In the training procedure, the collected samples are randomly selected and sent to the neural network for the
network training. This process can be briefly listed as the following steps:
1. Randomly initialize the weights with uniform distribution in all the networks (i.e., G, E, and D).
2. Forward network cV AE − G AN (see Fig. 2a). The target B is sent to E, and the output Q(z|B) and A are
sent to G to obtain a prediction B̂ in cV AE − G AN . Both B̂ and target B are sent to D and meanwhile measured
by L1 loss.
3. Forward network cL R − G AN (see Fig. 2b). An input A and a random Gaussian noise N (z) are sent to G,
and thus B̂ in cL R − G AN is obtained. Then, B̂ is forwarded to E and the predicted ẑ is obtained, in the same
time both B̂ and target B are sent to the D to calculate the discriminator loss.
4. Update the weights in networks G, E, and D according to the loss functions defined in Eqs. (3) and (7).
5. Repeat steps (1)–(4) until the terminal condition is met, such as the maximal iteration number is reached, and
the loss is less than a small predetermined number.

4.2. Results and comparisons

In this part, we demonstrate the experiments on three types of porous materials, i.e., sandstone, silica, and a
non-stationary medium. To validate our method, both visual and quantitative comparison are presented. Besides, in
order to verify the stability and accuracy of the proposed method, for each 2D image we generate 20 reconstructions.
Meanwhile, their average parameters associated with morphological descriptors and LPD are also given.

4.2.1. Sandstone reconstruction


Here, we first reconstruct an isotropic and topologically complex sandstone material with a resolution 5 µm and
a porosity φtarget = 0.158, the 2D slice and the associated 3D images are shown in Fig. 11(a) and (d), respectively.
Fig. 11(b) and (c) are the two realizations reconstructed using the trained model. From the perspective of visual
inspection, the 3D connectivity and isotropy of the sandstone are well reproduced, thus demonstrating our method’s
ability to reconstruct the topologically complex porous media. In addition, Fig. 12 also illustrates the first four layers
of the 3D reconstructed structure, the continuity between two neighboring layers is well preserved and meanwhile
the variability can also be observed. Also, these slices reproduce the similar isotropy and morphology contained in
the input image.
Besides, we quantitatively compare the three correlation functions and local porosity distribution, as seen in
Fig. 13. These four statistics of the reconstructions using our method are in good accordance with those of the
12 J. Feng, Q. Teng, B. Li et al. / Computer Methods in Applied Mechanics and Engineering 368 (2020) 113043

Fig. 11. Visual comparison between our reconstructions and target. (a) The input image. (b) and (c) are the two reconstructions by our
method, and (d) is the target 3D structure.

Fig. 12. The first four layers of the 3D reconstruction structure of the sandstone.

Fig. 13. Comparison of S2 , L, C2 , and LPD among the 20 realizations, their average, and target.
J. Feng, Q. Teng, B. Li et al. / Computer Methods in Applied Mechanics and Engineering 368 (2020) 113043 13

Table 1
Comparison of microstructure parameters.
Parameters CT Reconstruction
Average size of pore radius (µm) 9.62 8.90 ± 0.04
Average size of throat radius (µm) 4.29 4.05 ± 0.20
Average volume of pore (µm3 ) 5.01 × 104 4.20 ± 0.52 × 104
Average volume of throat (µm3 ) 5.61 × 103 5.21 ± 0.37 × 103
Average ratio of radius size of pore and throat 0.27 0.26 ± 0.003
Average shape factor 0.030 0.029 ± 0.0003
Average coordination number 4.01 3.70 ± 0.20
Effective permeability (mD) 1.19 × 103 1.04 ± 0.32 × 103

Fig. 14. Visual comparison between our reconstructions and target. (a) The input image. (b) and (c) are the two reconstructions by our
method, and (d) is the target 3D structure.

Fig. 15. The first four layers of the 3D reconstruction structure of the silica material.

target. Meanwhile, the reconstruction porosity over 20 realizations is φ BicycleG AN = 0.160 ± 0.018 (Mean ±
Standar d Deviation) whereas the target one is φtarget = 0.158. The mean porosity (0.160) and the small standard
deviation (0.018) also indicate the accuracy and stability of the proposed method.
Further, The structure and connectivity parameters associated with the 3D images are also evaluated. Table 1 gives
the comparison of these parameters (e.g., pore size, shape factor, coordination number and effective permeability)
of the 20 reconstructions and target. From this table, we can see that the parameters of the reconstructions agree
well with those of the target, indicating the effectiveness our method.

4.2.2. Silica particle reconstruction


Fig. 14(a) and (d) show a 128 × 128 2D slice of the silica particle and its 3D structure, respectively. The
porosity is φtarget = 0.092. Fig. 14(b) and (c) give the two reconstructions by our method. At the visual level, the
two reconstructions resemble the target. Disconnected silica particles in them can be easily seen, thus indicating
the good reproduction of the morphology of silica material using our method.
Fig. 15 shows the first four layers of the 3D reconstruction structure. As can be observed, these slices preserve
both continuity and variability, and we can observe that the white clusters shrink or enlarge between two adjacent
layers. Meanwhile, each slice also demonstrates similar morphology. Additionally, the quantitative comparison is
also given. As presented in Fig. 16, according to comparisons of the S2 , L, C2 and local porosity distribution,
14 J. Feng, Q. Teng, B. Li et al. / Computer Methods in Applied Mechanics and Engineering 368 (2020) 113043

Fig. 16. Comparison of S2 , L, C2 , and LPD among the 20 realizations, their average, and target.

good agreement between the reconstructions and target can be observed. Besides, for each assessment criteria, the
average over 20 realizations matches well with that of the target. This also validates the reconstruction accuracy of
our method.
Meanwhile, the statistic of reconstruction porosity over 20 realizations is φ BicycleG AN = 0.090 ± 0.008, whereas
the target porosity is φtarget = 0.092, this also implies the robustness and accuracy of our method.

4.2.3. Non-stationary medium reconstruction


To further verify the performance of the proposed method, we apply it to reconstructing a non-stationary medium.
As can be seen in Fig. 17(a), the main characteristic of this medium is that there is a large crack along the Y
direction. For the purpose of demonstration, we rotate the 3D structure, and the front is the slice in the X Y direction,
as shown in Fig. 17(b)–(d). According to the visual observation, the two reconstructions by our method are very
similar to the target. The cracks in 3D structures are well preserved, and the anisotropy is well reproduced. Besides,
Fig. 18 also shows the first four layers of the 3D reconstructed image, the main morphology of the crack is well
preserved in all slices, and it also varies along the Z direction, indicating that our method can effectively capture
and recover this non-stationary feature.
Since this material is a non-stationary medium, in the following we quantitatively compare S2 , L, and C2 in
three directions (X , Y , and Z ). Fig. 19(a), (b), and (c) present the corresponding comparisons of S2 among the
20 realizations, their average, and the target in three directions, respectively. As can be observed in these figures,
from the direction X , Y , to Z , the two-point correlation gradually increases. In addition, Figs. 20 and 21 give the
corresponding comparisons of L and C2 , respectively. According to the comparisons, these three morphological
descriptors of the reconstructions, and their average agree well with those of the target. Besides, the local porosity
distribution is also compared, as illustrated in Fig. 22. Again, the reconstructions and their average accord well
J. Feng, Q. Teng, B. Li et al. / Computer Methods in Applied Mechanics and Engineering 368 (2020) 113043 15

Fig. 17. Visual comparison between our reconstructions and target. (a) The input image. (b) and (c) are the two reconstructions by our
method, and (d) is the target 3D structure. For demonstration purpose, we rotate the 3D structure, and the front is the slice in the X Y
direction.

Fig. 18. The first four layers of the 3D reconstruction structure of the crack material.

Fig. 19. Comparison of S2 in the X , Y , Z directions among 20 realizations, their average, and target.

with the target. Especially, the statistic on reconstruction porosity is φ BicycleG AN = 0.23 ± 0.01 while the target
one is φtarget = 0.22. These agreement reveals the ability of the proposed method to accurately reconstruct the
non-stationary 3D structure from a given 2D slice.
According to the above reconstruction experiments on these three types of media, we can see that several
reconstructions show big divergences. For the three correlation functions, the beginning of the curve is the porosity.
Hence, a big divergence of porosity will lead to a big divergence of these correlation functions, as shown in
Fig. 13(a). It is well known that a single 2D image could correspond to various 3D structures, and they may
have different porosities and morphologies. Specially, as shown in Fig. 10, our dataset is composed of a variety of
samples containing different morphological features. Regarding the reconstruction results, the network has learned
such characteristic, i.e., the reconstructions show good diversity. According to our observation, most of the curves
are centered on the average and the target, while few curves reflect big divergences. This can be explained that
the reconstructions having relatively big divergences are also possible solutions for this inverse problem with a low
probability. Besides, there are also some reconstructions which have close porosity and statistical functions.
16 J. Feng, Q. Teng, B. Li et al. / Computer Methods in Applied Mechanics and Engineering 368 (2020) 113043

Fig. 20. Comparison of L in the X , Y , Z directions among 20 realizations, their average, and target.

Fig. 21. Comparison of C2 in the X , Y , Z directions among the 20 realizations, their average, and target.

Fig. 22. Comparison of LPD among the 20 realizations, their average, and target.

4.2.4. Reconstruction time


Here, we focus on the run time of our method for reconstructing a 3D structure from a 2D image, along with
the comparison of conventional methods. It is well known that, the 3D reconstruction of the conventional methods
such as SA and MPS always requires several hours on a general CPU.
Table 2 presents the comparison of the reconstruction time of different methods. For SA or MPS method, it
is worth noting that, here we roughly gives the general run time on a CPU and primarily focus on the order of
magnitudes of the time. As given in Table 2, for a 1283 reconstruction, SA and MPS methods require around 2h,
whereas our method only needs 0.2 s, achieving a 3.6 × 104 speedup factor.
For a 2563 reconstruction, our method needs 1.0 s while the SA and MPS need 10 h. The big acceleration is due
to that our method is based on neural network that once the network is trained, its inference (reconstruction for a
J. Feng, Q. Teng, B. Li et al. / Computer Methods in Applied Mechanics and Engineering 368 (2020) 113043 17

Table 2
Comparison of reconstruction time of SA/MPS approaches and our method on a
CPU i7-4790K (4.00 GHz). “h” indicates hour and “s” indicates second.
Methods Reconstruction time
SA/MPS (1283 ) 2h
our method (1283 ) 0.2 s
SA/MPS (2563 ) 10 h
our method (2563 ) 1.0 s

new image) is fast since it only involves matrix manipulation. On the contrast, SA and MPS are all iteration-based
methods. Specially, the SA needs to search a number of intermediate structures for analysis to find the optimal
structure (global optimum) by continuously exchanging two points, while the MPS method needs to search the best
matched patch in the training image to progressively complete the tedious matching process. In other words, their
reconstruction mechanisms determine the lower efficiency.

5. Conclusion
Reconstructing a statistically equivalent 3D structure from a 2D slice of porous media is an outstanding inverse
problem, especially for the topologically complex and non-stationary media. In this paper, to overcome this
challenge, a general deep learning-based 2D-to-3D reconstruction framework was proposed. It enables to render
an accurate, highly efficient, and stable 3D reconstruction. Also, our method is capable of producing diverse 3D
structures for the same 2D input image by introducing a Gaussian noise, since this ill-posed problem allows that
multiple solutions are acceptable. The proposed method was tested on two isotropic materials and a non-stationary
one, and both visual inspection and quantitative comparison are presented to indicate the effectiveness of our method.
Once the model is trained (generally on a GPU for hours), the 3D reconstruction of a new 2D image can be
instantaneously completed on a general CPU. Specially, a large-scale 2563 reconstruction only requires 1.0 s using
our method, this achieves a 3.6 × 104 speedup factor, in comparison with the classical methods that in general need
10 h.
Even although quantitatively the reconstruction structures are in good accordance with the target, however they
are imperfect at visual level. Several very small pores in the reconstruction images can be observed in Figs. 12,
15, and 18, whereas in the given 2D images this phenomenon can be hardly seen. We conclude the reason for this
may be that the networks are not well trained as expected, since alternatively training the G, D, and E is a hard
work. On the other side, the loss function used in this paper may not be sufficient for this reconstruction problem.
Further, for the reconstruction of the non-stationary material, the quality is not as good as the two isotropic media.
Because the pore distribution along Z direction in this non-stationary material is quite different from the X and Y
directions, thus given only one slice, the prediction of its 3D image is much difficult. We believe that if more 3D
data is used, the reconstruction accuracy can be further improved.
Despite that neural networks can make the feature extraction more adaptive and liberate us from the complicated
hand-engineered feature design, the research for the combination of both classical feature and neural network-based
feature is a growing trend and an important direction. Notably, in this paper the proposed framework allows that
more user-defined constraints and loss functions can be incorporated to further improve the stability and accuracy.
For example, pattern-based and porosity-based loss function [63] could be directly added to Eq. (2) to accelerate
the training convergence and improve the accuracy. However, the classical correlation functions (S2 , L, C2 ) are
not easy to be incorporated because they are the functions of the distance r , the calculation process needs to be
well-designed to make it differentiable.
It is also worthy to note that, in practice the image size could be much higher than 1283 or 2563 discussed
above. For instance, general obtained CT images could be 10003 . For this image size, training the network on a
normal computer may suffer from the requirement of big memory of GPU. Alternatives for this could be training
the network on the cloud, such as Colab [85] by Google. Based on this platform, more data can be used for training
the network to further enhance the accuracy where possible, and the network training can be accomplished in few
minutes. Meanwhile, one could design the lightweight networks [86–88] or use other model compression techniques
such as pruning [89] and quantization [90] to make the model smaller and accelerate the training process. Some of
which will be discussed in our future work.
18 J. Feng, Q. Teng, B. Li et al. / Computer Methods in Applied Mechanics and Engineering 368 (2020) 113043

Declaration of competing interest


The authors declare that they have no known competing financial interests or personal relationships that could
have appeared to influence the work reported in this paper.

Acknowledgments
This work was supported in part by the National Natural Science Foundation of China (Grants No. 61871279
and No. 61372174), in part by the Industrial Cluster Collaborative Innovation Project of Chengdu, China (Grant No.
2016-XT00-00015-GX), in part by the Sichuan Science and Technology Program, China (Grant No. 2018HH0143),
and in part by the Sichuan Education Department Program, China (Grant No. 18ZB0355).

References
[1] S. Torquato, Random Heterogeneous Materials: Microstructure and Macroscopic Properties, Vol. 16, Springer Science & Business
Media, 2013.
[2] M. Sahimi, Flow and Transport in Porous Media and Fractured Rock: From Classical Methods to Modern Approaches, John Wiley &
Sons, 2011.
[3] P. Adler, J.-F. Thovert, Real porous media: Local geometry and macroscopic properties, Appl. Mech. Rev. 51 (9) (1998) 537–585.
[4] S.J.J. Ilango, S. Sarkar, An efficient stochastic framework to propagate the effect of the random solid-pore geometry of porous media
on the pore-scale flow, Comput. Methods Appl. Mech. Engrg. 315 (2017) 73–99.
[5] L. Zhu, C. Zhang, C. Zhang, X. Zhou, Z. Zhang, X. Nie, W. Liu, B. Zhu, Challenges and prospects of digital core-reconstruction
research, Geofluids 2019 (2019).
[6] R. Bostanabad, Y. Zhang, X. Li, T. Kearney, L.C. Brinson, D.W. Apley, W.K. Liu, W. Chen, Computational microstructure
characterization and reconstruction: Review of the state-of-the-art techniques, Prog. Mater. Sci. 95 (2018) 1–41.
[7] H. Li, S. Singh, N. Chawla, Y. Jiao, Direct extraction of spatial correlation functions from limited x-ray tomography data for
microstructural quantification, Mater. Charact. 140 (2018) 265–274.
[8] Y. Wang, J.-Y. Arns, S.S. Rahman, C.H. Arns, Three-dimensional porous structure reconstruction based on structural local similarity
via sparse representation on micro-computed-tomography images, Phys. Rev. E 98 (4) (2018) 043310.
[9] P. Tahmasebi, F. Javadpour, M. Sahimi, Three-dimensional stochastic characterization of shale SEM images, Transp. Porous Media 110
(3) (2015) 521–531.
[10] W. Zhang, L. Song, J. Li, Efficient 3D reconstruction of random heterogeneous media via random process theory and stochastic
reconstruction procedure, Comput. Methods Appl. Mech. Engrg. 354 (2019) 1–15.
[11] S. Lamine, M.G. Edwards, Multidimensional upwind schemes and higher resolution methods for three-component two-phase systems
including gravity driven flow in porous media on unstructured grids, Comput. Methods Appl. Mech. Engrg. 292 (2015) 171–194.
[12] F. Archie, M.Z. Mughal, M. Sebastiani, E. Bemporad, S. Zaefferer, Anisotropic distribution of the micro residual stresses in lath
martensite revealed by FIB ring-core milling technique, Acta Mater. 150 (2018) 327–338.
[13] C. Yeong, S. Torquato, Reconstructing random media, Phys. Rev. E 57 (1) (1998) 495.
[14] C. Yeong, S. Torquato, Reconstructing random media. II. Three-dimensional media from two-dimensional cuts, Phys. Rev. E 58 (1)
(1998) 224.
[15] M.G. Rozman, M. Utz, Efficient reconstruction of multiphase morphologies from correlation functions, Phys. Rev. E 63 (6) (2001)
066701.
[16] L.M. Pant, S.K. Mitra, M. Secanell, Stochastic reconstruction using multiple correlation functions with different-phase-neighbor-based
pixel selection, Phys. Rev. E 90 (2) (2014) 023306.
[17] Y. Jiao, F. Stillinger, S. Torquato, Modeling heterogeneous materials via two-point correlation functions. II. Algorithmic details and
applications, Phys. Rev. E 77 (3) (2008) 031135.
[18] Y. Jiao, F. Stillinger, S. Torquato, A superior descriptor of random textures and its predictive capacity, Proc. Natl. Acad. Sci. USA
106 (42) (2009) 17634–17639.
[19] S. Chen, H. Li, Y. Jiao, Dynamic reconstruction of heterogeneous materials and microstructure evolution, Phys. Rev. E 92 (2) (2015)
023301.
[20] M.V. Karsanina, K.M. Gerke, Hierarchical optimization: Fast and robust multiscale stochastic reconstructions with rescaled correlation
functions, Phys. Rev. Lett. 121 (26) (2018) 265501.
[21] K.M. Gerke, M.V. Karsanina, Improving stochastic reconstructions by weighting correlation functions in an objective function, Europhys.
Lett. 111 (5) (2015) 56002.
[22] K.M. Gerke, M.V. Karsanina, R.V. Vasilyev, D. Mallants, Improving pattern reconstruction using directional correlation functions,
Europhys. Lett. 106 (6) (2014) 66002.
[23] T. Tang, Q. Teng, X. He, D. Luo, A pixel selection rule based on the number of differentphase neighbours for the simulated annealing
reconstruction of sandstone microstructure, J. Microsc. 234 (3) (2009) 262–268.
[24] D. Chen, Q. Teng, X. He, Z. Xu, Z. Li, Stable-phase method for hierarchical annealing in the reconstruction of porous media images,
Phys. Rev. E 89 (1) (2014) 013305.
[25] M. Gao, Q. Teng, X. He, C. Zuo, Z. Li, Pattern density function for reconstruction of three-dimensional porous media from a single
two-dimensional image, Phys. Rev. E 93 (1) (2016) 012140.
J. Feng, Q. Teng, B. Li et al. / Computer Methods in Applied Mechanics and Engineering 368 (2020) 113043 19

[26] J. Feng, Q. Teng, X. He, L. Qing, Y. Li, Reconstruction of three-dimensional heterogeneous media from a single two-dimensional
section via co-occurrence correlation function, Comput. Mater. Sci. 144 (2018) 181–192.
[27] Y. Ju, Y. Huang, J. Zheng, X. Qian, H. Xie, X. Zhao, Multi-thread parallel algorithm for reconstructing 3D large-scale porous structures,
Comput. Geosci. 101 (2017) 10–20.
[28] Y. Ju, J. Zheng, M. Epstein, L. Sudak, J. Wang, X. Zhao, 3D numerical reconstruction of well-connected porous structure of rock
using fractal algorithms, Comput. Methods Appl. Mech. Engrg. 279 (2014) 212–226.
[29] Y. Ju, Y. Huang, W. Gong, J. Zheng, H. Xie, L. Wang, X. Qian, 3-d reconstruction method for complex pore structures of rocks using
a small number of 2-d x-ray computed tomography images, IEEE Trans. Geosci. Remote Sens. (2018).
[30] M. Gao, X. Li, Y. Xu, T. Wu, J. Wang, Reconstruction of three-dimensional anisotropic media based on analysis of morphological
completeness, Comput. Mater. Sci. 167 (2019) 123–135.
[31] Y. Jiao, E. Padilla, N. Chawla, Modeling and predicting microstructure evolution in lead/tin alloy via correlation functions and stochastic
material reconstruction, Acta Mater. 61 (9) (2013) 3370–3377.
[32] S.S. Singh, J.J. Williams, Y. Jiao, N. Chawla, Modeling anisotropic multiphase heterogeneous materials via directional correlation
functions: Simulations and experimental verification, Metall. Mater. Trans. A 43 (12) (2012) 4470–4474.
[33] F.B. Guardiano, R.M. Srivastava, Multivariate geostatistics: beyond bivariate moments, in: Geostatistics Troia’92, Springer, 1993, pp.
133–144.
[34] H. Okabe, M.J. Blunt, Pore space reconstruction using multiple-point statistics, J. Petrol. Sci. Eng. 46 (1–2) (2005) 121–137.
[35] M. Gao, X. He, Q. Teng, C. Zuo, D. Chen, Reconstruction of three-dimensional porous media from a single two-dimensional image
using three-step sampling, Phys. Rev. E 91 (1) (2015) 013308.
[36] C. Zuo, Z. Pan, H. Liang, Accelerating simulation for the multiple-point statistics algorithm using vector quantization, Phys. Rev. E
97 (3) (2018) 033302.
[37] C. Zuo, Z. Pan, Z. Gao, J. Gao, Correlation-driven direct sampling method for geostatistical simulation and training image evaluation,
Phys. Rev. E 99 (5) (2019) 053310.
[38] K. Ding, Q. Teng, Z. Wang, X. He, J. Feng, Improved multipoint statistics method for reconstructing three-dimensional porous media
from a two-dimensional image via porosity matching, Phys. Rev. E 97 (6) (2018) 063304.
[39] T. Huang, D.-T. Lu, X. Li, L. Wang, GPU-based SNESIM implementation for multiple-point statistical simulation, Comput. Geosci.
54 (2013) 75–87.
[40] P. Tahmasebi, M. Sahimi, Reconstruction of three-dimensional porous media using a single thin section, Phys. Rev. E 85 (6) (2012)
066709.
[41] P. Tahmasebi, M. Sahimi, Cross-correlation function for accurate reconstruction of heterogeneous media, Phys. Rev. Lett. 110 (7)
(2013) 078002.
[42] P. Tahmasebi, M. Sahimi, J. Caers, MS-CCSIM: accelerating pattern-based geostatistical simulation of categorical variables using a
multi-scale search in Fourier space, Comput. Geosci. 67 (2014) 75–88.
[43] P. Tahmasebi, M. Sahimi, Enhancing multiplepoint geostatistical modeling: 1. Graph theory and pattern adjustment, Water Resour. Res.
52 (3) (2016) 2074–2098.
[44] P. Tahmasebi, M. Sahimi, Enhancing multiplepoint geostatistical modeling: 2. Iterative simulation and multiple distance function, Water
Resour. Res. 52 (3) (2016) 2099–2122.
[45] P. Tahmasebi, HYPPS: A hybrid geostatistical modeling algorithm for subsurface modeling, Water Resour. Res. 53 (7) (2017) 5980–5997.
[46] G. Mariethoz, P. Renard, J. Straubhaar, The direct sampling method to perform multiplepoint geostatistical simulations, Water Resour.
Res. 46 (11) (2010).
[47] G. Mariethoz, P. Renard, Reconstruction of incomplete data sets or images using direct sampling, Math. Geosci. 42 (3) (2010) 245–268.
[48] A. Hasanabadi, M. Baniassadi, K. Abrinia, M. Safdari, H. Garmestani, Efficient three-phase reconstruction of heterogeneous material
from 2d cross-sections via phase-recovery algorithm, J. Microsc. 264 (3) (2016) 384–393.
[49] Y. Li, X. He, Q. Teng, J. Feng, X. Wu, Markov prior-based block-matching algorithm for superdimension reconstruction of porous
media, Phys. Rev. E 97 (4) (2018) 043306.
[50] Y. Li, Q. Teng, X. He, J. Feng, S. Xiong, Super-dimension-based three-dimensional nonstationary porous medium reconstruction from
single two-dimensional image, J. Petrol. Sci. Eng. 174 (2019) 968–983.
[51] Y. Li, Q. Teng, X. He, C. Ren, H. Chen, J. Feng, Dictionary optimization and constraint neighbor embedding-based dictionary mapping
for superdimension reconstruction of porous media, Phys. Rev. E 99 (6) (2019) 062134.
[52] S.K. Alexander, P. Fieguth, M.A. Ioannidis, E.R. Vrscay, Hierarchical annealing for synthesis of binary images, Math. Geosci. 41 (4)
(2009) 357.
[53] E.-Y. Guo, N. Chawla, T. Jing, S. Torquato, Y. Jiao, Accurate modeling and reconstruction of three-dimensional percolating filamentary
microstructures from two-dimensional micrographs via dilation-erosion method, Mater. Charact. 89 (2014) 33–42.
[54] H. Malmir, M. Sahimi, Y. Jiao, Higher-order correlation functions in disordered media: Computational algorithms and application to
two-phase heterogeneous materials, Phys. Rev. E 98 (6) (2018) 063317.
[55] K.M. Gerke, M.V. Karsanina, R. Katsman, Calculation of tensorial flow properties on pore level: Exploring the influence of boundary
conditions on the permeability of three-dimensional stochastic reconstructions, Phys. Rev. E 100 (5) (2019) 053312.
[56] L. Ji, M. Lin, W. Jiang, C. Wu, An improved method for reconstructing the digital core model of heterogeneous porous media, Transp.
Porous Media 121 (2) (2018) 389–406.
[57] A. Hajizadeh, A. Safekordi, F.A. Farhadpour, A multiple-point statistics algorithm for 3D pore space reconstruction from 2d images,
Adv. Water Resour. 34 (10) (2011) 1256–1267.
[58] J. Feng, Q. Teng, X. He, X. Wu, Accelerating multi-point statistics reconstruction method for porous media via deep learning, Acta
Mater. 159 (2018) 296–308.
20 J. Feng, Q. Teng, B. Li et al. / Computer Methods in Applied Mechanics and Engineering 368 (2020) 113043

[59] R. Bostanabad, W. Chen, D. Apley, Characterization and reconstruction of 3D stochastic microstructures via supervised learning, J.
Microsc. 264 (3) (2016) 282–297.
[60] R. Bostanabad, A.T. Bui, W. Xie, D.W. Apley, W. Chen, Stochastic microstructure characterization and reconstruction via supervised
learning, Acta Mater. 103 (2016) 89–102.
[61] S. Chan, A.H. Elsheikh, Exemplar-based synthesis of geology using kernel discrepancies and generative neural networks, 2018, arXiv
preprint arXiv:1809.07748.
[62] S. Chan, A.H. Elsheikh, Parametric generation of conditional geological realizations using generative neural networks, 2018, arXiv
preprint arXiv:1807.05207.
[63] J. Feng, X. He, Q. Teng, C. Ren, H. Chen, Y. Li, Reconstruction of porous media from extremely limited information using conditional
generative adversarial networks, Phys. Rev. E 100 (3) (2019) 033308.
[64] L. Mosser, O. Dubrule, M.J. Blunt, Reconstruction of three-dimensional porous media using generative adversarial neural networks,
Phys. Rev. E 96 (4) (2017) 043309.
[65] L. Mosser, O. Dubrule, M.J. Blunt, Conditioning of three-dimensional generative adversarial networks for pore and reservoir-scale
models, 2018, arXiv preprint arXiv:1802.05622.
[66] L. Mosser, O. Dubrule, M.J. Blunt, Stochastic reconstruction of an oolitic limestone by generative adversarial networks, Transp. Porous
Media 125 (1) (2018) 81–103.
[67] E. Laloy, R. Hérault, J. Lee, D. Jacques, N. Linde, Inversion using a new low-dimensional representation of complex binary geological
media based on a deep neural network, Adv. Water Resour. 110 (2017) 387–405.
[68] E. Laloy, R. Hérault, D. Jacques, N. Linde, Trainingimage based geostatistical inversion using a spatial generative adversarial neural
network, Water Resour. Res. 54 (1) (2018) 381–406.
[69] Y. Wang, C.H. Arns, S.S. Rahman, J.-Y. Arns, Porous structure reconstruction using convolutional neural networks, Math. Geosci. 50
(7) (2018) 781–799.
[70] Y. Wang, Q. Teng, X. He, J. Feng, T. Zhang, CT-image of rock samples super resolution using 3D convolutional neural network,
Comput. Geosci. 133 (2019) 104314.
[71] X. Li, Z. Liu, S. Cui, C. Luo, C. Li, Z. Zhuang, Predicting the effective mechanical property of heterogeneous materials by image
based modeling and deep learning, Comput. Methods Appl. Mech. Engrg. 347 (2019) 735–753.
[72] X. Li, S. Ning, Z. Liu, Z. Yan, C. Luo, Z. Zhuang, Designing phononic crystal with anticipated band gap through a deep learning
based data-driven method, Comput. Methods Appl. Mech. Engrg. 361 (2020) 112737.
[73] H. Chen, X. He, Q. Teng, R.E. Sheriff, J. Feng, S. Xiong, Super-resolution of real-world rock microcomputed tomography images
using cycle-consistent generative adversarial networks, Phys. Rev. E 101 (2) (2020) 023305.
[74] J.-Y. Zhu, R. Zhang, D. Pathak, T. Darrell, A.A. Efros, O. Wang, E. Shechtman, Toward multimodal image-to-image translation, in:
Advances in Neural Information Processing Systems, 2018, pp. 465–476.
[75] P. Isola, J.-Y. Zhu, T. Zhou, A.A. Efros, Image-to-image translation with conditional adversarial networks, in: Proceedings of the IEEE
Conference on Computer Vision and Pattern Recognition, 2017, pp. 1125–1134.
[76] I. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair, A. Courville, Y. Bengio, Generative adversarial nets,
in: Advances in Neural Information Processing Systems, 2014, pp. 2672–2680.
[77] M. Mirza, S. Osindero, Conditional generative adversarial nets, 2014, arXiv preprint arXiv:1411.1784.
[78] S. Kullback, R.A. Leibler, On information and sufficiency, Ann. Math. Stat. 22 (1) (1951) 79–86.
[79] O. Ronneberger, P. Fischer, T. Brox, U-net: Convolutional networks for biomedical image segmentation, in: International Conference
on Medical Image Computing and Computer-Assisted Intervention, Springer, 2015, pp. 234–241.
[80] B. Lu, S. Torquato, Lineal-path function for random heterogeneous materials, Phys. Rev. A 45 (2) (1992) 922.
[81] S. Torquato, J. Beasley, Y. Chiew, Twopoint cluster function for continuum percolation, J. Chem. Phys. 88 (10) (1988) 6540–6547.
[82] R. Hilfer, Local-porosity theory for flow in porous media, Phys. Rev. B 45 (13) (1992) 7115.
[83] J. Hu, P. Stroeven, Local porosity analysis of pore structure in cement paste, Cem. Concr. Res. 35 (2) (2005) 233–242.
[84] D.P. Kingma, J. Ba, Adam: A method for stochastic optimization, 2014, arXiv preprint arXiv:1412.6980.
[85] T. Carneiro, R.V.M. Da Nóbrega, T. Nepomuceno, G.-B. Bian, V.H.C. De Albuquerque, P.P. Reboucas Filho, Performance analysis of
google colaboratory as a tool for accelerating deep learning applications, IEEE Access 6 (2018) 61677–61685.
[86] N.I. Forrest, H. Song, W. Matthew, A. Khalid, J.W. Dally, SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and 0.5
MB model size, in: ICLR’17 Conference Proceedings, 2017, pp. 207–212.
[87] A.G. Howard, M. Zhu, B. Chen, D. Kalenichenko, W. Wang, T. Weyand, M. Andreetto, H. Adam, Mobilenets: Efficient convolutional
neural networks for mobile vision applications, 2017, arXiv preprint arXiv:1704.04861.
[88] X. Zhang, X. Zhou, M. Lin, J. Sun, Shufflenet: An extremely efficient convolutional neural network for mobile devices, in: Proceedings
of the IEEE Conference on Computer Vision and Pattern Recognition, 2018, pp. 6848–6856.
[89] H. Li, A. Kadav, I. Durdanovic, H. Samet, H.P. Graf, Pruning filters for efficient convnets, 2016, arXiv preprint arXiv:1608.08710.
[90] M. Courbariaux, I. Hubara, D. Soudry, R. El-Yaniv, Y. Bengio, Binarized neural networks: Training deep neural networks with weights
and activations constrained to+ 1 or-1, 2016, arXiv preprint arXiv:1602.02830.

You might also like