{
  "id": 297998,
  "title": "8th place solution",
  "url": "/competitions/sartorius-cell-instance-segmentation/writeups/odede-8th-place-solution",
  "author_name": "",
  "post_date": "2021-12-31T09:33:39.963Z",
  "votes": 54,
  "comment_count": 7,
  "views": 0,
  "content": "<p>My solution points</p>\n<ol>\n<li>cascade mask rcnn with resnext152 backbone</li>\n<li>pretrain on LIVECell dataset</li>\n<li>pseudo labeling</li>\n<li>WBF and WMF(weighted masks fusion)</li>\n<li>train and inference on each image class</li>\n</ol>\n<p>Pipeline is <a href=\"https://drive.google.com/file/d/1Bl5AzzTsm9_tjwezlXUvyEprOwmZcWSw/view?usp=sharing\" target=\"_blank\">this</a></p>\n<p>Training strategy : <br>\nI tried to train the model in all classes, but it did not work, so I trained and inferenced with each class.<br>\nI pretrained models on LIVECell dataset and finetuned with competition data. Then, I inferenced on train-semi-supervised data to generate pseudo labels.  And finally finetuned these models with competition data and pseudo labels.<br>\nThe ways to pretrain and finetune are similar to  these codes. <a href=\"https://www.kaggle.com/markunys/sartorius-transfer-learning-train-with-livecell\" target=\"_blank\">pretrain</a>, <a href=\"https://www.kaggle.com/markunys/sartorius-transfer-learning-train\" target=\"_blank\">finetune</a></p>\n<p>Inference strategy:<br>\nI ensemble the boxes predicted by the cascade mask rcnn and yolov5x with WBF, and use the boxes to generate masks. I use WMF, which is WBF applied to the mask ensemble, and ensemble the masks of folds.<br>\nInference code and WMF code is here.<a href=\"https://www.kaggle.com/markunys/8th-place-solution-inference\" target=\"_blank\">Inference code</a>, <a href=\"https://www.kaggle.com/markunys/ensemble-boxes\" target=\"_blank\">WMF code</a><br>\nWMF code is identical to <a href=\"https://github.com/ZFTurbo/Weighted-Boxes-Fusion\" target=\"_blank\">this</a> except for including WMF.</p>\n<p>I have spent hundreds of hours on this competition, and I am very happy with the results!!</p>",
  "messages": [
    {
      "id": "1633731",
      "postDate": "12/31/2021 02:27:01",
      "content": "<p>My solution points</p>\n<ol>\n<li>cascade mask rcnn with resnext152 backbone</li>\n<li>pretrain on LIVECell dataset</li>\n<li>pseudo labeling</li>\n<li>WBF and WMF(weighted masks fusion)</li>\n<li>train and inference on each image class</li>\n</ol>\n<p>Pipeline is <a href=\"https://drive.google.com/file/d/1Bl5AzzTsm9_tjwezlXUvyEprOwmZcWSw/view?usp=sharing\" target=\"_blank\">this</a></p>\n<p>Training strategy : <br>\nI tried to train the model in all classes, but it did not work, so I trained and inferenced with each class.<br>\nI pretrained models on LIVECell dataset and finetuned with competition data. Then, I inferenced on train-semi-supervised data to generate pseudo labels.  And finally finetuned these models with competition data and pseudo labels.<br>\nThe ways to pretrain and finetune are similar to  these codes. <a href=\"https://www.kaggle.com/markunys/sartorius-transfer-learning-train-with-livecell\" target=\"_blank\">pretrain</a>, <a href=\"https://www.kaggle.com/markunys/sartorius-transfer-learning-train\" target=\"_blank\">finetune</a></p>\n<p>Inference strategy:<br>\nI ensemble the boxes predicted by the cascade mask rcnn and yolov5x with WBF, and use the boxes to generate masks. I use WMF, which is WBF applied to the mask ensemble, and ensemble the masks of folds.<br>\nInference code and WMF code is here.<a href=\"https://www.kaggle.com/markunys/8th-place-solution-inference\" target=\"_blank\">Inference code</a>, <a href=\"https://www.kaggle.com/markunys/ensemble-boxes\" target=\"_blank\">WMF code</a><br>\nWMF code is identical to <a href=\"https://github.com/ZFTurbo/Weighted-Boxes-Fusion\" target=\"_blank\">this</a> except for including WMF.</p>\n<p>I have spent hundreds of hours on this competition, and I am very happy with the results!!</p>",
      "rawMarkdown": "My solution points\n1. cascade mask rcnn with resnext152 backbone\n2. pretrain on LIVECell dataset\n3. pseudo labeling\n4. WBF and WMF(weighted masks fusion)\n5. train and inference on each image class\n\nPipeline is [this](https://drive.google.com/file/d/1Bl5AzzTsm9_tjwezlXUvyEprOwmZcWSw/view?usp=sharing)\n\nTraining strategy : \nI tried to train the model in all classes, but it did not work, so I trained and inferenced with each class.\nI pretrained models on LIVECell dataset and finetuned with competition data. Then, I inferenced on train-semi-supervised data to generate pseudo labels.  And finally finetuned these models with competition data and pseudo labels.\nThe ways to pretrain and finetune are similar to  these codes. [pretrain](https://www.kaggle.com/markunys/sartorius-transfer-learning-train-with-livecell), [finetune](https://www.kaggle.com/markunys/sartorius-transfer-learning-train)\n\nInference strategy:\nI ensemble the boxes predicted by the cascade mask rcnn and yolov5x with WBF, and use the boxes to generate masks. I use WMF, which is WBF applied to the mask ensemble, and ensemble the masks of folds.\nInference code and WMF code is here.[Inference code](https://www.kaggle.com/markunys/8th-place-solution-inference), [WMF code](https://www.kaggle.com/markunys/ensemble-boxes)\nWMF code is identical to [this](https://github.com/ZFTurbo/Weighted-Boxes-Fusion) except for including WMF.\n\nI have spent hundreds of hours on this competition, and I am very happy with the results!!",
      "votes": null
    },
    {
      "id": "1633752",
      "postDate": "12/31/2021 03:07:12",
      "content": "<p>Congrats on solo gold <a href=\"https://www.kaggle.com/markunys\" target=\"_blank\">@markunys</a>! Nice work and thanks for sharing.</p>",
      "rawMarkdown": "Congrats on solo gold @markunys! Nice work and thanks for sharing.",
      "votes": null
    },
    {
      "id": "1633784",
      "postDate": "12/31/2021 04:07:21",
      "content": "<p>Congrats…</p>",
      "rawMarkdown": "Congrats...",
      "votes": null
    },
    {
      "id": "1633843",
      "postDate": "12/31/2021 05:14:45",
      "content": "<p>Thanks for sharing! Seems like many top solutions tried to ensemble multiple box detector, it really make sense now that we think about it, but have really been a blind spot during the competition!</p>",
      "rawMarkdown": "Thanks for sharing! Seems like many top solutions tried to ensemble multiple box detector, it really make sense now that we think about it, but have really been a blind spot during the competition!",
      "votes": null
    },
    {
      "id": "1634021",
      "postDate": "12/31/2021 09:18:13",
      "content": "<p>Congratulations and thanks for sharing! </p>",
      "rawMarkdown": "Congratulations and thanks for sharing!",
      "votes": null
    },
    {
      "id": "1634023",
      "postDate": "12/31/2021 09:19:43",
      "content": "<p>Great hard work and splendid results with your solo gold!</p>",
      "rawMarkdown": "Great hard work and splendid results with your solo gold!",
      "votes": null
    },
    {
      "id": "1634039",
      "postDate": "12/31/2021 09:53:51",
      "content": "<p>Congratulations! Well deserved gold result given the incredible amount of time you have spent on the competition. Thank you a lot for sharing your explanation, code and pipeline!</p>",
      "rawMarkdown": "Congratulations! Well deserved gold result given the incredible amount of time you have spent on the competition. Thank you a lot for sharing your explanation, code and pipeline!",
      "votes": null
    },
    {
      "id": "1634730",
      "postDate": "01/01/2022 05:00:22",
      "content": "<p>thanks for sharing ur idea</p>",
      "rawMarkdown": "thanks for sharing ur idea",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 1633752,
      "author_name": "yousof9",
      "author_url": "",
      "post_date": "12/31/2021 03:07:12",
      "content": "<p>Congrats on solo gold <a href=\"https://www.kaggle.com/markunys\" target=\"_blank\">@markunys</a>! Nice work and thanks for sharing.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 1633784,
      "author_name": "raghaw",
      "author_url": "",
      "post_date": "12/31/2021 04:07:21",
      "content": "<p>Congrats…</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 1633843,
      "author_name": "woprime",
      "author_url": "",
      "post_date": "12/31/2021 05:14:45",
      "content": "<p>Thanks for sharing! Seems like many top solutions tried to ensemble multiple box detector, it really make sense now that we think about it, but have really been a blind spot during the competition!</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 1634021,
      "author_name": "towhidultonmoy",
      "author_url": "",
      "post_date": "12/31/2021 09:18:13",
      "content": "<p>Congratulations and thanks for sharing! </p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 1634023,
      "author_name": "lucamassaron",
      "author_url": "",
      "post_date": "12/31/2021 09:19:43",
      "content": "<p>Great hard work and splendid results with your solo gold!</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 1634039,
      "author_name": "lucamassaron",
      "author_url": "",
      "post_date": "12/31/2021 09:53:51",
      "content": "<p>Congratulations! Well deserved gold result given the incredible amount of time you have spent on the competition. Thank you a lot for sharing your explanation, code and pipeline!</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 1634730,
      "author_name": "aiswaryasivakumar",
      "author_url": "",
      "post_date": "01/01/2022 05:00:22",
      "content": "<p>thanks for sharing ur idea</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "1633731": "My solution points\n1. cascade mask rcnn with resnext152 backbone\n2. pretrain on LIVECell dataset\n3. pseudo labeling\n4. WBF and WMF(weighted masks fusion)\n5. train and inference on each image class\n\nPipeline is [this](https://drive.google.com/file/d/1Bl5AzzTsm9_tjwezlXUvyEprOwmZcWSw/view?usp=sharing)\n\nTraining strategy : \nI tried to train the model in all classes, but it did not work, so I trained and inferenced with each class.\nI pretrained models on LIVECell dataset and finetuned with competition data. Then, I inferenced on train-semi-supervised data to generate pseudo labels.  And finally finetuned these models with competition data and pseudo labels.\nThe ways to pretrain and finetune are similar to  these codes. [pretrain](https://www.kaggle.com/markunys/sartorius-transfer-learning-train-with-livecell), [finetune](https://www.kaggle.com/markunys/sartorius-transfer-learning-train)\n\nInference strategy:\nI ensemble the boxes predicted by the cascade mask rcnn and yolov5x with WBF, and use the boxes to generate masks. I use WMF, which is WBF applied to the mask ensemble, and ensemble the masks of folds.\nInference code and WMF code is here.[Inference code](https://www.kaggle.com/markunys/8th-place-solution-inference), [WMF code](https://www.kaggle.com/markunys/ensemble-boxes)\nWMF code is identical to [this](https://github.com/ZFTurbo/Weighted-Boxes-Fusion) except for including WMF.\n\nI have spent hundreds of hours on this competition, and I am very happy with the results!!",
    "1633752": "Congrats on solo gold @markunys! Nice work and thanks for sharing.",
    "1633784": "Congrats...",
    "1633843": "Thanks for sharing! Seems like many top solutions tried to ensemble multiple box detector, it really make sense now that we think about it, but have really been a blind spot during the competition!",
    "1634021": "Congratulations and thanks for sharing!",
    "1634023": "Great hard work and splendid results with your solo gold!",
    "1634039": "Congratulations! Well deserved gold result given the incredible amount of time you have spent on the competition. Thank you a lot for sharing your explanation, code and pipeline!",
    "1634730": "thanks for sharing ur idea"
  },
  "source": "meta"
}