Giter Site home page Giter Site logo

patchunet's Introduction

PATCHUNET

PATCHUNET: A fully unsupervised and highly generalized deep learning approach for random noise suppression, Geophysical Prospecting, 2020.

We develop a deep learning algorithm (PATCHUNET) to suppress random noise and preserve the coherent seismic signal. The input data are divided into several patches, each patch is encoded to extract the meaningful features. Following this, the extracted features are decompressed to retrieve the seismic signal. Skip connections are used between the encoder and decoder parts, allowing the PATCHUNET to extract high‐order features without losing important information. Besides, dropout layers are used as regularization layers. The dropout layers preserve the most meaningful features belonging to the seismic signal and discard the remaining features. The PATCHUNET is an unsupervised approach that does not require prior information about the clean signal. The input patches are divided into 80% for training and 20% for testing. However, it is interesting to find that the PATCHUNET can be trained with only 30% of the input patches with an effective denoising performance.

We develop a fully unsupervised deep learning approach (PATCHUNET) to suppress random noise based on the idea of the deep image prior. First, a patching technique is utilized to divide the input noisy data into several patches for training and testing. Following this, each patch is encoded to extract the meaningful features, allowing the decoder part to retrieve the clean signal and eliminate the random noise. Next, skip connections are used, between encoder and decoder parts, to extract high‐order features.

First of all, put all the files in the same directory.

Secondly, kindly, run the codes in sequence:

1- Run "Step1_Patching.m" in Matlab, which generates the input patches for the PATCHUNET. Note that, you should save .mat as -V 7.3 or later because the size of the generated patches is large.

2- RUN "Step2_PATCHUNET.ipynb" in Jupyter Notebook, which generates the noiseless output patches.

3- RUN "Step3_UnPatching.m" in Matlab, which generates the denoised output signal.

In Matlab, the parameter "select" is set to be zero in case of synthetic example and one in case of field example.

patchunet's People

Contributors

omarmohamed15 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.