+ All Categories
Home > Documents > [IEEE 2007 29th Annual International Conference of the IEEE Engineering in Medicine and Biology...

[IEEE 2007 29th Annual International Conference of the IEEE Engineering in Medicine and Biology...

Date post: 11-Dec-2016
Category:
Upload: kim-h
View: 212 times
Download: 0 times
Share this document with a friend
4
Improvement of a retinal blood vessel segmentation method using the Insight Segmentation and Registration Toolkit (ITK) M. Elena Martinez-Perez, Alun. D. Hughes, Simon A. Thom and Kim H. Parker Abstract— We describe an improved implementation of a segmentation method for retinal blood vessels based on a multi- scale approach and region growing employing modules from the Insight Segmentation and Registration Toolkit (ITK). We present the results of segmentation of retinal blood vessels using this improved method and compare these with results obtained using the original implementation in Matlab, as well as with expert manual segmentations obtained from a public database. We show that the ITK implementation achieves high quality segmentations with markedly improved computational efficiency. The ITK version has greater segmentation accuracy, from 0.94 to 0.96, than the Matlab version due to a decrease in FPR values and it is between 8 and 12 times faster than the original version. Furthermore, the ITK implementation is able to segment high-resolution images in an acceptable timescale. I. INTRODUCTION Examination of the retinal microvasculature is widely used to assess diabetic eye disease and as indicator of target organ damage in hypertension. Recent studies [1], [2] have shown that quantitative measures of the retinal microvascula- ture predict cardiovascular disease. Moreover, the increasing introduction of retinal screening in diabetes using digital cameras potentially provides a large database for retinal analysis in high risk individuals. However manual or semi- automated techniques for the quantification of the retinal microvasculature are time-consuming and labor intensive and the development of a rapid means of retinal microvascular assessment would be of considerable value. Previously we have described a novel multi-scale method for segmentation of retinal blood vessels implemented in Matlab [3]. While this approach achieved good results in terms of segmentation it was relatively slow and unable to process high resolution images due to memory limitations. Consequently, we searched for an alternative way to im- plement this approach in a computationally more efficient manner that overcomes the problems of speed and memory. One way to overcome these problems could be by imple- menting the current method on parallel, either to write the algorithm it self on parallel or to process the data on parallel. Another feasible option is to implement part of the process This work was supported by the Royal Society Martinez-Perez is with the Department of Computer Science. Institute of Research in Applied Mathematics and Systems. UNAM, Apdo. Postal 20-726, M´ exico, D.F. 04510 [email protected] Hughes and Thom are with the International Centre for Circulatory Health, NHLI Division, Faculty of Medicine, St Mary’s Hospital and Imperial College London, UK. [email protected] and [email protected] Parker is with the Department of Bioengineering. Imperial College London. Prince Consort Road, London, SW7 2BY, UK. [email protected] on hardware, using for instance field programmable gate arrays (FPGAs). In this work, we present the implementation of our current segmentation approach using the Insight Segmentation and Registration Toolkit (ITK) [4]. ITK is an open source soft- ware that provides libraries of image processing algorithms useful for segmentation and registration of medical image datasets. ITK started as a toolkit for supporting the Visible Human Project [5]. The paper is organized as follows. In Section II, we describe briefly the blood vessel segmentation algorithm. In Section III, we outline the major differences between both implementations, original Matlab and ITK. We compare the experimental results of testing using both methods, in terms of timing, performance and segmentation outcomes. Finally, the conclusions are presented in Section IV. II. SEGMENTATION METHOD Formerly, we have presented an approach for segmenting retinal blood vessels based upon the principles of multi- scale differential geometry in combination with gradient information and region growing. This algorithm [3] has been tested on two local and two public databases of complete manually labelled images [6], [7], which have been used by other authors for similar validation purposes [6], [7], [8]. Multi-scale techniques have been developed to provide a way to isolate information about objects in an image by looking for geometrical features at different scales. In this framework information at different scales is defined by convolving the original image I (x, y) with a Gaussian kernel G(x, y; s) of variance s 2 : I s (x, y; s)= I (x, y) G(x, y; s) (1) where G is: G(x, y; s)= 1 2πs 2 e x 2 +y 2 2s 2 (2) and s is a length scale. To extract geometrical features from an image, an approach based on differentiation is used. Derivatives of an image can be numerically approximated by a linear convolution of the image with scale-normalized derivatives of the Gaussian kernel. n I s (x, y; s)= I (x, y) s n n G(x, y; s) (3) where n indicates the order of the derivative. A. Feature extraction Using a multi-scale approach we detected two tube-like structures: the gradient magnitude and the maximum eigen- value of the Hessian matrix. Proceedings of the 29th Annual International Conference of the IEEE EMBS Cité Internationale, Lyon, France August 23-26, 2007. ThP2B5.2 1-4244-0788-5/07/$20.00 ©2007 IEEE 892
Transcript

Improvement of a retinal blood vessel segmentation method using the

Insight Segmentation and Registration Toolkit (ITK)

M. Elena Martinez-Perez, Alun. D. Hughes, Simon A. Thom and Kim H. Parker

Abstract— We describe an improved implementation of asegmentation method for retinal blood vessels based on a multi-scale approach and region growing employing modules fromthe Insight Segmentation and Registration Toolkit (ITK). Wepresent the results of segmentation of retinal blood vesselsusing this improved method and compare these with resultsobtained using the original implementation in Matlab, as wellas with expert manual segmentations obtained from a publicdatabase. We show that the ITK implementation achieves highquality segmentations with markedly improved computationalefficiency. The ITK version has greater segmentation accuracy,from 0.94 to 0.96, than the Matlab version due to a decreasein FPR values and it is between 8 and 12 times faster than theoriginal version. Furthermore, the ITK implementation is ableto segment high-resolution images in an acceptable timescale.

I. INTRODUCTION

Examination of the retinal microvasculature is widely used

to assess diabetic eye disease and as indicator of target

organ damage in hypertension. Recent studies [1], [2] have

shown that quantitative measures of the retinal microvascula-

ture predict cardiovascular disease. Moreover, the increasing

introduction of retinal screening in diabetes using digital

cameras potentially provides a large database for retinal

analysis in high risk individuals. However manual or semi-

automated techniques for the quantification of the retinal

microvasculature are time-consuming and labor intensive and

the development of a rapid means of retinal microvascular

assessment would be of considerable value.

Previously we have described a novel multi-scale method

for segmentation of retinal blood vessels implemented in

Matlab [3]. While this approach achieved good results in

terms of segmentation it was relatively slow and unable to

process high resolution images due to memory limitations.

Consequently, we searched for an alternative way to im-

plement this approach in a computationally more efficient

manner that overcomes the problems of speed and memory.

One way to overcome these problems could be by imple-

menting the current method on parallel, either to write the

algorithm it self on parallel or to process the data on parallel.

Another feasible option is to implement part of the process

This work was supported by the Royal SocietyMartinez-Perez is with the Department of Computer Science. Institute

of Research in Applied Mathematics and Systems. UNAM, Apdo. Postal20-726, Mexico, D.F. 04510 [email protected]

Hughes and Thom are with the International Centre for CirculatoryHealth, NHLI Division, Faculty of Medicine, St Mary’s Hospital andImperial College London, UK. [email protected] [email protected]

Parker is with the Department of Bioengineering. ImperialCollege London. Prince Consort Road, London, SW7 2BY, [email protected]

on hardware, using for instance field programmable gate

arrays (FPGAs).

In this work, we present the implementation of our current

segmentation approach using the Insight Segmentation and

Registration Toolkit (ITK) [4]. ITK is an open source soft-

ware that provides libraries of image processing algorithms

useful for segmentation and registration of medical image

datasets. ITK started as a toolkit for supporting the Visible

Human Project [5].

The paper is organized as follows. In Section II, we

describe briefly the blood vessel segmentation algorithm. In

Section III, we outline the major differences between both

implementations, original Matlab and ITK. We compare the

experimental results of testing using both methods, in terms

of timing, performance and segmentation outcomes. Finally,

the conclusions are presented in Section IV.

II. SEGMENTATION METHOD

Formerly, we have presented an approach for segmenting

retinal blood vessels based upon the principles of multi-

scale differential geometry in combination with gradient

information and region growing. This algorithm [3] has been

tested on two local and two public databases of complete

manually labelled images [6], [7], which have been used by

other authors for similar validation purposes [6], [7], [8].

Multi-scale techniques have been developed to provide

a way to isolate information about objects in an image

by looking for geometrical features at different scales. In

this framework information at different scales is defined by

convolving the original image I(x, y) with a Gaussian kernel

G(x, y; s) of variance s2:

Is(x, y; s) = I(x, y) ⊗ G(x, y; s) (1)

where G is:

G(x, y; s) =1

2πs2e−

x2+y

2

2s2 (2)

and s is a length scale. To extract geometrical features from

an image, an approach based on differentiation is used.

Derivatives of an image can be numerically approximated

by a linear convolution of the image with scale-normalized

derivatives of the Gaussian kernel.

∂nIs(x, y; s) = I(x, y) ⊗ sn∂nG(x, y; s) (3)

where n indicates the order of the derivative.

A. Feature extraction

Using a multi-scale approach we detected two tube-like

structures: the gradient magnitude and the maximum eigen-

value of the Hessian matrix.

Proceedings of the 29th Annual InternationalConference of the IEEE EMBSCité Internationale, Lyon, FranceAugust 23-26, 2007.

ThP2B5.2

1-4244-0788-5/07/$20.00 ©2007 IEEE 892

1) Gradient magnitude: defined as |∇Is| =√

(∂xIs)2 + (∂yIs)2, represents the slope of the image

intensity for a particular value of the scale parameter s.

2) Maximum eigenvalue: Since vessels appear as ridge-

