Skip to main content
Log in

3D super-resolution reconstruction of porous media based on GANs and CBAMs

  • ORIGINAL PAPER
  • Published:
Stochastic Environmental Research and Risk Assessment Aims and scope Submit manuscript

Abstract

Porous media reconstruction is quite significant in the fields of environmental supervision, oil and natural gas engineering, biomedicine and material engineering. The traditional numerical reconstruction methods such as multi-point statistics (MPS) are based on the statistical characteristics of training images (TIs), but the reconstruction quality may be unsatisfactory and the process is time-consuming. Recently, with the rapid development of deep learning, its powerful ability in predicting features has been used to reconstruct porous media. Generative adversarial network (GAN) is one of the generative methods of deep learning, which is derived from the two-person zero-sum game through the confrontation between the generator and discriminator. However, the traditional GAN cannot pay special attention to the effective features in learning, and the degradation problem easily occurs with the increase of layer numbers. Besides, high-resolution (HR) and large FOV (field of view) are usually contradictory for physical imaging equipment. Therefore, in practical experiments, due to the limitations of the resolution of imaging equipment and the sample size, it is difficult to obtain large-scale HR images of porous media physically. At this point, numerical super-resolution (SR) reconstruction seems to be a cost-efficient way. In this paper, residual networks and attention mechanisms are combined with single-image GAN (SinGAN), which can learn the structural characteristics of porous media from a low-resolution (LR) 3D image, and then reconstruct 3D HR or large-scale images of porous media. Comparison to some other numerical methods has proved that our method can reconstruct high-quality HR images with practicability and effectiveness.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23
Fig. 24
Fig. 25

Similar content being viewed by others

Code and data availability

