跳转至

TotalSegmentator:robust segmentation of 104 anatomical structures in CT images.md

论文

https://arxiv.org/abs/2208.05868

代码

https://github.com/wasserth/TotalSegmentator

摘要

Cite

在这项工作中,我们专注于(全身)CT图像中多个解剖结构的自动分割。对于该任务存在许多分割算法。然而,在大多数情况下,他们面临三个问题: 1。它们很难使用(代码和数据不公开或难以使用)。2.它们不具有一般性(通常训练数据集仅包含非常干净的图像,这些图像不反映临床常规过程中发现的图像分布), 3。该算法只能分割一个解剖结构。对于更多的结构,必须使用几个算法,这增加了建立系统所需的工作量。在这项工作中,我们发布了一个新的数据集和分割工具包, 它解决了所有三个问题:在1204张CT图像中,我们分割了104个解剖结构(27个器官、59个骨骼、10个肌肉、8个血管),涵盖了大多数用例的大多数相关类别。 我们展示了一个用于创建地面真相分割的改进工作流程,该流程将速度提高了10倍以上。CT图像是从临床常规中随机抽取的,因此代表了一个可推广到临床应用的真实世界数据集。 数据集包含各种不同的病理、扫描仪、序列和位点。最后,我们在这个新的数据集上训练分割算法。我们将此算法称为TotalSegmentator, 并将其作为预训练的python pip包(pip install totalsegmentator)轻松提供。用法与TotalSegmentator -i ct.nii.gz -o seg一样简单, 适用于大多数ct图像。该代码位于https://github.com/wasserth/TotalSegmentator数据集位于https://doi.org/10.5281/zenodo.6802613

说的已有分割方法的三个问题说的非常到位

方法

主要贡献其实是处理了大量的数据,由于要分割的东西太多了,标注是一个巨大的工作量,所以论文中提出了一系列的方法来加速标注的过程。至于模型,直接用的nnUNet。 对nnUNet有了两点改变,一个是去除了数据增强中的镜像,因为这会使得网络无法分辨左右。另一个是加大了训练epoch数,因为数据实在太多了。
这篇文章对我最大的贡献就是让我知道了nnUNet也需要调,不是完全无脑给数据,比如这个镜像,对于存在镜像关系的不同物体分割,需要注意是否要使用镜像。

评论