like structures in the image, we identified pixels where the

intensity image has a local maximum in the direction for

which the gradient of the image undergoes the largest change

(largest concavity) [9]. The second derivative information is

derived from the Hessian of the intensity image I(x, y):

H =

(

∂xxIs ∂xyIs

∂yxIs ∂yyIs

)

(4)

Since ∂xyIs = ∂yxIs the Hessian matrix is symmetrical

with real eigenvalues and orthogonal eigenvectors which are

rotation invariant. A pixel belonging to a vessel region will

be weighted as a vessel pixel if its maximum eigenvalue

is ≫ 1. Our approach for multi-scale integration is based

on extracting the information across the scales by finding

the local maxima over scales (pixel by pixel) for both

measurements of feature strength [10].

B. Region growing

The region growing algorithm we use is based on an

iterative relaxation technique. All the parameters used in

the region growing are automatically calculated for each

image from the histograms of the extracted features. The

classification of pixels as vessel or background is based

primarily upon the maximum eigenvalue, from which the

criteria for determining seeds are defined. Using spatial

information from the classification of the 8-neighboring

pixels, classes grow initially in regions with low gradient

magnitude, allowing a relatively broad and fast classification

while suppressing classification in the edge regions where

the gradients are large. In a second stage, the classification

constraint is relaxed and classes grow based solely upon

