Mixed Transformer UNet for Medical Image Segmentation

Overview

MT-UNet

Update 2022/01/05

By another round of training based on previous weights, our model also achieved a better performance on ACDC (91.61% DSC). We have changed the weight for ACDC to this newest version and you can check it out for yourself. However, previous versions of weights are still available on Google Drive, and you can access them via previous commits.

Update 2022/01/04

We have further trained our MT-UNet and it turns out to have a better result on Synapse with 79.20% DSC. We have changed the public weights of Synapse to this version and will also update the results in our paper.

Update 2022/01/03

It should be mentioned that we are currently conducting some statistical evaluations on our model and these results will be also made public on this site.

  • [Updated] Click here for our weights used on Synapse.

  • [Updated] Click here for our weights used on ACDC. The authors of TransUnet did not provide the split of ACDC dataset. Therefore, we conducted all the ACDC experiments based on our own dataset split.

Update 2021/11/19

  • Thank you for your interest in our work. We have uploaded the code of our MTUNet to help peers conduct further research on it. However, rest of the codes (such as the training and testing codes) are currently not so well organized, and we plan to release them upon paper publication. It also should be noted that they are still avaliable right now with a rough appearance. Please contact us for these codes if you are new to this field or having difficulty in applying our model to your own dataset.

This is the official implementation for our ICASSP2022 paper MIXED TRANSFORMER UNET FOR MEDICAL IMAGE SEGMENTATION

The entire code will be released upon paper publication.

Comments
  • ACDC Preprocessing

    ACDC Preprocessing

    The ACDC data set seems to be normalized such that the values are in range [-1, 1]? How did you preprocess the data? I would like to visualize the segmentation performance, but for that I would like to understand how you preprocessed it in the first place. I did not find the information in your paper, nor in this repository or in other issues.

    opened by brewormly 8
  • Request for whole code

    Request for whole code

    I am doing my final year project and try to use the Synapse Dataset for testing. However, the TransUNet code framework is hard to reuse for other network. I met some problems on Synapse Dataset training and testing. I see your code and find it's more understandable and I wonder if you can give me the whole code for reference. Thanks!

    opened by tianfengke 5
  • valid and test about ACDC

    valid and test about ACDC

    Hi, i have some questiones about ACDC:

    1. why can do validation and test with the similar way of training? cause i saw you use batch size=1, and "test_single_volume" procedure
    2. can you share the version of test that outputs the values of LV MYO RV?

    thanks a lot. your work help me a lot!

    opened by kathyliu579 4
  • errors

    errors

    非常好的工作,感谢你的发布。我使用了自己的数据集,但在评估时出现了这个错误,我很疑惑,我的image的形状大小是[3,224,224], label是[224,224], 我的是二分类,但出现了下面维度不匹配的情况,为什么要用 for ind in range(imag.shape)这个代码吗?这样输入的input不就变成了[1,1,224,224]吗?这和我训练时的输入形状[12,3,224,224]岂不是不匹配,预测会不会因此有问题呢? S1 T9~A{~ QKEW%BYA57E(6

    opened by long123524 4
  • ask help for image visualization

    ask help for image visualization

    Hi i am a starter of this field, and trying to visualize your results saved (such as case0001_pred.nii.gz) for prediction and gt, just like your paper.
    I cost 2 days to figure out but failed. could you please send me the code of visualizition? many thanks in advance.

    opened by kathyliu579 3
  • Complete Code for Evaluation

    Complete Code for Evaluation

    Hi,

    I really appreciate your work. In the paper, it is mentioned that you re-trained the models such that you can compare your results to the previous published work. I would be really interested into getting my hands on that code.

    opened by brewormly 3
  • 请教一个问题

    请教一个问题

    作者您好,感谢您在本篇论文里的工作。 但是我看了论文和代码有一些疑惑,就是论文里的External Attention,代码里这部分也是对当前批次的特征x进行一些nn.Linear操作: 1.请问论文里说的该模块可以跨样本学习,是指的当前batch的样本吗? 2.是怎么体现或者是实现跨样本的呢? 期待您的回复,谢谢。

    opened by stdcoutzrh 2
  • reproduce problems

    reproduce problems

    I tried to reproduce your code on acdc, and found that the validation set always performed better in the early stage (around 50 epoch) during the training process, and always performed worse in the later epoch, which made me not sure which model to choose. How can I improve to find the most accurate model faster?

    opened by panjunhao99 2
  • 为什么我在训练时dice一直为0?

    为什么我在训练时dice一直为0?

    非常感谢你们很好的工作!但我有两个问题: 问题一:我使用的是冠脉数据集。 1)如果将同一组数据集既作为训练集,也作为测试集,dice是正常的,效果还可以。 2)如果训练集和测试集使用不同的数据集,dice一直为0 3)如果训练集使用数据A、B、C、D,测试集使用A、E,那么A的dice会有一定数值,但会保持一个定值,E的dice一直为0,如下图: image 问题二: 我是用您提供的ACDC的数据集,为什么avg会一直是一个定值,不会改变? image 非常期待您的回复,非常感谢!

    opened by jscodecode 2
  • ACDC datasets

    ACDC datasets

    Dear author: It's very fortunate to read your article "MIXED TRANSFORMER U-NET FOR MEDICAL IMAGE SEGMENTATION". I have a lot of interest in the work of your paper.If available, could you send me your preprocessed ACDC dataset and the complete code?My email is [email protected] you very much!

    opened by hxp2396 2
  • Bug?

    Bug?

    I think this is a bug in the train_mtunet_ACDC.py code. Could you example it? 88 val_outputs = model(val_image_batch) 89 val_outputs = torch.argmax(torch.softmax(outputs, dim=1), dim=1).squeeze(0) It should be: 88 val_outputs = model(val_image_batch) 89 val_outputs = torch.argmax(torch.softmax(val_outputs , dim=1), dim=1).squeeze(0)

    opened by Chenguang-Wang 1
