Efficient Liver Segmentation exploiting Level-Set
Speed Images with 2.5D Shape Propagation
Jeongjin Lee1 , Namkug Kim2 , Ho Lee1 , Joon Beom Seo2 , Hyung Jin Won2 ,
Yong Moon Shin2 , and Yeong Gil Shin1
1
School of Electrical Engineering and Computer Science, Seoul National University,
San 56-1 Shinlim 9-dong Kwanak-gu, Seoul, Korea
{jjlee, holee, yshin}@cglab.snu.ac.kr
2
Department of Radiology and Research Institute of Radiology, University of Ulsan
College of Medicine, Asan Medical Center
[email protected], {seojb, hjwon, cjimage}@amc.seoul.kr
Abstract. In this paper, we propose an efficient semi-automatic liver
segmentation method from contrast-enhanced computed tomography (CT)
images. We exploit level-set speed images to define an approximate initial liver shape. The first step divides a CT image into a set of discrete
objects based on the gradient information, which is normalized on the
speed image. The second step detects the objects belonging to the liver
based on 2.5D shape propagation, which models the segmented liver region of the slice immediately above or below the current slice by points
being narrow-band of distance from the boundary, and skeletons. In this
step, manual inputs of seed points for the topmost slice, the bottommost
slice of the liver, and regions that do not connect to the liver from the
previous slice are required because there is no prior information for the
2.5D shape propagation. With this optimal estimation of the initial liver
shape, our method decreases the computation time by minimizing levelset propagation, which converges at the optimal position within a fixed
iteration number. Our method was validated on ten data sets and the
results were compared with the manually segmented result. The average
score using the comparison metrics for the accuracy evaluation was 75.
The average processing time for segmenting one data set was 382s.
1
Introduction
Liver cancer is one of the most fatal causes of death worldwide. Liver surgery for
the treatment of hepatic tumors, including transplantation, requires information
of the liver volume. Volumetry of the liver is usually performed by manual tracing of the liver boundary on CT images. There is a large variation of liver sizes
between patients and the nearby organs have very similar intensity values to the
liver. Also, the partial volume effect causes the liver boundary to be ambiguous.
Therefore, automatic liver segmentation is difficult to achieve.
Several methods have been suggested for liver segmentation. Lim et al. [1]
used multilevel thresholding and morphological filtering to extract an initial
T. Heimann, M. Styner, B. van Ginneken (Eds.): 3D Segmentation in The Clinic:
A Grand Challenge, pp. 189-196, 2007.
liver outline, and refined this result by analyzing the gradient and intensity distribution near the boundary. Saitoh et al. [2] used morphological filtering and
thresholding to segment the liver vessels, and applied a dilation operation to
find the minimum and maximum possible liver boundaries. In these methods
[1-2], various thresholds had to be defined manually. Schenk et al. [3] used the
live wire technique. A user manually drew the initial contours on some slices.
The boundaries in intermediate slices were generated by shape-based interpolation. This method required a lot of manual input. Pan et al. [4] proposed the
accumulative level-set speed function, which varied by time to improve the detection sensitivity of weak edges. However, the level-set propagation might stop
in front of spurious edges. Gao et al. [5] introduced control points to the snake
algorithm, and the weights for the snake algorithm were dynamically determined
by the distance between the control points and the local curvature of contours.
This method required a lot of processing time.
In this paper, we propose an efficient liver segmentation method exploiting
level-set speed images with 2.5D shape propagation. In Pan et al. [4], initializations of a small circle in every slice were required. However, our method predicts
the initial liver shape automatically, which converges the subsequent level-set
propagation within a fixed iteration number. We utilize level-set speed images
to detect the initial liver shape with the aid of computationally inexpensive steps
for improving the computational efficiency. Whereas Schenk et al. [3] used a number of user-defined seed points in many slices for representing liver boundaries,
our method only requires few seed points for transferring the shape information
of boundaries so that we minimize user interventions.
2
2.1
Method
The Generation of Level-set Speed Images
For the preprocessing, we use modified curvature diffusion filtering [6]. The gradient magnitude image, GM I(x, y) can be calculated from this preprocessed
image. This gradient magnitude image is applied to the sigmoid function, which
normalizes the gradient magnitude to produce a speed image, SI(x, y), with
values in the range from 0 to 1.
SI(x, y) =
1
GM I(x,y)−β
−(
)
α
,
(1)
1+e
where α and β are parameters that adjust the mapping range of input.
2.2
Initial Liver Shape Detection from Level-set Speed Images
Initial liver shape is detected by performing the image division step to the speed
image and the subsequent object detection step with 2.5D shape propagation.
In the first step, the divided image (Fig. 1b) is acquired by applying the seeded
region growing (SRG) to the area whose value is in the range of zero to T on the
190
Fig. 1. The image division step (a) the level-set speed image (b) the divided image (T
= 0.5)
speed image (Fig. 1a). This step regards regions whose values are in the range
of zero to T as thick edges (white regions in Fig. 1b). Correspondingly, a set of
objects (black regions in Fig. 1b) is generated by thick edges. The seed point
for this step (the red circle in Fig. 1a) can be found automatically by searching
for the point having a zero value vertically from the uppermost and horizontally
middle point in the speed image.
To detect the initial liver shape from this divided image, 2.5D shape propagation of the previously segmented liver region of the neighborhood slice is performed. 2.5D shape propagation extracts propagated shapes of the previously
segmented liver region as seed points for the SRG on the divided image. The
algorithm repeats the propagation of local distances within a predefined narrow
band value, dmax , from boundary points (Fig. 2a). To approximate Euclidean
distances, we use chess-board distance for neighboring points as follows [7].
d(i) = min(minj∈8−neighbors(i) (d(j) + 1, d(i)),
(2)
where i and j are a current and 8-neighbor positions of the 2D distance map,
respectively. d(i) for boundary points are initialized as zero and those for other
points are initialized as infinity. The seed points for the SRG are the points that
meet the condition d(i) ≥ dmax . However, in narrow regions where the maximum
local distance is lower than dmax , there is no point meeting this condition. As
such, the shape of narrow regions cannot be propagated. Therefore, we use the
skeletons of the segmented region calculated by thinning method [8] (Fig. 2a).
Using these seed points, the SRG onto the divided image (Fig. 1b) with zero
threshold value is applied to detect the objects belonging to the liver (Fig. 2b).
The segmentation of the liver for each slice is performed in two parts: the
bottom and the top of the liver. Segmentation of the bottom part of the liver
begins at the lowermost slice and proceeds to the intermediate slice in order.
The intermediate slice is determined as the slice having the maximum liver area
that can be found by detecting the change in area during the segmentation of the
lower part. The segmentation of the top part of the liver is performed in the same
191
Fig. 2. The object detection step (a) the conceptual overview of 2.5D shape propagation (b) the detected object from the divided image of Fig. 1b
Fig. 3. Segmentation order determined by the area distribution of the liver (a) area
distribution of the liver with respect to the relative position of the slice (subject 1 of
training data sets) (b) slice segmentation order
manner. In this ordering, segmentation is performed from smaller to larger areas
(Fig. 3). This procedure with the narrow band having a value dmax from the
boundary of the previously segmented liver compensates for the shape variance
between two consecutive slices, so that the propagated seed points lie inside the
liver region. Furthermore, there are thick edges near the liver boundary (white
regions in Fig. 1b). Even if the propagated seed points lie on thick edges, it
makes no false segmentation result because the SRG of the object detection step
is only performed on the black area. The proposed method requires a manual
input of seed points for each of the topmost and the bottommost slice of the
liver because there is no prior information for the 2.5D shape propagation. For
the same reason, a user may need to insert additional seed points if there are
regions in the liver data set that do not connect to the liver from the previous
slice (Fig. 3b).
192
2.3
Liver Segmentation using the Level-set Method
Malladi’s level-set method [9] is adopted for level-set propagation. The governing
equation of the motion of the zero level-set curve is defined as follows.
φt + Fprop (1 − K)|∇φ| = 0,
(3)
where Fprop is the value of the speed image, and controls the relative importance of the curvature K. The initial liver boundary acquired in the previous step
is placed as the initial contour of the level-set method, which evolves according
to Eq. (3). The refined liver segmentation is achieved after level-set propagation.
When one contour lies completely inside the other contour, we select the outermost contour, which leads to the same effect of hole filling.
Vessels near the liver boundary are enhanced by the contrast agents so that
they may not be included in the segmented liver because of the large gradient
magnitude of their boundary. To include them, a rolling ball algorithm [10] is
applied. Positions where the ball filter contacts two points on the liver boundary are searched and the new boundary is generated by connecting these two
points. Then, the region generated by the new outline is included. However, some
regions outside the liver, such as dented regions, can be added and are false positives. To exclude them, the average intensity value of each newly added region is
compared with that of the previously segmented liver region. The object, whose
average intensity value is lower than that of liver regions, should be removed
from the segmentation result because the average intensity value of enhanced
vessels is greater than that of liver regions.
3
Results
Our method was performed on Intel Core2 Quad 2.4 GHz PC. Some functions
are implemented using the Insight Toolkit [11]. Our method has been applied to
ten clinical data sets. Our data sets contained 1434 liver slices.
For the anisotropic filtering, we determined 10 as the number of iterations.
The time step was set to be 0.125 and the conductance parameter was determined as 3. α = -0.5 and β = 3.0 was acceptable for the parameters of the
sigmoid function. The parameter T influenced the result of the object division
step since it determined the range of normalized gradient magnitude to be regarded as thick edges. A smaller T value yielded a smoother liver boundary (Fig.
4a), but the actual structure might not be differentiable from a nearby organ
with a weak edge. If the T value was too large, it could yield a result in which
the liver is divided into several small pieces (Fig. 4b). It was probable to miss
some liver regions to be segmented. The optimal parameter value of T was determined to be 0.5. However, this value can be modified for some data sets, which
are noisy. For instance, the value of T was set to be 0.01 for subject 3, which are
very noisy (bottom lines in Fig. 5), and 0.3 for subject 2, 6. The narrow band
value, dmax was set to be seven pixels. For level-set propagation, was set to be
1 and number of iterations was fixed at 100. The radius of the ball filter used in
193
Fig. 4. Changes in the divided image as a function of the T value (a) T = 0.1 (b) T =
0.9
the rolling ball algorithm was set at 10 pixels.
We evaluate the segmentation accuracy by comparing the results of the
proposed method and the results of the manual segmentation. The comparison
metrics are 1 minus volumetric overlap, relative absolute volume difference, average symmetric absolute surface distance, symmetric RMS surface distance, and
maximum symmetric absolute surface distance [12]. To assign the score, a perfect
result yields 100 points. The comparison metrics of average human segmentation
result are 6.4%, 4.7%, 1.0mm, 1.8mm, and 19mm. And it obtains 75 points. The
scores are scaled linearly by these two fixed values. Table 1 summarizes the accuracy evaluation. Our method was successfully applied to various sets of data
(Fig. 5). However, there were some errors in a difficult case (bottom lines in Fig.
5). In this case, the divided image was composed of numerous tiny pieces like
Fig. 4b when the value of T was 0.5. We decreased this value to 0.01 so that we
segmented the inside region of the liver well. But, the small T value yielded the
leakage near the ambiguous boundary (bottom lines in Fig. 5). We will correct
the leakage by introducing anatomical information [4] for future work. Our segmentation results were not smooth along the z-axis in many places. Although we
propagated the shape information along the z-axis using 2.5D shape propagation, our algorithm was mostly based on 2D processing. We thought that caused
the problem of unevenness along the z-axis. We will enhance the segmentation
result to incorporate 3D refinement step for future work. The average processing time to segment each liver slice was 2.67s. The average processing time for
segmenting one data set was 382s. The approximate interaction time of the seed
points’ initialization for one data set was about 1 minute.
Including the topmost and bottommost slice, seed points are required if
there are regions in the liver data set that do not connect to the liver from
the previous slice (Fig. 3b). Therefore, we could expect where we placed seed
points before performing segmentation. We had to place seed points when the
disconnected object first appeared scanning upward from the bottommost slice
(the right small object of Fig. 2a). When there were two disconnected objects
first appeared scanning upward from the bottommost slice (for example, subject
194
Dataset Overlap Error Volume Diff. Avg. Dist. RMS Dist. Max. Dist. Total
[%] Score [%] Score [mm] Score [mm] Score [mm] Score Score
1 5.6
78 -0.3
98
0.8 79
1.7 77 18.5 76
82
2 7.6
70
0.3
98
1.0 74
2.1 71 22.3 71
77
3 6.1
76
1.8
90
1.3 68
2.5 65 23.2 69
74
4 6.8
74 -1.2
94
1.1 71
2.1 71 24.6 68
75
5 6.4
75 -1.0
95
1.1 73
2.1 71 20.3 73
77
6 9.5
63 -5.3
72
1.5 62
2.8 61 20.8 73
66
7 5.1
80 -0.9
95
0.7 82
1.4 80 16.6 78
83
8 5.6
78
3.2
83
1.0 76
2.1 71 25.5 66
75
9 7.0
72 -3.5
81
0.8 81
1.3 82 14.6 81
79
10 8.9
65 -5.9
69
1.4 65
2.6 64 27.0 65
65
Average 6.9
73 -1.3
88
1.1 73
2.1 71 21.3 72
75
Table 1. Results of the comparison metrics and scores for all ten test cases.
9), we had to place seed points on each object. In addition, when inferior vena
cava (IVC) entered into the liver first upward from the bottom, we had to place
additional seed points on the IVC.
4
Conclusion
We have proposed an efficient semi-automatic liver segmentation method. We
exploited level-set speed images to define an approximate initial liver shape.
The first step divided a CT image into a set of discrete objects. The second
step detected the objects belonging to the liver using 2.5D shape propagation.
With this optimal estimation of the initial liver shape, our method decreased
the computation time by minimizing level-set propagation, which converged at
the optimal position within a fixed iteration number. Our method was fast and
accurate, and could be used to determine liver volume before transplantation.
References
1. Lim, S.J., Jeong, Y.Y., Ho, Y.S., Automatic liver segmentation for volume measurement in CT images, J. Visual Commun. Image Represent., Vol. 17, No. 4 (2006)
860-875
2. Saitoh, T., Tamura, Y., Kaneko, T., Automatic segmentation of liver region through
blood vessels on multi-phase CT, Proceedings of ICPR (2002) 735-738
3. Schenk, A., Prause, G., Peitgen, H.O., Efficient semiautomatic segmentation of 3D
objects in medical images, Proceedings of MICCAI (2000) 186-195
4. Pan, S., Dawant, B.M., Automatic 3D segmentation of the liver from abdominal
CT images: a level-set approach, Proceedings of SPIE Medical Imaging 4322 (2001)
128-138
195
Fig. 5. From left to right, a sagittal, coronal and transversal slice from a relatively easy
case (1, top), an average case (4, middle), and a relatively difficult case (3, bottom). The
outline of the reference standard segmentation is in red, the outline of the segmentation
of the method described in this paper is in blue. Slices are displayed with a window of
400 and a level of 70.
5. Gao, J., Kosaka, A., Kak, A., A deformable model for automatic CT liver extraction,
Acad Radiol., Vol. 12, No. 9 (2005) 1178-1189
6. Whitaker, R.T., Xue, X., Variable-conductance, level-set curvature for image denoising, Proceedings of ICIP, Vol. 3 (2001) 142-145
7. Pratt, W.K., Digital image processing, John Wiley and Sons, Inc. (2001) 414-417
8. Lee, J., Yim, Y., Shin, Y.G., Automatic segmentation and registration of lung surfaces in temporal chest CT scans, LNCS, Vol. 3523 (2005) 463-470
9. Malladi, R., Sethian, J.A., Vemuri, B. C., Shape modeling with front propagation:
a level set approach, IEEE Trans Pattern Anal. Mach. Intell., Vol. 17, No. 2 (1995)
158-175
10. Armato, S.G., Giger, M.L., Moran, C.J., MacMahon, H., Doi, K., Automated detection of pulmonary nodules in helical computed tomography images of the thorax,
Proceedings of SPIE Medical Imaging: Image Processing 3338 (1998) 916-919
11. Ibanez, L., Schroeder, W., The ITK software guide 2.4, Kitware, Inc. (2005)
12. Gerig, M., Chakos, M., Valmet: a new validation tool for assessing and improving
3D object segmentation, Proceedings of MICCAI (2001) 516-523
196
© Copyright 2026 Paperzz