Coder Social home page Coder Social logo

csca-u-net's Introduction

CSCA U-Net: A Channel and Space Compound Attention CNN for Medical Image Segmentation


Table of Contents

Table of contents generated with markdown-toc


You also can read Chinese version

1. Overview

Papers

This repository provides code for our paper "CSCA U-Net: A Channel and Space Compound Attention CNN for Medical Image Segmentation" accepted for Publication at Artificial Intelligence in Medicine.(papers)

Architecture

image-architecture

Abstract

Image segmentation is one of the vital steps in medical image analysis. A large number of methods based on convolutional neural networks have emerged, which can extract abstract features from multiple-modality medical images, learn valuable information that is difficult to recognize by humans, and obtain more reliable results than traditional image segmentation approaches. U-Net, due to its simple structure and excellent performance, is widely used in medical image segmentation. In this paper, to further improve the performance of U-Net, we propose a channel and space compound attention (CSCA) convolutional neural network, abbreviated CSCA U-Net, which increases the network depth and employs a double squeeze-and-excitation (DSE) block in the bottleneck layer to enhance feature extraction and obtain more high-level semantic features. Moreover, the characteristics of the proposed method are three-fold: (1) channel and space compound attention (CSCA) block, (2) cross-layer feature fusion (CLFF), and (3) deep supervision (DS). Extensive experiments on several available medical image datasets, including Kvasir-SEG, CVC-ClinicDB, CVC-ColonDB, ETIS, CVC-T, 2018 Data Science Bowl (2018 DSB), ISIC 2018 Challenge, and JSUAH-Cerebellum, show that CSCA U-Net achieves competitive results and significantly improves the generalization performance.

2. Data Files

2.1 Datasets

In this subsection, we provide the public data set used in the paper:

2.2 Trained weights

[Aliyun], [Baidu], [Google Drive]

2.3 Predicted Map

[Aliyun], [Baidu], [Google Drive]

3. How to run

3.1 Create Environment

First of all, you need to have a pytorch environment, I use pytorch 1.10, but it should be possible to use a lower version, so you can decide for yourself.

You can also create a virtual environment using the following command (note: this virtual environment is named pytorch, if you already have a virtual environment with this name on your system, you will need to change environment.yml manually).

conda env create -f docs/enviroment.yml

3.2 Training

You can run the following command directly:

sh run.sh ### use stepLR
sh run_cos.sh ### use CosineAnnealingLR 

If you only want to run a single dataset, you can comment out the irrelevant parts of the sh file, or just type something like the following command from the command line:

python Train.py --model_name CSCAUNet --epoch 121 --batchsize 16 --trainsize 352 --train_save CSCAUNet_Kvasir_1e4_bs16_e120_s352 --lr 0.0001 --train_path $dir/data/TrainDataset --test_path $dir/data/TestDataset/Kvasir/  # you need replace ur truely Datapath to $dir.

3.3 Testing and Save Pictures

If you use a sh file for training, it will be tested after the training is complete.

If you use the python command for training, you can also comment out the training part of the sh file, or just type something like the following command at the command line:

python Test.py --train_save CSCAUNet_Kvasir_1e4_bs16_e120_s352 --testsize 352 --test_path $dir/data/TestDataset

3.4 Evaluating

  • For evaluating the polyp dataset, you can use the matlab code in eval or use the evaluation code provided by [UACANet].
  • For other datasets, you can use the code in evaldata.
  • The reason for using a different evaluation code is to use the same methodology in the evaluation as other papers that did experiments on the dataset.

4. Result

  • Polyp Datasets 20221208101511

    20221208101543

  • 2018 DSB

  • ISIC 2018

  • JSUAH-Cerebellum 20221208101600

  • Qualitative Results

    • Polyp Segmentation display-polyp
    • 2018 DSB display-DSB
    • ISIC 2018 display-ISIC2
    • Fetal Ultrasound (Private) display-self

5. Citation

Please cite our paper if you find the work useful:

@article{shu2024102800,
title = {CSCA U-Net: A channel and space compound attention CNN for medical image segmentation},
journal = {Artificial Intelligence in Medicine},
volume = {150},
pages = {102800},
year = {2024},
issn = {0933-3657},
doi = {https://doi.org/10.1016/j.artmed.2024.102800},
url = {https://www.sciencedirect.com/science/article/pii/S0933365724000423},
author = {Xin Shu and Jiashu Wang and Aoping Zhang and Jinlong Shi and Xiao-Jun Wu},
keywords = {U-net, Channel and spatial compound attention, Cross-layer feature fusion, Deep supervision, Medical image segmentation}
}

6. Acknowledge

  • Many of the training strategies, datasets, and evaluation methods in this paper are based on PraNet. I admire the open source spirit of Dr. Deng-Ping Fan and other authors, and am very grateful for the help provided by this work on PraNet.

7. Contact

csca-u-net's People

Contributors

z872845991 avatar xiaolanshu avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.