Owner
dotman
Get yourself a cup of tea. ˊ_>ˋ旦
dotman
Pytorch-Swin-Unet-V2 - a modified version of Swin Unet based on Swin Transfomer V2

Swin Unet V2 Swin Unet V2 is a modified version of Swin Unet arxiv based on Swin

Chenxu Peng 26 Dec 3, 2022
Official Keras Implementation for UNet++ in IEEE Transactions on Medical Imaging and DLMIA 2018

UNet++: A Nested U-Net Architecture for Medical Image Segmentation UNet++ is a new general purpose image segmentation architecture for more accurate i

Zongwei Zhou 1.8k Jan 7, 2023
CoTr: Efficiently Bridging CNN and Transformer for 3D Medical Image Segmentation

CoTr: Efficient 3D Medical Image Segmentation by bridging CNN and Transformer This is the official pytorch implementation of the CoTr: Paper: CoTr: Ef

null 218 Dec 25, 2022
MISSFormer: An Effective Medical Image Segmentation Transformer

MISSFormer Code for paper "MISSFormer: An Effective Medical Image Segmentation Transformer". Please read our preprint at the following link: paper_add

Fong 22 Dec 24, 2022
Unet network with mean teacher for altrasound image segmentation

Unet network with mean teacher for altrasound image segmentation

null 5 Nov 21, 2022
Implementation of UNET architecture for Image Segmentation.

Semantic Segmentation using UNET This is the implementation of UNET on Carvana Image Masking Kaggle Challenge About the Dataset This dataset contains

Anushka agarwal 4 Dec 21, 2021
Using pytorch to implement unet network for liver image segmentation.

Using pytorch to implement unet network for liver image segmentation.

zxq 1 Dec 17, 2021
A unet implementation for Image semantic segmentation

Unet-pytorch a unet implementation for Image semantic segmentation 参考网上的Unet做分割的代码,做了一个针对kaggle地盐识别的,请去以下地址获取数据集: https://www.kaggle.com/c/tgs-salt-id

Rabbit 3 Jun 29, 2022
Multi-atlas segmentation (MAS) is a promising framework for medical image segmentation

Multi-atlas segmentation (MAS) is a promising framework for medical image segmentation. Generally, MAS methods register multiple atlases, i.e., medical images with corresponding labels, to a target image;

NanYoMy 13 Oct 9, 2022
Copy Paste positive polyp using poisson image blending for medical image segmentation

Copy Paste positive polyp using poisson image blending for medical image segmentation According poisson image blending I've completely used it for bio

Phạm Vũ Hùng 2 Oct 19, 2021
The Medical Detection Toolkit contains 2D + 3D implementations of prevalent object detectors such as Mask R-CNN, Retina Net, Retina U-Net, as well as a training and inference framework focused on dealing with medical images.

The Medical Detection Toolkit contains 2D + 3D implementations of prevalent object detectors such as Mask R-CNN, Retina Net, Retina U-Net, as well as a training and inference framework focused on dealing with medical images.

MIC-DKFZ 1.2k Jan 4, 2023
Build a medical knowledge graph based on Unified Language Medical System (UMLS)

UMLS-Graph Build a medical knowledge graph based on Unified Language Medical System (UMLS) Requisite Install MySQL Server 5.6 and import UMLS data int

Donghua Chen 6 Dec 25, 2022
nnFormer: Interleaved Transformer for Volumetric Segmentation Code for paper "nnFormer: Interleaved Transformer for Volumetric Segmentation "

nnFormer: Interleaved Transformer for Volumetric Segmentation Code for paper "nnFormer: Interleaved Transformer for Volumetric Segmentation ". Please

jsguo 610 Dec 28, 2022
The open source code of SA-UNet: Spatial Attention U-Net for Retinal Vessel Segmentation.

SA-UNet: Spatial Attention U-Net for Retinal Vessel Segmentation(ICPR 2020) Overview This code is for the paper: Spatial Attention U-Net for Retinal V

Changlu Guo 151 Dec 28, 2022
Hippocampal segmentation using the UNet network for each axis

Hipposeg Hippocampal segmentation using the UNet network for each axis, inspired by https://github.com/MICLab-Unicamp/e2dhipseg Red: False Positive Gr

Juan Carlos Aguirre Arango 0 Sep 2, 2021
Unofficial implementation of Point-Unet: A Context-Aware Point-Based Neural Network for Volumetric Segmentation

Point-Unet This is an unofficial implementation of the MICCAI 2021 paper Point-Unet: A Context-Aware Point-Based Neural Network for Volumetric Segment

Namt0d 9 Dec 7, 2022
Vision Transformer for 3D medical image registration (Pytorch).

ViT-V-Net: Vision Transformer for Volumetric Medical Image Registration keywords: vision transformer, convolutional neural networks, image registratio

Junyu Chen 192 Dec 20, 2022
The undersampled DWI image using Slice-Interleaved Diffusion Encoding (SIDE) method can be reconstructed by the UNet network.

UNet-SIDE The undersampled DWI image using Slice-Interleaved Diffusion Encoding (SIDE) method can be reconstructed by the UNet network. For Super Reso

TIANTIAN XU 1 Jan 13, 2022
This repo holds code for TransUNet: Transformers Make Strong Encoders for Medical Image Segmentation

TransUNet This repo holds code for TransUNet: Transformers Make Strong Encoders for Medical Image Segmentation Usage

null 1.4k Jan 4, 2023