Giter Club home page Giter Club logo

caranet's Introduction

CaraNet: Context Axial Reverse Attention Network for Small Medical Objects Segmentation

PWC

PWC

PWC

PWC

Result
This repository contains the implementation of a novel attention based network (CaraNet) to segment the polyp (CVC-T, CVC-ClinicDB, CVC-ColonDB, ETIS and Kvasir) and brain tumor (BraTS). The CaraNet show great overall segmentation performance (mean dice) on polyp and brain tumor, but also show great performance on small medical objects (small polyps and brain tumors) segmentation.

๐Ÿ”ฅ NEWS ๐Ÿ”ฅ The full paper is available: CaraNet

Architecture of CaraNet

Backbone

We use Res2Net as our backbone.

Context module

We choose our CFP module as context module, and choose the dilation rate is 8. For the details of CFP module you can find here: CFPNet. The architecture of CFP module as shown in following figure:

Result

Axial Reverse Attention

As shown in architecture of CaraNet, the Axial Reverse Attention (A-RA) module contains two routes: 1) Reverse attention; 2) Axial-attention (The code of axial attention is applied from UACANET)

Installation & Usage

Enviroment

  • Enviroment: Python 3.6;
  • Install some packages:
conda install pytorch==1.1.0 torchvision==0.3.0 cudatoolkit=10.0 -c pytorch
conda install opencv-python pillow numpy matplotlib
  • Clone this repository
git clone https://github.com/AngeLouCN/CaraNet

Training

  • Download the training and testing dataset from this link: Experiment Dataset
  • Change the --train_path & --test_path in Train.py
  • Run Train.py
  • Testing dataset is ordered as follow:
|-- TestDataset
|   |-- CVC-300
|   |   |-- images
|   |   |-- masks
|   |-- CVC-ClinicDB
|   |   |-- images
|   |   |-- masks
|   |-- CVC-ColonDB
|   |   |-- images
|   |   |-- masks
|   |-- ETIS-LaribPolypDB
|   |   |-- images
|   |   |-- masks
|   |-- Kvasir
|       |-- images
|       |-- masks

Testing

  • Change the data_path in Test.py

Evaluation

  • Change the image_root and gt_root in eval_Kvasir.py
  • You can also run the matlab code in eval fold, it contains other four measurement metrics results.
  • You can download the segmentation maps of CaraNet from this link: CaraNet
  • dice_average.m is to compute the averaged dice values according to sizes of objects, for small area analysis.

Segmentation Results

  • Polyp Segmentation Results
Result
  • Conditions of test datasets:
Result
Result
  • Small polyp analysis

The x-axis is the proportion size (%) of polyp; y-axis is the average mean dice coefficient.

Result
Result
Result
Result
Result

Brain Tumor Segmentation

  • Dataset
BraTS input Segmentation truth
Result
Result
  • Results
Result
  • Small tumor analysis

For very small areas (<1%):

Result

The difference between results of CaraNet and PraNet:

Result

Citation

@inproceedings{lou2021caranet,
author = {Ange Lou and Shuyue Guan and Hanseok Ko and Murray H. Loew},
title = {{CaraNet: context axial reverse attention network for segmentation of small medical objects}},
volume = {12032},
booktitle = {Medical Imaging 2022: Image Processing},
organization = {International Society for Optics and Photonics},
publisher = {SPIE},
pages = {81 -- 92},
year = {2022},
doi = {10.1117/12.2611802}}

@inproceedings{9506485,
  author={Lou, Ange and Loew, Murray},
  booktitle={2021 IEEE International Conference on Image Processing (ICIP)}, 
  title={CFPNET: Channel-Wise Feature Pyramid For Real-Time Semantic Segmentation}, 
  year={2021},
  volume={},
  number={},
  pages={1894-1898},
  doi={10.1109/ICIP42928.2021.9506485}}

caranet's People

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.