{
  "id": 431402,
  "title": "13th place solution",
  "url": "/competitions/hubmap-hacking-the-human-vasculature/discussion/431402",
  "author_name": "kiinngdom7",
  "post_date": "2023-08-13T12:40:04.157000",
  "votes": 6,
  "comment_count": 4,
  "views": 0,
  "content": "<p>Thanks to host and congrats to winners!<br>\nThis competition gave me a lot of experience about instance segmentation. and a silver medal :)</p>\n<p>inference code : <a href=\"https://www.kaggle.com/code/kiinngdom7/hubmap-hhv-13th-place-inference\" target=\"_blank\">https://www.kaggle.com/code/kiinngdom7/hubmap-hhv-13th-place-inference</a></p>\n<p><strong>Summary</strong></p>\n<ul>\n<li>mmdetection</li>\n<li>2-fold validation</li>\n<li>cascade mask rcnn with convnext backbone</li>\n<li>multi scale tta &amp; wbf ensemble</li>\n</ul>\n<p><strong>Validation Strategy</strong></p>\n<ul>\n<li>fold 1 <ul>\n<li>train : wsi 2,3,4 / val : wsi1_ds1</li></ul></li>\n<li>fold 2<ul>\n<li>train : wsi 1,3,4 / val : wsi2_ds1</li></ul></li>\n</ul>\n<p><strong>Training</strong></p>\n<ul>\n<li>MMdet 3.0</li>\n<li>Only blood vessel class was used</li>\n<li>Augmentations<ul>\n<li>HorizontalFlip</li>\n<li>RandomRotate90</li>\n<li>RandomBrightnessContrast</li>\n<li>ShiftScaleRotate</li>\n<li>MotionBlur</li>\n<li>GaussianBlur</li></ul></li>\n<li>Models<ul>\n<li>Finally four models were used for ensemble</li>\n<li>model 1 : cascade mask rcnn with convnext_tiny backbone, fold1</li>\n<li>model 2 : cascade mask rcnn with convnext_tiny backbone, fold1</li>\n<li>model 3 : cascade mask rcnn with convnextv2_base backbone, fold2</li>\n<li>model 4 : cascade mask rcnn with convnextv2_base backbone, fold2</li></ul></li>\n</ul>\n<p><strong>TTA</strong></p>\n<ul>\n<li>Multiscale TTA<ul>\n<li>scales = [(544, 544), (576, 576), (608, 608), (640, 640), (672, 672), (704, 704)]</li></ul></li>\n</ul>\n<p><strong>Ensemble</strong></p>\n<ol>\n<li>Fuse boxes using WBF.</li>\n<li>Hard vote masks.</li>\n<li>Remove the area outside the fused box. (Not used in final submission but private score improved slightly)</li>\n</ol>\n<p><strong>Result</strong></p>\n<table>\n<thead>\n<tr>\n<th></th>\n<th>Public</th>\n<th>Private</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>model 1</td>\n<td>no_dil : 0.46 / dil : 0.526</td>\n<td>no_dil : 0.463 / dil : 0.41</td>\n</tr>\n<tr>\n<td>model 2</td>\n<td>no_dil : 0.48 / dil : 0.527</td>\n<td>no_dil : 0.466 / dil : 0.415</td>\n</tr>\n<tr>\n<td>model 3</td>\n<td>no_dil : 0.437 / dil : 0.519</td>\n<td>no_dil : 0.514 / dil : 0.395</td>\n</tr>\n<tr>\n<td>model 4</td>\n<td>no_dil : 0.452 / dil : 0.527</td>\n<td>no_dil : 0.489 / dil : 0.358</td>\n</tr>\n<tr>\n<td>ensemble</td>\n<td>no_dil : 0.479 / dil : 0.55</td>\n<td>no_dil : 0.541 / dil : 0.462</td>\n</tr>\n</tbody>\n</table>",
  "messages": [
    {
      "id": 2388506,
      "postDate": "2023-08-13T12:40:04.157Z",
      "content": "<p>Thanks to host and congrats to winners!<br>\nThis competition gave me a lot of experience about instance segmentation. and a silver medal :)</p>\n<p>inference code : <a href=\"https://www.kaggle.com/code/kiinngdom7/hubmap-hhv-13th-place-inference\" target=\"_blank\">https://www.kaggle.com/code/kiinngdom7/hubmap-hhv-13th-place-inference</a></p>\n<p><strong>Summary</strong></p>\n<ul>\n<li>mmdetection</li>\n<li>2-fold validation</li>\n<li>cascade mask rcnn with convnext backbone</li>\n<li>multi scale tta &amp; wbf ensemble</li>\n</ul>\n<p><strong>Validation Strategy</strong></p>\n<ul>\n<li>fold 1 <ul>\n<li>train : wsi 2,3,4 / val : wsi1_ds1</li></ul></li>\n<li>fold 2<ul>\n<li>train : wsi 1,3,4 / val : wsi2_ds1</li></ul></li>\n</ul>\n<p><strong>Training</strong></p>\n<ul>\n<li>MMdet 3.0</li>\n<li>Only blood vessel class was used</li>\n<li>Augmentations<ul>\n<li>HorizontalFlip</li>\n<li>RandomRotate90</li>\n<li>RandomBrightnessContrast</li>\n<li>ShiftScaleRotate</li>\n<li>MotionBlur</li>\n<li>GaussianBlur</li></ul></li>\n<li>Models<ul>\n<li>Finally four models were used for ensemble</li>\n<li>model 1 : cascade mask rcnn with convnext_tiny backbone, fold1</li>\n<li>model 2 : cascade mask rcnn with convnext_tiny backbone, fold1</li>\n<li>model 3 : cascade mask rcnn with convnextv2_base backbone, fold2</li>\n<li>model 4 : cascade mask rcnn with convnextv2_base backbone, fold2</li></ul></li>\n</ul>\n<p><strong>TTA</strong></p>\n<ul>\n<li>Multiscale TTA<ul>\n<li>scales = [(544, 544), (576, 576), (608, 608), (640, 640), (672, 672), (704, 704)]</li></ul></li>\n</ul>\n<p><strong>Ensemble</strong></p>\n<ol>\n<li>Fuse boxes using WBF.</li>\n<li>Hard vote masks.</li>\n<li>Remove the area outside the fused box. (Not used in final submission but private score improved slightly)</li>\n</ol>\n<p><strong>Result</strong></p>\n<table>\n<thead>\n<tr>\n<th></th>\n<th>Public</th>\n<th>Private</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>model 1</td>\n<td>no_dil : 0.46 / dil : 0.526</td>\n<td>no_dil : 0.463 / dil : 0.41</td>\n</tr>\n<tr>\n<td>model 2</td>\n<td>no_dil : 0.48 / dil : 0.527</td>\n<td>no_dil : 0.466 / dil : 0.415</td>\n</tr>\n<tr>\n<td>model 3</td>\n<td>no_dil : 0.437 / dil : 0.519</td>\n<td>no_dil : 0.514 / dil : 0.395</td>\n</tr>\n<tr>\n<td>model 4</td>\n<td>no_dil : 0.452 / dil : 0.527</td>\n<td>no_dil : 0.489 / dil : 0.358</td>\n</tr>\n<tr>\n<td>ensemble</td>\n<td>no_dil : 0.479 / dil : 0.55</td>\n<td>no_dil : 0.541 / dil : 0.462</td>\n</tr>\n</tbody>\n</table>",
      "rawMarkdown": "Thanks to host and congrats to winners!\nThis competition gave me a lot of experience about instance segmentation. and a silver medal :)\n\ninference code : https://www.kaggle.com/code/kiinngdom7/hubmap-hhv-13th-place-inference\n\n**Summary**\n- mmdetection\n- 2-fold validation\n- cascade mask rcnn with convnext backbone\n- multi scale tta & wbf ensemble\n\n**Validation Strategy**\n- fold 1 \n - train : wsi 2,3,4 / val : wsi1_ds1\n- fold 2\n - train : wsi 1,3,4 / val : wsi2_ds1\n\n**Training**\n- MMdet 3.0\n- Only blood vessel class was used\n- Augmentations\n - HorizontalFlip\n - RandomRotate90\n - RandomBrightnessContrast\n - ShiftScaleRotate\n - MotionBlur\n - GaussianBlur\n- Models\n - Finally four models were used for ensemble\n - model 1 : cascade mask rcnn with convnext_tiny backbone, fold1\n - model 2 : cascade mask rcnn with convnext_tiny backbone, fold1\n - model 3 : cascade mask rcnn with convnextv2_base backbone, fold2\n - model 4 : cascade mask rcnn with convnextv2_base backbone, fold2\n\n\n**TTA**\n- Multiscale TTA\n - scales = [(544, 544), (576, 576), (608, 608), (640, 640), (672, 672), (704, 704)]\n\n**Ensemble**\n1. Fuse boxes using WBF.\n2. Hard vote masks.\n3. Remove the area outside the fused box. (Not used in final submission but private score improved slightly)\n\n**Result**\n|  | Public | Private|\n| --- | --- | --- |\n| model 1 | no_dil : 0.46 / dil : 0.526 | no_dil : 0.463 / dil : 0.41 |\n| model 2 | no_dil : 0.48 / dil : 0.527 | no_dil : 0.466 / dil : 0.415 |\n| model 3 | no_dil : 0.437 / dil : 0.519 | no_dil : 0.514 / dil : 0.395 |\n| model 4 | no_dil : 0.452 / dil : 0.527 | no_dil : 0.489 / dil : 0.358 |\n| ensemble | no_dil : 0.479 / dil : 0.55 | no_dil : 0.541 / dil : 0.462 |\n\n",
      "votes": 5
    },
    {
      "id": 2389117,
      "postDate": "2023-08-13T19:51:36.243Z",
      "content": "<p>congrats, do you mind sharing your cv scores?</p>",
      "rawMarkdown": "congrats, do you mind sharing your cv scores?",
      "votes": 1,
      "replies": [
        {
          "id": 2389278,
          "postDate": "2023-08-14T00:04:08.307Z",
          "content": "<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F10800512%2Fb5b1e6464b906d849c2bd7ebf6ace89a%2FWB%20Chart.png?generation=1691971360361404&amp;alt=media\" alt=\"\"></p>\n<table>\n<thead>\n<tr>\n<th></th>\n<th>CV</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>model 1</td>\n<td>0.35</td>\n</tr>\n<tr>\n<td>model 2</td>\n<td>0.353</td>\n</tr>\n<tr>\n<td>model 3</td>\n<td>0.549</td>\n</tr>\n<tr>\n<td>model 4</td>\n<td>0.58</td>\n</tr>\n</tbody>\n</table>\n<p>Metric : mAP@0.6</p>",
          "rawMarkdown": "![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F10800512%2Fb5b1e6464b906d849c2bd7ebf6ace89a%2FWB%20Chart.png?generation=1691971360361404&alt=media)\n\n|  | CV |\n| --- | --- |\n| model 1 | 0.35 |\n| model 2 | 0.353 |\n| model 3 | 0.549 |\n| model 4 | 0.58 |\n\nMetric : mAP@0.6",
          "votes": 1,
          "replies": [
            {
              "id": 2390011,
              "postDate": "2023-08-14T10:35:15.763Z",
              "content": "<p>Thanks for sharing your solid work. Congratulations.</p>",
              "rawMarkdown": "Thanks for sharing your solid work. Congratulations.",
              "votes": 1,
              "isDeleted": true
            }
          ]
        }
      ]
    },
    {
      "id": 2389275,
      "postDate": "2023-08-14T00:03:23.753Z",
      "rawMarkdown": "",
      "isDeleted": true
    }
  ],
  "comments": [
    {
      "id": 2389117,
      "author_name": "Camilla",
      "author_url": "",
      "post_date": "2023-08-13T19:51:36.243000",
      "content": "<p>congrats, do you mind sharing your cv scores?</p>",
      "votes": 1,
      "replies": [
        {
          "id": 2389278,
          "author_name": "kiinngdom7",
          "author_url": "",
          "post_date": "2023-08-14T00:04:08.307000",
          "content": "<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F10800512%2Fb5b1e6464b906d849c2bd7ebf6ace89a%2FWB%20Chart.png?generation=1691971360361404&amp;alt=media\" alt=\"\"></p>\n<table>\n<thead>\n<tr>\n<th></th>\n<th>CV</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>model 1</td>\n<td>0.35</td>\n</tr>\n<tr>\n<td>model 2</td>\n<td>0.353</td>\n</tr>\n<tr>\n<td>model 3</td>\n<td>0.549</td>\n</tr>\n<tr>\n<td>model 4</td>\n<td>0.58</td>\n</tr>\n</tbody>\n</table>\n<p>Metric : mAP@0.6</p>",
          "votes": 1,
          "replies": [
            {
              "id": 2390011,
              "author_name": "",
              "author_url": "",
              "post_date": "2023-08-14T10:35:15.763000",
              "content": "<p>Thanks for sharing your solid work. Congratulations.</p>",
              "votes": 1,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 2389275,
      "author_name": "",
      "author_url": "",
      "post_date": "2023-08-14T00:03:23.753000",
      "content": "",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "2388506": "Thanks to host and congrats to winners!\nThis competition gave me a lot of experience about instance segmentation. and a silver medal :)\n\ninference code : https://www.kaggle.com/code/kiinngdom7/hubmap-hhv-13th-place-inference\n\n**Summary**\n- mmdetection\n- 2-fold validation\n- cascade mask rcnn with convnext backbone\n- multi scale tta & wbf ensemble\n\n**Validation Strategy**\n- fold 1 \n - train : wsi 2,3,4 / val : wsi1_ds1\n- fold 2\n - train : wsi 1,3,4 / val : wsi2_ds1\n\n**Training**\n- MMdet 3.0\n- Only blood vessel class was used\n- Augmentations\n - HorizontalFlip\n - RandomRotate90\n - RandomBrightnessContrast\n - ShiftScaleRotate\n - MotionBlur\n - GaussianBlur\n- Models\n - Finally four models were used for ensemble\n - model 1 : cascade mask rcnn with convnext_tiny backbone, fold1\n - model 2 : cascade mask rcnn with convnext_tiny backbone, fold1\n - model 3 : cascade mask rcnn with convnextv2_base backbone, fold2\n - model 4 : cascade mask rcnn with convnextv2_base backbone, fold2\n\n\n**TTA**\n- Multiscale TTA\n - scales = [(544, 544), (576, 576), (608, 608), (640, 640), (672, 672), (704, 704)]\n\n**Ensemble**\n1. Fuse boxes using WBF.\n2. Hard vote masks.\n3. Remove the area outside the fused box. (Not used in final submission but private score improved slightly)\n\n**Result**\n|  | Public | Private|\n| --- | --- | --- |\n| model 1 | no_dil : 0.46 / dil : 0.526 | no_dil : 0.463 / dil : 0.41 |\n| model 2 | no_dil : 0.48 / dil : 0.527 | no_dil : 0.466 / dil : 0.415 |\n| model 3 | no_dil : 0.437 / dil : 0.519 | no_dil : 0.514 / dil : 0.395 |\n| model 4 | no_dil : 0.452 / dil : 0.527 | no_dil : 0.489 / dil : 0.358 |\n| ensemble | no_dil : 0.479 / dil : 0.55 | no_dil : 0.541 / dil : 0.462 |\n\n",
    "2389117": "congrats, do you mind sharing your cv scores?",
    "2389275": ""
  }
}