the maximum eigenvalue to allow the definition of borders

between regions [3].

III. EVALUATION

Our original approach is implemented in Matlab (Version

5.2, MathWorks Inc., Massachusetts, USA). Scale feature

extraction is performed using 2D convolutions and image

scans for region growing are done using nested cycles. The

use of the Fourier Transform instead of convolution was

also explored but memory demands increased as the size

and number of scales increased; therefore we decided to use

convolution as the final preferred strategy.

The current method is implemented using ITK which is

written in C++ language. The use of a lower level language,

rather than Matlab, is itself an advantage. However, one

of the major advantages of ITK is that it includes various

high-level and low-level image processing algorithms, using

the concept of Standard Template Library (STL) so that

it works with arbitrary data types. ITK includes common

classes (defining the basic data structure and the data flow

framework), basic filters (includes basic image operator such

as Gaussian filters), utilities (such as I/O classes), and robust

algorithms.

The ITK version used for our implementation was 2.2.0,

and the filters used were mainly those related to the computa-

tion of the scale feature extraction. Convolution techniques

are computationally expensive since the number of opera-

tions per point in convolving an image with a Gaussian filter

is directly proportional to the width of the operator. The

larger the image size, the larger the scales and therefore the

larger the filters. ITK implements the operation of convolu-

