{
  "id": 238333,
  "title": "13th Place Solution Summary - CVSSP & forecom.ai (0.527 LB)",
  "url": "/competitions/hpa-single-cell-image-classification/discussion/238333",
  "author_name": "SAMEED",
  "post_date": "2021-05-11T23:56:12.481000",
  "votes": 40,
  "comment_count": 4,
  "views": 0,
  "content": "<p>We enjoyed the “Human Protein Atlas - Single Cell Classification” competition very much (even though we only joined half-way through). Many thanks to the organisers, Kaggle and all participants!</p>\n<p>In the spirit of sharing with the Kaggle community, we would like to present an outline of our best submission, which we've visually summarized here:</p>\n<p><img src=\"https://i.imgur.com/Pojh5Ui.png\" alt=\"Block diagram\"></p>\n<p><strong>The key ideas used in our pipeline are:</strong></p>\n<ul>\n<li>Improved cell segmentation processing with reduced processing time</li>\n<li>Automated detection of mis-segmented cells around the borders using a trained classifier</li>\n<li>Ensemble of (4 or 7) cell-level CNN’s, including:</li>\n<li><strong>1.</strong> EfficientB4 (300×300×4)</li>\n<li><strong>2.</strong> ECA-NFNet-L1 (320×320×4)</li>\n<li><strong>3.</strong> Swin Transformer (384×384×4)</li>\n<li>Use of transformer nets</li>\n<li>Test time augmentation on all cell-level classifiers, 4x</li>\n<li>Image level classifier (Swin Transformer)</li>\n<li>Class-dependent blending of the image-level and cell-level decisions</li>\n</ul>\n<p><strong>In addition, the training was supported by</strong></p>\n<ul>\n<li>Train time augmentation, including rare-class augmentation  </li>\n<li>Focal loss and hybrid-loss training and remaining for batch</li>\n<li>AI-based Label Boosting</li>\n<li>Hand-labelling of some examples for rare classes</li>\n</ul>\n<p>We will be presenting a more detailed write-up of our solution shortly!</p>\n<p>- Sameed, Dmitry, Eng-Jon, Mirek and Mikel (anokas).</p>",
  "messages": [
    {
      "id": 1303146,
      "postDate": "2021-05-11T23:56:12.483Z",
      "content": "<p>We enjoyed the “Human Protein Atlas - Single Cell Classification” competition very much (even though we only joined half-way through). Many thanks to the organisers, Kaggle and all participants!</p>\n<p>In the spirit of sharing with the Kaggle community, we would like to present an outline of our best submission, which we've visually summarized here:</p>\n<p><img src=\"https://i.imgur.com/Pojh5Ui.png\" alt=\"Block diagram\"></p>\n<p><strong>The key ideas used in our pipeline are:</strong></p>\n<ul>\n<li>Improved cell segmentation processing with reduced processing time</li>\n<li>Automated detection of mis-segmented cells around the borders using a trained classifier</li>\n<li>Ensemble of (4 or 7) cell-level CNN’s, including:</li>\n<li><strong>1.</strong> EfficientB4 (300×300×4)</li>\n<li><strong>2.</strong> ECA-NFNet-L1 (320×320×4)</li>\n<li><strong>3.</strong> Swin Transformer (384×384×4)</li>\n<li>Use of transformer nets</li>\n<li>Test time augmentation on all cell-level classifiers, 4x</li>\n<li>Image level classifier (Swin Transformer)</li>\n<li>Class-dependent blending of the image-level and cell-level decisions</li>\n</ul>\n<p><strong>In addition, the training was supported by</strong></p>\n<ul>\n<li>Train time augmentation, including rare-class augmentation  </li>\n<li>Focal loss and hybrid-loss training and remaining for batch</li>\n<li>AI-based Label Boosting</li>\n<li>Hand-labelling of some examples for rare classes</li>\n</ul>\n<p>We will be presenting a more detailed write-up of our solution shortly!</p>\n<p>- Sameed, Dmitry, Eng-Jon, Mirek and Mikel (anokas).</p>",
      "rawMarkdown": "We enjoyed the “Human Protein Atlas - Single Cell Classification” competition very much (even though we only joined half-way through). Many thanks to the organisers, Kaggle and all participants!\n\nIn the spirit of sharing with the Kaggle community, we would like to present an outline of our best submission, which we've visually summarized here:\n\n![Block diagram](https://i.imgur.com/Pojh5Ui.png)\n\n**The key ideas used in our pipeline are:**\n- Improved cell segmentation processing with reduced processing time\n- Automated detection of mis-segmented cells around the borders using a trained classifier\n- Ensemble of (4 or 7) cell-level CNN’s, including:\n- **1.** EfficientB4 (300×300×4)\n- **2.** ECA-NFNet-L1 (320×320×4)\n- **3.** Swin Transformer (384×384×4)\n- Use of transformer nets\n- Test time augmentation on all cell-level classifiers, 4x\n- Image level classifier (Swin Transformer)\n- Class-dependent blending of the image-level and cell-level decisions\n\n**In addition, the training was supported by**\n- Train time augmentation, including rare-class augmentation  \n- Focal loss and hybrid-loss training and remaining for batch\n- AI-based Label Boosting\n- Hand-labelling of some examples for rare classes\n\nWe will be presenting a more detailed write-up of our solution shortly!\n\n\\- Sameed, Dmitry, Eng-Jon, Mirek and Mikel (anokas).",
      "votes": 40
    },
    {
      "id": 1303193,
      "postDate": "2021-05-12T00:33:56.430Z",
      "content": "<p>Congrats &amp; thanks for sharing in quick post. Using XGBoost for bad cell scale decision seems interesting, waiting for the detailed post!</p>",
      "rawMarkdown": "Congrats & thanks for sharing in quick post. Using XGBoost for bad cell scale decision seems interesting, waiting for the detailed post!",
      "votes": 3
    },
    {
      "id": 1307528,
      "postDate": "2021-05-14T13:51:17.047Z",
      "content": "<p>Very useful <br>\nupvote 👍</p>",
      "rawMarkdown": "Very useful \nupvote 👍",
      "votes": 1
    },
    {
      "id": 1303229,
      "postDate": "2021-05-12T01:16:49.527Z",
      "content": "<p><a href=\"https://www.kaggle.com/sameedhusain\" target=\"_blank\">@sameedhusain</a> Congratulations on winning medal and Thanks for sharing approach</p>",
      "rawMarkdown": "@sameedhusain Congratulations on winning medal and Thanks for sharing approach",
      "votes": 1
    },
    {
      "id": 1303257,
      "postDate": "2021-05-12T01:32:41.397Z",
      "content": "<p>Thanks for sharing your solution, do you have an estimate of how much ensembling image level classifiers helped your score? How much would you have gotten if you only used cell level classifiers?</p>",
      "rawMarkdown": "Thanks for sharing your solution, do you have an estimate of how much ensembling image level classifiers helped your score? How much would you have gotten if you only used cell level classifiers?"
    }
  ],
  "comments": [
    {
      "id": 1303193,
      "author_name": "corochann",
      "author_url": "",
      "post_date": "2021-05-12T00:33:56.430000",
      "content": "<p>Congrats &amp; thanks for sharing in quick post. Using XGBoost for bad cell scale decision seems interesting, waiting for the detailed post!</p>",
      "votes": 3,
      "replies": []
    },
    {
      "id": 1307528,
      "author_name": "Yasir Hussein Shakir",
      "author_url": "",
      "post_date": "2021-05-14T13:51:17.047000",
      "content": "<p>Very useful <br>\nupvote 👍</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1303229,
      "author_name": "Tensor Girl",
      "author_url": "",
      "post_date": "2021-05-12T01:16:49.527000",
      "content": "<p><a href=\"https://www.kaggle.com/sameedhusain\" target=\"_blank\">@sameedhusain</a> Congratulations on winning medal and Thanks for sharing approach</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1303257,
      "author_name": "novice03",
      "author_url": "",
      "post_date": "2021-05-12T01:32:41.397000",
      "content": "<p>Thanks for sharing your solution, do you have an estimate of how much ensembling image level classifiers helped your score? How much would you have gotten if you only used cell level classifiers?</p>",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "1303146": "We enjoyed the “Human Protein Atlas - Single Cell Classification” competition very much (even though we only joined half-way through). Many thanks to the organisers, Kaggle and all participants!\n\nIn the spirit of sharing with the Kaggle community, we would like to present an outline of our best submission, which we've visually summarized here:\n\n![Block diagram](https://i.imgur.com/Pojh5Ui.png)\n\n**The key ideas used in our pipeline are:**\n- Improved cell segmentation processing with reduced processing time\n- Automated detection of mis-segmented cells around the borders using a trained classifier\n- Ensemble of (4 or 7) cell-level CNN’s, including:\n- **1.** EfficientB4 (300×300×4)\n- **2.** ECA-NFNet-L1 (320×320×4)\n- **3.** Swin Transformer (384×384×4)\n- Use of transformer nets\n- Test time augmentation on all cell-level classifiers, 4x\n- Image level classifier (Swin Transformer)\n- Class-dependent blending of the image-level and cell-level decisions\n\n**In addition, the training was supported by**\n- Train time augmentation, including rare-class augmentation  \n- Focal loss and hybrid-loss training and remaining for batch\n- AI-based Label Boosting\n- Hand-labelling of some examples for rare classes\n\nWe will be presenting a more detailed write-up of our solution shortly!\n\n\\- Sameed, Dmitry, Eng-Jon, Mirek and Mikel (anokas).",
    "1303193": "Congrats & thanks for sharing in quick post. Using XGBoost for bad cell scale decision seems interesting, waiting for the detailed post!",
    "1307528": "Very useful \nupvote 👍",
    "1303229": "@sameedhusain Congratulations on winning medal and Thanks for sharing approach",
    "1303257": "Thanks for sharing your solution, do you have an estimate of how much ensembling image level classifiers helped your score? How much would you have gotten if you only used cell level classifiers?"
  }
}