06423262

8
IEEE TRANSACTIONS ON BIOMEDICAL ENGINEERING, VOL. 60, NO. 7, JUL Y 2013 1851 Simultaneously Identifying All True Vessels From Segmented Retinal Images Qiangfeng Peter Lau , Mong Li Lee, Wynne Hsu, and Tien Yin Wong  Abstract  —Measur ements of retinal blood vessel morphol ogy have been shown to be related to the risk of cardiovascular dis- eases. The wrong identication of vessels may result in a large variation of these measurements, leading to a wrong clinical di- agnosis. In this paper, we address the problem of automatically identifying true vessels as a postprocessing step to vascular struc- ture segmentation. We model the segmented vascular structure as a vessel segment graph and formulate the problem of identifying vessels as one of nding the optimal forest in the graph given a set of constraints. We design a method to solve this optimization problem and evaluate it on a large real-world dataset of 2446 reti- nal images. Experiment results are analyzed with respect to actual measure ment s of ves sel mor pholo gy . The res ults show that the pro - posed approach is able to achieve 98.9% pixel precision and 98.7% recall of the true vessels for clean segmented retinal images, and remains robus t even when the segmente d image is noisy.  Index Terms  —Ophthalmo logy, optimal vessel for est, retinal im- age analysis, simultaneous vessel identication, vascular structure. I. INTRODUCTION A RETINAL image provides a snapshot of what is happen- ing inside the human body. In particular, the state of the retinal vessels has been shown to reect the cardiovascular con- dition of the body. Measurements to quantify retinal vascular structure and properties have shown to provide good diagnostic capabilities for the risk of cardiovascular diseases. For example, the central retinal artery equivalent (CRAE) and the central reti- nal vein equivalent (CRVE) are measurements of the diameters of the six largest arteries and veins in the retinal image, respec- tively. These measurements are found to have good correlation with hypertension, coronary heart disease, and stroke [1]–[3]. However, they require the accurate extraction of distinct ves- sels from a retinal image. This is a challenging problem due to ambiguities caused by vessel bifurcations and crossovers. Fig. 1(a) shows an example retinal image where vessels I and II cross each other at two places (indicated by circles). These Manuscript received August 31, 2012; revised December 7, 2012; accepted January 21, 2013. Date of publication January 29, 2013; date of current version June 24, 2013. This work was supported by A*STAR Exploit Flagship Grant ETPL/10-FS0001-NUS0.  Asterisk indicates corresponding author . Q. P. Lau is with the Department of Computer Science, National University of Singapore, 117417 Singapore (e-mail: [email protected] s.edu.sg). M.L. LeeandW. Hsuare wit h theDepa rtmentof Compu terScien ce,National University of Singapore, 117417 Singapore (e-mail: [email protected]; [email protected]). T. Y . Wong is with the Singapore Eye Research Institute, Singapore National Eye Centre, 168751 Singapore (e-mail: tien_yin_wo [email protected] .sg). Color versions of one or more of the gures in this paper are available online at http://ieeexplo re.ieee.org. Digital Object Identier 10.1109/TBME.2013.22 43447 Fig. 1. V essels, I an d II, crossin g each o ther twice at white circles. (a) Wrong Identication of I and II. (b) Correct Identication of I and II. Fig. 2. (a) V essel III wrongly connected to a segment that should belong to IV . (b) Vessel IV correctly identied. crossovers are often mistaken as vessel bifurcations, leading to I and II being regarded as a single vessel. Fig. 1(b) shows the correctly identied vessel structures for vessels I and II marked in blue and red, respectively. Note that the line segment at the second crossing (larger circle) is shared by vessels I and II. In order to disambiguate between vessels at bifurcations and crossovers, we need to gure out if linking a vessel segment to one vessel will lead to an adjacent vessel being wrongly identied. For example, in Fig. 2(a), if we identify vessel III rst without any knowledge of vessel IV, the junction indicated 0018-9294/$ 31.00 © 2013 IEEE

Transcript of 06423262

Page 1: 06423262

8/12/2019 06423262

http://slidepdf.com/reader/full/06423262 1/8

IEEE TRANSACTIONS ON BIOMEDICAL ENGINEERING, VOL. 60, NO. 7, JULY 2013 1851

Simultaneously Identifying All True Vessels FromSegmented Retinal Images

Qiangfeng Peter Lau∗, Mong Li Lee, Wynne Hsu, and Tien Yin Wong

 Abstract  —Measurements of retinal blood vessel morphologyhave been shown to be related to the risk of cardiovascular dis-eases. The wrong identification of vessels may result in a largevariation of these measurements, leading to a wrong clinical di-agnosis. In this paper, we address the problem of automaticallyidentifying true vessels as a postprocessing step to vascular struc-ture segmentation. We model the segmented vascular structure asa vessel segment graph and formulate the problem of identifyingvessels as one of finding the optimal forest in the graph given aset of constraints. We design a method to solve this optimizationproblem and evaluate it on a large real-world dataset of 2446 reti-nal images. Experiment results are analyzed with respect to actualmeasurements of vessel morphology. The results show that the pro-posed approach is able to achieve 98.9% pixel precision and 98.7%recall of the true vessels for clean segmented retinal images, andremains robust even when the segmented image is noisy.

 Index Terms —Ophthalmology, optimal vessel forest, retinal im-age analysis, simultaneous vessel identification, vascular structure.

