{
  "id": 417747,
  "title": "How to start?",
  "url": "/competitions/hubmap-hacking-the-human-vasculature/discussion/417747",
  "author_name": "",
  "post_date": "2023-06-17T01:45:09.340294400Z",
  "votes": 2,
  "comment_count": 4,
  "views": 0,
  "content": "<p>Greetings,<br>\nI want to ask if those are possible approach and gather a basic approach, because i never did instance segmentation.<br>\nI initially made a post and removed it to ask if binary segmentation could be an option or even multi class and remove the glomeruls part in the final pred mask, then find each component: i initially thought that could be a good idea while writting the post but i realized the possible limitation: overlapping blood vessel if any for example…</p>\n<p>then i checked a bit the available code for thsi competion and i found that object detection model are used so i trained a yolov8 (with the available annotated yolo format thanks a lot whoever did this !)<br>\ni trained a detection model and segmentation one, so i understand that the yoloseg one could be a fast solution.<br>\nBut i want to use a different segmentation  of yolov8 i saw that the head is customizable but i am too lazy to dig Directly there ahah.</p>\n<p>So is a solution like detection part with yolo + retreiving location of detected blood vessel + segmentation with \"different than yoloseg head\" of individual location ok?</p>\n<p>Or i am totally out of context and there are  \"goto\" solutions?</p>\n<p>Thanks!</p>",
  "messages": [
    {
      "id": "2305905",
      "postDate": "06/17/2023 01:45:09",
      "content": "<p>Greetings,<br>\nI want to ask if those are possible approach and gather a basic approach, because i never did instance segmentation.<br>\nI initially made a post and removed it to ask if binary segmentation could be an option or even multi class and remove the glomeruls part in the final pred mask, then find each component: i initially thought that could be a good idea while writting the post but i realized the possible limitation: overlapping blood vessel if any for example…</p>\n<p>then i checked a bit the available code for thsi competion and i found that object detection model are used so i trained a yolov8 (with the available annotated yolo format thanks a lot whoever did this !)<br>\ni trained a detection model and segmentation one, so i understand that the yoloseg one could be a fast solution.<br>\nBut i want to use a different segmentation  of yolov8 i saw that the head is customizable but i am too lazy to dig Directly there ahah.</p>\n<p>So is a solution like detection part with yolo + retreiving location of detected blood vessel + segmentation with \"different than yoloseg head\" of individual location ok?</p>\n<p>Or i am totally out of context and there are  \"goto\" solutions?</p>\n<p>Thanks!</p>",
      "rawMarkdown": "Greetings,\nI want to ask if those are possible approach and gather a basic approach, because i never did instance segmentation.\nI initially made a post and removed it to ask if binary segmentation could be an option or even multi class and remove the glomeruls part in the final pred mask, then find each component: i initially thought that could be a good idea while writting the post but i realized the possible limitation: overlapping blood vessel if any for example...\n\nthen i checked a bit the available code for thsi competion and i found that object detection model are used so i trained a yolov8 (with the available annotated yolo format thanks a lot whoever did this !)\ni trained a detection model and segmentation one, so i understand that the yoloseg one could be a fast solution.\nBut i want to use a different segmentation  of yolov8 i saw that the head is customizable but i am too lazy to dig Directly there ahah.\n\nSo is a solution like detection part with yolo + retreiving location of detected blood vessel + segmentation with \"different than yoloseg head\" of individual location ok?\n\nOr i am totally out of context and there are  \"goto\" solutions?\n\nThanks!",
      "votes": null
    },
    {
      "id": "2306785",
      "postDate": "06/17/2023 15:15:40",
      "content": "<p>alright no answer, but i wouldnt read that my self, the post above is way too long and i dont understand what i said ahah, so i will post the journey of how the newbie approacvh the problem because i dont even know if i will be able to finish this competition with those skill issues and that could be Maybe useful for other:</p>\n<p>mask/segmentation</p>\n<p>i first create segmentation mask for all the class of the dataset in different folder with the given polygon annotation, what i understand is lgomerulus = useless but blood vessel could be potentially in glomerulus? because not manually annotated in the glomerulus region? so either i drop the entire segmented glomerulus in the image to not disturb the training supervised process or i let it and semi supervised or relabel those specific region that potentially are not annotated.<br>\ni chose to let it just to have a baseline first…</p>\n<p>example binarized mask of blood vessel class along its corresponding image:</p>\n<p><a href=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6851656%2F72bea4bb1f6087d38bc53ec400821fee%2F0006ff2aa7cd.tif?generation=1687013905773140&amp;alt=media\" target=\"_blank\">image</a><br>\n<a href=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6851656%2F6bd126fd7aaeaf7c09b6cc9d48ce4a84%2F0006ff2aa7cd%20(2).png?generation=1687013982839780&amp;alt=media\" target=\"_blank\">mask</a></p>\n<p>I then extract each bounding box of a specified class here i chose the blood vessel one with the converted binary mask.<br>\nso now i have multiple image of different pixel area like that and their respective mask which should be only blood vessel:</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6851656%2F083308cd4e1930af7ca0dbc1744fbdee%2F0006ff2aa7cd_bbox1.png?generation=1687015440422737&amp;alt=media\" alt=\"imagebb\"><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6851656%2F91d603fd4853c40598535678339b2ba4%2F0006ff2aa7cd_bbox1.png?generation=1687014064697105&amp;alt=media\" alt=\"maskbb\"></p>\n<p>i maybe need pad all the image to be in a specific size or  just resize, should i resize all the image to the maximun one? should i keep the same ratio ?(i think yes)</p>\n<p>anyway i wanted to know the max area extracted bound ing box of the image : <br>\nso i plotted and printed area size, i found that:</p>\n<p><a href=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6851656%2Fcd52619b6be258ad7dbd1467ba2b00f3%2F556692ccbfb9_bbox4%20(1).tif?generation=1687014239847159&amp;alt=media\" target=\"_blank\">bigboy</a></p>\n<p>i dont know anything about medical image etc but if its correct its a really big vessel.<br>\nso i decided to do this for the top 10 big area and esult where all similar, again its disturbing.</p>\n<p>then plot interquartil range and have aroud 4400 surface area treshold (i just googled what iqr meant…)<br>\n<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6851656%2F4a70b7fda41d4d0e736c78101b42f81d%2Fdownload.png?generation=1687015063757700&amp;alt=media\" alt=\"IQr\"><br>\nso maybe i should drop all the outlier? i will see later</p>\n<p>detection </p>\n<p>in parallel i do detection with yolov8 with formated json to text for yolo format, i just use detection here.</p>\n<p>result are meh: i trained for 50 epoch without tuning any parameter with image size = original<br>\ni should maybe handle the unsure drop by change as blood vessel or drop the class ?</p>\n<p>Ground truth:<br>\n<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6851656%2Faba18ce6924fe3cd528f73d63d491d8e%2FGt.png?generation=1687014888235889&amp;alt=media\" alt=\"Truth\"><br>\nPrecition:<br>\n<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6851656%2F5785d536c9273ca7d40bbef239f5156c%2Fpred.png?generation=1687014851554143&amp;alt=media\" alt=\"prediction\"></p>\n<p>combine the two<br>\ni now have to train a segmentation on only blood vessel with the available annotation (i will train on the extracted bounding box i think).</p>\n<p>i could then infer an image in the detection model, retreive individual bounding box, use the segmentation model to this bounding box, and find a way to format all this mess according to the example submission.csv…</p>",
      "rawMarkdown": "alright no answer, but i wouldnt read that my self, the post above is way too long and i dont understand what i said ahah, so i will post the journey of how the newbie approacvh the problem because i dont even know if i will be able to finish this competition with those skill issues and that could be Maybe useful for other:\n\nmask/segmentation\n\ni first create segmentation mask for all the class of the dataset in different folder with the given polygon annotation, what i understand is lgomerulus = useless but blood vessel could be potentially in glomerulus? because not manually annotated in the glomerulus region? so either i drop the entire segmented glomerulus in the image to not disturb the training supervised process or i let it and semi supervised or relabel those specific region that potentially are not annotated.\ni chose to let it just to have a baseline first...\n\nexample binarized mask of blood vessel class along its corresponding image:\n\n[image](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6851656%2F72bea4bb1f6087d38bc53ec400821fee%2F0006ff2aa7cd.tif?generation=1687013905773140&alt=media)\n[mask](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6851656%2F6bd126fd7aaeaf7c09b6cc9d48ce4a84%2F0006ff2aa7cd%20(2).png?generation=1687013982839780&alt=media)\n\nI then extract each bounding box of a specified class here i chose the blood vessel one with the converted binary mask.\nso now i have multiple image of different pixel area like that and their respective mask which should be only blood vessel:\n\n![imagebb](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6851656%2F083308cd4e1930af7ca0dbc1744fbdee%2F0006ff2aa7cd_bbox1.png?generation=1687015440422737&alt=media)![maskbb](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6851656%2F91d603fd4853c40598535678339b2ba4%2F0006ff2aa7cd_bbox1.png?generation=1687014064697105&alt=media)\n\ni maybe need pad all the image to be in a specific size or  just resize, should i resize all the image to the maximun one? should i keep the same ratio ?(i think yes)\n\nanyway i wanted to know the max area extracted bound ing box of the image : \nso i plotted and printed area size, i found that:\n\n[bigboy](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6851656%2Fcd52619b6be258ad7dbd1467ba2b00f3%2F556692ccbfb9_bbox4%20(1).tif?generation=1687014239847159&alt=media)\n\ni dont know anything about medical image etc but if its correct its a really big vessel.\nso i decided to do this for the top 10 big area and esult where all similar, again its disturbing.\n\nthen plot interquartil range and have aroud 4400 surface area treshold (i just googled what iqr meant...)\n![IQr](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6851656%2F4a70b7fda41d4d0e736c78101b42f81d%2Fdownload.png?generation=1687015063757700&alt=media)\nso maybe i should drop all the outlier? i will see later\n\n\ndetection \n\nin parallel i do detection with yolov8 with formated json to text for yolo format, i just use detection here.\n\nresult are meh: i trained for 50 epoch without tuning any parameter with image size = original\ni should maybe handle the unsure drop by change as blood vessel or drop the class ?\n\nGround truth:\n![Truth](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6851656%2Faba18ce6924fe3cd528f73d63d491d8e%2FGt.png?generation=1687014888235889&alt=media)\nPrecition:\n![prediction](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6851656%2F5785d536c9273ca7d40bbef239f5156c%2Fpred.png?generation=1687014851554143&alt=media)\n\n\ncombine the two\ni now have to train a segmentation on only blood vessel with the available annotation (i will train on the extracted bounding box i think).\n\n\ni could then infer an image in the detection model, retreive individual bounding box, use the segmentation model to this bounding box, and find a way to format all this mess according to the example submission.csv...",
      "votes": null
    },
    {
      "id": "2307134",
      "postDate": "06/17/2023 21:13:55",
      "content": "<p>I'm a total newbie in the domain of Image Segmentation, this discussion had given a basic idea, thanks</p>",
      "rawMarkdown": "I'm a total newbie in the domain of Image Segmentation, this discussion had given a basic idea, thanks",
      "votes": null
    },
    {
      "id": "2307152",
      "postDate": "06/17/2023 22:02:45",
      "content": "<p>wait that just how i attempt to approach the problem i dont even know if it's correct  ahah but for sure the yolov8seg is a possible way to do it and i think the licence is ok…</p>",
      "rawMarkdown": "wait that just how i attempt to approach the problem i dont even know if it's correct  ahah but for sure the yolov8seg is a possible way to do it and i think the licence is ok...",
      "votes": null
    },
    {
      "id": "2307476",
      "postDate": "06/18/2023 08:18:29",
      "content": "<p>Yeah, it was a great headstart for newbies for sure XD</p>",
      "rawMarkdown": "Yeah, it was a great headstart for newbies for sure XD",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 2306785,
      "author_name": "iraqbot",
      "author_url": "",
      "post_date": "06/17/2023 15:15:40",
      "content": "<p>alright no answer, but i wouldnt read that my self, the post above is way too long and i dont understand what i said ahah, so i will post the journey of how the newbie approacvh the problem because i dont even know if i will be able to finish this competition with those skill issues and that could be Maybe useful for other:</p>\n<p>mask/segmentation</p>\n<p>i first create segmentation mask for all the class of the dataset in different folder with the given polygon annotation, what i understand is lgomerulus = useless but blood vessel could be potentially in glomerulus? because not manually annotated in the glomerulus region? so either i drop the entire segmented glomerulus in the image to not disturb the training supervised process or i let it and semi supervised or relabel those specific region that potentially are not annotated.<br>\ni chose to let it just to have a baseline first…</p>\n<p>example binarized mask of blood vessel class along its corresponding image:</p>\n<p><a href=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6851656%2F72bea4bb1f6087d38bc53ec400821fee%2F0006ff2aa7cd.tif?generation=1687013905773140&amp;alt=media\" target=\"_blank\">image</a><br>\n<a href=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6851656%2F6bd126fd7aaeaf7c09b6cc9d48ce4a84%2F0006ff2aa7cd%20(2).png?generation=1687013982839780&amp;alt=media\" target=\"_blank\">mask</a></p>\n<p>I then extract each bounding box of a specified class here i chose the blood vessel one with the converted binary mask.<br>\nso now i have multiple image of different pixel area like that and their respective mask which should be only blood vessel:</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6851656%2F083308cd4e1930af7ca0dbc1744fbdee%2F0006ff2aa7cd_bbox1.png?generation=1687015440422737&amp;alt=media\" alt=\"imagebb\"><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6851656%2F91d603fd4853c40598535678339b2ba4%2F0006ff2aa7cd_bbox1.png?generation=1687014064697105&amp;alt=media\" alt=\"maskbb\"></p>\n<p>i maybe need pad all the image to be in a specific size or  just resize, should i resize all the image to the maximun one? should i keep the same ratio ?(i think yes)</p>\n<p>anyway i wanted to know the max area extracted bound ing box of the image : <br>\nso i plotted and printed area size, i found that:</p>\n<p><a href=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6851656%2Fcd52619b6be258ad7dbd1467ba2b00f3%2F556692ccbfb9_bbox4%20(1).tif?generation=1687014239847159&amp;alt=media\" target=\"_blank\">bigboy</a></p>\n<p>i dont know anything about medical image etc but if its correct its a really big vessel.<br>\nso i decided to do this for the top 10 big area and esult where all similar, again its disturbing.</p>\n<p>then plot interquartil range and have aroud 4400 surface area treshold (i just googled what iqr meant…)<br>\n<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6851656%2F4a70b7fda41d4d0e736c78101b42f81d%2Fdownload.png?generation=1687015063757700&amp;alt=media\" alt=\"IQr\"><br>\nso maybe i should drop all the outlier? i will see later</p>\n<p>detection </p>\n<p>in parallel i do detection with yolov8 with formated json to text for yolo format, i just use detection here.</p>\n<p>result are meh: i trained for 50 epoch without tuning any parameter with image size = original<br>\ni should maybe handle the unsure drop by change as blood vessel or drop the class ?</p>\n<p>Ground truth:<br>\n<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6851656%2Faba18ce6924fe3cd528f73d63d491d8e%2FGt.png?generation=1687014888235889&amp;alt=media\" alt=\"Truth\"><br>\nPrecition:<br>\n<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6851656%2F5785d536c9273ca7d40bbef239f5156c%2Fpred.png?generation=1687014851554143&amp;alt=media\" alt=\"prediction\"></p>\n<p>combine the two<br>\ni now have to train a segmentation on only blood vessel with the available annotation (i will train on the extracted bounding box i think).</p>\n<p>i could then infer an image in the detection model, retreive individual bounding box, use the segmentation model to this bounding box, and find a way to format all this mess according to the example submission.csv…</p>",
      "votes": null,
      "replies": [
        {
          "id": 2307134,
          "author_name": "squarehare",
          "author_url": "",
          "post_date": "06/17/2023 21:13:55",
          "content": "<p>I'm a total newbie in the domain of Image Segmentation, this discussion had given a basic idea, thanks</p>",
          "votes": null,
          "replies": [
            {
              "id": 2307152,
              "author_name": "iraqbot",
              "author_url": "",
              "post_date": "06/17/2023 22:02:45",
              "content": "<p>wait that just how i attempt to approach the problem i dont even know if it's correct  ahah but for sure the yolov8seg is a possible way to do it and i think the licence is ok…</p>",
              "votes": null,
              "replies": [
                {
                  "id": 2307476,
                  "author_name": "squarehare",
                  "author_url": "",
                  "post_date": "06/18/2023 08:18:29",
                  "content": "<p>Yeah, it was a great headstart for newbies for sure XD</p>",
                  "votes": null,
                  "replies": []
                }
              ]
            }
          ]
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "2305905": "Greetings,\nI want to ask if those are possible approach and gather a basic approach, because i never did instance segmentation.\nI initially made a post and removed it to ask if binary segmentation could be an option or even multi class and remove the glomeruls part in the final pred mask, then find each component: i initially thought that could be a good idea while writting the post but i realized the possible limitation: overlapping blood vessel if any for example...\n\nthen i checked a bit the available code for thsi competion and i found that object detection model are used so i trained a yolov8 (with the available annotated yolo format thanks a lot whoever did this !)\ni trained a detection model and segmentation one, so i understand that the yoloseg one could be a fast solution.\nBut i want to use a different segmentation  of yolov8 i saw that the head is customizable but i am too lazy to dig Directly there ahah.\n\nSo is a solution like detection part with yolo + retreiving location of detected blood vessel + segmentation with \"different than yoloseg head\" of individual location ok?\n\nOr i am totally out of context and there are  \"goto\" solutions?\n\nThanks!",
    "2306785": "alright no answer, but i wouldnt read that my self, the post above is way too long and i dont understand what i said ahah, so i will post the journey of how the newbie approacvh the problem because i dont even know if i will be able to finish this competition with those skill issues and that could be Maybe useful for other:\n\nmask/segmentation\n\ni first create segmentation mask for all the class of the dataset in different folder with the given polygon annotation, what i understand is lgomerulus = useless but blood vessel could be potentially in glomerulus? because not manually annotated in the glomerulus region? so either i drop the entire segmented glomerulus in the image to not disturb the training supervised process or i let it and semi supervised or relabel those specific region that potentially are not annotated.\ni chose to let it just to have a baseline first...\n\nexample binarized mask of blood vessel class along its corresponding image:\n\n[image](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6851656%2F72bea4bb1f6087d38bc53ec400821fee%2F0006ff2aa7cd.tif?generation=1687013905773140&alt=media)\n[mask](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6851656%2F6bd126fd7aaeaf7c09b6cc9d48ce4a84%2F0006ff2aa7cd%20(2).png?generation=1687013982839780&alt=media)\n\nI then extract each bounding box of a specified class here i chose the blood vessel one with the converted binary mask.\nso now i have multiple image of different pixel area like that and their respective mask which should be only blood vessel:\n\n![imagebb](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6851656%2F083308cd4e1930af7ca0dbc1744fbdee%2F0006ff2aa7cd_bbox1.png?generation=1687015440422737&alt=media)![maskbb](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6851656%2F91d603fd4853c40598535678339b2ba4%2F0006ff2aa7cd_bbox1.png?generation=1687014064697105&alt=media)\n\ni maybe need pad all the image to be in a specific size or  just resize, should i resize all the image to the maximun one? should i keep the same ratio ?(i think yes)\n\nanyway i wanted to know the max area extracted bound ing box of the image : \nso i plotted and printed area size, i found that:\n\n[bigboy](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6851656%2Fcd52619b6be258ad7dbd1467ba2b00f3%2F556692ccbfb9_bbox4%20(1).tif?generation=1687014239847159&alt=media)\n\ni dont know anything about medical image etc but if its correct its a really big vessel.\nso i decided to do this for the top 10 big area and esult where all similar, again its disturbing.\n\nthen plot interquartil range and have aroud 4400 surface area treshold (i just googled what iqr meant...)\n![IQr](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6851656%2F4a70b7fda41d4d0e736c78101b42f81d%2Fdownload.png?generation=1687015063757700&alt=media)\nso maybe i should drop all the outlier? i will see later\n\n\ndetection \n\nin parallel i do detection with yolov8 with formated json to text for yolo format, i just use detection here.\n\nresult are meh: i trained for 50 epoch without tuning any parameter with image size = original\ni should maybe handle the unsure drop by change as blood vessel or drop the class ?\n\nGround truth:\n![Truth](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6851656%2Faba18ce6924fe3cd528f73d63d491d8e%2FGt.png?generation=1687014888235889&alt=media)\nPrecition:\n![prediction](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6851656%2F5785d536c9273ca7d40bbef239f5156c%2Fpred.png?generation=1687014851554143&alt=media)\n\n\ncombine the two\ni now have to train a segmentation on only blood vessel with the available annotation (i will train on the extracted bounding box i think).\n\n\ni could then infer an image in the detection model, retreive individual bounding box, use the segmentation model to this bounding box, and find a way to format all this mess according to the example submission.csv...",
    "2307134": "I'm a total newbie in the domain of Image Segmentation, this discussion had given a basic idea, thanks",
    "2307152": "wait that just how i attempt to approach the problem i dont even know if it's correct  ahah but for sure the yolov8seg is a possible way to do it and i think the licence is ok...",
    "2307476": "Yeah, it was a great headstart for newbies for sure XD"
  },
  "source": "meta"
}