Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Retina blood vessel segmentation with a convolutional neural network
| Date | Stars |
|---|---|
| 2026-07-31 | 1352 |
| 2026-08-01 | 1352 |
| 2026-08-02 | 1352 |
| 2026-08-06 | 1352 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# Retina blood vessel segmentation with a convolution neural network (U-net)  This repository contains the implementation of a convolutional neural network used to segment blood vessels in retina fundus images. This is a binary classification task: the neural network predicts if each pixel in the fundus image is either a vessel or not. The neural network structure is derived from the *U-Net* architecture, described in this [paper](https://arxiv.org/pdf/1505.04597.pdf). The performance of this neural network is tested on the DRIVE database, and it achieves the best score in terms of area under the ROC curve in comparison to the other methods published so far. Also on the STARE datasets, this method reports one of the best performances. ## Methods Before training, the 20 images of the DRIVE training datasets are pre-processed with the following transformations: - Gray-scale conversion - Standardization - Contrast-limited adaptive histogram equalization (CLAHE) - Gamma adjustment The training of the neural network is performed on sub-images (patches) of the pre-processed full images. Each patch, of dimension 48x48, is obtained by randomly selecting its center inside the full image. Also the patches partially or completely outside the Field Of View (FOV) are selected, in this way the neural network learns how to discriminate the FOV border from blood vessels. A set of 190000 patches is obtained by randomly extracting 9500 patches in each of the 20 DRIVE training images. Although the patches overlap, i.e. different patches may contain same part of the original images, no further data augmentation is performed. The first 90% of the dataset is used for training (171000 patches), while the last 10% is used for validation (19000 patches). The neural network architecture is derived from the *U-net* architecture (see the [paper](https://arxiv.org/pdf/1505.04597.pdf)). The loss function is the cross-entropy and the stochastic gradient descent is employed for optimization. The activation function after each convolutional layer is the Rectifier Linear Unit (ReLU), and a dropout of 0.2 is used between two consecutive convolutional layers. Training is performed for 150 epochs, with a mini-batch size of 32 patches. Using a GeForce GTX TITAN GPU the training lasts for about 20 hours. ## Results on DRIVE database Testing is performed with the 20 images of the DRIVE testing dataset, using the gold standard as ground truth. Only the pixels belonging to the FOV are considered. The FOV is identified with the masks included in the DRIVE database. In order to improve the performance, the vessel probability of each pixel is obtained by averaging multiple predictions. With a stride of 5 pixels in both height and width, multiple consecutive overlapping patches are extracted in each testing image. Then, for each pixel, the vessel probability is obtained by averaging probabilities over all the predicted patches covering the pixel. The results reported in the `./test` folder are referred to the trained model which reported the minimum validation loss. The `./test` folder includes: - Model: - `test_model.png` schematic representation of the neural network - `test_architecture.json` description of the model in json format - `test_best_weights.h5` weights of the model which reported the minimum validation loss, as HDF5 file - `test_last_weights.h5` weights of the model at last epoch (150th), as HDF5 file - `test_configuration.txt` configuration of the parameters of the experiment - Experiment results: - `performances.txt` summary of the test results, including the confusion matrix - `Precision_recall.png` the precision-recall plot and the corresponding Area Under the Curve (AUC) - `ROC.png` the Receiver Operating Characteristic (ROC) curve and the corresponding AUC - `all_*.png` the 20 images of the pre-processed originals, ground truth and predictions relative to the DRIV
Excerpt of 16,043 characters
Read on GitHub17
Luca Antiga · Italy
6
2
2
1
1
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:b07c9d2b1939e0c5, llm:description: 'Retina blood vessel segmentation with a convolutional neural network'
matched fp:b07c9d2b1939e0c5, llm:description: 'Retina blood vessel segmentation with a convolutional neural network'
matched fp:b07c9d2b1939e0c5, llm:description: 'Retina blood vessel segmentation with a convolutional neural network'