I. INTRODUCTION

ARETINAL image provides a snapshot of what is happen-

ing inside the human body. In particular, the state of the

retinal vessels has been shown to reflect the cardiovascular con-

dition of the body. Measurements to quantify retinal vascular

structure and properties have shown to provide good diagnostic

capabilities for the risk of cardiovascular diseases. For example,

the central retinal artery equivalent (CRAE) and the central reti-

nal vein equivalent (CRVE) are measurements of the diameters

of the six largest arteries and veins in the retinal image, respec-

tively. These measurements are found to have good correlation

with hypertension, coronary heart disease, and stroke [1]–[3].

However, they require the accurate extraction of distinct ves-

sels from a retinal image. This is a challenging problem due to

ambiguities caused by vessel bifurcations and crossovers.

Fig. 1(a) shows an example retinal image where vessels I and

II cross each other at two places (indicated by circles). These

Manuscript received August 31, 2012; revised December 7, 2012; acceptedJanuary 21, 2013. Date of publication January 29, 2013; date of current versionJune 24, 2013. This work was supported by A*STAR Exploit Flagship GrantETPL/10-FS0001-NUS0. Asterisk indicates corresponding author .

∗Q. P. Lau is with the Department of Computer Science, National Universityof Singapore, 117417 Singapore (e-mail: [email protected]).

M.L. Leeand W. Hsuare with theDepartmentof ComputerScience,NationalUniversity of Singapore, 117417 Singapore (e-mail: [email protected];[email protected]).

T. Y. Wong is with the Singapore Eye Research Institute, Singapore NationalEye Centre, 168751 Singapore (e-mail: [email protected]).

Color versions of one or more of the figures in this paper are available onlineat http://ieeexplore.ieee.org.

Digital Object Identifier 10.1109/TBME.2013.2243447

Fig. 1. Vessels, I and II, crossing each other twice at white circles. (a) WrongIdentification of I and II. (b) Correct Identification of I and II.

Fig. 2. (a) Vessel III wrongly connected to a segment that should belong to IV.(b) Vessel IV correctly identified.

crossovers are often mistaken as vessel bifurcations, leading to

I and II being regarded as a single vessel. Fig. 1(b) shows the

correctly identified vessel structures for vessels I and II marked

in blue and red, respectively. Note that the line segment at the

second crossing (larger circle) is shared by vessels I and II.

In order to disambiguate between vessels at bifurcations and

crossovers, we need to figure out if linking a vessel segment

to one vessel will lead to an adjacent vessel being wrongly

identified. For example, in Fig. 2(a), if we identify vessel III

first without any knowledge of vessel IV, the junction indicated

0018-9294/$31.00 © 2013 IEEE

Page 2: 06423262

8/12/2019 06423262

http://slidepdf.com/reader/full/06423262 2/8

1852 IEEE TRANSACTIONS ON BIOMEDICAL ENGINEERING, VOL. 60, NO. 7, JULY 2013

by the white arrow may be mistaken as a bifurcation instead of 

a crossover. Consequently, vessels III and IV will be incorrectly

identified, leading to a large difference in vessel measurements.

However, if both vessels were constructed and considered at the

same time, it becomes obvious that one of the branches of vessel

III should be an extension of vessel IV, as shown in Fig. 2(b). By

considering multiple vessels simultaneously, information fromother vessels can be used to better decide on the linking of vessel

segments.

In this paper, we describe a novel technique that utilizes the

global information of the segmented vascular structure to cor-

rectly identify true vessels in a retinal image. We model the

segmented vascular structure as a vessel segment graph and

transform the problem of identifying true vessels to that of 

finding an optimal forest in the graph. An objective function

to score forests is designed based on directional information.

Our proposed solution employs candidate generation and expert

knowledge to prune the search space. We demonstrate the effec-

tiveness of our approach on a large real-world dataset of 2446

retinal images. The proposed technique has been incorporatedas part of the semiautomated Singapore Eye Vessel Assessment

(SIVA) system that has been used in real-world studies in both

the community and hospital-based patient populations [3], [4].

II. RELATED WORK

Retinal vessel extraction involves segmentation of vascular

structure and identification of distinct vessels by linking up

segments in the vascular structure to give complete vessels.

One branch of works, termed vessel tracking, performs vessel

segmentation and identification at the same time [5]–[8]. These

methods require the start points of vessels to be predetermined.Each vessel is tracked individually by repeatedly finding the

next vessel point with a scoring function that considers the

pixel intensity and orientation in the vicinity of the current

point in the image. Bifurcations and crossovers are detected

using some intensity profile. Tracking for the same vessel then

continues along the most likely path. This approach of tracking

vessels one-at-a-time does not provide sufficient information for

disambiguating vessels at bifurcations and crossovers.

Another branch of works treat vessel identification as a post-

processing step to segmentation [9]–[11]. The work in [9] re-

quired the user to resolve the connectivity of bifurcation and

crossover points before vessels were individually identified.

For [10], a graph formulation was used with Dijkstra’s shortest-

path algorithm to identify the central vein. Similarly, Joshi

et al.   [11] used Dijkstra’s algorithm to identify vessels one-

at-a-time and evaluated their method on a set of 15 images.

