This notebooks presents a solution to the Severstal: Steel Defect Detection competition. The challenge consists on using images to detect defects on pieces of steel, classify the type of defect (4 types), and identify the location and area of the defect.
This solution consists on a two-step approach
-
The first step is an ensemble of binary image neural network classifiers to determine whether the piece of steel in the image presents a defect.
-
The second step is an ensemble of segmentation neural networks to identify the location of the defect and identify the type of the defect.
All 1st and 2nd step neural networks were trained on a K = 5, K-Fold cross-validation distribution of the data, all with the same image size. Random data augmentations were applied to the training partition data for all networks and folds in both stages.
The ensemble for the binary classification step consists of EfficientNet (Tan & Le 2020) based classifiers versions B0-B5.
The ensemble for the 2nd step consists of UNet++ (Zhou et al., 2019) based CNNs, all with EfficientNet backbones versions B0-B5.
Running the Notebook
- Open the notebook in Colab and select TPU as accelerator.
- Update the GCS Path as indicated in the notebook
- Run all
-
Tan, M., & Le, Q. V. (2020). EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks. arXiv:1905.11946v5.
-
Zhou, Z., Siddiquee, M., Tajbakhsh, N., & Liang, J. (2019). UNet++: Redesigning Skip Connections to Exploit Multiscale Features in Image Segmentation. arXiv:1912.05074v2.