/MedicalSeg

3D Medical Image Segmentation Models,集成各种医学图像分割模型的小框架,主要是3D,持续更新...

Primary LanguagePythonApache License 2.0Apache-2.0

MedicalSeg

Medical Image Segmentation Models,集成各种医学图像分割模型,主要是3D,持续更新...

  1. 目前例子有BraTS2020数据集的训练代码,如果切换别的数据集,只需要写好自定义Dataset里面的 _load_cache_item函数即可。
  2. 目前训练与验证方式采用标准的3D医学图像处理方式,训练为随机Crop N个patch作为输入,进行训练;验证使用滑窗推理进行模型的预测。
  3. 数据增强方式具体看example代码,支持多种数据增强。

支持3D图像数据增强

  1. 随机旋转 RandomRotate
  2. 随机翻转 RandomFlip
  3. 高斯噪声 AdditiveGaussianNoise
  4. 泊松噪声 AdditivePoissonNoise
  5. 随机旋转90度 RandomRotate90
  6. 随机弹性形变 Elastic
  7. Gamma增强 GammaTransformer
  8. 镜像变换 MirrorTransformer
  9. 对比度增强 ContrastAugmentationTransform
  10. 亮度增强 BrightnessMultiplicativeTransform
  11. 高斯噪声 GaussianNoiseTransform
  12. 高斯模糊 GaussianBlurTransform
  13. 重采样增强

支持3D图像裁剪

由于3D图像通常较大,因此一个3D图像数据需要裁剪某几块进行训练

  1. RandCropByPosNegLabel 根据输入前景背景比例随机剪裁
  2. CenterSpatialCrop 中心剪裁

支持分patch进行推理

  1. SlidingWindowInferer 滑窗推理

支持的模型(验证有效果的)

  1. UNet
  2. deeplabv3
  3. MlpMixer 模块
  4. swin_transformer 模块
  5. transformer 模块
  6. TransBTS
  7. segresnet
  8. VNet
  9. UNet++
  10. MultiResNet
  11. SwinUNet https://arxiv.org/pdf/2105.05537.pdf 预训练参数地址:https://drive.google.com/drive/folders/1UC3XOoezeum0uck4KBVGa8osahs6rKUY?usp=sharing
  12. UNETR https://arxiv.org/pdf/2103.10504.pdf
  13. PoolFormer https://arxiv.org/pdf/2111.11418.pdf

部分模型还没经过测试,欢迎测试使用。

examples

  1. BraTS2020 segrensnet 300epoch WT-Dice:0.93 TC-Dice:0.80 ET-Dice:0.67

声明

本仓库代码不完全是本人开发,有些模型使用了github中别人贡献的代码,在此仓库作为统一整理,部分代码借鉴了Monai框架 https://github.com/Project-MONAI/MONAI/tree/dev/monai 非常感谢。