However, these methods may lead to incorrect vessel identifica-

tion because choosing the correct vessel segment to connect at a

bifurcation or crossover requires information from other nearby

vessels. Al-Diri  et al.  [12] used expert rules to resolve vessel

crossovers and locally linked up segments at these crossovers

to give a vascular network. However, they did not identify com-

plete vessels.

Our work is focused on vessel identification as a post-

processing step to segmentation. Our approach differs from ex-

Fig. 3. (a) Zone of interest and vessel structures. (b) Line image of vesselsegmentation.

Fig. 4. Example of junctions. Pixels belonging to a junction are shaded.

isting works in that we identify multiple vessels simultaneously

and use global structural information to figure out if linking

a vessel segment to one vessel will lead to an overlapping or

adjacent vessel being wrongly identified.

III. PRELIMINARIES

We first define the zone of interest in the retinal image. Thisis a circular ring bounded by two concentric circles of radii  2rand  5r  [see Fig. 3(a)], where  r   is the radius of the optic disc

(OD). Measurements from this zone are used in a number of 

clinical studies [3], [4]. Each vessel starts from a pixel near the

circle of radius  2r. These pixels are called root pixels and are

denoted in yellow in Fig. 3(a).

We utilize existing vessel segmentation methods and apply

any skeletonization procedure [9], [13] to obtain the line image

in the zones of interest [see Fig. 3(b)]. The lines in the line image

depict the topological connectivity of the vessel structures.

Let   P   be the set of all white pixels in a line image. Two

pixels pi , p j  ∈ P  are adjacent, i.e.,  adj( pi , p j ), if and only if 

 p j  ∈ neigh8( pi ), where  neigh8( p) = { p1, p2, . . . , p8}   is the

eight-neighborhood of  p [see Fig. 4(a)].

 Definition 1 (Connected Pixels): Pixels pi , p j  ∈ P  are con-

nected, i.e., conn( pi , p j ), if  adj( pi , p j ) or  ∃ pc  ∈ P  − { pi , p j }s.t. conn( pi , pc ) ∧ conn( pc , p j ).

 Definition 2 (Pixel Crossing Number): Let  p1, . . . , p8  be a

clockwise sequence of the eight neighbor pixels of pixel   p.

Then, xnum( p) is the number of black to nonblack transitions

in this sequence of neighbor pixels of  p.

 Definition 3 (Junction): Let  white8( p) ⊆  neigh8( p)  be the

setof white pixelsthat areneighbors of  p. The set ofjunctionpix-

els in P   is Y P   = { p ∈  P |xnum( p) >  2 ∨ |white8( p)| >  3}. A

 junction is a set of connected junction pixels, i.e., J  ⊆ Y P   such

Page 3: 06423262

8/12/2019 06423262

http://slidepdf.com/reader/full/06423262 3/8

LAU et al.: SIMULTANEOUSLY IDENTIFYING ALL TRUE VESSELS FROM SEGMENTED RETINAL IMAGES 1853

Fig. 5. Example of segment pixels (in white) with their end pixels (in red),and junction pixels (in blue).

that ∀ pi , p j = i  ∈ J, conn( pi , p j ), where conn is restricted to the

set Y P  . Then, the set of all junctions in  P   is J P  .

Fig. 4 depicts examples of junction pixels. In Fig. 4(a), we

have white8( p) = { p2, p4, p6}, and  xnum( p) = 3  due to the

transitions ( p1, p2), ( p3, p4), and ( p5, p6). This is the straight-

forward case where the shaded pixel  p  is a junction pixel with

xnum( p) >  2. In Fig. 4(b), the top and left neighbors of the

shaded pixel have crossing numbers of 2 and hence are not junction pixels. In Fig. 4(c), all four shaded pixels are junction

pixels since they each have more than 3 white pixels in their

eight-neighborhood.

 Definition 4 (Segment): A segment s  is a sequence of unique

white pixels   p1 , . . . , pn   in  P   such that all of the following

conditions are true:

1)   n > 0  and ∀i ∈  [1, n], pi   /∈ J P 

2)   n > 1  ⇒ ∀i ∈ [1, n − 1], adj( pi , pi+ 1 )3)   ∀i ∈ {1, n}, |white8( pi )| = 1∨

∃ p j  ∈ J P   s.t. adj( pi , p j )4)   n > 2  ⇒ ∀i ∈ [2, n − 1],xnum( pi ) = 2.

We call p1  and pn   the end pixels of  s. Let S P  be the set of all

segments in P   and N P   = P  − Y P  , i.e., N P   contains nonjunc-tions pixels that are part of segments. Then,  s ∈  S P   is adjacent

to a junction   J , i.e.,   adj(s, J ), if   ∃ p j   ∈ J   s.t.   adj( p j , p1 ) ∨adj( p j , pn ). Consequently, two segments sa , sb  ∈ S P  are adja-

cent, adj(sa , sb ) if  ∃J  ∈ J P   s.t. adj(sa , J ) ∧ adj(sb , J ).

Fig. 5 shows the examples of segments, end pixels, and junc-

tion pixels according to Definitions 3 and 4 for a region from a

line image. Each segment is indicated by the connected white

pixels.

IV. GRAPH TRACER

Our proposed method aims to identify vessels and representthem in the form of binary trees for subsequent vessel mea-

