Loading

Seismic Facies Identification Challenge

1st place solution

Solution of the 2nd stage of Seismic facies identification challenge

ArtemVoronov

Key ideas

  • As this is multiclass segmentation task, UNet model with 7 output layers is used (one for each class)
  • Data is kind of homogeneous, so tiny Efficientnetb0 backbone is enough.
  • As we have GT labels (TRAIN) near to TEST area, task can be solved via extrapolation

 

Training stage

  • Data is very homogeneous and even such small model as Efficientnetb0 is overfitting, so we need a lot of augmentations, best way to achive this is to use random slices (black lines of red train area), not only along X/Y axis.
  • As mentioned above, we have extrapolation task, so model should know how to extrapolate, so we feed two layers to model: one with data and second with croped mask, and train it to predict full mask

Prediction stage (for the 2nd stage of challenge)

  1. First step was to manualy label last slice of the TEST1 set (as we solve extrapolation task and predictions for the TEST1 set was not so good).
  2. Next step is to take masks (TRAIN1+TEST1) as input and predict next 32px (in TEST2) for each xline
  3. Use two different kernels to smooth predictions for the whole inline (onestl5/ y this step can be skiped to have more production ready solution as in gives very small impact on score)
  4. Use prediction as input and go to step 2 untill the end of TEST2
  5. Done!

 

Solution is public now: 

https://gitlab.aicrowd.com/ArtemVoronov/seismic-facies-identification-challenge

Additional Links

1490

Comments

santiactis
About 3 years ago

Loved the fact that you took random slices for generalization during training. As a seismic interpreter that is actually one of the backbones of seismic interpretation and it totally makes sense to translate it to this kind of problems. Great insights and congratulations on your 1st Place!

leocd
About 3 years ago

Comment deleted by leocd.

leocd
About 3 years ago

๐Ÿคฏ What an idea! Iโ€™ve tried using flownet (to make extra data) for the first round but the extrapolation results kinda noisy..

Your method is very creative, Gotta reproduce it soon ๐Ÿ‘

Congrats on your 1st place!

You must login before you can post a comment.

Execute