tion with the derivatives of a Gaussian filter in a recursive

way using approximated 2D Gaussian operators, an approach

which is computationally more efficient [11]. In addition to

the latter, to scan an image region during the region growing

phase, ITK defines a so called ”image iterator” which is an

abstraction of a memory pointer, therefore resulting in more

efficient utilization of memory.

A. Timing

We tested both methods on a PC - Pentium 4, 2.4 GHz,

with 1024 Mb of RAM memory, under Linux.

The top of Table I shows the timing performance of the

original Matlab implementation. We used 4 different image

sizes with different interval of scales. The interval of scales

corresponds to the lower and larger s value of the scale object

we are looking for in the image. These values are setting

manually and depend on both the size of the image in pixels

and the chosen camera magnification of the retinal image.

TABLE I

PROCESSING TIMES IN SECONDS. TOP: MATLAB METHOD, AND

BOTTOM: ITK METHOD. FE - FEATURE EXTRACTION, RG - REGION

GROWING.

File Size (pixels) Scales FE (s) RG (s)

Img1 703× 599 [2-6] 32.20 47.35Img2 1319× 1518 [2-8] 320.72 328.44Img3 2308× 2890 [5-25] Out of memory –Img4 3500× 3000 [5-21] Out of memory –

Img1 703× 599 [2-6] 8.55 2.24Img2 1319× 1518 [2-8] 55.82 23.20Img3 2308× 2890 [5-25] 693.83 63.64Img4 3500× 3000 [5-21] 900.17 279.69

Processing times are reported in seconds separately for

feature extraction (FE) and for region growing (RG) pro-

cesses. Segmentation of images larger than 1319 × 1518pixels was not possible in Matlab due to a lack of memory.

The bottom of Table I shows the timing performance

of the ITK version using the same 4 images. In this case

all 4 images were segmented successfully. The times taken

to complete segmentation of images Img1 and Img2 are

significantly lower than those using the Matlab (top of

Table I). In contrast to the Matlab implementation, the ITK

method completed region growing more quickly than feature

extraction (bottom of Table I).

Figure 1 shows an example of a high resolution image

(Img4) of size 3500×3000 pixels for which full segmentation

893

took approximately 20 minutes using the ITK implementa-

tion. It was not possible to segment this image using the

Matlab implementation.

(a) (b)

Fig. 1. (a) High resolution image: “Img4”, size 3500×3000 pixels,(b) automatic segmentation by ITK method. Total processing time≈ 20 minutes.

B. Segmentation performance

In order to evaluate the accuracy of the segmentation, a