surements. It has two main steps: 1) identify crossovers, and 2)

search for the optimal forest (set of vessel trees). We describe

the details in the following sections.

 A. Identify Crossover Locations

Vessels in a retinal image frequently cross each other, at a

point or over a shared segment. We call the former crossover

points and the latter crossover segments.

 Definition 5 (Crossover Point): Given the set of white pixels

P  in a line image, a junction  J  ∈ J P  is a crossover point if and

only if the number of segments that are adjacent to  J  is greater

Fig. 6. Example crossover segment, point, and possible ambiguity. (a) Ex-ample of a crossover segment. (b) Example of a short segment between two

 junctions (white arrow).

Fig. 7. Examples of directional change between segments.

than or equal to 4, i.e., cross(J ) is true iff |{s ∈  S P |adj(s, J )}|≥ 4.

For example, the lower junction in Fig. 5 is a crossover point

as it has four segments adjacent to it.

A crossover segment occurs when two different vessels

share a segment as shown in Fig. 6(a). Given the set of 

white pixels  P  of a line image, a segment  s  ∈  S P    is a  can-

didate   crossover segment if   |s| < L   and   ∃J 1 , J 2  ∈ J P    s.t.

adj(s, J 1 ) ∧ adj(s, J 2 ) ∧ ¬cross(J 1 ) ∧ ¬cross(J 2 ). L is a pa-

rameter to limit candidates to short segments.

Note that short segments between two junctions are not nec-

essary true crossover segments, as shown in Fig. 6(b). Hence,

we propose to use the directional change between adjacent seg-

ments and their pixel intensity values to differentiate crossover

segments.

 Definition 6 (Directional Change Between Segments): Given

two segments sa  and sb  that are adjacent to a common junction,

let pa   and pb  be the end points of  sa   and sb  that are nearest to

each other. Let va  be a vector that starts on  sa  and ends at  pa ,

and vb  be a vector that starts from  pb  and ends on sb . Then, the

directional change between sa  and sb  is given by

∆D(sa , sb ) = cos−1 va  · vb

|va vb |

where ∆D(sa , sb ) ∈ [0◦, 180◦].Intuitively,  ∆D(sa , sb ) measures the magnitude of a change

in direction if we were to go from  sa   to  sb . Fig. 7 shows ex-

ample angles representing directional change between various

segments using Definition 6.

 Definition 7 (Crossover Segment):  Given a candidate seg-

ment   seg   between two junctions   J 1   and   J 2 , let   S i  = {sa  ∈S P |adj(sa , J i ) ∧ sa  = seg}   for   i ∈ {1, 2}. Each   S i   contains

two segments sharing the same junction as one end pixel of 

seg. Let   A =  {seg} ∪ S 1 ∪ S 2   and   Φ = {{sa ,seg,sb }|sa  ∈S 1 , sb  ∈ S 2 }. Then seg is a crossover segment, i.e., cross(seg)

is true, if all of the following conditions are true:

Page 4: 06423262

8/12/2019 06423262

http://slidepdf.com/reader/full/06423262 4/8

1854 IEEE TRANSACTIONS ON BIOMEDICAL ENGINEERING, VOL. 60, NO. 7, JULY 2013

Fig. 8. Segment 3 is a crossover segment, while segment 4 is not a crossoversegment because it does not satisfy condition 1 in Definition 7.

1)   ∀s, s ∈ S i , i ∈ {1, 2}, ∆D(s, s) >  30◦

2)   |seg| ≤  Lθ  ⇒

[∃sa , sb  ∈ S 1 , sc , sd  ∈ S 2 ,

s.t. ∆D(sa , sc ) <  30◦ ∧ ∆D(sb , sd ) <  30◦]

∨ minφ∈Φ

[sd(M (φ)) + sd(M (A − φ))] < sd(M (A))

3)   |seg| > Lθ  ⇒

[∀s ∈  S 1 ∪ S 2 , ∆D(seg,s) < θlo w ]

∨[∀s ∈  S 1 ∪ S 2 , ∆D(seg,s) < θhigh

∧ minφ∈Φ

[sd(M (φ)) + sd(M (A − φ))] < sd(M (A))]

where µ(s) is the mean intensity of the pixels in segment s, the

bag M (S ) = {µ(s)|s ∈  S } for a set of segments  S , and sd  is

the standard deviation of the numbers in  M (S ).

Condition 1 of Definition 7 handles the case when seg is at a

bifurcation. For example, segment 4 in Fig. 8 is not a crossover

segment due to the small directional change between segments

1 and 5.

Condition 2 in Definition 7 handles the case when the length

of  seg  is too short to determine the directional change. In this

case, we check if the adjacent segments of  seg   forms a rea-

sonable cross pattern, i.e., if there exists some pairing of thesegments in   S 1   with those in   S 2   such that their directional

change are less than 30◦. Otherwise, we partition  A   into two

such that the sum of the  sd  of both partitions is minimum. If 

this minimum is less than the sd  of all the segments in A, then

seg is a crossover segment.

Condition 3 of Definition 7 states that if the length of  segis long enough and the directional change between   seg   and

each of its adjacent segment is less than  θlow , then   seg   is a

crossover segment. Otherwise, if directional change is less than

θhigh , we compare the sds of the segments’ intensity values as

in Condition 2.

