Keywords

1 Introduction

The analysis of medical images is a useful tool to diagnose, plan and execute treatment in different healthcare fields; for example, in ophthalmology, laryngology, oncology and neurosurgery [13]. In the human body, the vascular structure provides important information about the health and functioning of certain organs, therefore, detecting blood vessels or vessels-like structure occupies a remarkable place in the medical image segmentation field. A broad variety of algorithms and methodologies have been developed and implemented for the achievement of automatic or semiautomatic extraction of blood vessels, as reviewed in [3, 7, 13]. Particular concern is growing up in the area of ophthalmology, since detecting and analyzing vascular retinal pathologies may lead to early diagnosis of various cardiovascular and ophthalmic diseases such as diabetes [7], which could have a big economic impact for the healthcare sector.

In the literature, vessel segmentation methods for fundus retinal images share three common stages. Previous to the processing stage, the pre-processing mainly aims to improve the image contrast, to convert to gray-scale levels and/or to suppress image noise; while the post-processing stage aims to reconnect vascular segments or remove image artifacts. The vessel segmentation algorithms can be classified as kernel-based techniques, vessel-tracking, mathematical morphology-based, multi-scale, model-based, adaptive local thresholding and machine learning [3]. Other authors classify the algorithms as vessel enhancement, machine learning, deformable models and tracking [13].

Prior to vessel segmentation, an enhancement process is performed to improve the quality of the vessel perception. Most enhancement algorithms use Gaussian matched filters, proposed by Chaudhuri et al. in [4]. Those algorithms are kernel-based methods, and operate on the assumption that a vessel intensity profile is modeled as a Gaussian curve. Later, a number of Gaussian matched filters have been proposed to enhance vessels in fundus retinal images and coronary angiograms. A Gaussian matched filter (MF) can be expressed as,

$$\begin{aligned} MF(x,y) = -\dfrac{1}{\sqrt{2\pi }\sigma }exp(\frac{-x^2}{2\sigma }) \forall |x|\le 3\sigma , |y|\le L/2 \end{aligned}$$
(1)

where, L is the length for which the vessels are assumed to have fixed orientation, \(\sigma \) is the spread of the Gaussian curve. Vessels are assumed to be aligned along Y-axis. We can think of this filter as a flume with a gaussian cross-section.

In the literature, the use of Gaussian derivatives to design filters has been proposed in [11, 17]. There, the second order derivative, also known as the Laplacian (LoG) of a Gaussian, has also been employed for the detection of vessel and vessel-like structures. Authors argue that non-vessel retinal structures (abnormalities) may be modeled as uniform intensity regions, like ramps or step functions. When those regions are convolved with an LoG filter, they produce a zero response about its center, unlike vessel structures which respond with a high positive or negative value. Nowadays, the combination of MF and LoG filters is implemented to improve the classification rate between normal and abnormal retinal structures [9,10,11]. An LoG filter can be expressed as,

$$\begin{aligned} LoG(x,y) = \dfrac{1}{\sqrt{2\pi }\sigma }\dfrac{(x^4 - \sigma ^2 )}{\sigma ^4}exp(\frac{-x^2}{2\sigma }) \forall |x|\le 3\sigma , |y|\le L/2 \end{aligned}$$
(2)

Most blood vessel segmentation algorithms are implemented and evaluated on two publicly available databases, the STARE [8] and DRIVE [16]. Both databases contain low resolutions images (of size \(565 \times 584\) and \(700 \times 605\) pixels, respectively) but, having now better image sensors and computers, it seems adequate to process newer high resolution images. Odstrcilik et al. [14] introduced a new High Resolution Fundus Retinal (HRF) image database, publicly available for development and comparison. The HRF is composed of 45 images, each one of size \(3504 \times 2336\) pixels, divided in 3 categories: healthy (h), glaucomatous (g) and diabetic retinopathy (dr) patients; for each image, a mask containing the field of view and the manual segmentation are provided.

Recently, vessel enhancement research aims to optimize the filter parameters, hoping for higher detection rates [5]. Al-Rawi et al. [1] presented two strategies to optimize a single scale matched filter. They performed an exhaustive search to obtain better values and, later, proposed a genetic algorithm to improve the solutions, using the DRIVE [2] in both cases. Li et al. [12] explored the use of multiscale matched filters to enhance different size of vessels on STARE and DRIVE images, concluding that multiscale matched filters are better than single scale approaches. Other authors [14] introduced an improved matched filter by reshaping the Gaussian curves, generating different kernel masks to enhance the retinal image; those authors used the HRF, STARE and DRIVE databases. More recently, Sreejini et al. [15] presented an improved multiscale matched filter using a particle swarm algorithm on the STARE and DRIVE imagery.

