Crossline Reconstruction of 3D Seismic Data Using 3D cWGAN: A Comparative Study on Sleipner Seismic Survey Data
Abstract
:1. Introduction
2. Approach
2.1. cWGAN
2.2. Generator
2.3. Discriminator
2.4. Wasserstein Loss
2.5. Interpolation Strategy
3. Experiment
4. Results
5. Discussion and Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
References
- Bae, W.; Kwon, Y.; Ha, W. Research Trend analysis for Seismic Data Interpolation Methods using Machine Learning. Geophys. Geophys. Explor. 2020, 23, 192–207. [Google Scholar] [CrossRef]
- Chai, X.; Gu, H.; Li, F.; Duan, H.; Hu, X.; Lin, K. Deep learning for irregularly and regularly missing data reconstruction. Sci. Rep. 2020, 10, 3302. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Naghizadeh, M.; Innanen, K.A. Seismic data interpolation using a fast generalized Fourier transform. Geophysics 2011, 76, 1JF-Z19. [Google Scholar] [CrossRef] [Green Version]
- Chang, D.K.; Yang, W.Y.; Yong, X.S.; Li, H.S. Seismic data interpolation with conditional generative adversarial network in time and frequency domain. SEG Tech. Program Expand. Abstr. 2019, 2019, 2589–2593. [Google Scholar] [CrossRef]
- Li, X.; Wu, B.; Zhu, X.; Yang, H. Consecutively Missing Seismic Data Interpolation Based on Coordinate Attention Unet. IEEE Geosci. Remote Sens. Lett. 2022, 19, 3005005. [Google Scholar] [CrossRef]
- Park, H.; Lee, W.; Hwang, J.; Min, D.J. Coarse-Refine Network with Upsampling Techniques and Fourier Loss for the Reconstruction of Missing Seismic Data. IEEE Trans. Geosci. Remote Sens. 2022, 60, 5917615. [Google Scholar] [CrossRef]
- Liu, Y.; Fomel, S. Seismic data interpolation beyond aliasing using regularized nonstationary autoregression. Geophysics 2011, 76, 69–77. [Google Scholar] [CrossRef]
- Kaur, H.; Pham, N.; Fomel, S. Seismic data interpolation using CycleGAN. SEG Tech. Program Expand. Abstr. 2019, 2019, 2202–2206. [Google Scholar] [CrossRef]
- Kong, F.; Picetti, F.; Lipari, V.; Bestagini, P.; Tang, X.; Tubaro, S. Deep Prior-Based Unsupervised Reconstruction of Irregularly Sampled Seismic Data. IEEE Geosci. Remote Sens. Lett. 2022, 19, 7501305. [Google Scholar] [CrossRef]
- Qian, F.; Liu, Z.; Wang, Y.; Liao, S.; Pan, S.; Hu, G. DTAE: Deep Tensor Autoencoder for 3-D Seismic Data Interpolation. IEEE Trans. Geosci. Remote Sens. 2021, 60, 5904219. [Google Scholar] [CrossRef]
- Jin, Z.; Li, X.; Yang, H.; Wu, B.; Zhu, X. Depthwise separable convolution Unet for 3D seismic data interpolation. Front. Earth Sci. 2023, 10, 1005505. [Google Scholar] [CrossRef]
- Yu, J.; Yoon, D. Comparison of Seismic Data Interpolation Performance using U-Net and cWGAN. Geophys. Geophys. Explor. 2022, 25, 140–161. [Google Scholar] [CrossRef]
- Goodfellow, I.; Pouget-Abadie, J.; Mirza, M.; Xu, B.; Warde-Farely, D.; Ozair, S.; Courville, A.; Bengio, Y. Generative adversarial nets. Adv. Neural Inf. Process. Syst. 2014, 2, 2672–2680. [Google Scholar] [CrossRef]
- Mirza, M.; Osindero, S. Conditional generative adversarial nets. arXiv 2014, arXiv:1411.1784. [Google Scholar] [CrossRef]
- Zhu, J.Y.; Park, T.; Isola, P.; Efros, A.A. Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks. In Proceedings of the 2017 IEEE International Conference on Computer Vision (ICCV), Venice, Italy, 22–29 October 2017; pp. 2223–2232. [Google Scholar] [CrossRef]
- Arjovsky, M.; Chintala, S.; Bottou, L. Wasserstein Generative Adversarial Networks. In Proceedings of the 34th International Conference on Machine Learning, Sydney, Australia, 17 July 2017; pp. 214–223. [Google Scholar] [CrossRef]
- Liu, Y.; Qin, Z.; Wan, T.; Luo, Z. Auto-painter: Cartoon image generation from sketch by using conditional wasserstein generative adversarial networks. Neurocomputing 2018, 311, 78–87. [Google Scholar] [CrossRef]
- Ebenezer, J.P.; Das, B.; Mukhopadhyay, S. Single image haze removal using conditional wasserstein generative adversarial networks. In Proceedings of the 2019 27th European Signal Processing Conference (EUSIPCO), A Coruña, Spain, 2–6 September 2019; pp. 1–5. [Google Scholar] [CrossRef] [Green Version]
- Isola, P.; Zhu, J.Y.; Zhou, T.; Efros, A.A. Image-to-image translation with conditional adversarial networks. In Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Honolulu, HI, USA, 21–26 July 2017; pp. 1125–1134. [Google Scholar] [CrossRef] [Green Version]
- Wei, Q.; Li, X.Y.; Song, M.P. De-aliased seismic data interpolation using conditional Wasserstein generative adversarial networks. Comput. Geosci. 2021, 154, 104801. [Google Scholar] [CrossRef]
- Dobrushin, R.L. Prescribing a System of Random Variables by Conditional Distributions. Theory Probab. Its Appl. 1970, 15, 458–486. [Google Scholar] [CrossRef]
- Villani, C. Optimal Transport: Old and New; Springer Science & Business Media: Berlin/Heidelberg, Germany, 2008; p. 338. Available online: https://cedricvillani.org/sites/dev/files/old_images/2012/08/preprint-1.pdf (accessed on 2 February 2023).
- Hahn, H.I. Proposing Effective Regularization Terms for Improvement of WGAN. J. Korea Multimed. Soc. 2021, 24, 13–20. [Google Scholar] [CrossRef]
- Sleipner 4D Seismic Database. Available online: https://co2datashare.org/dataset/sleipner-4d-seismic-dataset (accessed on 1 October 2020).
- Boait, F.C.; White, N.J.; Bickle, M.J.; Chadwick, R.A.; Neufeld, J.A.; Huppert, H.E. Spatial and temporal evolution of injected CO2 at the Sleipner field, North Sea. J. Geophys. Res. 2021, 117, 1–21. [Google Scholar] [CrossRef] [Green Version]
- Furre, A.; Eiken, O.; Alnes, H.; Vevatne, J.N.; Kiaer, A.F. 20 years of monitoring CO2-injection at Sleipner. Energy Procedia 2017, 114, 3916–3926. [Google Scholar] [CrossRef]
- Yang, A.Y.; Suh, J.H. Applying Spitz Trace Interpolation Algorithm for Seismic Data. Geophysics 2003, 6, 171–179. [Google Scholar]
Layer (Type) | Output Size |
---|---|
input_1 (Input layer) | (80, 80, 1) |
conv2d (Conv2D) | (80, 80, 64) |
conv2d_1 (Conv2D) | (80, 80, 64) |
max_pooling2d (MaxPooling2D) | (40, 40, 64) |
conv2d_2 (Conv2D) | (40, 40, 128) |
conv2d_3 (Conv2D) | (40, 40, 128) |
max_pooling2d_1 (MaxPooling2D) | (20, 20, 128) |
conv2d_4 (Conv2D) | (20, 20, 256) |
conv2d_5 (Conv2D) | (20, 20, 256) |
max_pooling2d_2 (MaxPooling2D) | (10, 10, 256) |
conv2d_6 (Conv2D) | (10, 10, 512) |
conv2d_7 (Conv2D) | (10, 10, 512) |
max_pooling2d_3 (MaxPooling2D) | (5, 5, 512) |
conv2d_8 (Conv2D) | (5, 5, 1024) |
conv2d_9 (Conv2D) | (5, 5, 1024) |
up_sampling2d (Upsampling2D) | (10, 10, 1024) |
conv2d_10 (Conv2D) | (10, 10, 512) |
concatenate (Concatenate) | (10, 10, 1024) |
conv2d_11 (Conv2D) | (10, 10, 512) |
conv2d_12 (Conv2D) | (10, 10, 512) |
up_sampling2d_1 (Upsampling2D) | (20, 20, 512) |
conv2d_13 (Conv2D) | (20, 20, 256) |
concatenate_1 (Concatenate) | (20, 20, 512) |
conv2d_14 (Conv2D) | (20, 20, 256) |
conv2d_15 (Conv2D) | (20, 20, 256) |
up_sampling2d_2 (Upsampling2D) | (40, 40, 256) |
conv2d_16 (Conv2D) | (40, 40, 128) |
concatenate_2 (Concatenate) | (40, 40, 256) |
conv2d_17 (Conv2D) | (40, 40, 128) |
conv2d_18 (Conv2D) | (40, 40, 128) |
up_sampling2d_3 (Upsampling2D) | (80, 80, 128) |
conv2d_19 (Conv2D) | (80, 80, 64) |
concatenate_3 (Concatenate) | (80, 80, 128) |
conv2d_20 (Conv2D) | (80, 80, 64) |
conv2d_21 (Conv2D) | (80, 80, 64) |
conv2d_22 (Conv2D) | (80, 80, 2) |
conv2d_23 (Conv2D) | (80, 80, 1) |
Layer (Type) | Output Size |
---|---|
input_1 (Input layer) | (80, 80, 80, 1) |
conv3d (Conv3D) | (80, 80, 80, 64) |
conv3d_1 (Conv3D) | (80, 80, 80, 64) |
max_pooling3d (MaxPooling3D) | (40, 40, 40, 64) |
conv3d_2 (Conv3D) | (40, 40, 40, 128) |
conv3d_3 (Conv3D) | (40, 40, 40, 128) |
max_pooling3d_1 (MaxPooling3D) | (20, 20, 20, 128) |
conv3d_4 (Conv3D) | (20, 20, 20, 256) |
conv3d_5 (Conv3D) | (20, 20, 20, 256) |
max_pooling3d_2 (MaxPooling3D) | (10, 10, 10, 256) |
conv3d_6 (Conv3D) | (10, 10, 10, 512) |
conv3d_7 (Conv3D) | (10, 10, 10, 512) |
max_pooling3d_3 (MaxPooling3D) | (5, 5, 5, 512) |
conv3d_8 (Conv3D) | (5, 5, 5, 1024) |
conv3d_9 (Conv3D) | (5, 5, 5, 1024) |
up_sampling3d (Upsampling3D) | (10, 10, 10, 1024) |
conv3d_10 (Conv3D) | (10, 10, 10, 512) |
concatenate (Concatenate) | (10, 10, 10, 1024) |
conv3d_11 (Conv3D) | (10, 10, 10, 512) |
conv3d_12 (Conv3D) | (10, 10, 10, 512) |
up_sampling3d_1 (Upsampling3D) | (20, 20, 20, 512) |
conv3d_13 (Conv3D) | (20, 20, 20, 256) |
concatenate_1 (Concatenate) | (20, 20, 20, 512) |
conv3d_14 (Conv3D) | (20, 20, 20, 256) |
conv3d_15 (Conv3D) | (20, 20, 20, 256) |
up_sampling3d_2 (Upsampling3D) | (40, 40, 40, 256) |
conv3d_16 (Conv3D) | (40, 40, 40, 128) |
concatenate_2 (Concatenate) | (40, 40, 40, 256) |
conv3d_17 (Conv3D) | (40, 40, 40, 128) |
conv3d_18 (Conv3D) | (40, 40, 40, 128) |
up_sampling3d_3 (Upsampling3D) | (80, 80, 80, 128) |
conv3d_19 (Conv3D) | (80, 80, 80, 64) |
concatenate_3 (Concatenate) | (80, 80, 80, 128) |
conv3d_20 (Conv3D) | (80, 80, 80, 64) |
conv3d_21 (Conv3D) | (80, 80, 80, 64) |
conv3d_22 (Conv3D) | (80, 80, 80, 2) |
conv3d_23 (Conv3D) | (80, 80, 80, 1) |
Layer (Type) | Output Size |
---|---|
input_1 (Input layer) | (80, 80, 2) |
conv2d (Conv2D) | (80, 80, 64) |
conv2d_1 (Conv2D) | (80, 80, 64) |
max_pooling2d (MaxPooling2D) | (40, 40, 64) |
conv2d_2 (Conv2D) | (40, 40, 128) |
conv2d_3 (Conv2D) | (40, 40, 128) |
max_pooling2d_1 (MaxPooling2D) | (20, 20, 128) |
conv2d_4 (Conv2D) | (20, 20, 256) |
conv2d_5 (Conv2D) | (20, 20, 256) |
max_pooling2d_2 (MaxPooling2D) | (10, 10, 256) |
conv2d_6 (Conv2D) | (10, 10, 512) |
conv2d_7 (Conv2D) | (10, 10, 512) |
max_pooling2d_3 (MaxPooling2D) | (5, 5, 512) |
conv2d_8 (Conv2D) | (5, 5, 1024) |
conv2d_9 (Conv2D) | (5, 5, 1024) |
max_pooling2d_4 (MaxPooling2D) | (2, 2, 1024) |
flatten (Flatten) | (4096) |
dense (Dense) | (1) |
Layer (Type) | Output Size |
---|---|
input_1 (Input layer) | (80, 80, 80, 2) |
conv3d (Conv3D) | (80, 80, 80, 64) |
conv3d_1 (Conv3D) | (80, 80, 80, 64) |
max_pooling3d (MaxPooling3D) | (40, 40, 40, 64) |
conv3d_2 (Conv3D) | (40, 40, 40, 128) |
conv3d_3 (Conv3D) | (40, 40, 40, 128) |
max_pooling3d_1 (MaxPooling3D) | (20, 20, 20, 128) |
conv3d_4 (Conv3D) | (20, 20, 20, 256) |
conv3d_5 (Conv3D) | (20, 20, 20, 256) |
max_pooling3d_2 (MaxPooling3D) | (10, 10, 10, 256) |
conv3d_6 (Conv3D) | (10, 10, 10, 512) |
conv3d_7 (Conv3D) | (10, 10, 10, 512) |
max_pooling3d_3 (MaxPooling3D) | (5, 5, 5, 512) |
conv3d_8 (Conv3D) | (5, 5, 5, 1024) |
conv3d_9 (Conv3D) | (5, 5, 5, 1024) |
max_pooling3d_4 (MaxPooling3D) | (2, 2, 2, 1024) |
flatten (Flatten) | (8192) |
dense (Dense) | (1) |
Parameter | Data of 2010 |
---|---|
Shot interval (m) | 12.5 |
Shoot direction | N-S |
Group interval (m) | 12.5 |
Sample interval (ms) | 2 |
Record length (ms) | 4608 |
(kt) | 12,080 |
Metric | Model | Crossline | Inline | |||||
---|---|---|---|---|---|---|---|---|
Regular | Irregular | Regular | ||||||
50% | 67% | 75% | 50% | 67% | 75% | 75% | ||
MSE | 2D cWGAN | 0.00061 | 0.0015 | 0.0016 | 0.00096 | 0.0016 | 0.0016 | 0.00064 |
3D cWGAN | 0.00010 | 0.00045 | 0.00064 | 0.00031 | 0.00061 | 0.00077 | 0.00052 | |
3D U-Net | 0.00023 | 0.0049 | 0.012 | 0.0086 | 0.014 | 0.016 | 0.012 | |
PSNR | 2D cWGAN | 33.56 | 28.93 | 29.03 | 30.97 | 29.02 | 28.41 | 28.46 |
3D cWGAN | 39.34 | 35.91 | 34.89 | 32.70 | 31.19 | 32.14 | 35.45 | |
3D U-Net | 40.02 | 28.84 | 22.89 | 25.69 | 22.33 | 22.51 | 24.69 | |
SSIM | 2D cWGAN | 0.975 | 0.952 | 0.948 | 0.965 | 0.949 | 0.942 | 0.907 |
3D cWGAN | 0.994 | 0.983 | 0.980 | 0.977 | 0.978 | 0.975 | 0.969 | |
3D U-Net | 0.994 | 0.862 | 0.650 | 0.828 | 0.640 | 0.517 | 0.594 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Yu, J.; Yoon, D. Crossline Reconstruction of 3D Seismic Data Using 3D cWGAN: A Comparative Study on Sleipner Seismic Survey Data. Appl. Sci. 2023, 13, 5999. https://doi.org/10.3390/app13105999
Yu J, Yoon D. Crossline Reconstruction of 3D Seismic Data Using 3D cWGAN: A Comparative Study on Sleipner Seismic Survey Data. Applied Sciences. 2023; 13(10):5999. https://doi.org/10.3390/app13105999
Chicago/Turabian StyleYu, Jiyun, and Daeung Yoon. 2023. "Crossline Reconstruction of 3D Seismic Data Using 3D cWGAN: A Comparative Study on Sleipner Seismic Survey Data" Applied Sciences 13, no. 10: 5999. https://doi.org/10.3390/app13105999
APA StyleYu, J., & Yoon, D. (2023). Crossline Reconstruction of 3D Seismic Data Using 3D cWGAN: A Comparative Study on Sleipner Seismic Survey Data. Applied Sciences, 13(10), 5999. https://doi.org/10.3390/app13105999