医学图像笔记(四)医学图像分割
- 1、医学图像分割的开源工具
- 2、其他分割
- 2.1、3D VNet
- 2.2、PE-VNet
- 2.3、基于PyTorch的3D 医学图像分割
- 2.4、3D UX-Net:超强的医学图像分割新网络
- 2.5、医学图像分割优质开源代码
- 3、医学图像数据集
- 3.1、百度AI studio 数据集
- 3.2、Github上哈佛 beamandrew机器学习和医学影像研究者贡献的数据集
- 4、医学图像分割优质开源代码
传统图像分割算法:graphcut、growcut、grabcut、、、
基于深度学习的分割算法:
1、医学图像分割的开源工具
nnUNet
MONAI
2、其他分割
2.1、3D VNet
2.2、PE-VNet
2.3、基于PyTorch的3D 医学图像分割
# Python libraries
import argparse
import os
# Lib files
import lib.medloaders as medical_loaders
import lib.medzoo as medzoo
import lib.train as train
import lib.utils as utils
from lib.losses3D import DiceLoss
def main():
args = get_arguments()
utils.make_dirs(args.save)
training_generator, val_generator, full_volume, affine = medical_loaders.generate_datasets(args,
path='.././datasets')
model, optimizer = medzoo.create_model(args)
criterion = DiceLoss(classes=args.classes)
if args.cuda:
model = model.cuda()
print("Model transferred in GPU.....")
trainer = train.Trainer(args, model, criterion, optimizer, train_data_loader=training_generator,
valid_data_loader=val_generator, lr_scheduler=None)
print("START TRAINING...")
trainer.training()
def get_arguments():
parser = argparse.ArgumentParser()
parser.add_argument('--batchSz', type=int, default=4)
parser.add_argument('--dataset_name', type=str, default="iseg2017")
parser.add_argument('--dim', nargs="+", type=int, default=(64, 64, 64))
parser.add_argument('--nEpochs', type=int, default=200)
parser.add_argument('--classes', type=int, default=4)
parser.add_argument('--samples_train', type=int, default=1024)
parser.add_argument('--samples_val', type=int, default=128)
parser.add_argument('--inChannels', type=int, default=2)
parser.add_argument('--inModalities', type=int, default=2)
parser.add_argument('--threshold', default=0.1, type=float)
parser.add_argument('--terminal_show_freq', default=50)
parser.add_argument('--augmentation', action='store_true', default=False)
parser.add_argument('--normalization', default='full_volume_mean', type=str,
help='Tensor normalization: options ,max_min,',
choices=('max_min', 'full_volume_mean', 'brats', 'max', 'mean'))
parser.add_argument('--split', default=0.8, type=float, help='Select percentage of training data(default: 0.8)')
parser.add_argument('--lr', default=1e-2, type=float,
help='learning rate (default: 1e-3)')
parser.add_argument('--cuda', action='store_true', default=True)
parser.add_argument('--loadData', default=True)
parser.add_argument('--resume', default='', type=str, metavar='PATH',
help='path to latest checkpoint (default: none)')
parser.add_argument('--model', type=str, default='VNET',
choices=('VNET', 'VNET2', 'UNET3D', 'DENSENET1', 'DENSENET2', 'DENSENET3', 'HYPERDENSENET'))
parser.add_argument('--opt', type=str, default='sgd',
choices=('sgd', 'adam', 'rmsprop'))
parser.add_argument('--log_dir', type=str,
default='../runs/')
args = parser.parse_args()
args.save = '../saved_models/' + args.model + '_checkpoints/' + args.model + '_{}_{}_'.format(
utils.datestr(), args.dataset_name)
return args
if __name__ == '__main__':
iSeg-2017 challenge:https://iseg2017.web.unc.edu/
MedicalZooPytorch:https://github.com/black0017/MedicalZooPytorch
参考:医学成像中的深度学习——基于PyTorch的3D 医学图像分割
2.4、3D UX-Net:超强的医学图像分割新网络
Title: 3D UX-Net: a Large Kernel Volumetric ConvNet Modernizing Hierarchical Transformer for Medical Image Segmentation
Author: Ho Hin Lee et al. (范德堡大学)
Paper: https://arxiv.org/abs/2209.15076
Github: https://github.com/MASILab/3DUX-Net
ICLR 2023 新鲜出炉的 3D 医学图像分割之星——3D UX-Net。
3D UXNet 是一种轻量级3D卷积神经网络,其使用 ConvNet 模块调整分层 Transformer 以实现稳健的体素分割,在三个具有挑战性的脑体积和腹部成像公共数据集与当前的 SOTA 模型如 SwinUNETR 对比,同时在以下三大主流数据集性能均达到了最优:
MICCAI Challenge 2021 FLARE
MICCAI Challenge 2021 FeTA
MICCAI Challenge 2022 AMOS
具体的,相比于 SwinUNETR,3D UX-Net 将 Dice 从 0.929 提高到 0.938 (FLARE2021),Dice 从 0.867 提高到 0.874 (Feta2021)。此外,为了进一步评估 3D UX-Net 的迁移学习能力,作者在 AMOS2022 数据集上训练得到的模型在另一个数据集上取得了 2.27% Dice 的提升(0.880 → 0.900)。
参考:ICLR 2023 | 3D UX-Net:超强的医学图像分割新网络
2.5、医学图像分割优质开源代码
参考:医学图像分割优质开源代码
3、医学图像数据集
3.1、百度AI studio 数据集
3.2、Github上哈佛 beamandrew机器学习和医学影像研究者贡献的数据集
beamandrew/medical-data(这是Github上哈佛 beamandrew机器学习和医学影像研究者贡献的数据集,包括了医学影像数据、竞赛数据、来自电子健康记录的数据、医疗数据、UCI数据集、生物医学文献等。)
方法模型
Medical Image Segmentation subtasks
4、医学图像分割优质开源代码
Swin-Unet:Unet形状的纯Transformer的医学图像分割
Bidirectional Projection Network for Cross Dimension Scene Understanding
Paper(Oral): https://arxiv.org/abs/2103.14326 Code: https://github.com/wbhu/BPNet Semantic Segmentation for Real Point Cloud Scenes via Bilateral Augmentation and Adaptive Fusion
Paper: https://arxiv.org/abs/2103.07074 Code: https://github.com/ShiQiu0419/BAAF-Net Cylindrical and Asymmetrical 3D Convolution Networks for LiDAR Segmentation
Paper: https://arxiv.org/abs/2011.10033 Code: https://github.com/xinge008/Cylinder3D Towards Semantic Segmentation of Urban-Scale 3D Point Clouds: A Dataset, Benchmarks and Challenges
Homepage: https://github.com/QingyongHu/SensatUrban Paper: http://arxiv.org/abs/2009.03137 Code: https://github.com/QingyongHu/SensatUrban Dataset: https://github.com/QingyongHu/SensatUrban
参考:3D语义分割(3D Semantic Segmentation) 参考:医学图像分割优质开源代码v