You are on page 1of 6

A HW/SW system to detect Druses in retinal

fundus image for the diagnostic of Age Related


Macular Degeneration

Matheus Soares Monteiro Adriano A. M. Sarmento


Center of Informatics (CIn) Center of Informatics (CIn)
Federal University of Pernambuco (UFPE) Federal University of Pernambuco (UFPE)
Recife, Brazil Recife, Brazil
msm2@cin.ufpe.br aams@cin.ufpe.br

Abstract—Age related macular degeneration (AMD) is a de-


generative condition that strikes the human central vision and
it is pointed as one of the leading causes of blindness among
individuals over 50 years old in undeveloped countries. The
existence of yellow/white deposits in the retina, called drusen, is
one of the main signals of AMD. Drusen are found and analyzed
using retinal images, which is a subjective and time consuming
process. This work proposes a method of drusen detection and
quantification performed in an embedded system as a low cost
and high potential solution to support the diagnosis of AMD.
The performance of the proposed method was evaluated in the (a) (b)
public image dataset STARE. The method has been tested in two
Fig. 1. (a) Example of a normal healthy retina image, (b) AMD affected
different architectures: a software only and a hardware/software retina
which was implemented in the TERASIC development kit DE2i-
150. The hardware/software approach accelerated the execution
of the algorithm.
Index Terms—Age-related Macular Degeneration, Embedded
system to identify druses and their characteristics such as their
system, hardware acceleration boundaries is very helpful to all health professionals involved
[2].
I. I NTRODUCTION Optical coherence tomography (OCT) is considered as the
gold standard to provide drusen information, but its high
Age-related macular degeneration(AMD) is characterized
cost (clinical systems costs up to $150,000) has restricted
by degenerative lesions (drusen) in the central retina which
it’s access to largest eye centers and laboratories [4]. This
affects older people. According to the World Health Organiza-
fact, associated with the lack of specialized clinicians in the
tion, this condition is the third main cause of blindness worldly
countryside, makes the population of these remote places more
[1]. Currently, there is no cure for AMD but early detection
susceptible to vision loss due to AMD [5].
and treatment is essential to avoid severe consequences such as
There are several works [6-10] to automate the detection
total vision loss. AMD is usually classified into two different
and segmentation of drusen in retinal images, but they demand
types: (i) Dry, which is the most common and consists in the
high computational costs regarding memory and processing
presence of drusen; (ii) Wet, presenting also some fluid under
to provide a fast response. Additionally, there is no existing
the retina [2]. Fig. 1 shows the difference between a normal
work that proposes an embedded system using low power
and an AMD affected retina.
processors that provides fast image processing and analysis
Drusen and their characteristics determine the AMD type
of eye structures to deliver diagnosis of AMD.
and severity as per the Wiscosin AMD grading scale [3] and
This paper proposes a low computational cost HW/SW
the process of identifying those characteristics has always been
embedded system to detect drusen in a digital fundus image
a challenging task. Trained ophthalmologists can manually
to support the diagnosis and monitoring of AMD, helping
analyse drusen based on fundus retina digital images, which is
ophthalmologists to give a more accurate result. Thus, the
a time consuming and tireful mission and hence an automatic
contributions of this work are: (i) a novel method for detecting
This work was supported by the brazilian CNPq - National Council for drusen that requires less processing but is still accurate; (ii)
Scientific and Technological Development an embedded system architecture where different solutions
with low power processors are proposed in order to provide a Grid to the patient wearing the oculus and to have an examiner
lower financial cost and (3) a HW/SW embedded architecture to trigger some specific situations on the tests to identify
designed to this application domain that accelerates its outputs. AMD severity. This work neither uses retinal images nor
The proposed system was tested on 87 images of a public identifies drusen and their characteristics. Another important
retinal image database and high accuracy diagnosis of AMD paper is [13], which uses a HW/SW system to accelerate
were provided with good performance. The rest of the paper a novel method to calculate the Vertical Cup to Disc Ratio
is organized as follows: section 2 gives a description of (VCDR) to aid ophthalmologists in diagnosing glaucoma using
related works; section 3 explains the proposed method; section fundus images. Even not related to AMD, this last work is an
4 details the embedded architecture exploration; section 5 important example of how embedded systems can be used to
explains the proposed HW/SW architecture; section 6 presents reduce cost and help delivering effective solutions to health
experimental results and evaluates the proposed embedded professionals.
system and section 7 finally discusses the conclusions as well
III. M ETHODS AND M ATERIALS
as highlights possibilities for future works.
The retinal fundus images used in this study were taken
II. R ELATED WORKS from the online open-source database Structured Analysis of
There are many papers presenting techniques or methods to Retina (STARE) [14], which has 36 normal and 47 AMD
automatically detect drusen in eye fundus digital images using images acquired using Topcon fundus camera at 35 degree
general computer-based solutions. In [6], the authors presented field of view with resolution of 700×605 pixels.
a quantitative analysis of drusen on publicly available reti- The developed method focused on a low cost approach
nal images based on the extraction of pixel features. The without losing significant accuracy, which is necessary for its
method uses Otsu’s algorithm [7] along with morphological consistent application. The strategy used in [6] has an interest-
operation to perform drusen segmentation. The same authors ing reduced complexity and has been adapted to replace high
have published in [8] another method using gradient based cost steps and to use the embedded architecture, generating
segmentation and edge tracking by hysteresis. a novel method. This proposed method is divided into three
In [5] it was presented an artificial neural network to principal steps as shown in Fig. 2, namely (i) image pre-
classify features extracted from Discrete Wavelet Transforma- processing, (ii) Drusen identification, (iii) Drusen calculation.
tion (DWT) coefficients and locality sensitivity discrimination
analysis (LSDA), in order to distinguish whether a fundus
image is consistent with AMD diagnostic or not and between
wet and dry types as well.
Acharya et al. have proposed in [10] a novel risk index
for the identification of AMD using Radon (RT) transform
and DWT features with LSDA to reduce dimension and t-test
ranking. Then, the authors have compared various classifiers
to discriminate between AMD and normal images.
In [2], the authors proposed a method to classify fundus
image into normal and dry AMD with no drusen segmentation
needed. This method extracts features (such as Gabor wavelet,
Fractional Dimension among others) and submits them to sev- Fig. 2. Proposed method.
eral ranking techniques. Finally, the ranked features are fed to
the set of supervised classifiers to compare their performance.
There is a similar approach proposed in [11] that uses different A. Image Pre-processing
coefficients from the DWT. 1) Green Channel Selection: The image can be decom-
As presented in this section, most of the related works use posed into red, green and blue channels. Among them, the
costly image processing techniques such as DWT, K-means green channel has the best contrast which is useful to bright
clustering besides the complexity of classifiers and artificial up interested regions from the background [15].
neural networks which elevates the computational cost. Their 2) Contrast Enhancement: Non-uniform illumination and
main goal is high accuracy as they are intended to run in other distortions are characteristics of retinal images due
computer desktops with considered memory and processing to the acquisition process (based on a reflection from the
availability, not on embedded systems with strict resources. retinal surface), pacient unexpected movement, eye curvature
Some embedded computational stricted solutions for sup- etc [2]. Hence, a phase to enhance contrast and to correct
porting the diagnosis and monitoring of eye diseases has some distortions is necessary. This work has applied a very
been presented and among them, it is worth to mention the common technique called contrast limited adaptive histogram
work of [12], a wearable embedded open-source platform to equalization (CLAHE). This method splits the image into
monitor AMD, incorporating an oculus HMD into a single regions and performs the histogram equalization separately
board computer. The idea is to project tests such as Amsler in each part, mapping each pixel to a new intensity value
proportional to its rank in its adjacency. Thus, anatomical
structures like drusen become more visible [16].