The codes and data used in this study are available in Github (https://github.com/vevvve/SASGAN).

References

  • Arjovsky M, Chintala S, Bottou L (2017) Wasserstein GAN. ArXiv, abs/1701.07875

  • Avizo (2015) Avizo user’s guide, 9th edn. FEI, USA

    Google Scholar 

  • Ba J, Mnih V, Kavukcuoglu K (2014) Multiple object recognition with visual attention. arXiv preprint arXiv:1412.7755

  • Beucher H, Renard D (2016) Truncated Gaussian and derived methods. CR Geosci 348(7):510–519

    Google Scholar 

  • Blunt MJ, Bijeljic B, Dong H, Gharbi O, Iglauer S, Mostaghimi P, Paluszny A, Pentland C (2013) Pore-scale imaging and modelling. Adv Water Resour 51:197–216

    Article  Google Scholar 

  • Chen L, Zhang H, Xiao J, Nie L, Shao J, Liu W, Chua TS (2017) Sca-cnn: spatial and channel-wise attention in convolutional networks for image captioning. In: Proceedings of the IEEE conference on computer vision and pattern recognition, pp 5659–5667

  • Costanza‐Robinson MS, Estabrook BD, Fouhey DF (2011) Representative elementary volume estimation for porosity, moisture saturation, and air‐water interfacial areas in unsaturated porous media: data quality implications. Water Resour Res 47(7)

  • Dong H, Blunt MJ (2009) Pore-network extraction from micro-computerized-tomography images. Phys Rev E 80(3):036307

    Article  Google Scholar 

  • Dong C, Loy CC, He K, Tang X (2014) Learning a deep convolutional network for image super-resolution. Paper presented at the European conference on computer vision. Springer, Cham, pp 184–199

    Google Scholar 

  • Feng J, Teng Q, He X, Wu X (2018) Accelerating multi-point statistics reconstruction method for porous media via deep learning. Acta Mater 159:296–308

    Article  CAS  Google Scholar 

  • Goodfellow I, Pouget-Abadie J, Mirza M, Xu B, Warde-Farley D, Ozair S et al (2014) Generative adversarial nets. Adv Neural Inf Process Syst 27

  • Gulrajani I, Ahmed F, Arjovsky M, Dumoulin V, Courville AC (2017) Improved training of wasserstein gans. Adv Neural Inf Process Syst 30

  • Hazlett RD (1997) Statistical characterization and stochastic modeling of pore networks in relation to fluid flow. Math Geol 29(6):801–822

    Article  Google Scholar 

  • He K, Zhang X, Ren S, Sun J (2016) Deep residual learning for image recognition. In: Proceedings of the IEEE conference on computer vision and pattern recognition, pp 770–778

  • Hinz T, Fisher M, Wang O, Wermter S (2021) Improved techniques for training single-image gans. In: Proceedings of the IEEE/CVF winter conference on applications of computer vision, pp 1300–1309

  • Hou J, Zhang S, Li Y (2007) Reconstruction of 3D network model through CT scanning. In: EUROPEC/EAGE conference and exhibition

  • Hu J, Shen L, Sun G (2018) Squeeze-and-excitation networks. In: Proceedings of the IEEE conference on computer vision and pattern recognition, pp 7132–7141

  • Kim SM, Park JC, Lee KH (2005) Depth-image based full 3d modeling using trilinear interpolation and distance transform. In: Proceedings of the 2005 international conference on Augmented tele-existence, pp 259–260

  • Kim J, Lee JK, Lee KM (2016) Accurate image super-resolution using very deep convolutional networks. In: Proceedings of the IEEE conference on computer vision and pattern recognition, pp 1646–1654

  • Krishnan S, Journel AG (2003) Spatial connectivity: from variograms to multiple-point measures. Math Geol 35(8):915–925

    Article  Google Scholar 

  • Kundu A, Banerje S, Sarkar C, Barman S (2020) An axis based mean filter for removing high-intensity salt and pepper noise. In: 2020 IEEE Calcutta conference (CALCON), pp 363–367

  • Ledig C, Theis L, Huszár F, Caballero J, Cunningham A, Acosta A et al (2017) Photo-realistic single image super-resolution using a generative adversarial network. In: Proceedings of the IEEE conference on computer vision and pattern recognition, pp 4681–4690

  • Lymberopoulos DP, Payatakes AC (1992) Derivation of topological, geometrical, and correlational properties of porous media from pore-chart analysis of serial section data. J Colloid Interface Sci 150(1):61–80

    Article  CAS  Google Scholar 

  • Mosser L, Dubrule O, Blunt MJ (2017) Reconstruction of three-dimensional porous media using generative adversarial neural networks. Phys Rev E 96(4):043309

    Article  Google Scholar 

  • Niu Z, Zhong G, Yu H (2021) A review on the attention mechanism of deep learning. Neurocomputing 452:48–62

    Article  Google Scholar 

  • Okabe H, Blunt MJ (2004) Prediction of permeability for porous media reconstructed using multiple-point statistics. Phys Rev E 70(6):066135

    Article  Google Scholar 

  • Okabe H, Blunt MJ (2005) Pore space reconstruction using multiple-point statistics. J Pet Sci Eng 46(1–2):121–137

    Article  CAS  Google Scholar 

  • Otsu N (1979) A threshold selection method from gray-level histograms. IEEE Trans Syst Man Cybern 9(1):62–66

    Article  Google Scholar 

  • Shaham TR, Dekel T, Michaeli T (2019) Singan: learning a generative model from a single natural image. In: Proceedings of the IEEE/CVF international conference on computer vision, pp 4570–4580

  • Shams R, Masihi M, Boozarjomehry RB, Blunt MJ (2021) A hybrid of statistical and conditional generative adversarial neural network approaches for reconstruction of 3D porous media (ST-CGAN). Adv Water Resour 158:104064

    Article  Google Scholar 

  • Shi W, Caballero J, Huszár F, Totz J, Aitken AP, Bishop R et al (2016) Real-time single image and video super-resolution using an efficient sub-pixel convolutional neural network. In: Proceedings of the IEEE conference on computer vision and pattern recognition, pp 1874–1883

  • Song S, Mukerji T, Hou J (2021) Geological facies modeling based on progressive growing of generative adversarial networks (GANs). Comput GeoSci 25:1251–1273. https://doi.org/10.1007/s10596-021-10059-w

    Article  Google Scholar 

  • Song S, Mukerji T, Hou J (2022) Bridging the gap between geophysics and geology with generative adversarial networks (GANs). IEEE Trans Geosci Remote Sens 60:1–11. https://doi.org/10.1109/TGRS.2021.3066975

    Article  CAS  Google Scholar 

  • Strebelle S (2002) Conditional simulation of complex geological structures using multiple-point statistics. Math Geol 34(1):1–21

    Article  Google Scholar 

  • Tomutsa L, Radmilovic V (2003) Focused ion beam assisted three-dimensional rock imaging at submicron scale (No. LBNL-52648). Lawrence Berkeley National Lab. (LBNL), Berkeley, CA (United States)

  • Valsecchi A, Damas S, Tubilleja C, Arechalde J (2020) Stochastic reconstruction of 3D porous media from 2D images using generative adversarial networks. Neurocomputing 399:227–236

    Article  Google Scholar 

  • Woo S, Park J, Lee JY, Kweon, IS (2018) CBAM: convolutional block attention module. In: Proceedings of the European conference on computer vision (ECCV):3–19

  • Xu K, Ba J, Kiros R, Cho K, Courville A, Salakhudinov R et al (2015) Show, attend and tell: neural image caption generation with visual attention. In: International conference on machine learning (PMLR):2048–2057

  • Zhang T, Du Y, Huang T, Yang J, Lu F, Li X (2016) Reconstruction of porous media using ISOMAP-based MPS. Stoch Environ Res Risk Assess 30(1):395–412

    Article  Google Scholar 

  • Zhang T, Xia P, Lu F (2021) 3D reconstruction of digital cores based on a model using generative adversarial networks and variational auto-encoders. J Pet Sci Eng 207:109151

    Article  CAS  Google Scholar 

Download references

Funding

This work is supported by the National Natural Science Foundation of China (Nos. 41672114, 41702148).

Author information

Authors and Affiliations

Authors

Contributions

TZ: Conceptualization, Methodology, Writing–original draft. NB: Software, Writing—review and editing. QL: Conceptualization, Methodology, Software, Writing—original draft. YD: Investigation, Writing—review and editing.

Corresponding author

Correspondence to Yi Du.

Ethics declarations

Conflict of interest

The authors declare that they have no conflicts of interest.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendices

Appendix A: The derivation of identity mapping in ResNets

The data flow in ResNets is designed as follows: the input x subsequently passes through the first weight layer for the first convolution computation, the first activation function Relu, the second weight layer for the second convolution computation, the second activation function Relu, and so on, until the final residual term F(x) is obtained. At the end of the residual learning unit, the input x is directly transferred to the output by a “shortcut” connection, and then the result H(x) is obtained. Through the introduction of shortcut connections, the degradation problem with the deepening of network is alleviated largely.

As mentioned previously, ResNets only need to learn F(x) = 0 to realize the identity mapping. Compared to learning H(x) = x, setting F(x) = 0 will converge much faster when updating the parameters of each layer in the learning process. The idea of constructing an identity map is introduced in this appendix.

Assume that the input and output dimensions of the nonlinear unit in the neural network are consistent, the function H(∙) to be fitted in the neural network unit can be divided into two parts, namely:

$$H\left( {a^{(l - 1)} } \right) \, = a^{(l - 1)} + F\left( {a^{(l - 1)} } \right),$$
(A.1)

where l is the layer number and a is the input; F(∙) is the residual function; a(l−1) is the input of the (l-1)-th layer; F(a(l−1)) is the residual term of the (l-1)-th layer; H(a(l−1)) is the output of the (l-1)-th layer.

In ResNets, learning an identity mapping is equivalent to making the residual part close to 0, namely F(a(l−1)) → 0. If F(x) = 0 or H(x) = x, then an identity mapping is constructed. Generally, the output of one layer in network is the input of its next layer. Consider any two layers l2 > l1, and recursively expand Eq. (A.1). Then the input of the l2-th layer \({a}^{({l}_{2})}\) can be defined as follows:

$${a}^{({l}_{2})}=H\left({a}^{{l}_{2}-1}\right)={a}^{\left({l}_{2}-1\right)}+F\left({a}^{\left({l}_{2}-1\right)}\right),$$
(A.2)
$${a}^{({l}_{2})}=\left({a}^{\left({l}_{2}-2\right)}+F\left({a}^{\left({l}_{2}-2\right)}\right)\right)+F\left({a}^{\left({l}_{2}-1\right)}\right),$$
(A.3)

Finally, \({a}^{({l}_{2})}\) can be formulated as follows:

$${a}^{({l}_{2})}={a}^{({l}_{1})}+{\sum }_{i={l}_{1}}^{{l}_{2}-1}F({a}^{(i)}).$$
(A.4)

It seems that in Eq. (A.4) the input of the l2-th layer \({a}^{({l}_{2})}\) is equal to the sum of the input of the l1-th layer \({a}^{({l}_{1})}\) and the sum of residual terms from the l1-th to the (l2-1)-th layer. According to Eq. (A.4), in forward propagation, the input data can propagate directly from a lower level to a higher level. Based on the chain derivation rule, the gradient of the middle output layer will be used in the back-propagation of the gradient, that is, the gradient of the intermediate output layer will be used as the gradient of the weight. In this way, the gradient of the final loss δ to the output of a lower layer can be expressed as:

$$\frac{\partial \delta }{{\partial a^{{\left( {l_{1} } \right)}} }} = \frac{\partial \delta }{{\partial a^{{\left( {l_{2} } \right)}} }} \cdot \frac{{\partial a^{{\left( {l_{2} } \right)}} }}{{\partial a^{{\left( {l_{1} } \right)}} }}.$$
(A.5)

Then Eq. (A.4) is substituted into Eq. (A.5) to obtain Eq. (A.6):

$$\frac{\partial \delta }{{\partial a^{{\left( {l_{1} } \right)}} }} = \frac{\partial \delta }{{\partial a^{{\left( {l_{2} } \right)}} }}\underbrace {{\left( {1 + \frac{\partial }{{\partial a^{{\left( {l_{1} } \right)}} }}\mathop \sum \limits_{{i = l_{1} }}^{{l_{2} - 1}} F\left( {a^{\left( i \right)} } \right)} \right)}}_{{{\text{SG}}}},$$
(A.6)

where SG (sum of gradients plus one) stands for \(\frac{\partial {a}^{({l}_{2})}}{\partial {a}^{({l}_{1})}}\). Finally, Eq. (A.6) is formulated as follows:

$$\frac{\partial \delta }{\partial {a}^{({l}_{1})}}=\frac{\partial \delta }{\partial {a}^{({l}_{2})}}+\frac{\partial \delta }{\partial {a}^{({l}_{2})}}\cdot \frac{\partial }{\partial {a}^{\left({l}_{1}\right)}}{\sum }_{i={l}_{1}}^{{l}_{2}-1}F\left({a}^{\left(i\right)}\right).$$
(A.7)

There may be several layers between the l2-th layer and the l1-th layer. In CNN, the gradient update is calculated according to the chain derivation rule, meaning from one layer to its next adjacent layer. As shown in Eq. (A.5), \(\frac{\partial \delta }{\partial {a}^{({l}_{1})}}\) is expressed by the multiplication of two partial derivatives. Therefore, when the derivatives between adjacent layers are much larger or less than 1, \(\frac{\partial \delta }{\partial {a}^{({l}_{1})}}\) will increase or decrease exponentially if there are many layers in CNN, leading to the gradient explosion or gradient disappearance. According to Eq. (A.6), SG is equal to the sum of some gradients plus one. The first term in SG is the constant (i.e. 1), and the second term is the gradient sum of residual terms (i.e. \(\frac{\partial }{\partial {a}^{({l}_{1})}}{\sum }_{i={l}_{1}}^{{l}_{2}-1}F({a}^{(i)})\)). It can be known that the second term cannot be all -1. In addition, even if the second term is very small, since there is a constant 1 in the first term, the overall gradient cannot disappear, i.e. SG cannot always be 0. From Eq. (A.5) to Eq. (A.7), it can be seen that the gradient is calculated by addition rather than multiplication, meaning that the gradient will increase relatively slow, thus avoiding gradient explosion. In CNN, the gradient is calculated according to Eq. (A.5), while Eq. (A.6) is used to calculate the gradient in ResNets through residual terms. To sum up, it is considered that residual connections make information move forward and backward more smoothly by addressing the degradation problem.

Appendix B: Pseudo codes of MPC calculation

figure a

As shown in the above pseudo codes, “j” is a variable representing the current number of pixels/voxels in one direction. The function indicator_function(u + j * h) returns 1 or 0: when the state value located at a specific position (i.e., u + j*h) is pore space, indicator_function(…) = 1; otherwise, indicator_function(…) = 0. The function calculate_expected_value(…) calculates the expected value of the input.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Zhang, T., Bian, N., Liu, Q. et al. 3D super-resolution reconstruction of porous media based on GANs and CBAMs. Stoch Environ Res Risk Assess 38, 1475–1504 (2024). https://doi.org/10.1007/s00477-023-02639-2

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00477-023-02639-2

Keywords

Navigation