/SeismicFoundationModel

Seismic Foundation Model

Primary LanguageJupyter Notebook

Hanlin Sheng 1Xinming Wu1,†,‡Xu Si1Jintao Li1
Sibo Zhang 2Xudong Duan 2
1 University of Science and Technology of China  2 Huawei 
Corresponding Author  Project Lead 

🌟 Seismic Foundation Model (SFM)

As shown in this workflow figure, we test the Seismic Foundation Model's performance in segmentation tasks and regression tasks, specifically in classification (i.e. seismic facies), segmentaion (i.e. seismic geobody), signal processing (i.e. denoising), inversion (i.e. reflectivity estimation), and interpolation.

This is a PyTorch/GPU implementation of the paper Seismic Foundation Model:

@article{sheng2023seismic,
  title={Seismic Foundation Model (SFM): a new generation deep learning model in geophysics},
  author={Sheng, Hanlin and Wu, Xinming and Si, Xu and Li, Jintao and Zhang, Sibio and Duan, Xudong},
  journal={arXiv preprint arXiv:2309.02791},
  year={2023}
}

🌟 News

  • 2023.9.7: Paper is released at arxiv, and code will be gradually released. ⌛⌛⌛
  • 2023.8.7: Github Repository Initialization (copy from Meta-Transformer).

👉 Pre-train & Fine-tune Code

🚀 Model Zoo & Data Release

Open-source Pretrained Models
Model Pretraining Size Download
SFM-Base 224 × 224 [ckpt]
SFM-Base-512 512 × 512 [ckpt]
SFM-Large 224 × 224 [ckpt]
SFM-Large-512 512 × 512 [ckpt]
Open-source Training & DownStream Fine-tune Task Data
Task Size Download
PreTrain 224 × 224 [DatFile]
Seismic Facies Classification 768 × 768 [DatFile]
Seismic GeoBody Identification 224 × 224 [DatFile]
Inversion (Reflectivity Estimation) 224 × 224 [DatFile]
Signal Processing (Denoise) 224 × 224 [DatFile]
Interpolation 224 × 224 [DatFile]

:neckbeard: Quick Guide

Installation

To prepare the environment, please follow the following instructions.

# create virtual environment
conda create -n SFM python=3.9.12
conda activate SFM

# install pytorch
pip3 install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/lts/1.8/torch_lts.html

# install other requirements
pip install -r requirements.txt

# if you want to visualize the results as shown in SFM-Finetune/Application/visualization.ipynb
pip install jupyter notebook
python -m ipykernel install --user --name=SFM --display-name="Python (SFM)"

Download Dataset & Model

Place the downloaded dataset and model in the corresponding folder.

  • If you want to obtain a foundation model pre-trained from scratch, Download the Pretrain data zip file in Data folder.
# First execute merge
zip -s 0 mae_data_more.zip --out pretrain.zip
# Unzip the merged compressed file
unzip pretrain.zip
  • If you want to use our pre-trained model directly, Download Pre-trained model and place it in folder SFM-Pretrain/output_dir
cd SFM-Pretrain
mkdir output_dir
cd output_dir 
  • If you want to apply the model to downstream tasks, Download the DownStream Task data zip file in Data folder.
cd Data
unzip *.zip

Facies Example

  1. Download the DownStream Facies Task model facies.pth and place it in folder SFM-Finetune/Application/Facies/SFM-Finetune/

  2. Download the DownStream Facies Data and place it in folder Data/ then unzip *.zip

  3. run the following code:

cd SFM-Finetune/Application
#Use jupyter notebbok to open visualization.ipynb
jupyter notebook

# License This project is released under the [MIT license](LICENSE).