B. Drusen Identification
1) Image Thresholding: In this step, the original Otsu’s
algorithm [7] used in [6] has been replaced for a more efficient,
less computationally costly and mathematically equivalent
iterative approach proposed in [17]. The idea is to minimize
the Otsu´s weighted sum-of-squared-error objective function.
2) Label Connected Components: Connected-components
labelling is a basic operation in image processing and the
algorithm proposed in [18] has been chosen because it is
simple and effective. After applying segmentation the largest
connected region is labeled as a candidate for drusen in a
different matrix used for future calculations.

Fig. 3. Proposed HW/SW partitioning


C. Drusen Calculation
1) Pixel Feature Extraction: Here, the weighted centroid is
calculated using the pixel value in the binarized image. This A. Hardware/Software Architecture
feature is largely used to detect positions of objects in an image When deciding which part would be implemented on HW,
region and can help in the decomposition of overlapped parts three main aspects have been considered: (i) The computa-
[6]. Each labeled drusen candidate is considered to calculate tional cost of each function, (ii) the computational type of
their weight centroid. the algorithm (structures, logic and code itself); and (iii) min-
2) Drusen Area Calculation: Drusen area is calculated in imization of communication time. Pre-processing functions
pixels by counting the pixels in the binarized image which were on the SW part due to their nature and need of memory
gives a relative amount of the affected area in pixels. and more complex calculations. The resultant image from the
3) Drusen markup: Canny edge detector is used to find the pre-processing part is smaller than the original input. Pixel
edge of the drusen. feature extraction and the calculation of the affected area go
through matrices several times which is a time consuming
IV. E MBEDDED S YSTEM A RCHITECTURE E XPLORATION operation and are also logically simple, so these steps have
been transferred to HW. Canny Edge Detector demands more
The proposed method was implemented using a SW-only memory and processing and can run concurrently, that is why
approach and a HW/SW approach. SW was first implemented it has been left on the SW part.
concurrently because the Canny edge detector does not depend The embedded system was implemented on a platform that
on the pixel feature extraction steps. The method execution has an Intel Atom 1.6GHz processor and an Altera Cyclone IV
was evaluated using two different low power processors, GX FPGA. The proposed architecture is illustrated in Fig. 4.
which are ARM1176JZF-S and Intel Atom, and a general-use A PCI Express bus is used to implement communication
processor 2,6 GHz Intel Core i7. Finally, performance was between HW and SW, using PCI Express driver at a 125
analysed on the SW-only implementation in order to identify MHz frequency. The modules on the HW are connected to an
possible bottlenecks using a Profiler and move some strategic Avalon bus [13] at 50 MHz frequency. There is a PCIex/Avalon
parts to HW. It is important to mention that communication adapter for translating PCIex requests in Avalon requests,
costs (data transfer SW from/to HW, communication protocol enabling HW/SW communication. SW sends data through the
overhead etc) were considered. PCIex driver. HW receives commands through two parallel
I/O ports and stores the image in a shared 810 KB dual port
V. H ARDWARE /S OFTWARE E MBEDDED S YSTEM on-chip memory.