The main motivation of this work is to explore the analysis of high resolution images using Gaussian filters and its derivatives. The use of a database containing images of different size requires the obtention of different filter value parameters. Then we aim to establish new value parameters to improve vessel enhancement algorithms on high resolution images. We focus our work on the parameter optimization using genetic algorithms. To evaluate our findings, we reproduce the vessel segmentation process proposed by Kumar et al. in [11] and compare the results to the work in [14]. The remain of this paper is organized as follows. We briefly describe the segmentation methodology in Sect. 2, and the optimization process in Sect. 3. In Sect. 4 we present results and analysis. Finally, the conclusions of this work are provided in Sect. 5.

2 Blood Vessel Extraction

The segmentation algorithm proposed in [11] is visually described in Fig. 1. First, the green channel of the input image is extracted [3]. Next, the image is equalized to increase the contrast between the background and the vascular structure. According to the authors, a Contrast Limited Adaptive Histogram Equalization (CLAHE) provides the best enhancement. Later, the processing stage refers to a filtering using MF and LoG filters. A bank of multiscale filters is computed according to Eqs. 1 and 2, using three values of \(\sigma \) to detect various sizes of vessels and 12 rotations to detect all possible vessels. Two images containing the maximum filters response, MFR and LoGR, are composed and compared. If MFR(x, y) is maximum and LoGR\((x,y) > 0\), then (x, y) is labeled as a vessel pixel. Notice that each pixel has 3 labels (one for each \(\sigma \)), then a logical OR operation is performed to decide if the pixel is a vessel or a non-vessel pixel. Finally, morphological processing is performed to clean up the image and to reconnect missing pixels. An opening operation is performed on the image using linear structuring element, rotated in different directions. Reconstruction opening is performed between the opened image and the extracted vessel map.

Fig. 1.
figure 1

Blood vessel segmentation method as proposed by Kumar et al. [11].

2.1 Implementation

Our segmentation algorithm was implemented using MATLAB R2017a® and evaluated using the HRF database. We believe that authors in [11] may have scaled the HRF images to work with the same parameters as the DRIVE and STARE, because we observed a low performance after preliminary evaluations. We also observed that they failed to report the value at which the filter response is considered maximum. In those preliminary tests, we decided to modify the filter parameters; the width was increased from \(\sigma =\{1.5, 1.0, 0.5\}\) to \(\sigma =\{4.5,2.5,0.4\}\); the kernel size from \(L=9\) and \(L=5\) to \(L = 31\) for both filters; and the length of the linear structuring element from 11 pixels to 43 pixels. The reason can be observed in Fig. 2, where segmentation results are visually compared. Figure 2a shows the manual segmentation of an input image. Figure 2b shows the segmentation result using the filter parameters in [11], and Fig. 2c using our preliminary filter parameters. With these segmentation results, we have concluded that the first Gaussian curve does not cover the complete vessel, only the edges, therefore, wider Gaussian curves are required and specific filter parameters must be calculated. We followed a genetic algorithm-based approach for that purpose.

Fig. 2.
figure 2

Vessel segmentation: (a) manual segmentation, (b) segmentation using the original parameters [11] and (c) segmentation using our preliminary parameters.

The outcome of the algorithm is compared to the manual segmentation of a database (ground truth). Measurement of the performance is always done only on pixels inside the field of view (FOV). Three performance measures are computed: accuracy (Ac), sensitivity (Sn) and F1-score (F1s). The accuracy indicates the fraction of correctly classified pixels, while the sensitivity indicates the fraction of vessel pixels correctly detected. The F1-score can be seen as a metric that gives more importance to the well-detected true positive pixels. In clinical applications involving retinal image analysis, detecting and extracting true vessel pixels is crucial to diagnose eye pathologies. We aim to increase the true positives rate of the segmentation, measuring it through the F1s.

3 Filter Parameters Optimization

In our analysis, we have observed that the use of MF filters is intended to enhance vessel pixels, and the use of LoG filters is intended to discriminate among vessel and non-vessel structures as stated in the literature. Our optimization system is designed to look for optimal \(\sigma \) values using genetic algorithms. Genetic algorithms (GAs) belong to the family of evolutionary computation strategies that emulate genetic evolution. GAs are population-based methods [5], where each individual in the population is considered a potential solution. Each potential solution is gradually improved until a stopping criterion is satisfied. Individuals are improved using the evolutionary operators of selection (keep the best individuals), crossover (exchange information among the best individuals), and mutation (randomly introducing information in the population). As mentioned before, the use of GAs has been explored to obtain better solutions for low resolution images, hence it seems promising to use them for high resolution images.

In our optimization system, each individual is composed of 3 genes, each one representing a \(\sigma \) value. Those genes are used to create the bank of Gaussian filters, as described in Eqs. 1 and 2. Other parameters remained constant: \(L=31\), 12 rotations with \(\theta =\{0,15,\dots ,165^{\circ }\}\) and \(SE=43\). On each generation, the population size is set to 40 individuals, where 20% of the best previous individuals is kept. The initial population is randomly generated and individuals go through an evaluation to assess their fitness. In our approach, the evaluation of individuals refers to executing a segmentation using the genetic information. Its fitness is assessed using the F1-score, which is configured to be minimized. The individuals with the lowest values are considered the best possible solution.

