| Literature DB >> 30479888 |
Sufian A Badawi1, Muhammad Moazam Fraz1.
Abstract
Segmentation of the retinal blood vessels using filtering techniques is a widely used step in the development of an automated system for diagnostic retinal image analysis. This paper optimized the blood vessel segmentation, by extending the trainable B-COSFIRE filter via identification of more optimal parameters. The filter parameters are introduced using an optimization procedure to three public datasets (STARE, DRIVE, and CHASE-DB1). The suggested approach considers analyzing thresholding parameters selection followed by application of background artifacts removal techniques. The approach results are better than the other state of the art methods used for vessel segmentation. ANOVA analysis technique is also used to identify the most significant parameters that are impacting the performance results (p-value ¡ 0.05). The proposed enhancement has improved the vessel segmentation accuracy in DRIVE, STARE and CHASE-DB1 to 95.47, 95.30 and 95.30, respectively.Entities:
Keywords: B-COSFIRE; BCOSFIRE; Computer Aided Diagnosis (CAD); Retinal blood vessels; Retinal images
Year: 2018 PMID: 30479888 PMCID: PMC6238769 DOI: 10.7717/peerj.5855
Source DB: PubMed Journal: PeerJ ISSN: 2167-8359 Impact factor: 2.984
Figure 1(A) DoG functions showing the contours of each function; (B) illustration of the vessel as a bar and identifying the five points to design the B-COSFIRE prototype.
Figure 2Illustration of B-COSFIRE prototype and the generated B-COSFIRE filter; (A) DoG filter; (B) automatically created a B-COSFIRE filter for the designed prototype; (C) bar-shaped prototype.
Figure 3B-COSFIRE Bar and half bar filter prototype patterns.
(A) Bar-shaped prototype pattern. (B) Half bar-shaped prototype pattern. (C) Illustration of the designed DoG filter combinations to generate the pattern blobs for the B-COSFIRE filter.
Figure 4(A) Difference of Gaussian (DoG) 3D function and the blob generated from its contours. (B) The (DoG) blob. (C) Multi-scale of DoG 3D function and the created blobs.
Range of parameter values for the optimization of results.
| Parameter | Range start | Range end |
|---|---|---|
| Preprocessing thresould | 0.1 | 0.6 |
| Filter threshold | 25 | 50 |
| Background artifact size | 0 | 48 |
Figure 5Schematic representation of our proposed parameter optimization.
Performance metrics used in this work to compare the results.
| Metric | Preprocessing threshold |
|---|---|
| Accuracy | It measures the percentage of pixels correctly segmented in the dataset. |
| Sensitivity | |
| Specificity | |
| AUC | AUC is the area under the ROC curve it measures how perfect the method can distinguish whether the pixel is a vessel pixel or a background one (Vessel/background). |
“Best combination” summary performance results.
| Parameters best combination | Optimized results | |||||
|---|---|---|---|---|---|---|
| Dataset | Prep. threshold | Filter threshold | Background artifact size | Sensitivity | Specificity | Accuracy |
| DRIVE | 0.3 | 30 | 48 | 0.790 | 0.971 | 0.955 |
| STARE | 0.5 | 27 | 18 | 0.865 | 0.961 | 0.953 |
| CHASE-DB1 | 0.2 | 31 | 38 | 0.800 | 0.964 | 0.953 |
Summary results for the achieved improvement compared to the original B-COSFIRE results on DRIVE, STARE and CHASE-DB1.
| Dataset | Approach | Sensitivity | Specificity | Accuracy |
|---|---|---|---|---|
| DRIVE | Our approach | 0.791 | 0.971 | 0.955 |
| B-COSFIRE | 0.766 | 0.970 | 0.944 | |
| STARE | Our approach | 0.865 | 0.961 | 0.953 |
| B-COSFIRE | 0.772 | 0.971 | 0.950 | |
| CHASE-DB1 | Our approach | 0.800 | 0.964 | 0.953 |
| B-COSFIRE | 0.759 | 0.959 | 0.939 |
Figure 6Optimized B-COSFIRE vs. B-COSFIRE performance results on the datasets (A) DRIVE, (B) STARE and (C) CHASE-DB1.
Figure 7DRIVE dataset segmentation result: (A) original image, (B) ground truth and (C) segmented vessels.
Figure 9CHASE-DB1 dataset segmentation result: (A) original image, (B) ground truth and (C) segmented vessels.
Experiment-wise performance results on DRIVE dataset (the best parameters combination is underlined).
| Experiment No. | Prep. threshold | Filter threshold | Background artifact size | Sensitivity | Specificity | Accuracy |
|---|---|---|---|---|---|---|
| 1 | 0.4 | 30 | 18 | 0.813 | 0.965 | 0.952 |
| 2 | 0.4 | 30 | 28 | 0.811 | 0.966 | 0.952 |
| 3 | 0.5 | 30 | 18 | 0.811 | 0.965 | 0.951 |
| 4 | 0.4 | 31 | 48 | 0.798 | 0.969 | 0.954 |
| 5 | 0.4 | 32 | 18 | 0.794 | 0.970 | 0.954 |
| 6 | 0.3 | 30 | 28 | 0.794 | 0.970 | 0.954 |
| 7 | 0.4 | 32 | 28 | 0.792 | 0.970 | 0.954 |
| 8 | 0.5 | 32 | 18 | 0.792 | 0.970 | 0.954 |
| 9 | 0.3 | 30 | 38 | 0.792 | 0.970 | 0.954 |
|
|
|
|
|
|
|
|
| 11 | 0.4 | 32 | 48 | 0.788 | 0.971 | 0.955 |
| 12 | 0.5 | 32 | 38 | 0.788 | 0.971 | 0.954 |
| 13 | 0.5 | 32 | 48 | 0.787 | 0.971 | 0.955 |
Experiment-wise performance results on CHASE-DB1 Dataset (the best parameters combination is underlined).
| Experiment no. | Prep. threshold | Filter threshold | Background artifact size | Sensitivity | Specificity | Accuracy |
|---|---|---|---|---|---|---|
| 1 | 0.1 | 31 | 18 | 0.802 | 0.964 | 0.953 |
| 2 | 0.2 | 31 | 18 | 0.802 | 0.964 | 0.953 |
| 3 | 0.1 | 31 | 28 | 0.801 | 0.964 | 0.953 |
| 4 | 0.2 | 31 | 28 | 0.801 | 0.964 | 0.953 |
| 5 | 0.1 | 31 | 38 | 0.80.1 | 0.964 | 0.953 |
|
|
|
|
|
|
|
|
| 7 | 0.3 | 31 | 18 | 0.800 | 0.964 | 0.953 |
| 8 | 0.3 | 31 | 28 | 0.799 | 0.964 | 0.953 |
| 9 | 0.3 | 31 | 38 | 0.798 | 0.965 | 0.953 |
| 10 | 0.4 | 31 | 18 | 0.786 | 0.964 | 0.952 |
| 11 | 0.4 | 31 | 28 | 0.785 | 0.964 | 0.952 |
| 12 | 0.4 | 31 | 38 | 0.784 | 0.965 | 0.952 |
Analysis of variance (ANOVA) summary for parameters significance.
| Measure | Accuracy | Sensitivity | Specificity | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Dataset Parameter | DRIVE | STARE | CHASE -DB1 | DRIVE | STARE | CHASE -DB1 | DRIVE | STARE | CHASE -DB1 |
| Prep. threshold | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| Filter | |||||||||
| threshold | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
| Artifact size | |||||||||
Notes.
Note: ✓Significant Factor if P-Value ≤ 0.05, χ Insignificant Factor if P-Value > 0.05.
Details of one-way analysis of variance (ANOVA).
| Data Set | Parameters | Acc. | Se. | Sp. | Conclusion |
|---|---|---|---|---|---|
| DRIVE | Preprocessing threshold | ✓0.000. | ✓0.000 | ✓0.000 | As |
| DRIVE | Filter threshold | ✓0.000 | As | ||
| DRIVE | Atifact size | Insignificant, as | |||
| STARE | Preprocessing Threshold | ✓0.000 | ✓0.000 | ✓0.000 | As |
| STARE | Filter threshold | ✓0.003 | As | ||
| STARE | Atifact size | Insignificant, as | |||
| CHASE-DB1 | Preprocessing Threshold | As | |||
| CHASE-DB1 | Filter threshold | ✓0.000 | ✓0.000 | ✓0.000 | As |
| CHASE-DB1 | Atifact size | Insignificant, as |
Notes.
Note 1: (✓) Significant Factor if P-Value ≤ 0.05, (χ) Insignificant Factor if P-Value > 0.05.
Note 2: Values in the columns: Acc., Se., and Sp. represent the significance of the p-value of ANOVA statistical analysis for the corresponding combination (Dataset, parameter, Performance Measure).
Vessel segmentation performance on DRIVE dataset.
| Method Type | Authors | Se. | Sp. | Acc. | AUC | Time |
|---|---|---|---|---|---|---|
| Unsupervised | ||||||
| 0.766 | 0.970 | 0.944 | 0.961 | 10 s | ||
| 0.747 | 0.976 | 0.947 | 0.952 | – | ||
| 0.725 | 0.979 | 0.940 | – | – | ||
| 0.740 | 0.978 | 0.949 | 0.967 | 2.5 min | ||
| 0.715 | 0.976 | 0.943 | – | 5 min | ||
| Supervised | 0.790 | 0.969 | – | – | – | |
| 0.7691 | 0.9801 | 0.9533 | – | – | ||
| 0.760 | – | 0.952 | – | 1.3 s | ||
| 0.778 | 0.970 | 0.945 | 0.960 | – | ||
| 0.757 | 0.982 | 0.953 | 0.974 | 1.2 min | ||
| 0.741 | 0.981 | 0.948 | 0.975 | 2 min | ||
| 0.707 | 0.980 | 0.945 | 0.959 | 1.5 min |
Vessel segmentation performance on CHASE-DB1 dataset.
| Method type | Authors | Se. | Sp. | Acc. | AUC | Time |
|---|---|---|---|---|---|---|
| Unsupervised | ||||||
| 0.759 | 0.959 | 0.939 | 0.949 | 10 s | ||
| 0.756 | 0.966 | 0.946 | 0.956 | – | ||
| 0.762 | 0.957 | 0.947 | 0.623 | 2.5 min | ||
| 0.722 | 0.971 | 0.947 | 0.971 | – | ||
| Supervised | 0.728 | 0.971 | – | – | – | |
| 0.751 | 0.979 | 0.958 | 0.972 | 1.2 min | ||
| 0.713 | – | 0.948 | – | 1.3 s | ||
| 0.755 | 0.976 | 0.953 | 0.977 | 2 min |
Experiment-wise performance results on STARE dataset (the best parameters combination is underlined).
| Experiment No. | Prep. threshold | Filter threshold | Background artifact size | Sensitivity | Specificity | Accuracy |
|---|---|---|---|---|---|---|
| 1 | 0.5 | 31 | 18 | 0.802 | 0.964 | 0.948 |
| 2 | 0.5 | 31 | 18 | 0.802 | 0.964 | 0.949 |
| 3 | 0.5 | 31 | 28 | 0.801 | 0.963 | 0.951 |
| 4 | 0.5 | 31 | 28 | 0.801 | 0.962 | 0.953 |
|
|
|
|
|
|
|
|
| 6 | 0.5 | 28 | 0 | 0.800 | 0.962 | 0.953 |
| 7 | 0.5 | 28 | 9 | 0.799 | 0.963 | 0.953 |
| 8 | 0.4 | 28 | 18 | 0.798 | 0.964 | 0.953 |
| 9 | 0.3 | 30 | 18 | 0.786 | 0.964 | 0.952 |
| 10 | 0.2 | 31 | 0 | 0.784 | 0.964 | 0.952 |
| 11 | 0.2 | 31 | 9 | 0.784 | 0.964 | 0.952 |
| 12 | 0.2 | 41 | 28 | 0.779 | 0.964 | 0.952 |
| 13 | 0.1 | 41 | 38 | 0.779 | 0.964 | 0.952 |
Vessel segmentation performance on STARE dataset.
| Method type | Authors | Se. | Sp. | Acc. | AUC | Time |
|---|---|---|---|---|---|---|
| Unsupervised | ||||||
| 0.772 | 0.970 | 0.950 | 0.956 | 10 s | ||
| 0.768 | 0.976 | 0.955 | 0.961 | – | ||
| 0.854 | 0.942 | 0.933 | – | – | ||
| 0.732 | 0.984 | 0.956 | 0.967 | 2.5 min | ||
| 0.731 | 0.968 | 0.944 | – | 2 min | ||
| 0.752 | 0.968 | – | – | 11 min | ||
| Supervised | 0.768 | 0.974 | – | – | – | |
| 0.805 | 0.971 | 0.953 | 0.964 | – | ||
| 0.773 | 0.984 | 0.963 | 0.988 | 1.2 min | ||
| 0.741 | – | 0.959 | – | – | ||
| 0.755 | 0.976 | 0.953 | 0.977 | 2 min | ||
| 0.694 | 0.982 | 0.953 | 0.977 | 1.5 min |