Note that θlow   and θhigh  can be determined empirically. Forour experiments, we set   θlow   = 65◦ and   θhigh  = 85◦. Fig. 9

shows the crossover segments identified for the retinal image in

Fig. 3(a).

 B. Find the Optimal Forest 

Next, we model the segments as a segment graph and use

constraint optimization to search for the best set of vessel trees

(forest) from the graph.

 Definition 8 (Segment graph): Given the set of white pixels P in a line image, a segment graph GP   = (S P , E P  ), where each

vertex in   S P    is a segment and an edge   ei, j   = (si , s j ) ∈  E P 

exists if  adj(si , s j ), si , s j   ∈ S P , i = j .

Fig. 9. Identified crossover segments for Fig. 3(a), highlighted in red as indi-cated by the white arrows.

Fig. 10. (a) Segment graph corresponding to the segments in Fig. 8. (b) Ex-ample forest of two binary trees (gray and black) corresponding to two vesselsrooted at segments 1 and 2 in Fig. 8.

Typically,  GP    consists of disconnected subgraphs that are

independent and can be processed in parallel. Without loss of 

generality, we refer to each of these subgraphs as the segment

graph GP  . The goal is to obtain a set of binary trees from the

segment graph such that each binary tree corresponds to a vessel

in the retinal image.

 Definition 9 (Vessel):   Given a segment graph   GP   =(S P , E P  ), a vessel is a binary tree,  T   = (sroot , V T  , E T  )  such

that   sroot   is the root node,   root(T ) = sroot ,   V T   ⊆ S P   , and

E T   ⊆ E P  . A set of such binary trees is called a forest .

A binary tree is a natural representation of an actual blood

vessel as it only bifurcates. Segment end points near the inner

circle of the zone of interest are automatically identified as rootpixels. The root of each tree corresponds to the root segment

that contains a unique root pixel, i.e., the yellow dots in Figs.

1 and 2. Fig. 10 shows the segment graph and two binary trees

corresponding to the two vessels in Fig. 8. We formulate the

goal of simultaneous identification as a constraint optimization

problem (COP).

Given a segment graph  GP   = (S P  , E P  ), and a set of root

segments S root , let F P   be the set of all possible forests from GP 

for each root segment in  S root . The optimal forest,  F ∗ ∈ F P  ,

that corresponds to vessels in GP  is given by

F ∗ = argminF ∈F P 

cost(F )

Page 5: 06423262

8/12/2019 06423262

http://slidepdf.com/reader/full/06423262 5/8

LAU et al.: SIMULTANEOUSLY IDENTIFYING ALL TRUE VESSELS FROM SEGMENTED RETINAL IMAGES 1855

subject to the following constraints:

1) Roots are unique to each tree

∀T 1  ∈ F, ∀T 2  ∈ F  − {T 1 },root(T 2 ) ∈ V T 1 .

2) Directional change between parent and child segments are

within the threshold

∀T   ∈ F, (s p , sc ) ∈  E T  ,

[s p  > Lθ  ∧ sc  > Lθ ] ⇒  ∆D(s p , sc ) <  135◦.

3) Any segment appearing in more than one tree must be a

crossover segment

∀s ∈ S P , |{T  ∈ F |s ∈  V T }| >  1  ⇒  cross(s).

4) A parent segment at crossover junction must connect to

the child with minimum directional change

∀T   ∈ F, (s p , sc ) ∈  E T  ,

∃J  ∈ J P  s.t.cross(J ) ∧ adj(s p , J ) ∧ adj(sc , J )

⇒ child(T, s p ) = 1 ∧ sc  = argmins∈A

∆D(s p , s)

where A =  {s ∈  S P   − {s p }|adj(s, J )}.

5) Crossover segment is the only child and have only one

child that has the minimum directional change

∀T  ∈ F, (s p , sx ), (sx , sc ) ∈  E T ,

cross(sx ) ⇒  child(T, s p ) = 1 ∧ child(T, sx ) = 1

∧ sc  = argmins∈S 

∆D(s p , s)

where S  = {s|(sx , s) ∈ E P   ∧ s = s p ∧ ¬adj(s, s p )}.

6) Leaf segments cannot be crossovers segments

∀T  ∈ F, s ∈  V T  ,leaf (T, s) ⇒ ¬cross(s).

In addition to the above constraints, each binary tree T   ∈ F should not contain cycles. Consequently, a segment may not

appear twice in the same vessel.

Our cost function makes use of change in direction between

segments. For a vessel T , let the set of bifurcations be

Y T   = {(sy , s1 , s2 )|sy , s1 , s2  ∈ V T 

∧ (sy , s1 ), (sy , s2 ) ∈  E T }.

Further, let the set of single parent–child nodes in  T   be

I T   = {(s p , sc )|s p , sc  ∈ V T   ∧ child(s p ) = 1

∧ [(¬cross(s p ) ∧ ¬cross(sc ) ∧ (s p , sc ) ∈  E T  )

∨ (∃(s p , sm ), (sm , sc ) ∈  E T 

s.t. cross(sm ) ∧ child(sm ) = 1)]}.

Then, we define the following functions with  Y T   and I T  :

ΓY  (T ) =

(sy ,s 1 ,s 2 )∈Y T 

0.5[∆D(sy , s2 ) + ∆D(sy , s1 )]

