{
  "id": 553388,
  "title": "Postprocessing Question - getting 3D points from 3D segmentation mask",
  "url": "/competitions/czii-cryo-et-object-identification/discussion/553388",
  "author_name": "",
  "post_date": "2024-12-25T19:51:52.363599900Z",
  "votes": 2,
  "comment_count": 1,
  "views": 0,
  "content": "<p>I'm using Monai's 3D Unet, and predicting 3D masks, where each voxel is a class label 0-6. For the target masks during training, I'm just filling spheres of each point's coords / label number. I think this is a pretty common approach, so I'm wondering what other people are doing for post processing to take these masks and convert the labeled areas into their respective point predictions. Chat GPT mentioned centroid calculations and connected regions, but I'm wondering what the most robust approach is to deal with overlapping regions and noisy predictions?</p>",
  "messages": [
    {
      "id": "3080832",
      "postDate": "12/25/2024 19:51:52",
      "content": "<p>I'm using Monai's 3D Unet, and predicting 3D masks, where each voxel is a class label 0-6. For the target masks during training, I'm just filling spheres of each point's coords / label number. I think this is a pretty common approach, so I'm wondering what other people are doing for post processing to take these masks and convert the labeled areas into their respective point predictions. Chat GPT mentioned centroid calculations and connected regions, but I'm wondering what the most robust approach is to deal with overlapping regions and noisy predictions?</p>",
      "rawMarkdown": "I'm using Monai's 3D Unet, and predicting 3D masks, where each voxel is a class label 0-6. For the target masks during training, I'm just filling spheres of each point's coords / label number. I think this is a pretty common approach, so I'm wondering what other people are doing for post processing to take these masks and convert the labeled areas into their respective point predictions. Chat GPT mentioned centroid calculations and connected regions, but I'm wondering what the most robust approach is to deal with overlapping regions and noisy predictions?",
      "votes": null
    },
    {
      "id": "3080878",
      "postDate": "12/25/2024 22:08:52",
      "content": "<p>Here's a pretty good \"getting started\" discussion:<br>\n<a href=\"https://www.kaggle.com/competitions/czii-cryo-et-object-identification/discussion/549715\" target=\"_blank\">https://www.kaggle.com/competitions/czii-cryo-et-object-identification/discussion/549715</a></p>\n<p>To answer your specific question, take a look at:<br>\n<a href=\"https://www.kaggle.com/code/fnands/baseline-unet-train-submit\" target=\"_blank\">https://www.kaggle.com/code/fnands/baseline-unet-train-submit</a></p>\n<p>It has an implementation of the strategy you mention.</p>",
      "rawMarkdown": "Here's a pretty good \"getting started\" discussion:\n[https://www.kaggle.com/competitions/czii-cryo-et-object-identification/discussion/549715](https://www.kaggle.com/competitions/czii-cryo-et-object-identification/discussion/549715)\n\nTo answer your specific question, take a look at:\n[https://www.kaggle.com/code/fnands/baseline-unet-train-submit](https://www.kaggle.com/code/fnands/baseline-unet-train-submit)\n\nIt has an implementation of the strategy you mention.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 3080878,
      "author_name": "davidlist",
      "author_url": "",
      "post_date": "12/25/2024 22:08:52",
      "content": "<p>Here's a pretty good \"getting started\" discussion:<br>\n<a href=\"https://www.kaggle.com/competitions/czii-cryo-et-object-identification/discussion/549715\" target=\"_blank\">https://www.kaggle.com/competitions/czii-cryo-et-object-identification/discussion/549715</a></p>\n<p>To answer your specific question, take a look at:<br>\n<a href=\"https://www.kaggle.com/code/fnands/baseline-unet-train-submit\" target=\"_blank\">https://www.kaggle.com/code/fnands/baseline-unet-train-submit</a></p>\n<p>It has an implementation of the strategy you mention.</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "3080832": "I'm using Monai's 3D Unet, and predicting 3D masks, where each voxel is a class label 0-6. For the target masks during training, I'm just filling spheres of each point's coords / label number. I think this is a pretty common approach, so I'm wondering what other people are doing for post processing to take these masks and convert the labeled areas into their respective point predictions. Chat GPT mentioned centroid calculations and connected regions, but I'm wondering what the most robust approach is to deal with overlapping regions and noisy predictions?",
    "3080878": "Here's a pretty good \"getting started\" discussion:\n[https://www.kaggle.com/competitions/czii-cryo-et-object-identification/discussion/549715](https://www.kaggle.com/competitions/czii-cryo-et-object-identification/discussion/549715)\n\nTo answer your specific question, take a look at:\n[https://www.kaggle.com/code/fnands/baseline-unet-train-submit](https://www.kaggle.com/code/fnands/baseline-unet-train-submit)\n\nIt has an implementation of the strategy you mention."
  },
  "source": "meta"
}