Public database of digitized retinal images (STARE database;

http://www.parl.clemson.edu/stare/probing/) [6] was used.

The database contains 20 retinal fundus images photographed

with a TopCon TRV-50 fundus camera with a 35◦ field of

view. Each photographic positive was digitized to produce a

605×700 pixel image, with 24 bit per pixel (standard RGB).

Because the green band of color images on RGB format gives

the highest contrast between vessel and background, only

the green band was used. 10 of the images are of subjects

with no pathology (normals) and the other 10 with pathology

(abnormals). Each of these 20 images were hand-segmented

by two different observers named, the first (AH) and the

second (VK).

Table II shows the mean(SD) processing time values

for this dataset. All image sizes are of 605 × 700 pixels.

Segmentation was performed by both methods, Matlab and

ITK, using an scale interval of [1-12]. Processing time was

approximately 256 for Matlab and 21s for ITK. The ITK

implementation runs approximately 12 times faster than the

Matlab version on these images.

TABLE II

PUBLIC DATABASE. PROCESSING TIMES IN SECONDS FOR THE MATLAB

AND ITK METHODS. MEAN(SD) VALUES OF FEATURE EXTRACTION

(FE) AND REGION GROWING (RG) OF NUMBER OF IMAGES TESTED (n).

Method Size (pixels) Scales FE (s) RG (s) n

Matlab 605 × 700 [1-12] 219.14(1.55) 37.18(6.40) 20

ITK 605 × 700 [1-12] 19.29(0.26) 2.29(0.54) 20

Similar to other authors who have used this Public

database [6], [7], [8], we base our validation of the seg-

mentation outcomes on contingency tables using the AH

hand-segmented images as the ”ground truth” (GT). For a

comparison of other hand segmentations and computational

methods that already exist in the literature against the original

Matlab version please refer to [3].

Contingency tables were built as follows: any pixel which

is marked as vessel in both GT and MS is a true positive (TP).

Any pixel which is marked as non-vessel in both GT and MS

is a true negative (TN). Any pixel which is marked as vessel

in MS but non-vessel in GT is a false positive (FP). The true

positive rate (TPR) is established by dividing the number of

true positives by the total number of vessels in GT. The false

positive rate (FPR) is computed by dividing the number of

false positives by the total number of non-vessels in GT. A

measurement of accuracy (Ac) can also be defined by the

sum of true positives and true negatives divided by the total

number of pixels in the image. For a perfect segmentation,

the true positive rate should be 1 and the false positive rate

should be 0. Table III shows the mean(SD) values of TPR

and FPR for both methods, Matlab and ITK. Notice that TPR

is slightly lower for ITK than for Matlab, whereas FPR is

significantly lower. However, the Ac value is better for ITK

due to the large difference between FPR values.

TABLE III

COMPARISON OF PERFORMANCE EVALUATION BETWEEN ORIGINAL

MATLAB AND ITK METHODS BOTH COMPARE AGAINST THE

HAND-SEGMENTED (AH) SET AS THE ”GROUND TRUTH”. MEAN(SD)

VALUES OF: TRUE POSITIVE RATE (TPR), FALSE POSITIVE RATE (FPR),

ACCURACY (AC) OF NUMBER OF IMAGES TESTED (n).

Method TPR FPR Ac n

Matlab 0.75(0.07) 0.04(0.04) 0.94(0.03) 20ITK 0.72(0.07) 0.02(0.01) 0.96(0.01) 20

Figure 2 shows the results for one of the images of

the Public database [6], where both hand and automatic

segmentations are shown.

Although images and parameters were the same for both

implementations, the numerical differences shown in Ta-

ble III are due the numerical differences of the Gaussian

operator approximations [11], and therefore the numerical

differences on the computation of class intervals for the

region growing technique. However, this evaluation showed

a good outcome for the ITK method since the value of Ac

increases, in addition to a markedly increased processing

speed. Figure 3 shows one clear example of the decrease

in FPR using the ITK method. The results of the Matlab

method Figure 3(c) show that large parts of the background

of this out of focus image were segmented as vessel class,

which increases FPR and therefore decreases Ac (Table III).

IV. CONCLUSIONS

This paper has presented an improvement of a retinal

blood vessel segmentation method using the ITK toolkit.

The original Matlab implementation was in our experience,

a robust segmentation method comparable in performance

with other hand segmentations and computational methods

as reported in [3]. Nevertheless, it lacked sufficient power

to handle high resolution images and therefore was not

894

(a) (b)

(c) (d)

Fig. 2. (a) Image from the Public database, (b) hand-segmented byobserver AH, (c) automatic segmentation by Matlab method and(d) automatic segmentation by ITK method.

applicable to images in contemporary large databases such

as those obtained from recent retinal screening programs.

We have demonstrated that the ITK version is able to

segment images between ≈ 600 and 1500 pixels squared size,

around 8 times faster than the Matlab version. In addition the

ITK version is able to handle higher resolution images than

the Matlab version (Table I).

We have also shown, using a Public database [6], that

ITK version segments, on average, each image of this data

set ≈ 12 times faster than the Matlab version (Table II).

Processing speed depends not only on image size, but also

on the number of scales processed. This in turn depends

on the magnification produce by the eye and the fundus

camera. Furthermore, in terms of segmentation outcome, the

ITK version was demonstrated to have a slightly greater

accuracy than the Matlab implementation due to a decrease

in FPR values (Table III). Since both extracted features

are numerically different due to the approximated Gaussian

operators, during the region growing step the computation of

class intervals are also different. The latter is mainly reflected

on a decrease in FPR values.

The appearance of the retinal blood vessels can be an

important diagnostic indicator of various clinical systemic

disorders of the eye and the body. The development of

high speed and accurate segmentation is a key step in the

development of automated approaches to the analysis of large

amounts of retinal data.

V. ACKNOWLEDGMENTS

The authors gratefully acknowledge financial support from

the Royal Society.

(a) (b)

(c) (d)

Fig. 3. (a) Image from the Public database, (b) hand-segmented byobserver AH, (c) automatic segmentation by Matlab method and(d) automatic segmentation by ITK method.

REFERENCES

[1] N. Witt, T. Y. Wong, A. D. Hughes, N. Chaturvedi, B. E. Klein, andR. Evans, “Abnormalities of retinal microvascular structure and riskof mortality from ischemic heart disease and stroke,” Hypertension,vol. 47, no. 5, pp. 975–981, 2006.

[2] T. Y. Wong, R. Klein, B. Klein, J. Tielsch, L. Hubbard, and F. J. Nieto,“Retinal microvascular abnormalities and their relationship with hy-pertension, cardiovascular disease, and mortality.” Surv. Ophthalmol.,vol. 46, no. 1, pp. 59–80, 2001.

[3] M. E. Martinez-Perez, A. D. Hughes, S. A. Thom, A. A. Bharath,and K. H. Parker, “Segmentation of blood vessels from red-free andfluorescein retinal images,” Medical Image Analysis, vol. 11, no. 1,pp. 47–61, 2007.

[4] “ITK - Insight Segmentation and Registration Toolkit,” NationalLibrary of Medicine, [Online] available: http://www.itk.org.

[5] R. A. Banvard, “The visible human project image data set from in-ception to completion and beyond,” in Proc. CODATA 2002: Frontiers

of Scientific and Technical Data, vol. Track I-D-2, Montreal, ON,Canada., October 2002.

[6] A. Hoover, V. Kouznetsova, and M. Goldbaum, “Locating bloodvessels in retinal images by piecewise threshold probing of a matchedfilter response,” IEEE Trans. Med. Imag., vol. 19, pp. 203–210, 2000.

[7] J. Staal, M. Abramoff, M. Niemeijer, M. Viergever, and B. vanGinneken, “Ridge-based vessel segmentation in color images of theretina,” IEEE Transactions on Medical Imaging., vol. 23, pp. 501–509,2004.

[8] X. Jiang and D. Mojon, “Adaptive local thresholding by verification-based multithreshold probing with application to vessel detection inretinal images,” IEEE Transactions on Pattern Recognition Analysis

and Machine Intelligence., vol. 25, pp. 131–137, 2003.[9] D. Eberly, Ridges in Image and Data Analysis, ser. Computational

Imaging and Vision. Netherlands: Kluwer Academic Publishers,1996.

[10] T. Lindeberg, “On scale selection for differential operators,” in Proc.

8th Scandinavian Conference on Image Analysis, K. Heia, K. Hogdra,and B. Braathen, Eds., Tromso, Norway, 1993, pp. 857–866.

[11] R. Deriche, “Recursively implementing the gaussian and its deriva-tives,” Unite de Recherche INRIA-Sophia Antipolis, Tech. Rep. 1893,1993.

895


Recommended