ΓI (T ) = (s p ,s c )∈I T 

∆D(s p , sc ).

ΓY  (T ) sums the average of the parent–child directional changes

at bifurcations in T ; hence, smaller ∆D are preferred as child

segments seldom branch off at obtuse angles to the parent seg-

ment. ΓI (T )  sums the change in direction between parents in

the tree with only one child segment. This favors smaller direc-

tional changes when choosing between segments to connect at

 junctions. Finally, the cost function on forests is defined ascost(F ) =

T ∈F 

[ΓI (T ) + ΓY  (T )].

This COP differs from other graph problems in several ways.

First, instead of defining the cost on edges as in minimum span-

ning tree (MST) and minimum spanning forest (MSF) prob-

lems [14], [15], we define the cost on forests to allow weighting

and fusing of multiple cost criteria at the forest level. Second,

we find a forest from a connected graph, while MSF finds a tree

in each graph [16]. Third, our definition of vessel trees does not

allow us to use the weighted-SAT formulation in [13] as it may

produce broken vessels.

To solve the COP, we use a candidate enumeration algorithmthat utilizes the lower bound of the cost function to prune the

search space. This lower bound   LBcost (F )   is based on the

following theorem.

Theorem 1 (Lower bound of cost): Given a set of binary trees

F  and any vessel T   ∈ F , we construct the vessel T  by growing

one leaf node of   T   such that it has either one or two chil-

dren. Let   F  = F  − {T } ∪ {T }. Then,   cost(F ) ≤  cost(F ),

i.e., cost(F )  is the lower bound cost of any  F  resulting from

growing the vessels in F . Proof: By adding new children to a leaf node, we increase the

size of I T   by one, Y T   by one, or neither, but not both. As ∆D has

the codomain [0◦

, 180◦

], ΓI (T ) ≤  ΓI (T 

) ∧ ΓY  (T ) ≤  ΓY  (T 

).Thus, cost(F ) ≤  cost(F ).  

Fig. 11 shows the details of our tracing algorithm,

GraphTracer. The input is the segment graph  GP   with n  root

segments given in S root . Lines 1–6 initialize the global variables

and call the recursive procedure Trace. F [1. .n] corresponds to

the initial forest of  n vessels. R[1. .n] denotes a fringe stack for

each vessel. F mi n  and cm in  record the minimum cost forest and

its corresponding cost.

In  Trace, if  F   satisfies all constraints and cannot be grown

further, we update F m in   if cost(F ) < cm in  (Line 7). Otherwise,

we may prune descendant forests grown from  F  with the lower

bound LBcost(F ) (at Line 9). The outer loop at Line 10 orders

each vessel  T  ∈ [1, n]   for growth.  T   ranges from the current

index i  to n, ensuring that Trace does not enumerate duplicate

forests. Each vessel’s fringe stack,  R[T ], stores its current leaf 

nodes to be grown. R[T ] is used in conjunction with the loop at

Line 11 to enumerate vessels in a depth-first traversal order.

A subprocedure FindChildren returns pairs (sl , sr ) of pos-

sible children for the current fringe node sT  . If only one child

is to be added, we set sr   = ∅. FindChildren employs forward

checking to eliminate children pairs that violate constraints (1)–

(6) in the COP formulation.

The time complexity of  GraphTracer is exponential to the

number of edges in  GP   and is independent of the size of the

retinal image as it only deals with the connectivity of entire

Page 6: 06423262

8/12/2019 06423262

http://slidepdf.com/reader/full/06423262 6/8

1856 IEEE TRANSACTIONS ON BIOMEDICAL ENGINEERING, VOL. 60, NO. 7, JULY 2013

Fig. 11. Details of Algorithm GraphTracer.

segments without measuring pixel properties such as intensity.

However, in practice,  FindChildren eliminates many combi-

nations using the constraints presented.

V. EXPERIMENT RESULTS

We evaluate our proposed method on 2446 retinal images

of patients from the Singapore Malay eye study [17]. For each

image, the line image of the retinal vessels is obtained using

the semiautomated retinal image analysis tool, SIVA. Trained

human graders then follow a protocol to verify the correctness

of the vascular structure obtained, e.g., arteries, veins, crossover

locations, and branch points. We use these verified vascular

structures as the gold  standard and call the corresponding vessel

center lines as clean line images.

We implement the Graph tracer and a Solo tracer that traces

vessels individually without regard for other vessels. The Solo

tracer works as follows: it starts from one root pixel and follows

theadjacentpixels in theline image.When a split is encountered,

a local lookahead is done to inspect the directional change of 

the segments. If they fit the crossover profile, the split is treated

as a crossover; otherwise, it is a bifurcation and the tracer will

follow both paths. It is greedy because unless a crossover is

identified, it will add all the connected pixels to the same vessel.

All tracers are given the same OD, line image, artery/vein

labeling, and use the same method to compute the vessel diam-

eters. We evaluate their performance on both clean and  noisy

line images. Noisy line images are obtained using an existing

vessel segmentation algorithm [18] and is representative of the

real-world situation where segmentation is often imperfect. We

Fig. 12. Results of tracers on clean and noisy line images.

use the following evaluation metrics based on the pixels in the

entire vessels. Let Big6  refer to the six largest arteries and veins

ranked by the average width of the first segment of each vessel.

