{
  "id": 290214,
  "title": "Handling Broken Masks",
  "url": "/competitions/sartorius-cell-instance-segmentation/discussion/290214",
  "author_name": "",
  "post_date": "2021-11-23T15:42:48.482867Z",
  "votes": 13,
  "comment_count": 2,
  "views": 0,
  "content": "<p><a href=\"https://www.kaggle.com/c/sartorius-cell-instance-segmentation/discussion/279488\" target=\"_blank\">As discussed from the beginning of this competition</a>, some annotation masks were broken. Correcting these broken masks, either manually or automatically (or simply ignore in loss calculation), may help to improve model performance.</p>\n<p><a href=\"https://www.kaggle.com/ren4yu/sartorius-automatically-finding-broken-masks\" target=\"_blank\">I've published a notebook</a> to automatically discover these broken masks.</p>\n<p>I am currently using the broken mask as is, but will try to ignore the broken masks as a next step.<br>\nAre there any performance improvement by properly handling of broken masks?</p>\n<p>P.S.<br>\nHow to ignore broken masks</p>\n<ul>\n<li>semantic segmentation models (e.g. UNet): use ignore_index in CrossEntropyLoss or utilize mask tensor to directly suppress pixel-wise loss from broken mask areas</li>\n<li>instance segmentation models: use iscrowd flag in COCO format dataset</li>\n</ul>",
  "messages": [
    {
      "id": "1593060",
      "postDate": "11/23/2021 15:42:48",
      "content": "<p><a href=\"https://www.kaggle.com/c/sartorius-cell-instance-segmentation/discussion/279488\" target=\"_blank\">As discussed from the beginning of this competition</a>, some annotation masks were broken. Correcting these broken masks, either manually or automatically (or simply ignore in loss calculation), may help to improve model performance.</p>\n<p><a href=\"https://www.kaggle.com/ren4yu/sartorius-automatically-finding-broken-masks\" target=\"_blank\">I've published a notebook</a> to automatically discover these broken masks.</p>\n<p>I am currently using the broken mask as is, but will try to ignore the broken masks as a next step.<br>\nAre there any performance improvement by properly handling of broken masks?</p>\n<p>P.S.<br>\nHow to ignore broken masks</p>\n<ul>\n<li>semantic segmentation models (e.g. UNet): use ignore_index in CrossEntropyLoss or utilize mask tensor to directly suppress pixel-wise loss from broken mask areas</li>\n<li>instance segmentation models: use iscrowd flag in COCO format dataset</li>\n</ul>",
      "rawMarkdown": "[As discussed from the beginning of this competition](https://www.kaggle.com/c/sartorius-cell-instance-segmentation/discussion/279488), some annotation masks were broken. Correcting these broken masks, either manually or automatically (or simply ignore in loss calculation), may help to improve model performance.\n\n[I've published a notebook](https://www.kaggle.com/ren4yu/sartorius-automatically-finding-broken-masks) to automatically discover these broken masks.\n\nI am currently using the broken mask as is, but will try to ignore the broken masks as a next step.\nAre there any performance improvement by properly handling of broken masks?\n\nP.S.\nHow to ignore broken masks\n- semantic segmentation models (e.g. UNet): use ignore_index in CrossEntropyLoss or utilize mask tensor to directly suppress pixel-wise loss from broken mask areas\n- instance segmentation models: use iscrowd flag in COCO format dataset",
      "votes": null
    },
    {
      "id": "1593507",
      "postDate": "11/24/2021 02:29:26",
      "content": "<p>I don't know how to ignore the broken mask😅</p>",
      "rawMarkdown": "I don't know how to ignore the broken mask😅",
      "votes": null
    },
    {
      "id": "1593556",
      "postDate": "11/24/2021 04:05:43",
      "content": "<p>I added some thoughts on ignoring broken masks.</p>",
      "rawMarkdown": "I added some thoughts on ignoring broken masks.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 1593507,
      "author_name": "manyuli",
      "author_url": "",
      "post_date": "11/24/2021 02:29:26",
      "content": "<p>I don't know how to ignore the broken mask😅</p>",
      "votes": null,
      "replies": [
        {
          "id": 1593556,
          "author_name": "ren4yu",
          "author_url": "",
          "post_date": "11/24/2021 04:05:43",
          "content": "<p>I added some thoughts on ignoring broken masks.</p>",
          "votes": null,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "1593060": "[As discussed from the beginning of this competition](https://www.kaggle.com/c/sartorius-cell-instance-segmentation/discussion/279488), some annotation masks were broken. Correcting these broken masks, either manually or automatically (or simply ignore in loss calculation), may help to improve model performance.\n\n[I've published a notebook](https://www.kaggle.com/ren4yu/sartorius-automatically-finding-broken-masks) to automatically discover these broken masks.\n\nI am currently using the broken mask as is, but will try to ignore the broken masks as a next step.\nAre there any performance improvement by properly handling of broken masks?\n\nP.S.\nHow to ignore broken masks\n- semantic segmentation models (e.g. UNet): use ignore_index in CrossEntropyLoss or utilize mask tensor to directly suppress pixel-wise loss from broken mask areas\n- instance segmentation models: use iscrowd flag in COCO format dataset",
    "1593507": "I don't know how to ignore the broken mask😅",
    "1593556": "I added some thoughts on ignoring broken masks."
  },
  "source": "meta"
}