Skip to content

chen-gui/CAFNet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CAFNet

Description

This repository provides the implementation of CAFNet, a robust unsupervised deep learning framework for denoising distributed acoustic sensing (DAS) data without requiring clean labels. CAFNet is a two-stage cascaded network consisting of a coarse module followed by a refined module. Each stage is built with fully connected layers, KAN network-based learnable activation functions, and attention mechanisms to adaptively capture coherent seismic signals.

Reference

Chen et al. (2025). Towards robust DAS denoising via unsupervised deep learning: The FORGE, Arcata–Eureka, and SAFOD examples, TBD.

BibTeX:

@article{CAFNet,
  title={Towards robust DAS denoising via unsupervised deep learning: The FORGE, Arcata–Eureka, and SAFOD examples},
  author={Chen et al.},
  journal={TBD},
  volume={TBD},
  number={TBD},
  issue={TBD},
  pages={TBD},
  year={2026}
}

Scientific Application

CAFNet is designed for scientific workflows involving distributed acoustic sensing (DAS), where high‐resolution seismic information is often obscured by strong random and coherent noise. The proposed unsupervised framework enables researchers to denoise large‐scale DAS recordings without the need for curated clean datasets, making it particularly suitable for real-world observational studies.

By enhancing signal clarity and preserving coherent seismic phases, CAFNet facilitates multiple downstream scientific tasks, including:

  • Earthquake detection and arrival picking
  • Microseismic monitoring in carbon storage, geothermal, and oil & gas applications
  • Ambient noise analysis and interferometry
  • Distributed strain-rate and ground motion characterization
  • Time-lapse subsurface imaging using DAS

Copyright

CAFNet developing team, 2024-present

License

MIT License 

Install

Using the latest version

git clone https://github.com/chen-gui/CAFNet
cd CAFNet
pip install -v -e .

Examples

The "Demos" directory contains all runable scripts to demonstrate DAS denoising applications of CAFNet. 

Synthetic Example

The following is a synthetic denoising example.

Denoising results for the synthetic DAS data using (a) BPF + MF, (b) FXDecon, (c) MSSA, (d) two-stage NN, and (e) the proposed method. For each method, the left and right panels show the denoised data and removed noise, respectively.

Generated by demo/syn Slicing

FORGE example

The following is a FORGE DAS example.

The FORGE DAS dataset is acquired from a fiber-optic cable deployed in monitoring well 78–32 at the FORGE geothermal site in Utah. This cable, with a channel spacing of 1 meter and a gauge length of 10 meters, continuously recorded data for 10.5 days during the initial stimulation phase of an enhanced geothermal system, conducted from late April to early May 2019. The fiber-optic cable and well extend to a depth of 985 m, intersecting the granitic basement at approximately 800 m depth. The DAS interrogator used at FORGE outputs optical phase measurements proportional to strain rate, which can be linearly converted from radians per second to physical strain-rate values.

Denoising results for (a) the second FORGE DAS data using (b) BPF + MF, (c) FXDecon, (d) MSSA, (e) two-stage NN, and (f) the proposed method. Each panel shows, from left to right, the denoised data and removed noise.

Generated by demo/FORGE Slicing

Arcata–Eureka example

The following is a Arcata–Eureka DAS example.

The Spring 2022 Arcata–Eureka DAS experiment is conducted by the U.S. Geological Survey. A Luna QuantX DAS interrogator is connected to a buried telecom fiber spanning 15 km between Arcata and Eureka, California. The system is configured with a channel spacing of approximately 2 m, a gauge length of 8 m, and a temporal sampling rate of 250 Hz, enabling continuous strain-rate DAS recording.

Denoising results for (a) the Arcata–Eureka DAS data using (b) BPF + MF, (c) FXDecon, (d) MSSA, (e) two-stage NN, and (f) the proposed method. Each panel shows, from left to right, the denoised data and removed noise.

Generated by demo/Arcata–Eureka Slicing

SAFOD example

The following is a SAFOD DAS example.

The SAFOD DAS dataset includes recordings from 31 earthquake events with magnitudes ranging from -0.05 and 2.86. The original recordings are converted to strain-rate format using a temporal derivative. Each DAS section consists of 800 spatial channels at an interval of 1 m and 14,999 samples recorded at a sampling rate of 250 Hz, with a gauge length of 10 m.

Denoising results for the SAFOD DAS data corresponding to an earthquake event with a local magnitude of 1.51. (a) Original data. (b–f) Denoised data from BPF + MF, FXDecon, MSSA, two-stage NN, and the proposed method, respectively.

Generated by demo/SAFOD Slicing

Application in STA/LTA-based first-arrival picking

The following is a STA/LTA-based first-arrival picking example.

STA/LTA-based first-arrival picks (red circles) for the second FORGE DAS data. (a) STA window = 40 and LTA window = 100. (b) STA window = 20 and LTA window = 100. (c) STA window = 60 and LTA window = 100. (d) STA window = 40 and LTA window = 140.

Slicing


Dependence Packages

  • numpy
  • torch
  • matplotlib

Development

The development team welcomes voluntary contributions from any open-source enthusiast. 
If you want to make contribution to this project, feel free to contact the development team. 

Contact

Regarding any questions, bugs, developments, or collaborations, please contact      
Gui Chen
chenguicup@163.com

About

A robust unsupervised deep learning framework for denoising DAS recording, without requiring clean ground-truth data.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors