Skip to content

Shared Encoder (SE) based Denoising of Optical Coherence Tomography Images

License

Notifications You must be signed in to change notification settings

adigasu/SE_Despeckling

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Shared Encoder (SE) based Denoising of Optical Coherence Tomography (OCT) Images

ICVGIP 2018 [paper]

OCT images are corrupted by speckle noise due to the underlying coherence-based strategy. Speckle suppression/removal in OCT images plays a significant role in both manual and automatic detection of diseases, especially in early clinical diagnosis. In this work, a new method is proposed for denoising OCT images based on CNN by learning common features from unpaired noisy and clean OCT images in an unsupervised, end-to-end manner. The proposed method consists of a combination of two autoencoders with shared encoder layers, which we call as Shared Encoder (SE) architecture. The SE is trained to reconstruct noisy and clean OCT images with respective autoencoders. The denoised OCT image is obtained using a cross-model prediction. The proposed method can be used for denoising OCT images with or without pathology from any scanner.

The Schematic representation of proposed Shared Encoder (SE) architecture

Dependencies

This code depends on the following libraries:

  • Keras >= 2.0
  • keras_contrib >= 1.2.1
  • Theano = 0.9.0

Code should be compatible with Python versions 2.7-3.5. (tested in python2.7)

Datasets

Datasets can be found in following links:

  1. Dataset1
  2. Dataset2

For more details, please check out the experiments section in the paper.

Training

The model can be trained to reproduced with command:

python2.7 train_SE.py

The data should be placed in below path

  • ./data/noisy_data/
  • ./data/clean_data/

Test

The weights of SE and SSE1 models are present in weights folder. SSE1 (best) is fine-tune version of SE. More details are present in paper.

The result can be reproduced with command:

python2.7 test_SE.py

By default it is set to SSE1, Please change 'modelName' in parameter section to switch between 'SE' and 'SSE1'.

The predicted results will be saved in "./test_images/"

TODO

  • Add some results
  • Add command line options to set parameter
  • Update code for tensorflow backend

Citation

If you use this code for your research, please cite:

@inproceedings{adiga2018se,
  title={Shared Encoder based Denoising of Optical Coherence Tomography Images},
  author={Adiga, Sukesh V and Sivaswamy, Jayanthi},
  booktitle={Proceedings of the 11th Indian Conference on Computer Vision, Graphics and Image Processing (ICVGIP)},
  year={2018},
  organization={ACM}
}
License

This project is licensed under the terms of the MIT license.

Releases

No releases published

Packages

No packages published

Languages