The Hardware/Software (HW/SW) partitioning of the sys- B. Hardware/Software Implementation


tem is shown in Fig. 3. SW reads the eye fundus image and The SW part was implemented in C language not using any
performs pre-processing and segmentation before sending this special image processing library. Operation System was the
new image to the HW module responsible for pixel feature linux distribution CentOS. HW code was written in Verilog
extraction and area based statistics calculations. Meanwhile, and generated by Altera Quartus and Qsys system integra-
SW can proceed to edge detection and marking up. After HW tion tools [13]. Fig. 5 shows the HW/SW implementation
finishes, SW can output the final images with the estimated flowchart. SW sends binarized images (each pixel is a bit)
affected area, points of weight centroid and drusen edges. through shared memory. As the shared memory size is re-
Fig. 4. Proposed HW/SW architecture (a) (b)

stricted, SW does not store the whole image in memory. It


keeps sending parts of the image in a loop, considering a range
for each labeled region to calculate its centroid. The drusen
pixels increments a counter for the affected area.

(c) (d)
Fig. 6. Image pre-processing of the proposed method. (a) Original input
from STARE, (b) Green channel selection, (c) Contrast enhancement, (d) the
histogram of the image having better contrast

(a) (b)
Fig. 7. Drusen identification of the proposed method. (a) Image Thresholding,
(b) Labelled pseudo color indexed image

pointers in C language. Qsys tool provides all the ports needed.


VI. R ESULTS AND D ISCUSSION
To validate the drusen detection method, 36 normal and 47
Fig. 5. Proposed HW/SW flowchart AMD images from the STARE dataset were used. All images
were evaluated by ophthalmologists providing a gold standard.
The PCIEx SW driver provides two communication prim- Fig. 6 shows the results of the preprocessing applied to
itives for reading/writing from/to memory (pcim mr ead and an AMD retinal image. Green channel helps reinforce drusen
pcim mw rite), two communication primitives for sending (related to the background) but the identification of these
and receiving and status to/from HW (pcis endc ommand lesions is still hard due to their shape and size variating.
and pcig ets tatus) and communicates to HW through CLAHE enhances the contrast to make it easier for the
on-chip memory dual port and two parallel I/O ports segmentation in generating the binarized image, shown also
(P CIO U T P ORT and P CII N P ORT ). When data is ready by the histogram.
on the memory to start the operations on the HW part, a start Fig. 7 shows the results of the drusen identification applied
command is sent out via P CIO U T P ORT . When the HW to the enhanced contrast image. The method proposed in [17]
receives this, it reads the pixels for the region to calculate gives a good result for the thresholding image identifying
the weighted centroid. After calculating, HW stores X and Y candidates regions. The label connected components generate
coordinates for the weighted centroid in the shared memory a pseudo color matrix used to visualize different drusen.
and sets the status signal sending it to the PCIe driver through Fig. 8 shows the final results of the method. The printed
the P CII N P ORT . SW maps the bus physical address using centroids help to visualize the number of drusen and their
Linux mmap function so these addresses can be used as area. Canny edge detector is largely used to identify the sharp
healthcare in remote areas or developing countries where
financial cost is a limiting factor.
Although the accelerated time seems not to be that signif-
icant, this is very important for remote areas where there is
a lack of specialized clinicians. In such places, professionals
have to perform a full examination in a very large number
of patients, so, having a reduced time, will also allow those
professionals to spend more time in deeper examining other
(a) (b) conditions and diseases.
Fig. 8. Drusen calculation of the proposed method. (a) Weighted centroid
extracted from pixels printed on the retinal image, (b) Edges from the Canny TABLE II
edge detector M ETHODS P ERFORM C OMPARISON

