Retinal vessel segmentation with deep learning UNet architecture and image processing methods
Part of the final year engineering project from my studies at Warsaw's University of Technology.
Disclaimer: The training scripts presented in this repository require medical data in order to train and test deep learning models. I myself cannot share this data here. You can check out the DRIVE dataset yourself - this data was used to train and initially test the UNet architecture. The best model was then tested on data aquired from an ophtalmic clinic located in Warsaw - this data will not be shared here either but you can see the results and how you can test the algorithms by yourself below.
This project aims to segment retinal vessels from funduscamera images. Two techniques were used to achieve this goal:
- image processing techqniues presented in: An Efficient Retinal Blood Vessel Segmentation using Morphological Operations
- personal implementation of a deep learning techique using the fully convolutional UNet as presented in: Retina Blood Vessel Segmentation Using A U-Net BasedConvolutional Neural Network
Example of the results: Original | Image Processing | UNet
If you'd like to test the UNet for yourself you might want to:
- Get a funduscamera image (it must be cropped to the FOV cricle first) like: example image
- Create a 'data' folder in the repository and save the image there as 'example_1.png'
- Run unet_showcase.py