/pinn_fwi

PINN-FWI: performing physics-informed neural network for FWI

Primary LanguageJupyter NotebookMIT LicenseMIT

Physics-guided deep autoencoder

In this repository, I implemented the physics-informed neural network for full-waveform inversion. The networks is an autoencoder based on Dhara and Sen (2022) with some modifications. The architecture of their study is shown in the following figure.

architecture

For runing the code, you should use this notebook. The required parameters for running this notebook should be set in this config file.

Note: I have commented cell 3 in this notebook, you should run this cell whenever you change an acquisition parameter (and for the first time using the codes).

Note: Please use the requirements file (written in the jupyter file) to install the packages with specified versions to be sure everything works.

pip install -r requirements.txt

The result of running this notebook for three shots is shown in the following figure. res

The estimated velocity at an imaginary well location (dashed red line) is

well

As you see, the networks work properly enough to create the familiar structures of the Marmousi model, but optimum hyperparameters and acquisition parameters should be found. I have not used the parameters based on the paper. If you want to reproduce Dhara's work, use the following table.

Parameter Description I used In the paper
N_SHOTS Number of shots 22 18
DH Spatial sampling 5 m 1 m
VP_MIN Minimum velocity 1450 m/s 1500 m/s
VP_MAX Maximum velocity 4550 m/s 4700 m/s
N_RECEIVERS Number of receivers 447 200
ITERATION Number of iterations 300 4000

Reference:

@article{
Physics-guided deep autoencoder to overcome the need for a starting model in full-waveform inversion
Dhara, Arnab and Mrinal K. Sen
The Leading Edge (2022),41(6): 375
https://doi.org/10.1190/tle41060375.1

To cite this repository, please use the following BibTex entry,

@misc{Mardan2023pinnfwi,
  author = {Mardan, Amir},
  title = {Physics-informed full-waveform inversion},
  year = {2023},
  publisher = {GitHub},
  journal = {GitHub repository},
    howpublished = {\url{https://github.com/AmirMardan/pinn_fwi}},
  doi = {10.5281/zenodo.10206532},
  release = {0.1.0}
}