{
  "id": 118213,
  "title": "129th Place solution (Classifer Cascading + Segmentation)",
  "url": "/competitions/understanding_cloud_organization/discussion/118213",
  "author_name": "Ram Ramrakhya",
  "post_date": "2019-11-20T05:09:03.200000",
  "votes": 7,
  "comment_count": 1,
  "views": 0,
  "content": "<p>Thanks Kaggle and Max Planck Institute for this interesting competition and congrats to all the winners! Here is a brief summary of my solution (Public 0.67698, Private 0.66713).</p>\n\n<ul>\n<li><p><strong>No Preprocessing</strong></p></li>\n<li><p><strong>Augmentations (by Albumentations)</strong>\nShiftScaleRotate (scale_limit=0.1, rotate_limit=0, shift_limit=0.1, p=0.5, border_mode=0)\nhorizontal flip (p=0.5)\nvertical flip (p=0.5)</p></li>\n<li><p><strong>Validation</strong>\nStratifiedKFold for the number of masks</p></li>\n<li><p><strong>Segmentation Model (ensemble of 7 models x 5folds)</strong>\nUNet-SeResNext50\nUNet-ResNet50\nUNet-ResNet18\nUNet-ResNext101\nLinkNet-EfficientNet-B5\nFPN-EfficientNet-B4 (4 folds)\nFPN-EfficientNet-B5\nFPN-EfficientNet-B6\nUNet-EfficientNet-B6</p></li>\n<li><p><strong>Classification Model (ensemble of 7 models x 5folds)</strong>\nEfficientNet-B2\nEfficientNet-B4\nEfficientNet-B5</p></li>\n<li><p><strong>Loss</strong>\nBCE + Dice</p></li>\n<li><p><strong>Ensemble</strong></p></li>\n<li>simple average of the 14 segmentation models</li>\n<li><p>We also tried voting ensemble but it didn't work for us</p></li>\n<li><p><strong>Postprocessing</strong>\nTTA : None\npixel threshold = 0.5\nsmall mask threshold = 20000\nCascading of classifier result (Apply each classifier one after another)\nConvex Hull PostProcessing</p></li>\n<li><p><strong>Final submission</strong>\nOur final submission was selected based on best public scores. We believe main reason we scored less on private LB was because of weak segmentation models. Each of our models had a very average CV but our classifiers and postprocessing were really good.</p></li>\n</ul>",
  "messages": [
    {
      "id": 677389,
      "postDate": "2019-11-20T05:09:03.200Z",
      "content": "<p>Thanks Kaggle and Max Planck Institute for this interesting competition and congrats to all the winners! Here is a brief summary of my solution (Public 0.67698, Private 0.66713).</p>\n\n<ul>\n<li><p><strong>No Preprocessing</strong></p></li>\n<li><p><strong>Augmentations (by Albumentations)</strong>\nShiftScaleRotate (scale_limit=0.1, rotate_limit=0, shift_limit=0.1, p=0.5, border_mode=0)\nhorizontal flip (p=0.5)\nvertical flip (p=0.5)</p></li>\n<li><p><strong>Validation</strong>\nStratifiedKFold for the number of masks</p></li>\n<li><p><strong>Segmentation Model (ensemble of 7 models x 5folds)</strong>\nUNet-SeResNext50\nUNet-ResNet50\nUNet-ResNet18\nUNet-ResNext101\nLinkNet-EfficientNet-B5\nFPN-EfficientNet-B4 (4 folds)\nFPN-EfficientNet-B5\nFPN-EfficientNet-B6\nUNet-EfficientNet-B6</p></li>\n<li><p><strong>Classification Model (ensemble of 7 models x 5folds)</strong>\nEfficientNet-B2\nEfficientNet-B4\nEfficientNet-B5</p></li>\n<li><p><strong>Loss</strong>\nBCE + Dice</p></li>\n<li><p><strong>Ensemble</strong></p></li>\n<li>simple average of the 14 segmentation models</li>\n<li><p>We also tried voting ensemble but it didn't work for us</p></li>\n<li><p><strong>Postprocessing</strong>\nTTA : None\npixel threshold = 0.5\nsmall mask threshold = 20000\nCascading of classifier result (Apply each classifier one after another)\nConvex Hull PostProcessing</p></li>\n<li><p><strong>Final submission</strong>\nOur final submission was selected based on best public scores. We believe main reason we scored less on private LB was because of weak segmentation models. Each of our models had a very average CV but our classifiers and postprocessing were really good.</p></li>\n</ul>",
      "rawMarkdown": "Thanks Kaggle and Max Planck Institute for this interesting competition and congrats to all the winners! Here is a brief summary of my solution (Public 0.67698, Private 0.66713).\n\n* **No Preprocessing**\n\n* **Augmentations (by Albumentations)**\nShiftScaleRotate (scale_limit=0.1, rotate_limit=0, shift_limit=0.1, p=0.5, border_mode=0)\nhorizontal flip (p=0.5)\nvertical flip (p=0.5)\n\n* **Validation**\nStratifiedKFold for the number of masks\n\n* **Segmentation Model (ensemble of 7 models x 5folds)**\nUNet-SeResNext50\nUNet-ResNet50\nUNet-ResNet18\nUNet-ResNext101\nLinkNet-EfficientNet-B5\nFPN-EfficientNet-B4 (4 folds)\nFPN-EfficientNet-B5\nFPN-EfficientNet-B6\nUNet-EfficientNet-B6\n\n* **Classification Model (ensemble of 7 models x 5folds)**\nEfficientNet-B2\nEfficientNet-B4\nEfficientNet-B5\n\n* **Loss**\nBCE + Dice\n\n* **Ensemble**\n- simple average of the 14 segmentation models\n- We also tried voting ensemble but it didn't work for us\n\n* **Postprocessing**\nTTA : None\npixel threshold = 0.5\nsmall mask threshold = 20000\nCascading of classifier result (Apply each classifier one after another)\nConvex Hull PostProcessing\n\n* **Final submission**\nOur final submission was selected based on best public scores. We believe main reason we scored less on private LB was because of weak segmentation models. Each of our models had a very average CV but our classifiers and postprocessing were really good.",
      "votes": 7
    },
    {
      "id": 677403,
      "postDate": "2019-11-20T05:33:33.567Z",
      "rawMarkdown": "",
      "isDeleted": true
    }
  ],
  "comments": [
    {
      "id": 677403,
      "author_name": "",
      "author_url": "",
      "post_date": "2019-11-20T05:33:33.567000",
      "content": "",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "677389": "Thanks Kaggle and Max Planck Institute for this interesting competition and congrats to all the winners! Here is a brief summary of my solution (Public 0.67698, Private 0.66713).\n\n* **No Preprocessing**\n\n* **Augmentations (by Albumentations)**\nShiftScaleRotate (scale_limit=0.1, rotate_limit=0, shift_limit=0.1, p=0.5, border_mode=0)\nhorizontal flip (p=0.5)\nvertical flip (p=0.5)\n\n* **Validation**\nStratifiedKFold for the number of masks\n\n* **Segmentation Model (ensemble of 7 models x 5folds)**\nUNet-SeResNext50\nUNet-ResNet50\nUNet-ResNet18\nUNet-ResNext101\nLinkNet-EfficientNet-B5\nFPN-EfficientNet-B4 (4 folds)\nFPN-EfficientNet-B5\nFPN-EfficientNet-B6\nUNet-EfficientNet-B6\n\n* **Classification Model (ensemble of 7 models x 5folds)**\nEfficientNet-B2\nEfficientNet-B4\nEfficientNet-B5\n\n* **Loss**\nBCE + Dice\n\n* **Ensemble**\n- simple average of the 14 segmentation models\n- We also tried voting ensemble but it didn't work for us\n\n* **Postprocessing**\nTTA : None\npixel threshold = 0.5\nsmall mask threshold = 20000\nCascading of classifier result (Apply each classifier one after another)\nConvex Hull PostProcessing\n\n* **Final submission**\nOur final submission was selected based on best public scores. We believe main reason we scored less on private LB was because of weak segmentation models. Each of our models had a very average CV but our classifiers and postprocessing were really good.",
    "677403": ""
  }
}