Skip to content

A physics-informed neural network to solve the inverse Radon transform for seismic wave migration.

License

Notifications You must be signed in to change notification settings

URseismology/iRADNet

Repository files navigation

iRADNet: Deep Algorithm Unrolling for Seismic Migration

Official implementation of iRADNet (inverse Radon transform Network) in paper Deep Algorithm Unrolling for Seismic Migration based on the CRISP-RF 1.

Problem Statement

With sparse Radon transform (SRT), we intend to approximate the following optimization problem:

$$\mathfrak{R}_{sp}(\mathbf{y}) = \arg\min_{\mathbf{x}} \frac{1}{2}\left\lVert{\mathcal{F}^{-1}\mathbf{L} \mathcal{F} (\mathbf{x}) - \mathbf{y}}\right\rVert_2^2 + \lambda R(\mathbf{x})$$

where $\mathfrak{R}_{sp}(\mathbf{y})$ represents the sparse Radon transform of the seismic data (receiver function) $\mathbf{y}$ to give Radon model (sparse code) $\mathbf{x}$; $\mathcal{F}$ denotes the one-dimensional Fourier transform; $\mathbf{L}$ is the complex-valued back-projection operator (reverse time-delay for wave trajectories in a finite aperture experiment); and $R(\mathbf{x})$ is a sparsity-promoting regularizer ($\lambda > 0$); typically the $\ell_1$ norm $\left\lVert{\mathbf{x}}\right\rVert_1$, or the $\ell_1\text{-}\ell_2$ norm $\left\lVert{\mathbf{x}}\right\rVert_1 - \alpha \left\lVert{\mathbf{x}}\right\rVert_2, \alpha \geq 0$.

SRT-FISTA/iRADNet

We introduce iRADNet by unrolling the SRT-(F)ISTA2 iterations into a deep learning model (see Figure 1, plug-in structure being LISTA-CP3, a variant of LISTA4) to learn the mapping $\Phi: \mathbf{y}\mapsto\mathbf{x}$. The model consists of K layers, each analogous to one iteration in ISTA. Setting $\mathbf{W}_1=\mathbf{W}_2=\mathbf{L}$ and ${\theta}^{(k)} = \gamma\lambda$ reduces the network to SRT-FISTA.

Run

# train iRADNet (LISTA-CP), using synthetic data and SNR=2
python crisprf/job/run_lista.py --train --model SRT_LISTA_CP --snr 2

# evaluate iRADNet (LISTA-CP), using synthetic data and SNR=2
python crisprf/job/run_fista.py --eval --model SRT_LISTA_CP --snr 2

# evaluate iRADNet (LISTA-CP), using synthetic data and SNR=inf
python crisprf/job/run_fista.py --eval --model SRT_LISTA_CP

Cite this work

@inproceedings{wang_deep_2025,
	address = {College Park, MD, USA},
	title = {Deep {Algorithm} {Unrolling} for {Seismic} {Migration}},
	copyright = {https://doi.org/10.15223/policy-029},
	isbn = {9798331515102},
	url = {https://ieeexplore.ieee.org/document/11091556/},
	doi = {10.1109/CISA64343.2025.11091556},
	urldate = {2025-08-26},
	booktitle = {2025 {IEEE} {Conference} on {Computational} {Imaging} {Using} {Synthetic} {Apertures} ({CISA})},
	publisher = {IEEE},
	author = {Wang, Meng and Olugboji, Tolulope},
	month = jun,
	year = {2025},
	pages = {1--5},
}

Footnotes

  1. https://doi.org/10.1093/gji/ggad447 "On the detection of upper mantle discontinuities with radon-transformed receiver functions (CRISP-RF)"

  2. https://doi.org/10.1088/1742-2132/13/4/462 "Prestack seismic data regularization using a time-variant anisotropic Radon transform"

  3. https://doi.org/10.48550/arXiv.1808.10038 "Theoretical linear convergence of unfolded ISTA and its practical weights and thresholds"

  4. https://dl.acm.org/doi/10.5555/3104322.3104374 "Learning fast approximations of sparse coding"

About

A physics-informed neural network to solve the inverse Radon transform for seismic wave migration.

Resources

License

Stars

Watchers

Forks