Skip to content

This repo is based on the Shubhamai solutions of AICrowd Facies Identification Challenge in which we need to create a ML/DL Model to do pixel classification by taking 3D images.

License

Notifications You must be signed in to change notification settings

Shubhamai/seismic-facies-identification

Repository files navigation

Seismic Facies Identification 🌋

This Github repo is based on the AICrowd Facies Identification Challenge in which we need to create a ML/DL Model to do pixel classification by taking 3D images.

Example

Table of Contents

Motivation

My main motivation to work on this project is that it was 3D image dataset rather than 2D image dataset. And yes, I actually make this a 2D problem because 3D convolutions are very inefficient & computationally expeensive.

In my last project which was Water Segmentation 🌊, i used FastAI to build UNet to classifty pixel based on water/no water. But this is muli class pixel classification where there is total of 6 pixel labels. And instead of making UNet in fastai, i used Tensorflow 2.0 & Keras to make UNet from scratch, ( mainly because of wating to get a bit more experience on how UNet works ).

The Notebook

The 🌎 Seismic Facies Identification Challange.ipynb contains everything from Data Exploration to submitting the predictions. Also you can find the google colab notebook here - https://colab.research.google.com/drive/1t1hF_Vs4xIyLGMw_B9l1G6qzLBxLB5eG?usp=sharing

Here are the tabels on content -

  1. Setting our Workspace 💼
  2. Data Exploration :face_with_monocle:
  3. Image Preprocessing Techniqes 🧹
  4. Creating our Dataset 🔨
  5. Creating our Model 🏭
  6. Training the Model 🚂
  7. Evaluating the model 🧪
  8. Testing on test Data 💯
  9. Generate More Data + Some tips & tricks 💡

The Application

I also made an Application using Streamlit which contains the Data Visualisation ( Interactive ) and Image Preprocessing ( Interactive, you can change every settings ).

The Application is also deployed on Heroku!, check this out! https://seismic-facies-identification.herokuapp.com/

About

Tools Used

We have 3D dataset both ( features X, and labels Y ) with shape for X is 1006 × 782 × 590, in axis corresponding Z, X, Y and Y in 1006 × 782 × 590 in also axis corresponsing Z, X, Y.

We can say that we have total of 2,378 2D trainig images with their corresponsing labels and we also have same number of 2,378 2D testing images which we will predict labels for.

Evaluation

The evaluation metrics are the F1 score and accuracy.

Getting Started

Below are the steps to run the application in your PC or laptop, whatever.

Prerequisites

Installation

Through Github

  1. Clone the repo using git clone https://github.com/Shubhamai/seismic-facies-identification.git
  2. Run pip install -r requirements.txt
  3. Run jupyter notebook and open 🌎_Seismic_Facies_Identification_Challange.ipynb OR
  4. Run the streamlit application using streamlit run ./app/app.py
  5. Enjoy 🎊

License GPLv3 license

Distributed under the GNU General Public License v3.0. See LICENSE for more information.

About

This repo is based on the Shubhamai solutions of AICrowd Facies Identification Challenge in which we need to create a ML/DL Model to do pixel classification by taking 3D images.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages