{
  "id": 116708,
  "title": "Accurate Masks without post prow",
  "url": "/competitions/understanding_cloud_organization/discussion/116708",
  "author_name": "",
  "post_date": "2019-11-10T23:58:48.017546500Z",
  "votes": 2,
  "comment_count": 3,
  "views": 0,
  "content": "<p>How can we generate such accurate masks without post processing? Like Xuan shared that he trained a NN without post processing and achieved 0.644 with that.\nI have tried multiple approaches and applied multiple papers but of no use. \nI would like you to share your thoughts about this... </p>",
  "messages": [
    {
      "id": "670054",
      "postDate": "11/10/2019 23:58:48",
      "content": "<p>How can we generate such accurate masks without post processing? Like Xuan shared that he trained a NN without post processing and achieved 0.644 with that.\nI have tried multiple approaches and applied multiple papers but of no use. \nI would like you to share your thoughts about this... </p>",
      "rawMarkdown": "How can we generate such accurate masks without post processing? Like Xuan shared that he trained a NN without post processing and achieved 0.644 with that.\nI have tried multiple approaches and applied multiple papers but of no use. \nI would like you to share your thoughts about this...",
      "votes": null
    },
    {
      "id": "671755",
      "postDate": "11/13/2019 05:55:05",
      "content": "<p>This is a great question <a href=\"/micheomaano\">@micheomaano</a> You can make a neural network do anything you want by modifying one or all of the following (1) training data (2) network architecture (3) network loss function. For example if you use a \"per-image\" loss (instead of \"per-batch\") it will encourage your network to remove masks. Or you can add an L1 penalty for size of mask, i.e <code>loss = Dice + sum_of_mask_pixels/525/350</code>. Alternatively you can let your network create uneccessary masks and remove them with a <code>min_area_check</code> and/or classifier.</p>",
      "rawMarkdown": "This is a great question @micheomaano You can make a neural network do anything you want by modifying one or all of the following (1) training data (2) network architecture (3) network loss function. For example if you use a \"per-image\" loss (instead of \"per-batch\") it will encourage your network to remove masks. Or you can add an L1 penalty for size of mask, i.e `loss = Dice + sum_of_mask_pixels/525/350`. Alternatively you can let your network create uneccessary masks and remove them with a `min_area_check` and/or classifier.",
      "votes": null
    },
    {
      "id": "671818",
      "postDate": "11/13/2019 07:26:05",
      "content": "<p>I can't understand what does \"without postprocessing\" mean. The output of segmentation model is already probability of each pixel, then we must do some \"postprocessing\" to convert it to binary mask. That is to me \"postprocessing\" already.</p>",
      "rawMarkdown": "I can't understand what does \"without postprocessing\" mean. The output of segmentation model is already probability of each pixel, then we must do some \"postprocessing\" to convert it to binary mask. That is to me \"postprocessing\" already.",
      "votes": null
    },
    {
      "id": "672279",
      "postDate": "11/13/2019 17:55:27",
      "content": "<p><a href=\"/cdeotte\">@cdeotte</a> Thank you very much. Now it is all clear to me. </p>",
      "rawMarkdown": "cdeotte Thank you very much. Now it is all clear to me.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 671755,
      "author_name": "cdeotte",
      "author_url": "",
      "post_date": "11/13/2019 05:55:05",
      "content": "<p>This is a great question <a href=\"/micheomaano\">@micheomaano</a> You can make a neural network do anything you want by modifying one or all of the following (1) training data (2) network architecture (3) network loss function. For example if you use a \"per-image\" loss (instead of \"per-batch\") it will encourage your network to remove masks. Or you can add an L1 penalty for size of mask, i.e <code>loss = Dice + sum_of_mask_pixels/525/350</code>. Alternatively you can let your network create uneccessary masks and remove them with a <code>min_area_check</code> and/or classifier.</p>",
      "votes": null,
      "replies": [
        {
          "id": 672279,
          "author_name": "micheomaano",
          "author_url": "",
          "post_date": "11/13/2019 17:55:27",
          "content": "<p><a href=\"/cdeotte\">@cdeotte</a> Thank you very much. Now it is all clear to me. </p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 671818,
      "author_name": "khahuras",
      "author_url": "",
      "post_date": "11/13/2019 07:26:05",
      "content": "<p>I can't understand what does \"without postprocessing\" mean. The output of segmentation model is already probability of each pixel, then we must do some \"postprocessing\" to convert it to binary mask. That is to me \"postprocessing\" already.</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "670054": "How can we generate such accurate masks without post processing? Like Xuan shared that he trained a NN without post processing and achieved 0.644 with that.\nI have tried multiple approaches and applied multiple papers but of no use. \nI would like you to share your thoughts about this...",
    "671755": "This is a great question @micheomaano You can make a neural network do anything you want by modifying one or all of the following (1) training data (2) network architecture (3) network loss function. For example if you use a \"per-image\" loss (instead of \"per-batch\") it will encourage your network to remove masks. Or you can add an L1 penalty for size of mask, i.e `loss = Dice + sum_of_mask_pixels/525/350`. Alternatively you can let your network create uneccessary masks and remove them with a `min_area_check` and/or classifier.",
    "671818": "I can't understand what does \"without postprocessing\" mean. The output of segmentation model is already probability of each pixel, then we must do some \"postprocessing\" to convert it to binary mask. That is to me \"postprocessing\" already.",
    "672279": "cdeotte Thank you very much. Now it is all clear to me."
  },
  "source": "meta"
}