3.1 Evaluation Function

Based on the implementation described in Sect. 2, a few modifications to the algorithm are proposed. Instead of seeking for the maximum filter response of the 12 directions, the image responses are added up, then high values increase and low values remain close to 0. Both image responses are thresholded, in separate, to obtain two binary images, later a logical OR is performed to conform the image vessel map. Morphological operations, as originally proposed in [11], are used to clean up the image and reconnect missing pixels. The algorithm is described on Algorithm 1. Note that reductions of the processing time and the use of computational resources are observed after these modifications.

figure a

4 Results and Analysis

In this image analysis, it was found that different values from the ones reported on the literature are needed to operate the Gaussian filters in high resolution images. Analytic results are described on Table 1, where we refer to the original configuration as the one proposed by [11], and adjusted configuration to our preliminary set up, as described on Sect. 2.1. Results on Table 1 are obtained after processing the HRF database according to the segmentation algorithm proposed by Kumar et al. With the original configuration, good accuracy levels were achieved, but the system fails considerably in detecting true vessel pixels, as reflected on the sensitivity and F1s of the system. Our adjusted parameters increased considerably the sensitivity of the system, if compared with [11], which also increased the F1s levels. Here, the overall false positives rate is of 0.1422, that is the reason the accuracy slightly decreases with our configuration.

Table 1. Comparison of the preliminary performance evaluation.

After performing the optimization process, described on Sect. 3, we found better parameters with \(\sigma =\{8.7589, 6.4611, 1.269\}\). Those were evaluated in our segmentation algorithm, described on Sect. 3.1, with processing parameters equal to \(L=31\), 12 rotations with \(\theta =\{0,15,\dots ,165^{\circ }\}\) and \(SE=43\). Analytic results are shown in Table 2, there, the performance for each image on each set is described. Maximum and minimum values are boldfaced on each column. If compared to results on Table 1, better accuracy and F1s are obtained in the three groups of the database. Although the sensitivity was decreased, it is worth to notice that the false positives rate dropped to 0.0166, meaning an increase on the F1s levels. To be compared with our previous analysis, Fig. 3 shows the segmentation results. A cleaner image is observed because the false positives rate was decreased, but some small vessels are missed as shown in Fig. 3c.

Table 2. Performance evaluation on the HRF database using optimized values.

In Table 3 the performance of all configurations are compared, also the results presented by Odstrcilik et al. [14] are reported. The main contribution in [14] is the use of a manually reshaped Gaussian kernel with 5 scales to detect blood vessels. Notice that each image is filtered 60 times (\(5 \times 12\)), we propose to filter each image only 36 times (\(3 \times 12\)), requiring lower processing time. In general, the results are competitive, our algorithm obtained overall better accuracy levels, but the sensitivity of the system is lower if compared with [14].

Our implementation with optimized parameters still misses some hand-labeled vessel pixels, and further optimization could be performed to increase the true positives rate. As observed in the literature, authors usually do not report F1-score values. However, Dash et al. in [6] reported average values of 0.7240 and 0.7042 in other publicly databases. Our results indicate similar values for the healthy and glaucomatous group, although a direct comparison is impossible because the image databases are different. The DR group is harder to process due to the damage on the retina, which is visually depicted with dark and bright spots in the image. As a result, the segmentation algorithm got confused and might not be able to completely distinguished between vessel and non-vessel structures.

Fig. 3.
figure 3

Vessel segmentation results: (a) manual segmentation, (b) segmentation using the preliminary parameters and (c) segmentation using the optimized parameters.

Table 3. Comparison evaluation on the HRF database

5 Conclusions

The combination of Gaussian filters is an appropriate technique to enhance blood vessels in fundus retinal images. Even more, the use of multiscale filters is crucial to enhance different size of blood vessels. The analysis of high resolution images with matched filters requires different value parameters from those used on low resolution images. Particularly, wider Gaussian curves are needed to cover all sizes of blood vessels, as shown in this work. We evaluated a segmentation algorithm, using the HRF image database, paying special attention to the vessel enhancement processing. We proposed an optimization system, using genetic algorithms to calculate improved filter parameters. Those parameters were found to be \(\sigma =\{8.7589, 6.4611, 1.269\}\) with \(L=31\), 12 rotations with \(\theta =\{0,15,\dots ,165^{\circ }\}\) and \(SE=43\). As a result, the average vessel detection rate for our analysis is 96.20% for the healthy group, 96.43% for the glaucomatous group and 95.55% for the DR group. At the end of this work, it remains unknown the existence of another high resolution image database publicly available, then it was not possible to test our filter parameters in a different set of retinal images. This analysis represents a first step, in the detection and classification of normal and abnormal eye conditions.