Skip to content

The open source code of SA-UNet: Spatial Attention U-Net for Retinal Vessel Segmentation.

Notifications You must be signed in to change notification settings

przemyslaw-zaradzki/SA-UNet

 
 

Repository files navigation

Retina Vessel Segmentation from OCT Fundus Reconstruction with SA-UNet

This software is forked from clguo/SA-UNet and allows segmentation of blood vessels in OCT reconstruction images of the human eye retina. Details of the application of the software can be found in the paper:

Marciniak, T.; Stankiewicz, A.; Zaradzki, P. Neural Networks Application for Accurate Retina Vessel Segmentation from OCT Fundus Reconstruction. Sensors 2023, 23, 1870. https://doi.org/10.3390/s23041870

Link to the paper: https://www.mdpi.com/1424-8220/23/4/1870

The dataset CAVRI-C used by the software is available free of charge at: http://dsp.org.pl/CAVRI_Database/191/

Example of three fundus reconstructions with ground truth and corresponding segmentation results for 5 neural networks (analyzed in the paper above):

Here is the original README.md from https://github.com/clguo/SA-UNet with environment requirements and setup information.

Overview

SA-UNet

This code is for the paper: Spatial Attention U-Net for Retinal Vessel Segmentation. We report state-of-the-art performances on DRIVE and CHASE DB1 datasets.

Code written by Changlu Guo, Budapest University of Technology and Economics(BME).

We train and evaluate on Ubuntu 16.04, it will also work for Windows and OS.

Datasets

Data augmentation:

  1. keras_dataAug.py
    (1) Random rotation;
    (2) adding Gaussian noise;
    (3) color jittering;
    2.flip.py
    (4) horizontal, vertical and diagonal flips.

if you do not want to do above augmentation,just download it from my link.

DRIVE CHASE_DB1

Quick start

Training

Run Train_drive.py or Train_chase.py

Testing

Run Eval_drive.py or Eval_chase.py

Environments

Keras 2.3.1
Tensorflow==1.14.0

About Keras

Keras is a minimalist, highly modular neural networks library, written in Python and capable of running on top of either TensorFlow or Theano. It was developed with a focus on enabling fast experimentation. Being able to go from idea to result with the least possible delay is key to doing good research.

Use Keras if you need a deep learning library that:

allows for easy and fast prototyping (through total modularity, minimalism, and extensibility). supports both convolutional networks and recurrent networks, as well as combinations of the two. supports arbitrary connectivity schemes (including multi-input and multi-output training). runs seamlessly on CPU and GPU. Read the documentation Keras.io

Keras is compatible with: Python 2.7-3.5.

If you are inspired by our work, please cite these papers.

Structured dropout convolutional block

@INPROCEEDINGS{8942005,
author={C. {Guo} and M. {Szemenyei} and Y. {Pei} and Y. {Yi} and W. {Zhou}},
booktitle={2019 IEEE 19th International Conference on Bioinformatics and Bioengineering (BIBE)},
title={SD-Unet: A Structured Dropout U-Net for Retinal Vessel Segmentation},
year={2019},
volume={},
number={},
pages={439-444},}

@article{Guo2020SAUNetSA,
title={SA-UNet: Spatial Attention U-Net for Retinal Vessel Segmentation},
author={Changlu Guo and Marton Szemenyei and Yugen Yi and Wenle Wang and Buer Chen and Changqi Fan},
journal={ArXiv},
year={2020},
volume={abs/2004.03696}
}

About

The open source code of SA-UNet: Spatial Attention U-Net for Retinal Vessel Segmentation.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%