- 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
- 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)
- 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).
- Next step is to take masks (TRAIN1+TEST1) as input and predict next 32px (in TEST2) for each xline
- 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)
- Use prediction as input and go to step 2 untill the end of TEST2
Solution is public now: