{
  "id": 355509,
  "title": "48th place solution",
  "url": "/competitions/hubmap-organ-segmentation/writeups/chris-wang-48th-place-solution",
  "author_name": "",
  "post_date": "2022-09-27T03:40:56.707Z",
  "votes": 6,
  "comment_count": 1,
  "views": 0,
  "content": "<p>Thanks to  the organizers for hosting such a great competition. <br>\nI want to express my greatest gratitude to the <a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> Without his comments through the discusstions, I learned a lot in the competition from his opinion!</p>\n<h1>Augmentations</h1>\n<ul>\n<li>Because i applied different ensemble model to different model, so there was a few different augmentations.</li>\n</ul>\n<h2>Used augmentation:</h2>\n<ul>\n<li>5 simple augmentation: HSV, RANDOM FLIPS, Rotate 90 DEGREES, RANDOM NOISES, RANDOM CONTRAST</li>\n<li>Stain augmentation for specific organs (spleen, lung), i also use this augmentation to prostate, but it never got better score.</li>\n</ul>\n<h2>Different augmentation for different organs</h2>\n<ul>\n<li>5 simple augmentation for 3 organs (prostate, largeintestine, kidney)</li>\n<li>5 simple augmentation and Stain augmentation for 2 organs (spleen, lung) </li>\n</ul>\n<h1>Models (different ensemble models for each organ)</h1>\n<ul>\n<li>Training image size: 768 * 768</li>\n</ul>\n<h3>kidney, largeintestine</h3>\n<ul>\n<li>pvtv2-b4 backbone with conv3x3 decoder, 3 of 5folds (fold1,fold2,fold3),each weight are 0.05, 0.3, 0.65.</li>\n</ul>\n<h3>prostate (using ensemble models didn't get better result to public score)</h3>\n<ul>\n<li>pvtv2-b4 backbone with conv3x3 decoder, 1 of 5folds (fold3)</li>\n</ul>\n<h3>spleen</h3>\n<ul>\n<li>pvtv2-b4 backbone with conv3x3 decode, 3 of 5folds (fold1,fold2,fold3) + 1 of 4 folds for spleen only (fold3), and just averaged all model predictions</li>\n</ul>\n<h3>lung</h3>\n<ul>\n<li>pvtv2-b4 backbone with conv3x3 decode, 1 of 5folds (fold2, fold3) + </li>\n<li>pvtv2-b4 backbone with DAformer decode, 2 of 5folds lung only(fold2, fold3) +</li>\n<li>pvtv2-b4 backbone with conv3x3 decode, 1 of 5folds lung only, all training images are stain normalized(fold3)</li>\n<li>weights: 0.28 in pvtv2-b4 backbone with conv3x3 decode of fold3, others are 0.18</li>\n</ul>\n<h1>Validation</h1>\n<ul>\n<li>Using 25% training data to validation for one organ only</li>\n<li>Using 20% training data to validation for all organ training</li>\n</ul>\n<h1>Threshold</h1>\n<p>organ_threshold = {</p>\n<pre><code>'Hubmap': {\n    'kidney'        : 0.45, \n    'prostate'      : 0.40,                    \n    'largeintestine': 0.30,                  \n    'spleen'        : 0.30,                      \n    'lung'          : 0.07,                         \n},\n\n'HPA': {\n    'kidney'        : 0.50,\n    'prostate'      : 0.50,\n    'largeintestine': 0.50,\n    'spleen'        : 0.50,\n    'lung'          : 0.10,\n},\n</code></pre>\n<p>}</p>\n<h1>Detailed notebook link</h1>\n<p><a href=\"https://www.kaggle.com/code/chris666/48th-place-inference\" target=\"_blank\">https://www.kaggle.com/code/chris666/48th-place-inference</a></p>",
  "messages": [
    {
      "id": "1957528",
      "postDate": "09/27/2022 03:28:54",
      "content": "<p>Thanks to  the organizers for hosting such a great competition. <br>\nI want to express my greatest gratitude to the <a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> Without his comments through the discusstions, I learned a lot in the competition from his opinion!</p>\n<h1>Augmentations</h1>\n<ul>\n<li>Because i applied different ensemble model to different model, so there was a few different augmentations.</li>\n</ul>\n<h2>Used augmentation:</h2>\n<ul>\n<li>5 simple augmentation: HSV, RANDOM FLIPS, Rotate 90 DEGREES, RANDOM NOISES, RANDOM CONTRAST</li>\n<li>Stain augmentation for specific organs (spleen, lung), i also use this augmentation to prostate, but it never got better score.</li>\n</ul>\n<h2>Different augmentation for different organs</h2>\n<ul>\n<li>5 simple augmentation for 3 organs (prostate, largeintestine, kidney)</li>\n<li>5 simple augmentation and Stain augmentation for 2 organs (spleen, lung) </li>\n</ul>\n<h1>Models (different ensemble models for each organ)</h1>\n<ul>\n<li>Training image size: 768 * 768</li>\n</ul>\n<h3>kidney, largeintestine</h3>\n<ul>\n<li>pvtv2-b4 backbone with conv3x3 decoder, 3 of 5folds (fold1,fold2,fold3),each weight are 0.05, 0.3, 0.65.</li>\n</ul>\n<h3>prostate (using ensemble models didn't get better result to public score)</h3>\n<ul>\n<li>pvtv2-b4 backbone with conv3x3 decoder, 1 of 5folds (fold3)</li>\n</ul>\n<h3>spleen</h3>\n<ul>\n<li>pvtv2-b4 backbone with conv3x3 decode, 3 of 5folds (fold1,fold2,fold3) + 1 of 4 folds for spleen only (fold3), and just averaged all model predictions</li>\n</ul>\n<h3>lung</h3>\n<ul>\n<li>pvtv2-b4 backbone with conv3x3 decode, 1 of 5folds (fold2, fold3) + </li>\n<li>pvtv2-b4 backbone with DAformer decode, 2 of 5folds lung only(fold2, fold3) +</li>\n<li>pvtv2-b4 backbone with conv3x3 decode, 1 of 5folds lung only, all training images are stain normalized(fold3)</li>\n<li>weights: 0.28 in pvtv2-b4 backbone with conv3x3 decode of fold3, others are 0.18</li>\n</ul>\n<h1>Validation</h1>\n<ul>\n<li>Using 25% training data to validation for one organ only</li>\n<li>Using 20% training data to validation for all organ training</li>\n</ul>\n<h1>Threshold</h1>\n<p>organ_threshold = {</p>\n<pre><code>'Hubmap': {\n    'kidney'        : 0.45, \n    'prostate'      : 0.40,                    \n    'largeintestine': 0.30,                  \n    'spleen'        : 0.30,                      \n    'lung'          : 0.07,                         \n},\n\n'HPA': {\n    'kidney'        : 0.50,\n    'prostate'      : 0.50,\n    'largeintestine': 0.50,\n    'spleen'        : 0.50,\n    'lung'          : 0.10,\n},\n</code></pre>\n<p>}</p>\n<h1>Detailed notebook link</h1>\n<p><a href=\"https://www.kaggle.com/code/chris666/48th-place-inference\" target=\"_blank\">https://www.kaggle.com/code/chris666/48th-place-inference</a></p>",
      "rawMarkdown": "Thanks to  the organizers for hosting such a great competition. \nI want to express my greatest gratitude to the @hengck23 Without his comments through the discusstions, I learned a lot in the competition from his opinion!\n\n# Augmentations\n- Because i applied different ensemble model to different model, so there was a few different augmentations.\n\n## Used augmentation:\n- 5 simple augmentation: HSV, RANDOM FLIPS, Rotate 90 DEGREES, RANDOM NOISES, RANDOM CONTRAST\n- Stain augmentation for specific organs (spleen, lung), i also use this augmentation to prostate, but it never got better score.\n\n## Different augmentation for different organs\n- 5 simple augmentation for 3 organs (prostate, largeintestine, kidney)\n- 5 simple augmentation and Stain augmentation for 2 organs (spleen, lung) \n\n# Models (different ensemble models for each organ)\n-  Training image size: 768 * 768\n### kidney, largeintestine\n- pvtv2-b4 backbone with conv3x3 decoder, 3 of 5folds (fold1,fold2,fold3),each weight are 0.05, 0.3, 0.65.\n### prostate (using ensemble models didn't get better result to public score)\n- pvtv2-b4 backbone with conv3x3 decoder, 1 of 5folds (fold3)\n### spleen\n- pvtv2-b4 backbone with conv3x3 decode, 3 of 5folds (fold1,fold2,fold3) + 1 of 4 folds for spleen only (fold3), and just averaged all model predictions\n### lung \n- pvtv2-b4 backbone with conv3x3 decode, 1 of 5folds (fold2, fold3) + \n- pvtv2-b4 backbone with DAformer decode, 2 of 5folds lung only(fold2, fold3) +\n- pvtv2-b4 backbone with conv3x3 decode, 1 of 5folds lung only, all training images are stain normalized(fold3)\n- weights: 0.28 in pvtv2-b4 backbone with conv3x3 decode of fold3, others are 0.18\n\n# Validation\n- Using 25% training data to validation for one organ only\n- Using 20% training data to validation for all organ training\n\n# Threshold\n\norgan_threshold = {\n\n    'Hubmap': {\n        'kidney'        : 0.45, \n        'prostate'      : 0.40,                    \n        'largeintestine': 0.30,                  \n        'spleen'        : 0.30,                      \n        'lung'          : 0.07,                         \n    },\n\n    'HPA': {\n        'kidney'        : 0.50,\n        'prostate'      : 0.50,\n        'largeintestine': 0.50,\n        'spleen'        : 0.50,\n        'lung'          : 0.10,\n    },\n}\n\n# Detailed notebook link\nhttps://www.kaggle.com/code/chris666/48th-place-inference",
      "votes": null
    },
    {
      "id": "1972214",
      "postDate": "10/05/2022 04:07:11",
      "content": "<p>Thank you sharing your solution!!</p>\n<p>Did you use tiled or resized image for training?</p>\n<p>What does \"pvtv2\" mean?</p>",
      "rawMarkdown": "Thank you sharing your solution!!\n\nDid you use tiled or resized image for training?\n\nWhat does \"pvtv2\" mean?",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 1972214,
      "author_name": "yoshoo",
      "author_url": "",
      "post_date": "10/05/2022 04:07:11",
      "content": "<p>Thank you sharing your solution!!</p>\n<p>Did you use tiled or resized image for training?</p>\n<p>What does \"pvtv2\" mean?</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "1957528": "Thanks to  the organizers for hosting such a great competition. \nI want to express my greatest gratitude to the @hengck23 Without his comments through the discusstions, I learned a lot in the competition from his opinion!\n\n# Augmentations\n- Because i applied different ensemble model to different model, so there was a few different augmentations.\n\n## Used augmentation:\n- 5 simple augmentation: HSV, RANDOM FLIPS, Rotate 90 DEGREES, RANDOM NOISES, RANDOM CONTRAST\n- Stain augmentation for specific organs (spleen, lung), i also use this augmentation to prostate, but it never got better score.\n\n## Different augmentation for different organs\n- 5 simple augmentation for 3 organs (prostate, largeintestine, kidney)\n- 5 simple augmentation and Stain augmentation for 2 organs (spleen, lung) \n\n# Models (different ensemble models for each organ)\n-  Training image size: 768 * 768\n### kidney, largeintestine\n- pvtv2-b4 backbone with conv3x3 decoder, 3 of 5folds (fold1,fold2,fold3),each weight are 0.05, 0.3, 0.65.\n### prostate (using ensemble models didn't get better result to public score)\n- pvtv2-b4 backbone with conv3x3 decoder, 1 of 5folds (fold3)\n### spleen\n- pvtv2-b4 backbone with conv3x3 decode, 3 of 5folds (fold1,fold2,fold3) + 1 of 4 folds for spleen only (fold3), and just averaged all model predictions\n### lung \n- pvtv2-b4 backbone with conv3x3 decode, 1 of 5folds (fold2, fold3) + \n- pvtv2-b4 backbone with DAformer decode, 2 of 5folds lung only(fold2, fold3) +\n- pvtv2-b4 backbone with conv3x3 decode, 1 of 5folds lung only, all training images are stain normalized(fold3)\n- weights: 0.28 in pvtv2-b4 backbone with conv3x3 decode of fold3, others are 0.18\n\n# Validation\n- Using 25% training data to validation for one organ only\n- Using 20% training data to validation for all organ training\n\n# Threshold\n\norgan_threshold = {\n\n    'Hubmap': {\n        'kidney'        : 0.45, \n        'prostate'      : 0.40,                    \n        'largeintestine': 0.30,                  \n        'spleen'        : 0.30,                      \n        'lung'          : 0.07,                         \n    },\n\n    'HPA': {\n        'kidney'        : 0.50,\n        'prostate'      : 0.50,\n        'largeintestine': 0.50,\n        'spleen'        : 0.50,\n        'lung'          : 0.10,\n    },\n}\n\n# Detailed notebook link\nhttps://www.kaggle.com/code/chris666/48th-place-inference",
    "1972214": "Thank you sharing your solution!!\n\nDid you use tiled or resized image for training?\n\nWhat does \"pvtv2\" mean?"
  },
  "source": "meta"
}