Work Platform Dataset Sample Time(s)


Intel core i3
Ref. [8] ARIA 11 103.35
intensity changes which is suited for finding drusen in the 2.7GHz
retinal image. It considers the gradient of the pixel and their processor,
STARE 37
Matlab 7.10
adjacencies. Total damaged are in pixels calculated as 1987 Intel core i3
Ref. [6] ARIA 10 175.093
pixels. 2.7GHz
Table I shows the comparison between the proposed method processor,
STARE 26
Matlab 7.10
and related works. The proposed method provides better Intel i7-
accuracy results than the [6] method in which this work was Ref. [2]
4770
ARIA 161 39.7368
based on. The reached specificity is greater than the related 3.47GHz
processor,
works, which proves its value by correctly rejecting normal 16GB
patients and making it easier in massive analysis situations DDR3-
for the health professionals. All of the values in Table Table RAM, STARE 83 39.0108
Matlab
I are related to experimental results on STARE images. 2012b
Ref. [10] NI ARIA 161 NI
TABLE I STARE 106 834.22
C OMPARISON OF R ESULTS Ref. [5] NI STARE 106 333.9
2.6 GHz
Work Results (%) Intel
Accuracy Sensitivity Specificity Core i7
Proposed method STARE 87 76.52
Ref. [8] 96.88 95.33 99.5 processor,
Ref. [6] 87.93 81.50 87.50 16GB
Ref. [10] 97 93 98.6 DDR4
Ref. [5] 98.94 98.6 99.15 Raspberry
Model B,
Proposed method 96.79 96.15 99.70
SW only ARM1176JZF 203.8
-S 700MHz
processor
TERASIC
Table II shows the results in terms of computational cost. de-150 Dual
146.2
The proposed method outperforms most of the related works Core N2600
1.6GHz
due to the usage of more recent and effective techniques, Proposed HW/SW 112.7
except for the work in [2], that uses images with a smaller
resolution than the ones used in this work as well as execute
its methods on a powerful processor. It is worth mentioning
that several past studies use MATLAB, which is very handful
to work with matrices and this method, even using these VII. C ONCLUSION
structures, do not use such a tool. The HW/SW strategy was Early detection and continuous monitoring of drusen are
able to reduce more than 30 seconds from the cost which essential to prevent AMD advance and several consequences.
proves its potential to accelerate the algorithm execution. In this work, an automated detection of drusen using publicly
This work was tested on two low-cost processors available retinal images is proposed. It detects drusen and
ARM1176JZF-S and Intel Atom and even in those compu- calculates the affected area (in pixels) by extracting pixel
tational resources restricted platforms, the results in terms of features as well as plots the drusen area and individual centre
execution time are better than some related works that use of mass. The HW/SW approach accelerates the execution and
a more powerful platform, such as [6]. These results suggest proves its potential as an embedded system to aid health
that the use of low power processors is feasible for this kind professions in detecting drusen. The use of this study may
of application. As these processors are usually employed in help ophthalmologists specially in massive analysis and is
low cost and portable devices, this work helps improving totally applicable in a low computational and financial cost
platform, which can help patients from remote and poor areas.
This method can be integrated with a telemedicine system to
amplify its potential.
R EFERENCES
[1] World Health Organization, ”Priority eye diseases”. [Online]. Available:
https://www.who.int/blindness/causes/priority/en/index7.html. [Acessed:
Jan. 17, 2020].
[2] Mookiah, Muthu Rama Krishnan, U. Rajendra Acharya, Joel EW Koh,
Vinod Chandran, Chua Kuang Chua, Jen Hong Tan, Choo Min Lim
et al. ”Automated diagnosis of age-related macular degeneration using
greyscale features from digital fundus images.” Computers in biology
and medicine 53:55-64, 2014.
[3] Sparrow, J. ML, A. J. Dickinson, and A. M. Duke. ”The Wisconsin
Age-related Macular Degeneration grading system: performance in an
independent centre.” Ophthalmic epidemiology 4(1):49-55, 1997.
[4] R. L. Shelton, W. Jung, S. I. Sayegh, D. T. McCormick, J. Kim, and S.
A. Boppart, “Optical coherence tomography for advanced screening in
the primary care office,” Journal of Biophotonics 7(7):525–533, 2014.
[5] P. Kunumpol, W. Umpaipant, N. Kanchanaranya, T. Charoenpong, S.
Vongkittirux, T. Kupakanjana, and C. Tantibundhit. ”Automated Age-
related Macular Degeneration screening system using fundus images.”
in 39th Annual International Conference of the IEEE Engineering in
Medicine and Biology Society, EMBC 2017, pp. 1469-1472. IEEE,
2017.
[6] Kajal Kumari and Deepti Mittal. ”Automated drusen detection technique
for age-related macular degeneration.” Journal of Biomedical Engineer-
ing and Medical Imaging, 2(1):18-18, 2015.
[7] N. Otsu, ”A threshold selection method from gray-scale histogram.”
IEEE Trans. Syst., Man, Cyber 62-66, 1979.
[8] Deepti Mittal and Kajal Kumari. ”Automated detection and segmentation
of drusen in retinal fundus images.” Computers Electrical Engineering,
47:82-95, 2015.
[9] Ovidiu Ghita, and Paul F. Whelan. ”Computational approach for edge
linking.” The Journal of Electronic Imaging (JEI) 11(4):479-485, 2002.
[10] Acharya, U. Rajendra, Muthu Rama, Krishnan Mookiah, Joel EW Koh,
Jen Hong Tan, Kevin Noronha, Sulatha V. Bhandary, A. Krishna Rao,
Yuki Hagiwara, Chua Kuang Chua, and Augustinus Laude. ”Novel
risk index for the identification of age-related macular degeneration
using radon transform and DWT features.” Computers in biology and
medicine, 73: 131-140, 2016.
[11] Mookiah, Muthu Rama Krishnan, U. Rajendra Acharya, Joel EW Koh,
Chua Kuang Chua, Jen Hong Tan, Vinod Chandran, Choo Min Lim,
Kevin Noronha, Augustinus Laude, and Louis Tong. ”Decision support
system for age-related macular degeneration using discrete wavelet
transform.” Medical biological engineering computing 52(9):781-796,
2014.
[12] N. Mohaghegh, E. G. Zadeh E.G. and S. Magierowski. ”Wearable
diagnostic system for age-related macular degeneration. ” in 38th Annual
International Conference of the IEEE Engineering in Medicine and
Biology Society, EMBC 2016, pp. 6006-6009. IEEE, 2016.
[13] Paulo Cezar Dantas, Andrea Sarmento, and Adriano Sarmento. ”A
HW/SW embedded system for accelerating diagnosis of glaucoma from
eye fundus images.” In 2016 International Symposium on Rapid System
Prototyping (RSP), pp. 1-7. IEEE, 2016.
[14] STructured Analysis of the Retina STARE database [Online]. Avail-
able: http://www.ces.clemson.edu/ahoover/stare. [Accessed November 2,
2019].
[15] A. Rama Prasath, and M. M. Ramya. ”Automatic detection and elimina-
tion of an optic disc for improving drusen detection accuracy.” In Fifth
International Conference on Signal and Image Processing, pp. 117-121.
IEEE, 2014.
[16] Etta D. Pisano, Shuquan Zong, Bradley M. Hemminger, Marla DeLuca,
R. Eugene Johnston, Keith Muller, M. Patricia Braeuning, and Stephen
M. Pizer. ”Contrast limited adaptive histogram equalization image
processing to improve the detection of simulated spiculations in dense
mammograms.” Journal of Digital imaging 11(4):193, 1998.
[17] Liju Dong, Ge Yu, Philip Ogunbona, and Wanqing Li. ”An efficient
iterative algorithm for image thresholding.” Pattern Recognition Letters
29(9):1311-1316, 2008.
[18] Lifeng He, Yuyan Chao, Kenji Suzuki, and Kesheng Wu. ”Fast
connected-component labeling.” Pattern recognition 42(9): 1977-1987,
2009.

You might also like