Further, if a pixel of a traced vessel exists in the gold standard,

it is called a matched  pixel.

1)   Pixel precision: Total number of matched pixels divided

by total number of traced vessel pixels.

2)   Pixel recall:  Total number of matched pixels divided by

total number of gold standard pixels.

3)   Big6 precision:  Total number of matched pixels divided

by total number of traced pixels of Big6.

4)   Big6 recall:  Total number of matched pixels divided by

total number of gold standard pixels of Big6.

In our first set of experiments, we use both clean and noisy

line images as inputs to the tracers. Fig. 12 shows the results.

For the clean line images, both Solo and Graph tracers display

good performance. In particular, the Graph tracer is able to

achieve near perfect pixel precision (98.9%) and pixel recall

(98.7%). The performance of both tracers decrease for noisyline images. We observe that the difference between the Solo

tracer and Graph tracer is more pronounced, indicating that the

Graph tracer is more robust. From these results, we conclude that

tracing all vessels simultaneously is better than tracing vessels

individually without current knowledge of other vessels.

For the second set of experiments, we analyze the impact of 

our methods on measurement quality by computing the Pearson

correlation coefficient (PCC) between the measurements of the

traced vessels and the gold standard. These measurements are

automatically computed from the traced and gold standard vas-

cular structures, respectively. The vessel measurements CRAE,

CRVE, and average curvature tortuosity of arteries (CT a ) andveins (CT v ) have been found to be correlated with risks factors

of cardiovascular diseases and are positive real numbers.

CRAE and CRVE are computed by iteratively combining the

mean widths of consecutive pairs of vessels in the Big6 arteries

and veins [19], respectively, as follows:

Arteries:   w =  0.88 · (w21  + w2

2 )12

Veins:   w =  0.95 · (w21  + w2

2 )12

where w1 , w2 is a pair of width valuesand w is thenew combined

width value for the next iteration. Iteration stops when one width

value remains.

Page 7: 06423262

8/12/2019 06423262

http://slidepdf.com/reader/full/06423262 7/8

LAU et al.: SIMULTANEOUSLY IDENTIFYING ALL TRUE VESSELS FROM SEGMENTED RETINAL IMAGES 1857

Fig. 13. PCCwiththegoldstandard forclean andnoisylineimages.Subscriptsindicate veins (v), or arteries (a).

Fig. 14. Example of Solo versus Graph tracer on a clean line image. (a) SoloTracer. (b) Graph Tracer.

The average curvature tortuosity measures how tortuous the

center lines of arteries or veins are. The curvature tortuosity

of a vessel is the average of its segments’ curvature measures

weighted by length [3]

ct(T ) =

s∈T  τ 4 (s) · |s|

s∈T   |s|

where τ 4  is the curvature of a line segment given in [20].

Fig. 13 shows the PCC of various measures for both clean and

noisy line images. It is clear that the Graph tracer performs better

than the Solo tracer, particularly for the CT measures. This is

because Graph tracer is able to more accurately trace the small

vessels. The PCC for noisy line images reaffirms that Graph

tracer is more robust than the Solo tracer in the presence of 

noise. We observe that measurements of veins are consistently

more correlated than those of arteries, indicating that arteries

are more difficult to segment than veins.

Visual inspection on the results reveals that the Solo tracer

often traces overlapping vessel segments or wrongly connectedbifurcations that lead to poor measurements. An example mis-

take made by the Solo tracer on a clean line image is shown

in Fig. 14. The arrows indicate the location where two vessels

cross near bifurcations that causes the Solo tracer to erroneously

link segments belonging to other vessels. In contrast, the Graph

tracer takes both overlapping vessels into account when jointly

identifying the vessels resulting in better identification.

VI. CONCLUSION

We have presented a novel technique to identify true vessels

from retinal images. The accurate identification of vessels is keyto obtaining reliable vascular morphology measurements for

clinical studies. The proposed method is a postprocessing step

to vessel segmentation. The problem is modeled as finding the

optimal vessel forest from a graph with constraints on the vessel

trees. All vessel trees are taken into account when finding the

optimal forest; therefore, this global approach is acutely aware

of the mislinking of vessels. Experiment results on a large real-

world population study show that the proposed approach leads

to accurate identification of vessels and is scalable.

REFERENCES

[1] T. Y. Wong, F. M.A. Islam,R. Klein,B. E. K.Klein, M.F.Cotch, C.Castro,A. R. Sharrett, and E. Shahar, “Retinal vascular caliber, cardiovascularrisk factors, and inflammation: The multi-ethnic study of atherosclerosis(MESA),” Invest Ophthalm. Vis. Sci., vol. 47, no. 6, pp. 2341–2350, 2006.

[2] K. McGeechan, G. Liew, P. Macaskill, L. Irwig, R. Klein, B. E. K. Klein,J. J. Wang, P. Mitchell, J. R. Vingerling, P. T. V. M. Dejong, J. C. M.Witteman, M. M. B. Breteler, J. Shaw, P. Zimmet, and T. Y. Wong, “Meta-analysis: Retinal vessel caliber and risk for coronary heart disease,”  Ann. Intern. Med., vol. 151, no. 6, pp. 404–413, 2009.

