{
  "id": 418461,
  "title": "Why this competition is structured as instance segmentation?",
  "url": "/competitions/hubmap-hacking-the-human-vasculature/discussion/418461",
  "author_name": "",
  "post_date": "2023-06-20T18:47:09.621023100Z",
  "votes": 13,
  "comment_count": 5,
  "views": 0,
  "content": "<p>There's only one class. Instances do not overlap. Why not use simple semantic segmentation with IoU or dice metric? I see no practical benefits of much more complex detection/instance segmentation pipelines. Maybe I'm missing something.</p>",
  "messages": [
    {
      "id": "2310965",
      "postDate": "06/20/2023 18:47:09",
      "content": "<p>There's only one class. Instances do not overlap. Why not use simple semantic segmentation with IoU or dice metric? I see no practical benefits of much more complex detection/instance segmentation pipelines. Maybe I'm missing something.</p>",
      "rawMarkdown": "There's only one class. Instances do not overlap. Why not use simple semantic segmentation with IoU or dice metric? I see no practical benefits of much more complex detection/instance segmentation pipelines. Maybe I'm missing something.",
      "votes": null
    },
    {
      "id": "2310967",
      "postDate": "06/20/2023 19:01:43",
      "content": "<p>how do you know if instances do not overlap ? i am not sure that vessel are annotated inside the gromerulus region (so if gromerulus contain non annotated data it is overlapping)? so we need to detect both class to remove vessel in gromerulus ? (i ask a question here)<br>\nnevermind you cant be sure there are non overlapping even blood vessel in private data</p>",
      "rawMarkdown": "how do you know if instances do not overlap ? i am not sure that vessel are annotated inside the gromerulus region (so if gromerulus contain non annotated data it is overlapping)? so we need to detect both class to remove vessel in gromerulus ? (i ask a question here)\nnevermind you cant be sure there are non overlapping even blood vessel in private data",
      "votes": null
    },
    {
      "id": "2311467",
      "postDate": "06/21/2023 07:13:47",
      "content": "<p>I agree with you. It feels like they tried to make it more complicated then it should be. The problem seems straightforward but the metric and instance segmentation makes it harder.</p>",
      "rawMarkdown": "I agree with you. It feels like they tried to make it more complicated then it should be. The problem seems straightforward but the metric and instance segmentation makes it harder.",
      "votes": null
    },
    {
      "id": "2315440",
      "postDate": "06/24/2023 06:18:25",
      "content": "<p>1) from the ground truth merge all mask into one (this is upper limit of semantic segmentation model like unet)<br>\n2) use connected component analysis or other post-processing methods to get instance mask from meged mask<br>\n3) measure instance segmentation performance metric (e.g. map0.50-0.95)</p>\n<p>if you get performance metric=1, then you can use semantic segmentation.<br>\nwe are interested in the performance loss (i.e. how many of the instance mask actually overlap)</p>\n<hr>\n<p>you can do another experiment:</p>\n<ul>\n<li>train a norm instance segmentation model (like yolov7). fuse all mask and measure semantic mask loss</li>\n<li>train a unet model. measure semantic mask loss</li>\n</ul>\n<p>if unet detects more pixels, it means there many small masks that instance segmentation model can easily miss</p>",
      "rawMarkdown": "1) from the ground truth merge all mask into one (this is upper limit of semantic segmentation model like unet)\n2) use connected component analysis or other post-processing methods to get instance mask from meged mask\n3) measure instance segmentation performance metric (e.g. map0.50-0.95)\n\nif you get performance metric=1, then you can use semantic segmentation.\nwe are interested in the performance loss (i.e. how many of the instance mask actually overlap)\n\n---\n\nyou can do another experiment:\n- train a norm instance segmentation model (like yolov7). fuse all mask and measure semantic mask loss\n- train a unet model. measure semantic mask loss\n\nif unet detects more pixels, it means there many small masks that instance segmentation model can easily miss",
      "votes": null
    },
    {
      "id": "2320963",
      "postDate": "06/28/2023 07:32:44",
      "content": "<p>If two vessels are close with each other, simple unet+connectedcomponent will probably regard it as one instance. I think this might decrease the score.</p>",
      "rawMarkdown": "If two vessels are close with each other, simple unet+connectedcomponent will probably regard it as one instance. I think this might decrease the score.",
      "votes": null
    },
    {
      "id": "2336154",
      "postDate": "07/09/2023 06:57:47",
      "content": "<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F13974146%2F0af2bf6ab209bda0e6f51f27c8fb67e8%2F2023-07-09%2014.56.00.png?generation=1688885864451523&amp;alt=media\" alt=\"\"></p>",
      "rawMarkdown": "![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F13974146%2F0af2bf6ab209bda0e6f51f27c8fb67e8%2F2023-07-09%2014.56.00.png?generation=1688885864451523&alt=media)",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 2310967,
      "author_name": "iraqbot",
      "author_url": "",
      "post_date": "06/20/2023 19:01:43",
      "content": "<p>how do you know if instances do not overlap ? i am not sure that vessel are annotated inside the gromerulus region (so if gromerulus contain non annotated data it is overlapping)? so we need to detect both class to remove vessel in gromerulus ? (i ask a question here)<br>\nnevermind you cant be sure there are non overlapping even blood vessel in private data</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 2311467,
      "author_name": "gunesevitan",
      "author_url": "",
      "post_date": "06/21/2023 07:13:47",
      "content": "<p>I agree with you. It feels like they tried to make it more complicated then it should be. The problem seems straightforward but the metric and instance segmentation makes it harder.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 2315440,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "06/24/2023 06:18:25",
      "content": "<p>1) from the ground truth merge all mask into one (this is upper limit of semantic segmentation model like unet)<br>\n2) use connected component analysis or other post-processing methods to get instance mask from meged mask<br>\n3) measure instance segmentation performance metric (e.g. map0.50-0.95)</p>\n<p>if you get performance metric=1, then you can use semantic segmentation.<br>\nwe are interested in the performance loss (i.e. how many of the instance mask actually overlap)</p>\n<hr>\n<p>you can do another experiment:</p>\n<ul>\n<li>train a norm instance segmentation model (like yolov7). fuse all mask and measure semantic mask loss</li>\n<li>train a unet model. measure semantic mask loss</li>\n</ul>\n<p>if unet detects more pixels, it means there many small masks that instance segmentation model can easily miss</p>",
      "votes": null,
      "replies": [
        {
          "id": 2320963,
          "author_name": "rickylu",
          "author_url": "",
          "post_date": "06/28/2023 07:32:44",
          "content": "<p>If two vessels are close with each other, simple unet+connectedcomponent will probably regard it as one instance. I think this might decrease the score.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 2336154,
      "author_name": "distiller",
      "author_url": "",
      "post_date": "07/09/2023 06:57:47",
      "content": "<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F13974146%2F0af2bf6ab209bda0e6f51f27c8fb67e8%2F2023-07-09%2014.56.00.png?generation=1688885864451523&amp;alt=media\" alt=\"\"></p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "2310965": "There's only one class. Instances do not overlap. Why not use simple semantic segmentation with IoU or dice metric? I see no practical benefits of much more complex detection/instance segmentation pipelines. Maybe I'm missing something.",
    "2310967": "how do you know if instances do not overlap ? i am not sure that vessel are annotated inside the gromerulus region (so if gromerulus contain non annotated data it is overlapping)? so we need to detect both class to remove vessel in gromerulus ? (i ask a question here)\nnevermind you cant be sure there are non overlapping even blood vessel in private data",
    "2311467": "I agree with you. It feels like they tried to make it more complicated then it should be. The problem seems straightforward but the metric and instance segmentation makes it harder.",
    "2315440": "1) from the ground truth merge all mask into one (this is upper limit of semantic segmentation model like unet)\n2) use connected component analysis or other post-processing methods to get instance mask from meged mask\n3) measure instance segmentation performance metric (e.g. map0.50-0.95)\n\nif you get performance metric=1, then you can use semantic segmentation.\nwe are interested in the performance loss (i.e. how many of the instance mask actually overlap)\n\n---\n\nyou can do another experiment:\n- train a norm instance segmentation model (like yolov7). fuse all mask and measure semantic mask loss\n- train a unet model. measure semantic mask loss\n\nif unet detects more pixels, it means there many small masks that instance segmentation model can easily miss",
    "2320963": "If two vessels are close with each other, simple unet+connectedcomponent will probably regard it as one instance. I think this might decrease the score.",
    "2336154": "![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F13974146%2F0af2bf6ab209bda0e6f51f27c8fb67e8%2F2023-07-09%2014.56.00.png?generation=1688885864451523&alt=media)"
  },
  "source": "meta"
}