Different classifiers in retinal vessel segmentation
PROJECT:
This project follows the continuation of the project Blood vessel segmentation using line operators, where the objective is to automatically segment blood vessels in images fundus, using the support vector machine (SVM) which uses vectors to build its final kernel. Here, the number of points extracted at random, the type of normalization (global and individual), the type of classified (linear and rbf) and the percentage of points extracted belonging to thin vessels, thick vessels and background were varied.
STEPS:
- Extraction of features and labels for random points, for vases and background and for thin vases, thick vases and background;
- Application of the kernel and respective segmentation of blood vessels;
- Variation of some variables in order to analyze how they may affect the final results.
FILES:
- Ricci_Perfetti@2007.pdf - (Digital Retinal Images for Vessel Extraction) - scientific article on which the project was based.
- DRIVE - (Digital Retinal Images for Vessel Extraction) - contains image data sets (test and training) with images for segmentation, respective mask and respective manual segmentation.
- Imagens segmentadas - resulting images of the project Blood vessel segmentation using line operators.
- Guardar+features+e+labels+-+pontos+aleatórios.py - code with the functionality of extracting features and labels of random points from the whole image, being able to choose the number of points to extract.
- Guardar+features+e+labels+-+vasos+e+background.py - code with the functionality of extracting features and point labels belonging to vases and background, being able to choose the percentage of points to be extracted from each of them.
- Guardar+features+e+labels+-+vasos+finos%2C+vasos+grossos+e+background.py - code with the functionality of extracting features and point labels belonging to thin vessels, thick vessels and background, being able to choose the percentage of points to be extracted from each of them.
- SVM+-+pontos+aleatórios.py - code with the application of SVM to points extracted at random and respective calculation of metrics and ROC curve of the segmentations obtained.
- SVM+-+vasos+e+background.py - code with the application of SVM to points belonging to vessels and background and respective calculation of the metrics and ROC curve of the segmentations obtained.
- SVM+-+vasos+finos%2C+vasos+grossos+e+background.py - code with the application of SVM to points belonging to thin vessels, thick vessels and background and respective calculation of metrics and ROC curve of the segmentations obtained.
RESULTS:
- Different segmentations obtained by varying the number of random points extracted.
Number of points | Accuracy (%) | AUC (%) |
---|---|---|
1000 | 94,13 | 83,12 |
2000 | 94,24 | 83,19 |
3000 | 94,32 | 84,14 |
4000 | 94,34 | 83,45 |
5000 | 94,41 | 83,40 |
7500 | 94,43 | 83,50 |
10000 | 94,42 | 82,82 |
- Different segmentations obtained by varying the number of random points extracted.
Image | Normalization | Kernel | Accuracy (%) | AUC (%) |
---|---|---|---|---|
a) | Global | Linear | 91,85 | 94,58 |
b) | Global | RBF | 92,38 | 81,27 |
c) | Individual | Linear | 92,97 | 94,56 |
d) | Individual | RBF | 93,49 | 81,48 |
- Best results for each test (random points; pots and background; thin pots, thick pots and background) and comparison between them.
Image | SVM method | Accuracy (%) | AUC (%) |
---|---|---|---|
a) | Random points | 92,97 | 94,56 |
b) | 20% vases and 80% background | 94,09 | 94,68 |
c) | 10% fine vases, 15% thick vases and 75% background | 94,02 | 94,74 |
d) | Manual segmentation | 100,00 | 100,00 |