† Corresponding Author ‡ Project Lead
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}
}
- 2024.11.12: The article has been accepted by the Geophysics journal and is awaiting publication.
- 2023.9.7: Paper is released at arxiv, and code will be gradually released. ⌛⌛⌛
- 2023.8.7: Github Repository Initialization (copy from Meta-Transformer).
-
The pre-training instruction is in PRETRAIN.md.
-
The Fine-tuning instruction is in FINETUNE.md.
| Model | Pretraining Size | Download |
|---|---|---|
| SFM-Base | 224 × 224 | ckpt ckpt-Baidu Netdisk |
| SFM-Base-512 | 512 × 512 | ckpt ckpt-Baidu Netdisk |
| SFM-Large | 224 × 224 | ckpt ckpt-Baidu Netdisk |
| SFM-Large-512 | 512 × 512 | ckpt ckpt-Baidu Netdisk |
| Task | Size | Download |
|---|---|---|
| PreTrain | 224 × 224 | [DatFile] |
| Seismic Facies Classification | 768 × 768 | [DatFile DatFile-Baidu Netdisk] |
| Seismic GeoBody Identification | 224 × 224 | [DatFile DatFile-Baidu Netdisk] |
| Inversion (Reflectivity Estimation) | 224 × 224 | [DatFile DatFile-Baidu Netdisk] |
| Signal Processing (Denoise) | 224 × 224 | [DatFile DatFile-Baidu Netdisk] |
| Interpolation | 224 × 224 | [DatFile DatFile-Baidu Netdisk] |
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)"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 datazip file inDatafolder.
# 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 modeland place it in folderSFM-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
Datafolder.
cd Data
unzip *.zip-
Download the DownStream Facies Task model facies.pth and place it in folder
SFM-Finetune/Application/Facies/SFM-Finetune/ -
Download the DownStream Facies Data and place it in folder Data/ then
unzip *.zip -
run the following code:
cd SFM-Finetune/Application
#Use jupyter notebbok to open visualization.ipynb
jupyter notebook