{
  "id": 294672,
  "title": "Cellpose is outdated? EMBEDSEG",
  "url": "/competitions/sartorius-cell-instance-segmentation/discussion/294672",
  "author_name": "John Doe",
  "post_date": "2021-12-12T04:20:20.292000",
  "votes": 18,
  "comment_count": 10,
  "views": 0,
  "content": "<p><strong>Cellpose</strong> was published on December 2020.<br>\n1 year has already passed  since then.<br>\nAnd this paper is cited by 78 papers for now.</p>\n<p>So I thought there must be better methods for cell instance segmentation.<br>\nThe one I found is <a href=\"https://arxiv.org/pdf/2101.10033.pdf\" target=\"_blank\"><strong>EMBEDSEG</strong></a>.<br>\nIt outperforms Mask R-CNN and even Cellpose.</p>\n<p><strong>Related topic</strong>:<br>\n<a href=\"https://www.kaggle.com/c/sartorius-cell-instance-segmentation/discussion/294755\" target=\"_blank\">Quick review: EMBEDSEG</a></p>\n<p><strong>Abstract</strong></p>\n<p><em>Automatic detection and segmentation of objects in 2D and 3D microscopy data is important for countless biomedical applications. In the natural image domain, spatial embedding-based instance segmentation methods are known to yield high-quality results, but their utility for segmenting microscopy data is currently little researched. Here we introduce EMBEDSEG, an embedding-based instance segmentation method which outperforms existing state-of-the-art baselines on 2D as well as 3D microscopy datasets. Additionally, we show that EMBEDSEG has a GPU memory footprint small enough to train even on laptop GPUs, making it accessible to virtually everyone. Finally, we introduce four new 3D microscopy datasets, which we make publicly available alongside ground truth training labels. Our open-source implementation is available at</em>　<em><a href=\"https://github.com/juglab/EmbedSeg\" target=\"_blank\">https://github.com/juglab/EmbedSeg</a></em></p>",
  "messages": [
    {
      "id": 1615251,
      "postDate": "2021-12-12T04:20:20.293Z",
      "content": "<p><strong>Cellpose</strong> was published on December 2020.<br>\n1 year has already passed  since then.<br>\nAnd this paper is cited by 78 papers for now.</p>\n<p>So I thought there must be better methods for cell instance segmentation.<br>\nThe one I found is <a href=\"https://arxiv.org/pdf/2101.10033.pdf\" target=\"_blank\"><strong>EMBEDSEG</strong></a>.<br>\nIt outperforms Mask R-CNN and even Cellpose.</p>\n<p><strong>Related topic</strong>:<br>\n<a href=\"https://www.kaggle.com/c/sartorius-cell-instance-segmentation/discussion/294755\" target=\"_blank\">Quick review: EMBEDSEG</a></p>\n<p><strong>Abstract</strong></p>\n<p><em>Automatic detection and segmentation of objects in 2D and 3D microscopy data is important for countless biomedical applications. In the natural image domain, spatial embedding-based instance segmentation methods are known to yield high-quality results, but their utility for segmenting microscopy data is currently little researched. Here we introduce EMBEDSEG, an embedding-based instance segmentation method which outperforms existing state-of-the-art baselines on 2D as well as 3D microscopy datasets. Additionally, we show that EMBEDSEG has a GPU memory footprint small enough to train even on laptop GPUs, making it accessible to virtually everyone. Finally, we introduce four new 3D microscopy datasets, which we make publicly available alongside ground truth training labels. Our open-source implementation is available at</em>　<em><a href=\"https://github.com/juglab/EmbedSeg\" target=\"_blank\">https://github.com/juglab/EmbedSeg</a></em></p>",
      "rawMarkdown": "**Cellpose** was published on December 2020.\n1 year has already passed  since then.\nAnd this paper is cited by 78 papers for now.\n\nSo I thought there must be better methods for cell instance segmentation.\nThe one I found is [**EMBEDSEG**](https://arxiv.org/pdf/2101.10033.pdf).\nIt outperforms Mask R-CNN and even Cellpose.\n\n**Related topic**:\n[Quick review: EMBEDSEG](https://www.kaggle.com/c/sartorius-cell-instance-segmentation/discussion/294755)\n\n**Abstract**\n\n*Automatic detection and segmentation of objects in 2D and 3D microscopy data is important for countless biomedical applications. In the natural image domain, spatial embedding-based instance segmentation methods are known to yield high-quality results, but their utility for segmenting microscopy data is currently little researched. Here we introduce EMBEDSEG, an embedding-based instance segmentation method which outperforms existing state-of-the-art baselines on 2D as well as 3D microscopy datasets. Additionally, we show that EMBEDSEG has a GPU memory footprint small enough to train even on laptop GPUs, making it accessible to virtually everyone. Finally, we introduce four new 3D microscopy datasets, which we make publicly available alongside ground truth training labels. Our open-source implementation is available at*　*https://github.com/juglab/EmbedSeg*",
      "votes": 18
    },
    {
      "id": 1622348,
      "postDate": "2021-12-18T16:21:34.953Z",
      "content": "<p>How are you using  EMBEDSEG?</p>\n<p>I did not have any whl or dataset, so I uploaded the github repo here: <a href=\"https://www.kaggle.com/kmldas/embedseg\" target=\"_blank\">https://www.kaggle.com/kmldas/embedseg</a><br>\nhowever, I am struggling to use it<br>\nPlease let me know if anyone has been able to use this!</p>\n<p>Thanks!</p>",
      "rawMarkdown": "How are you using  EMBEDSEG?\n\nI did not have any whl or dataset, so I uploaded the github repo here: https://www.kaggle.com/kmldas/embedseg\nhowever, I am struggling to use it\nPlease let me know if anyone has been able to use this!\n\nThanks!",
      "votes": 1,
      "replies": [
        {
          "id": 1622837,
          "postDate": "2021-12-19T07:36:42.877Z",
          "content": "<p>I tried tutorial notebook in github by kaggle kernel but I got memory issues at inference.</p>",
          "rawMarkdown": "I tried tutorial notebook in github by kaggle kernel but I got memory issues at inference.",
          "votes": 1
        }
      ]
    },
    {
      "id": 1622177,
      "postDate": "2021-12-18T12:46:32.707Z",
      "content": "<p>Has anyone tried EmbedSeg?<br>\nI am still working on it.</p>",
      "rawMarkdown": "Has anyone tried EmbedSeg?\nI am still working on it.",
      "replies": [
        {
          "id": 1622510,
          "postDate": "2021-12-18T20:08:26.817Z",
          "content": "<p>I was able to get it running pretty quickly after your initial post here a week ago. EmbedSeg's code is lightyears neater than Cellpose's, afterall. Spent about three days experimenting with it. My team hasn't used either of these model's in our ensembles as of yet.</p>",
          "rawMarkdown": "I was able to get it running pretty quickly after your initial post here a week ago. EmbedSeg's code is lightyears neater than Cellpose's, afterall. Spent about three days experimenting with it. My team hasn't used either of these model's in our ensembles as of yet.",
          "votes": 1
        },
        {
          "id": 1623042,
          "postDate": "2021-12-19T12:39:13.777Z",
          "content": "<p>I also tried to use EmbedSeg, but even 1 epoch takes ~ 1.5 hour because of large number of crops for one fold (~60k). Is where a way to reduce number of crops images?</p>",
          "rawMarkdown": "I also tried to use EmbedSeg, but even 1 epoch takes ~ 1.5 hour because of large number of crops for one fold (~60k). Is where a way to reduce number of crops images?"
        },
        {
          "id": 1623177,
          "postDate": "2021-12-19T15:13:06.763Z",
          "content": "<p>Just update the code such that instead of loading crops you load the original sized images. You'll have to massage your data directories, I used symlinks to avoid unnecessary copies. For me, it was taking 24min / epoch with the crops, but using full images it took ~5min, so I suppose for you it'd take ~15min / epoch. You'll also have to adjust BS due to larger images. And lastly, manually update your data_properties.json with the image sizes because it builds a grid parameter based on that. The majority of time is spent not on dataloader preparation but rather on the loss function which has two nested python for loops and operates on a per image per mask instance basis… this is the bottleneck.</p>",
          "rawMarkdown": "Just update the code such that instead of loading crops you load the original sized images. You'll have to massage your data directories, I used symlinks to avoid unnecessary copies. For me, it was taking 24min / epoch with the crops, but using full images it took ~5min, so I suppose for you it'd take ~15min / epoch. You'll also have to adjust BS due to larger images. And lastly, manually update your data_properties.json with the image sizes because it builds a grid parameter based on that. The majority of time is spent not on dataloader preparation but rather on the loss function which has two nested python for loops and operates on a per image per mask instance basis... this is the bottleneck.",
          "votes": 2
        },
        {
          "id": 1623268,
          "postDate": "2021-12-19T17:12:56.900Z",
          "content": "<p>Thanks for the answer. But what do you mean by \"massage your data directories\"? Looks like typo.</p>",
          "rawMarkdown": "Thanks for the answer. But what do you mean by \"massage your data directories\"? Looks like typo."
        }
      ]
    },
    {
      "id": 1622216,
      "postDate": "2021-12-18T13:42:38.713Z",
      "rawMarkdown": "",
      "votes": 1,
      "isDeleted": true
    },
    {
      "id": 1615765,
      "postDate": "2021-12-12T16:52:48.110Z",
      "rawMarkdown": "",
      "votes": -2,
      "isDeleted": true
    },
    {
      "id": 1619050,
      "postDate": "2021-12-15T15:51:25.410Z",
      "content": "<p>Thanks for sharing!</p>",
      "rawMarkdown": "Thanks for sharing!",
      "votes": 1
    }
  ],
  "comments": [
    {
      "id": 1622348,
      "author_name": "Kamal Das",
      "author_url": "",
      "post_date": "2021-12-18T16:21:34.953000",
      "content": "<p>How are you using  EMBEDSEG?</p>\n<p>I did not have any whl or dataset, so I uploaded the github repo here: <a href=\"https://www.kaggle.com/kmldas/embedseg\" target=\"_blank\">https://www.kaggle.com/kmldas/embedseg</a><br>\nhowever, I am struggling to use it<br>\nPlease let me know if anyone has been able to use this!</p>\n<p>Thanks!</p>",
      "votes": 1,
      "replies": [
        {
          "id": 1622837,
          "author_name": "John Doe",
          "author_url": "",
          "post_date": "2021-12-19T07:36:42.877000",
          "content": "<p>I tried tutorial notebook in github by kaggle kernel but I got memory issues at inference.</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 1622177,
      "author_name": "John Doe",
      "author_url": "",
      "post_date": "2021-12-18T12:46:32.707000",
      "content": "<p>Has anyone tried EmbedSeg?<br>\nI am still working on it.</p>",
      "votes": 0,
      "replies": [
        {
          "id": 1622510,
          "author_name": "عثمان",
          "author_url": "",
          "post_date": "2021-12-18T20:08:26.817000",
          "content": "<p>I was able to get it running pretty quickly after your initial post here a week ago. EmbedSeg's code is lightyears neater than Cellpose's, afterall. Spent about three days experimenting with it. My team hasn't used either of these model's in our ensembles as of yet.</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1623042,
          "author_name": "Araik Tamazian",
          "author_url": "",
          "post_date": "2021-12-19T12:39:13.777000",
          "content": "<p>I also tried to use EmbedSeg, but even 1 epoch takes ~ 1.5 hour because of large number of crops for one fold (~60k). Is where a way to reduce number of crops images?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1623177,
          "author_name": "عثمان",
          "author_url": "",
          "post_date": "2021-12-19T15:13:06.763000",
          "content": "<p>Just update the code such that instead of loading crops you load the original sized images. You'll have to massage your data directories, I used symlinks to avoid unnecessary copies. For me, it was taking 24min / epoch with the crops, but using full images it took ~5min, so I suppose for you it'd take ~15min / epoch. You'll also have to adjust BS due to larger images. And lastly, manually update your data_properties.json with the image sizes because it builds a grid parameter based on that. The majority of time is spent not on dataloader preparation but rather on the loss function which has two nested python for loops and operates on a per image per mask instance basis… this is the bottleneck.</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 1623268,
          "author_name": "Araik Tamazian",
          "author_url": "",
          "post_date": "2021-12-19T17:12:56.900000",
          "content": "<p>Thanks for the answer. But what do you mean by \"massage your data directories\"? Looks like typo.</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1622216,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-12-18T13:42:38.713000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1615765,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-12-12T16:52:48.110000",
      "content": "",
      "votes": -2,
      "replies": []
    },
    {
      "id": 1619050,
      "author_name": "Yongdam Kim",
      "author_url": "",
      "post_date": "2021-12-15T15:51:25.410000",
      "content": "<p>Thanks for sharing!</p>",
      "votes": 1,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "1615251": "**Cellpose** was published on December 2020.\n1 year has already passed  since then.\nAnd this paper is cited by 78 papers for now.\n\nSo I thought there must be better methods for cell instance segmentation.\nThe one I found is [**EMBEDSEG**](https://arxiv.org/pdf/2101.10033.pdf).\nIt outperforms Mask R-CNN and even Cellpose.\n\n**Related topic**:\n[Quick review: EMBEDSEG](https://www.kaggle.com/c/sartorius-cell-instance-segmentation/discussion/294755)\n\n**Abstract**\n\n*Automatic detection and segmentation of objects in 2D and 3D microscopy data is important for countless biomedical applications. In the natural image domain, spatial embedding-based instance segmentation methods are known to yield high-quality results, but their utility for segmenting microscopy data is currently little researched. Here we introduce EMBEDSEG, an embedding-based instance segmentation method which outperforms existing state-of-the-art baselines on 2D as well as 3D microscopy datasets. Additionally, we show that EMBEDSEG has a GPU memory footprint small enough to train even on laptop GPUs, making it accessible to virtually everyone. Finally, we introduce four new 3D microscopy datasets, which we make publicly available alongside ground truth training labels. Our open-source implementation is available at*　*https://github.com/juglab/EmbedSeg*",
    "1622348": "How are you using  EMBEDSEG?\n\nI did not have any whl or dataset, so I uploaded the github repo here: https://www.kaggle.com/kmldas/embedseg\nhowever, I am struggling to use it\nPlease let me know if anyone has been able to use this!\n\nThanks!",
    "1622177": "Has anyone tried EmbedSeg?\nI am still working on it.",
    "1622216": "",
    "1615765": "",
    "1619050": "Thanks for sharing!"
  }
}