Using synthetic datasets to train an end-to-end CNN for 3D fault segmentation (We are working on an improved version!)
Alternatives To Faultseg
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
6 months ago174otherPython
PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation
Nnunet3,43669 hours ago1May 28, 2021258apache-2.0Python
Awesome Point Cloud Analysis3,171
a year ago1
A list of papers and datasets about point cloud analysis (processing)
4 days ago9March 22, 202230gpl-3.0Python
A procedural Blender pipeline for photorealistic training image generation
20 days ago1mitPython
Pytorch 3D U-Net Convolution Neural Network (CNN) designed for medical image segmentation
Pytorch 3dunet1,386
5 days ago1mitJupyter Notebook
3D U-Net model for volumetric semantic segmentation written in pytorch
3d Pointcloud1,374
9 days ago2Python
Papers and Datasets about Point Cloud.
a year ago76mitPython
Convolutional Neural Network for 3D meshes in PyTorch
4 months ago43apache-2.0Python
The Medical Detection Toolkit contains 2D + 3D implementations of prevalent object detectors such as Mask R-CNN, Retina Net, Retina U-Net, as well as a training and inference framework focused on dealing with medical images.
12 hours ago58apache-2.0Jupyter Notebook
MONAI Tutorials
Alternatives To Faultseg
Select To Compare

Alternative Project Comparisons

FaultSeg3D: using synthetic datasets to train an end-to-end convolutional neural network for 3D seismic fault segmentation

This is a Keras version of FaultSeg implemented by Xinming Wu for 3D fault segmentation

As described in FaultSeg: using synthetic datasets to train an end-to-end convolutional neural network for 3D fault segmentation by Xinming Wu1, Luming Liang2, Yunzhi Shi1 and Sergey Fomel1. 1BEG, UT Austin; 2Uber.

Getting Started with Example Model for fault prediction

If you would just like to try out a pretrained example model, then you can download the pretrained model and use the 'prediction.ipynb' script to run a demo.

On 05/07/2020, new models are uploaded for testing. Please run predNew.ipynb to test the new models.


To train our CNN network, we automatically created 200 pairs of synthetic seismic and corresponding fault volumes, which were shown to be sufficient to train a good fault segmentation network.

The training and validation datasets can be downloaded here


Run train.py to start training a new faultSeg model by using the 200 synthetic datasets


If you find this work helpful in your research, please cite:

    author = {Xinming Wu and Luming Liang and Yunzhi Shi and Sergey Fomel},
    title = {Fault{S}eg3{D}: using synthetic datasets to train an end-to-end convolutional neural network for 3{D} seismic fault segmentation},
    journal = {GEOPHYSICS},
    volume = {84},
    number = {3},
    pages = {IM35-IM45},
    year = {2019},

Validation on a synthetic example

Fault detections are computed on a syntehtic seismic image by using 8 methods of C3 (Gersztenkorn and Marfurt, 1999), C2 (Marfurt et al., 1999), planarity (Hale, 2009), structure-oriented linearity (Wu, 2017), structure-oriented semblance (Hale, 2009), fault likelihood (Hale, 2013; Wu and Hale, 2016, code), optimal surface voting (Wu and Fomel, 2018, code) and our CNN-based segmentation. results/comparison.jpeg

To quantitatively evaluate the fault detection methods, we further calculate the precision-recall (Martin et al., 2004) and receiver operator characteristic (ROC) (Provost et al., 1998) curves shown below. From the precision-recall curves, we can clearly observe that our CNN method (red curve) provides the highest precisions for all the choices of recall. results/PR_and_ROC_curves.jpeg

Validation on multiple field examples

Although trained by only synthetic datasets, the CNN model works well in predicting faults in field datasets that are acquired at totally different surveys.

Example of Netherlands off-shore F3 (provided by the Dutch Government through TNO and dGB Earth Sciences)

compare the CNN fault probability (top right) with fault likelihood (bottom) results/f3CnnFaultByWu.png

Example of Clyde (provided by Clyde through Paradigm)

compare the CNN fault probability (middle) with fault likelihood (right) results/clydeCnnFaultByWu.png

Example of Costa Rica (acquired in the subduction zone, Costa Rica Margin, provided by Nathan Bangs)

compare the CNN fault probability (left column) with fault likelihood (right column) results/crfCnnFaultByWu.png

Example of Campos (acquired at the Campos Basin, offshore Brazil, provided by Michacle Hudec)


Example of Kerry-3D (The fault features have been thinned in this example)


Example of Opunake-3D (The fault features have been thinned in this example)



This extension to the Keras library is released under a creative commons license which allows for personal and research use only. For a commercial license please contact the authors. You can view a license summary here: http://creativecommons.org/licenses/by-nc/4.0/

Popular Segmentation Projects
Popular 3d Graphics Projects
Popular Machine Learning Categories

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Jupyter Notebook