[3] C. Y.-L. Cheung, Y. Zheng, W. Hsu, M. L. Lee, Q. P. Lau, P. Mitchell, J. J.Wang, R. Klein, and T. Y. Wong, “Retinal vascular tortuosity, blood pres-sure, and cardiovascular risk factors,”   Ophthalmology, vol. 118, pp. 812–818, 2011.

[4] C. Y.-L. Cheung, W. T. Tay, P. Mitchell, J. J. Wang, W. Hsu, M. L. Lee,Q. P. Lau, A. L. Zhu, R. Klein, S. M. Saw, and T. Y. Wong, “Quantitativeand qualitative retinal microvascular characteristics and blood pressure,” J. Hypertens, vol. 29, no. 7, pp. 1380–1391, 2011.

[5] Y. Tolias and S. Panas, “A fuzzy vessel tracking algorithm for retinalimages based on fuzzy clustering,”   IEEE Trans. Med. Imag., vol. 17,no. 2, pp. 263–273, Apr. 1998.

[6] H. Li, W. Hsu, M. L. Lee, and T. Y. Wong, “Automatic grading of retinalvessel caliber,” IEEE Trans. Biomed. Eng., vol. 52, no. 7, pp. 1352–1355,Jul. 2005.

[7] E. Grisan, A. Pesce, A. Giani, M. Foracchia, and A. Ruggeri, “A newtracking system for the robust extraction of retinal vessel structure,” in Proc. IEEE Eng. Med. Biol. Soc., Sep. 2004, vol. 1, pp. 1620–1623.

[8] Y. Yin,M. Adel, M. Guillaume, andS. Bourennane, “A probabilistic basedmethod for tracking vessels in retinal images,” in  Proc. IEEE Int. Conf. Image Process., Sep. 2010, pp. 4081–4084.

[9] M. Martinez-Perez, A. Highes, A. Stanton, S. Thorn, N. Chapman, A.Bharath, and K. Parker, “Retinal vascular tree morphology: A semi-automatic quantification,”   IEEE Trans. Biomed. Eng., vol. 49, no. 8,

pp. 912–917, Aug. 2002.

Page 8: 06423262

8/12/2019 06423262

http://slidepdf.com/reader/full/06423262 8/8

1858 IEEE TRANSACTIONS ON BIOMEDICAL ENGINEERING, VOL. 60, NO. 7, JULY 2013

[10] H. Azegrouz and E. Trucco, “Max-min central vein detection in retinalfundus images,” in   Proc. IEEE Int. Conf. Image Process., Oct. 2006,pp. 1925–1928.

[11] V. S. Joshi, M. K. Garvin, J. M. Reinhardt, and M. D. Abramoff, “Auto-matedmethod for the identification and analysis of vascular tree structuresin retinal vessel network,” in Proc.SPIE Conf. Med. Imag., 2011, vol. 7963,no. 1, pp. 1–11.

[12] B. Al-Diri, A. Hunter, D. Steel,and M. Habib,“Automated analysis of reti-nal vascular network connectivity,” Comput. Med. Imag. Graph., vol. 34,no. 6, pp. 462–470, 2010.

[13] K. Rothaus, X. Jiang, and P. Rhiem, X. Jiang, and P. Rhiem, “Separationof the retinal vascular graph in arteries and veins based upon structuralknowledge,”  Imag. Vis. Comput., vol. 27, pp. 864–875, 2009.

[14] R. L. Graham and P. Hell, “On the history of the minimum spanning treeproblem,”  IEEE Ann. Hist. Comput., vol. 7, no. 1, pp. 43–57, Jan.-Mar.1985.

[15] C. Allene, J.-Y. Audibert, M. Couprie, and R. Keriven, “Some links be-tween extremum spanning forests, watersheds and min-cuts,”   Imag. Vis.Comput., vol. 28, pp. 1460–1471, 2010.

[16] J. Cousty, G. Bertrand, L. Najman, and M. Couprie, “Watershed cuts:Minimum spanning forests and the drop of water principle,”  IEEE Trans. Pattern Anal. Mach. Intell., vol. 31, no. 8, pp. 1362–1374, Aug. 2009.

[17] A. W. P. Foong, S.-M. Saw, J.-L. Loo, S. Shen, S.-C. Loon, M. Rosman, T.Aung, D. T. H. Tan,E. S. Tai,and T. Y. Wong, “Rationale andmethodologyfor a population-based study of eye diseases in Malay people: SiMES,”Ophthalm. Epidemiol., vol. 14, no. 1, pp. 25–35, 2007.

[18] S. Garg, J. Sivaswamy, and S. Chandra, “Unsupervised curvature-basedretinal vessel segmentation,” in Proc. IEEE Int. Symp. Biomed. Imaging,Apr. 2007, pp. 344–347.

[19] C. Y.-L. Cheung, W. Hsu, M. L. Lee, J. J. Wang, P. Mitchell, Q. P. Lau, H.Hamzah, M. Ho, and T. Y. Wong, “A new method to measure peripheralretinal vascular caliber over an extended area,”   Microcirculation, vol. 17,pp. 1–9, 2010.

[20] W. E. Hart, M. Goldbaum, P. Kube, and M. R. Nelson, “Automated mea-surement of retinal vascular tortuosity,” in  Proc. AMIA Fall Conf., 1997,pp. 459–463.

Authors’ photographs and biographies not available at the time of publication.