Ординатура / Офтальмология / Английские материалы / Automated Image Detection of Retinal Pathology_Jelinek, Cree_2009
.pdf282 Automated Image Detection of Retinal Pathology
Setting up as a system of linear equations and expressing in matrix form yields a solution for the control points ~c:
n |
2B0(u j)...B0(u j) B1(u j)...B0(u j) ::... : Bn(u j)...B0(u j)32c...03 |
n |
2 |
B0(u j) |
3 |
||||||||||||
å |
6 |
B0(u j)Bk(u j) B1(u j)Bk(u j) ::: Bn(u j)Bk(u j) |
76 |
ck |
7 |
= å d j |
... |
||||||||||
j=0 |
6 |
. |
|
. |
|
. |
|
. |
|
76 . |
7 |
j=0 |
|
Bn(u j) |
|
||
|
6 |
. |
|
. |
|
. |
|
. |
|
76 . |
7 |
|
6 |
7 |
|||
|
6 |
. |
|
. |
|
. |
|
. |
|
76 |
. |
7 |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
5 |
|||
|
6 |
( ) ( |
) |
( ) ( |
) ::: |
( ) |
( |
)76 7 |
|
|
|
|
|||||
|
6B0 u j Bn u j |
|
B1 u j Bn |
u j |
|
Bn |
u j |
Bn u j |
|
76cn |
7 |
|
|
|
|
||
|
4 |
|
|
|
n |
|
|
T |
|
|
54 |
|
5 |
|
|
|
|
|
|
|
|
|
~ |
~ |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
å B(u j)B(u j) ~c =~r |
|
|
|
|
|
|
|
|
|||||
|
|
|
|
j=0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
~c = (å ~B(u j)~B(u j)T ) 1~r |
|
|
|
|
|
|
|||||||
|
|
|
|
|
j=0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
~ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
where the vector B(u j) is defined as: |
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
2B0(...u j)3 |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
6 |
|
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
7 |
|
|
|
|
|
|
|
|
|
67
6Bk(u j)7:
67
6... 7 4 5
Bn(u j)
9.7.1.4 Weighted least squares
While the last section dealt with determining the set of control points to best fit a given set of data points, it may not be desired to attempt a fit to all data points equally. That is, it may be desired to fit some points more closely than others based on some provided measure. This measure or “weight” may be indicative of the confidence in a given data point and as such indicates how closely the fit curve is desired to fit each data point. These weights can be constant or vary in an iterative procedure such as an iteratively weighted least squares fitting. The method for a weighted least squares fit using the same notation and following the previously derived equations is presented as follows:
nm
S = å w j[d j åciBi(u j)]2 |
(9.10) |
|
j=0 |
i=0 |
|
where w j is used to represent the weight of each data point.
¶E |
|
m |
|
|
åw j([d j åciBi(u j)]Bk(u j)) = 0: |
|
|||
|
= 2 |
(9.11) |
||
¶ck |
||||
|
|
j |
i=0 |
|
m |
|
|
|
|
åci[åw jBi(u j)Bk(u j)] = åw jd jBk(u j): |
(9.12) |
|||
i=0 j |
|
j |
|
|
Determining Retinal Vessel Widths and Detection of Width Changes |
283 |
n |
2B0(u j)...B0(u j) B1(u j)...B0(u j) ::... : Bn(u j)...B0(u j)32c...03 |
|
|||||||||||
å w j |
6B0(u j)Bk(u j) B1(u j)Bk(u j) ::: Bn(u j)Bk |
(u j)76ck |
7 |
= |
|||||||||
j=0 |
6 |
. |
|
|
. |
|
. |
|
. |
|
76 . |
7 |
|
|
6 |
. |
|
|
. |
|
. |
|
. |
|
76 . |
7 |
|
|
6 |
. |
|
|
. |
|
. |
|
. |
|
76 . |
7 |
|
|
6 |
( ) ( |
) |
B1 |
( ) ( |
u j |
) ::: |
( ) ( )76 |
7 |
|
|||
|
6B0 u j Bn u j |
|
u j Bn |
|
Bn |
u j Bn |
u j |
76cn |
7 |
|
|||
|
4 |
|
|
|
n |
|
~ |
~ |
T |
|
54 |
5 |
|
å w jB(u j)B(u j) ~c =~r
j=0
n
~ = (å ~( )~( )T ) 1~ c w jB u j B u j r
j=0
|
2 |
3 |
n |
6 |
B0(u j) |
å w jd j |
... 7 |
|
|
4 |
5 |
j=0
Bn(u j)
9.7.1.5 Determining the number of control points
The number and placement of control points determine the flexibility of the spline. As discussed in Section 9.7.1.2, this study initially places the control points uniformly based on the total arc length of the curve. In determining the number of control points necessary to approximate the set of data points, an acceptable error tolerance needs to be determined. One such measure is that the mean of the residual vector be below a certain tolerance value, where the mean of the residuals, mr, is computed as:
mr = |
ånj=0 jd j åim=0 ciBi(u j)j |
|
(9.13) |
|
n |
||||
|
|
|||
where u j is the arc-length parameter corresponding to data point j. This tolerance mr is equivalent to the “normalized distance” measure used by Saint-Marc and Medioni in [57]. As part of determining the correct number of control points, an acceptable minimum and maximum should be determined. The absolute minimum number of control points is four. The absolute maximum is equal to the number of data points and will result in an exact interpolation. To arrive at a suitable number of control points, it is possible to start at the minimum and iteratively add control points until mr is below the acceptable threshold. Since a sub-pixel boundary is desired, this threshold was set to 0.5.
An alternative method for adding control points is to weight the residuals based on how closely the spline is expected to fit the points. These weights could be the same used for the weighted least squares fitting or could be based on some other weighting criteria. For instance, there may be a confidence score associated with each data point indicating that some points are more accurate or relevant than others based on such factors as local contrast or edge strength of local curvature. This score would indicate that the fit spline should better model the points with higher confidence and put less emphasis on those of low confidence. These confidence levels can be assembled into a weight vector, w, which is then used to scale the residuals, and changes Equation
9.13 to |
|
||
mr = |
ånj=0 j(d j åim=0 ciBi(u j))w jj |
: |
(9.14) |
|
|||
|
n |
|
|
284 |
Automated Image Detection of Retinal Pathology |
Once the residuals are weighted, there is no longer any relation between mr and the desired accuracy of the fit unless care is taken in selecting the weights. To accomplish this, all weights need to be between zero and one, where a one indicates a point with highest confidence and hence the desire to be best fit. These weights can be scaled by normalizing or by using a robust estimator [58]. If the threshold for mr is set below 1 then intuitively the relationship between the fit curve and the desired subpixel accuracy can again be realized but only for the points of highest confidence. The lower confidence points will not have a guarantee of a close (i.e., sub-pixel) fit.
In this study, the mean weighted residual threshold is set to 0.25 pixels. The number of control points is initially set to one-tenth the number of data points or four, whichever is greater. The number of control points is then increased until the mean weighted residual threshold is met or until the number of control points is more than one-third the number of data points the spline is expected to fit. In practice this upper limit is rarely met. The weights used are the strengths associated with each trace point, which is a measure of the image contrast at the vessel boundary (i.e., it is equal to the template response found during tracing). A final consideration is to normalize the weights so that each weight is between 0 and 1. This is done to maintain the desired sub-pixel fit accuracy for points with the highest strength. The weights are normalized using the infinity norm as shown in the following equation:
|
n |
m |
|
w j |
|
|
|
|
mr = |
åj=0 |
[(d j åi=0 ciBi(u j)) |
|
] |
: |
|
||
kwk¥ |
(9.15) |
|||||||
|
|
|||||||
|
|
|
n |
|
|
|
||
9.7.2B-spline ribbons
A variety of different models referred to as “ribbons” are used to describe a twodimensional region/object that is symmetric about a central axis. These objects can be described from both the perspective of generation (given the axis, create the shape) and recovery (given the shape, find the axis) [59]. A ribbon object is usually generated by using a geometric “generator” such as a disc [60] or a line segment where the line segment is required to have a fixed angle with the axis [61] or a fixed angle with both sides of the shape [62]. These generators can be constant in size and orientation or vary along the length of the axis. Amongst other things, ribbons have been used to find skewed symmetries [63]; to segment wires, plant roots, and bacteria [64]; and to find roads in satellite images [52]. Ribbon-like objects were selected to model retina vessels as most (nonpathological) vessels exhibit a symmetry about a central axis. These models were then used as the basis for active contour methods to more precisely identify the vessel boundaries as described in Section 9.8.3.
Initially, a form of a ribbon commonly referred to as Brooks ribbon [61] was used to model a given vessel based on the data supplied from the modified vessel tracing algorithm described in Section 9.4 (i.e., center point and width in normal direction). These ribbons are formed by line segments making a constant angle with the central axis (in this case they are orthogonal). To continuously and smoothly model the
Determining Retinal Vessel Widths and Detection of Width Changes |
285 |
FIGURE 9.4
Ribbon object definition. (xi;yi) is the axis center at point i, h(xi;yi) is the normal at center point i, and wi is the width. bl and br are the left and right boundary points, respectively.
vessels, each dimension (x, y, and width) is fit with a B-spline, each B-spline using the same parameterization as described in Section 9.7.1.1. The ribbons represented as a set of B-splines will be referred to interchangeably as “ribbon” or “B-spline ribbon” in the remainder of this chapter. This definition of a ribbon can be seen in Figure 9.4. The B-spline representation provides (a) an implicit smoothness for modeling the vessel boundaries and (b) an implicit flexibility in the active contour models based on the number and location of the knots (or the parameterization of the data points).
Since ribbons have only a single width they are most true to the idea that vessels have near-parallel boundaries. However, vessels do not always have near-parallel boundaries, particularly in pathological cases. In these cases, vessels are not symmetric around a central axis, or even if symmetry does exist, allowing only a single degree of freedom in the width parameter may not be sufficient to represent the vessel. This may be because the central axis is not truly centered or because the
286 |
Automated Image Detection of Retinal Pathology |
FIGURE 9.5
Dual Width Ribbon (DWibbon) object definition. (xi;yi) is the axis center at point i, h(xi;yi) is the normal at center point i, and w1i and w2i are both widths. bl and br are the left and right boundary points, respectively.
spline is not flexible enough to handle a specific region with varying widths. To address this issue, two other ribbon-like objects were examined, the dual-width ribbon (DWibbon) and the normal-offset ribbon (NORibbon) as described in the following paragraphs. In both cases, a similar ribbon can created from each by identifying the corresponding boundary points for any point on the central axis and estimating a new centered axis point and width. These new axis points and widths can then be converted into a B-spline ribbon.
In attempting to allow more variability in the width along the central axis, the idea of having two widths (“dual widths”) one for each side of the central axis was examined. This resulting “DWibbon” object is actually no longer guaranteed to be symmetric about the axis and can be argued is technically not a ribbon. As mentioned above, however, it can be easily transformed into a ribbon. This representation has the advantage that when used as the basis for an active contour, the central axis can be fixed and then each width still has the ability to find the correct boundary, even
Determining Retinal Vessel Widths and Detection of Width Changes |
287 |
FIGURE 9.6
Normal Offset Ribbon (NORibbon) object definition. (xi;yi) is the axis center at point i, h(xi;yi) is the normal at center point i, wi is the width, and oi is the offset. bl and br are the left and right boundary points, respectively.
when the axis is not in the center of the vessel. This is not possible for ribbons when the ribbon axis is not located in the center of the vessel. The definition of the DWibbon is shown in Figure 9.5.
The final ribbon-like object studied is one that has a single width but rather than applying that width on the central axis, the width is applied at a point that is located at some offset in the normal direction. This is illustrated in Figure 9.6. Again, both the width and the offset can be modeled with splines. This implies that like the DWibbon, the normal-offset ribbon is not truly a ribbon because it is not symmetric about the central axis. But like the DWibbon, this allows the central axis to be fixed when used in an active contour method. It is also capable of being converted to a ribbon. However, the real utility of a NORibbon lies in its ability to be used with an active contour that uses a matched filter as its basis for determining the ribbon width. This will be described in Section 9.8.4.
288 |
Automated Image Detection of Retinal Pathology |
9.8Estimation of Vessel Boundaries Using Snakes
Previous sections discussed methods for modeling retina vessels. In this section we present a method for locating the vessels using active contour techniques based on the ribbon models of Section 9.7 initialized with the results of the modified Can’s algorithm of Section 9.4.1.
9.8.1Snakes
As originally introduced by Kass et al. [50], a snake is a curve or contour represented by a set of parametric points, with each position denoted as v(s) = (x(s);y(s)). The idea is to position the snake by “attracting” it to certain image features. A snake’s motion is controlled by an energy function given by
Z 1
Esnake = Eint (v(s)) + Eimage(v(s)) + Econ(v(s))ds; (9.16)
0
where Eint denotes the internal energy of the snake; Eimage represents external image forces for such features in an image as lines, edges, and terminations of line segments and corners; and Econ is an external constraint force. Eint is commonly represented as
Eint = |
a(s)jvs(s)j2 + b(s)jvss(s)j2 |
(9.17) |
2 |
|
|
where the first term controls the elasticity of the snake and the second term controls the rigidity. In the context of vessel boundary detection, Eimage should be attracted to edges. It is represented as Eimage = jÑI(x;y)j2 and Econ = 0.
Using the set of detected boundary points for a single vessel boundary as the initial points, a snake can be used to solve for the final set of boundary points by minimizing the energy in Equation 9.17. This can be done by expressing and solving Equation 9.17 as the following set of Euler-Lagrange differential equations:
¶x |
|
¶Eimage |
|
|
¶ |
|
(a(s) |
¶x |
|||||||
|
|
= |
|
|
|
|
|
|
|
|
|
|
|
) + |
|
¶t |
|
¶x |
¶s |
|
¶s |
||||||||||
¶y |
|
|
|
¶Eimage |
|
|
¶ |
|
(a(s) |
|
¶y |
||||
|
= |
|
|
|
|
|
|
|
|
|
) + |
||||
¶t |
|
¶y |
|
¶s |
¶s |
||||||||||
¶2 |
(b(s) |
¶2x |
) |
|
¶s2 |
¶s2 |
|||
|
|
|||
¶2 |
(b(s) |
¶2y |
) |
|
¶s2 |
¶s2 |
|||
|
|
(9.18)
(9.19)
This method will yield a curve that is attracted to the boundary (as defined by the gradient). It is a better representation of the vessel boundary than the current vessel tracing code boundary points because the curve generated is smooth and is known to have converged on the best local boundary. This methodology can be applied to find both boundaries of a single vessel separately. However, a more appropriate application of snakes to vessel boundary location is described in the next section.
Determining Retinal Vessel Widths and Detection of Width Changes |
289 |
9.8.2Ribbon snakes
Ribbon snakes extend the basic idea of a snake to the detection of linear features that have width. The idea is to attract the two boundaries of the ribbon to the boundaries of the linear feature. Ribbon snakes have been used to extract roads [52; 65; 66] in aerial images and are appropriate for vessel boundary detection because they can be used to model the road-like properties of a vessel. These properties can be described as a locally linear feature with width, symmetric about a central axis, bounded by two edges of relatively high contrast.
Ribbon snakes are defined similarly to snakes by introducing a third parametric component, namely a width component [67]. Where snakes are defined only in terms of x and y, in a ribbon snake each position is now represented as v(s) = (x(s);y(s);w(s)) where x(s);y(s) represents the blood vessel center and w(s) determines the vessel boundaries. Since we are trying to find two boundaries, Eimage needs to be “attracted” to the two edges that have the locally greatest gradient. Thus Eimage becomes
Eimage(v(s)) = j(ÑI(vl (s))j2 + jÑI(vr(s)))j2 |
(9.20) |
This energy term should be further modified to favor points of maximal gradient where the gradient is strongest in the direction perpendicular to the detected edge. This is equivalent to requiring that the direction of the gradient be (closely) aligned with the normal. Taking a dot product of the normal and the gradient increases the contribution to the final energy when the gradient and normal directions are closely aligned while minimizing contributions from locations where the gradient and normal are not so aligned. Thus Eimage can be modified as follows:
Eimage(v(s)) = (ÑI(vr(s)) n(s))2 + (ÑI(vl (s))) n(s))2 |
(9.21) |
where n(s) is the unit normal at x(s);y(s) and vr(s) and vl (s) are the vessel right and left boundaries, which can be expressed as
vr(s) = w(s)n(s); |
vl (s) = w(s)n(s): |
(9.22) |
By supplying the centerline positions and widths for a vessel obtained from the modified Can’s algorithm, the ribbon snake can be initialized and solved in much the same manner as normal snakes. The major difference is that the results can be used to generate two contours representing both boundaries of the vessel. Additionally, ribbon snakes intrinsically maintain the “almost parallel” boundaries while allowing some degree of variability in width.
9.8.3B-spline ribbon snake
The idea of combining splines with snakes is not new. Klein et al. used B-spline snakes for vessel single-boundary detection in [68] and Leitner and Cinquin to find contours in computed tomography (CT) and magnetic resonance imaging slices of images of the vertebra [69]. In this application, a B-spline ribbon snake is created to find retina vessels and is a unique combination of B-splines, snakes, and ribbons. A
290 |
Automated Image Detection of Retinal Pathology |
B-spline ribbon snake behaves similar to snakes described in Section 9.8.1. However, the internal energy is no longer explicitly a part of the snake energy. Instead the smoothness of the snake is controlled implicitly by the parameters used to define the B-spline. Thus in a B-spline framework, the general equation for a snake described in Equation 9.16 becomes:
Z 1
Esnake = Eimage(v(s))ds (9.23)
0
Similarly, the image energy Eimage for a B-spline ribbon snake is affected. Instead of maximizing the energy equation to fit a single contour to the desired image feature, the idea is to fit the two sides of a ribbon B-spline to the desired image features, which in this study are the opposite boundaries of a blood vessel. This is done by simultaneously fitting the two (near)-symmetric contours to the vessel boundaries or edges, where an edge is defined as local areas of maximum gradient. Given an initial estimate of the B-spline ribbon in which the control points are assumed to be evenly spaced along the length of the curve, where the spacing is determined by arc-length, the energy equation for the ribbon B-spline is very similar to Equation 9.21 but is modified based on the B-spline ribbon parameters. This is explained in the following paragraphs. By maximizing the energy equation, an optimal solution representing the best local boundaries is found.
Let Esnake be the energy function for the B-spline ribbon snake expressed as a function of the m + 1 control points, c~0;:::;c~m, and recall that each ~ci has three components, namely x, y, and w (where w controls the width of the ribbon snake, and x and y control the x and y coordinates respectively). Recall that the B-spline ribbon is defined as a parametric function of u where at each u, r(u) = (v(u);w(u)) and v(u) = (x(u);y(u)) is the coordinate of the ribbon’s central axis which is also the axis of symmetry, and w(u) is the corresponding width in the normal direction. The B-spline’s m + 1 control points make m 2 spline segments, numbered from 3 to m, with u defined on the interval (3::m + 1).
Z m+1
Esnake(c~0;:::;c~m) = 1=2[ÑI(~pl (u)) hˆ (u)]2 + 1=2[ÑI(~pr(u)) hˆ (u)]2du
3
(9.24) where hˆ (u) is the unit normal, ~pl is the left boundary curve defined by ~pl (u) =~v(u)+ w(u)hˆ (u), and ~pr is the right boundary curve defined by ~pr(u) =~v(u) w(u)hˆ (u). The dot products with the unit normal in Equation 9.24 serve to emphasize the edges where the gradient is more closely aligned with the normal. Having now defined the energy function, all that needs to be done is to determine the control points that maximize the energy. Having now defined the energy equation for a ribbon, similar equations can be defined for both the DWibbon and NORibbon. The only difference is in how ~pl (u) and ~pr(u) are calculated.
However, Equation 9.24 fails to take advantage of the direction of the gradient when computing the energy. The objective function is defined to give more “energy” to the gradient that is more closely perpendicular to the orientation of the vessel (i.e., more closely aligned with the normal as shown in Figure 9.7). We do this by taking
Determining Retinal Vessel Widths and Detection of Width Changes |
291 |
FIGURE 9.7
Illustration showing the parameters of a ribbon snake. Note the projection of the gradient on the unit norm (n(s)) used to further improve the boundary extraction.
(See color insert.)
the dot product of the normal and the gradient. When they are more closely aligned, the value of the dot product will be close to the value of jÑIj or jÑIj and thus contribute more to the energy.
However, we can leverage one additional piece of knowledge: the vessel is darker than the surrounding area. Thus on one side of the ribbon snake, the left, the intensity goes from light background to dark vessel, and on the other side of the ribbon, the right, from dark to light. This information can be utilized to modify the energy equation. The idea is to use the same dot products to require the projection of the gradient vector onto the ribbon’s unit normal vector to be positive on the ribbon’s left boundary and negative on its right. Thus Equation 9.24 is modified by dropping the square term and changing the addition to a subtraction. Thus Eimage as used for all ribbon snake objects is defined as:
Z m+1
Esnake(c~0;:::;c~m) = ÑI(~pl (u)) hˆ (u) ÑI(~pr(u)) hˆ (u)du (9.25)
3
For an image in which the vessels are lighter than the background (e.g., fluorescein
