Chapter 3 Proposed Approach
3.3 Segmenting LV Blood Pool by Cost-Volume Filtering
Once the region of interest (ROI) covering left ventricle is in place, we can now proceed to segmenting the LV blood pool.
3.3.1 Cost-volume-filtering-based image segmentation
Cost-volume filtering is a filter-based method for multi-labeling problems. It has been shown to be able to achieve computational complexity of O(N) time, which is a very efficient implementation [29]. In general multi-labeling problems, the cost of assigning each label l∈L (e.g., foreground and background) at pixel position (i, j) is first initialized. This yields a 3D cost volume C(i, j, l). Then cross-bilateral filtering is applied
Fig. 3.4 Automatic ROI computation: step-by-step breakdown.
to the 2D cost slice C(i, j, l) for each l∈L. After all the cost slice is filtered, the least costly label is chosen for every pixel, and as a result the filtered cost volume is flattened into 2D CVF-refined label image.
Cost-volume filtering scheme for label refinement is able to achieve spatially coherent5 results and the label change is aligned with the edges, which makes it ideal for LV cavity segmentation. It was originally used to refine the cost from stereo correspondence matching. Hosni et al. first suggested the use of cost-volume filtering in general multi-labeling problem by introducing different cost initialization schemes for each specific application, including the one for interactive image segmentation [29].
However, their cost initialization scheme requires that the operator identify the foreground and background object by free-form drawing, not by automation. Therefore, as will be covered soon, we have designed a completely new scheme for automatically initializing the cost volume. Also, it is specifically tailored to LV blood pool segmentation in order to address the segmentation difficulties caused by partial volume effect.
5 Spatial coherence here refers to connectedness; that labels come in compact, clustered groups.
Fig. 3.5 Polar coordinates mapping. Left: CMR image. Right: After polar coordinate mapping centered at the centroid of LV cavity (marked in a cross)
3.3.2 Polar coordinates mapping
The ROI determined in Section 3.2 is transformed from Cartesian coordinate into polar coordinates, which yields Ip(i, j). See Fig. 3.5. This is very much a standard procedure and has been used in several other works [4], [6], [12], [24], [30]. Since the left ventricular myocardial contour is roughly an oval shape in Cartesian coordinates, mapping it into polar coordinates will produce a flat or a slow-varying curve. This greatly simplify the processing flow and increase robustness because we already know the endocardial and epicardial contours will both be slow-varying curves. Therefore, we can incorporate this prior knowledge as a smoothness constraint in least square fitting of the final result, which is to be discussed in detail in Section 3.4.3.
3.3.3 Cost-volume initialization.
We propose a novel method for automatic cost initialization for CVF-based segmentation in CMR images. First, we calculate a binary image BI(i, j) of the polar image by applying Otsu’s method that clusters the pixels into two classes (darker myocardium and brighter LV cavity), where the threshold is calculated from the histogram of the last search window discussed in Section 3.2 (or see Fig. 3.2 for visual example). Only the connected component that overlaps with r=0 in the polar image Ip(r,θ) is preserved because the LV blood pool must cover the centroid of the ROI. Computing the threshold based on the histogram of the last search window instead of a circular ROI is shown to be more robust, as it has one clear advantage: it keeps the unrelated tissues (such as liver, lungs, fats) from contributing to the histogram, or else these unrelated tissues could possibly break the assumption that there are only two distinct classes in the histogram. The bright pixels in
the binary image indicates LV cavity.
The binary image BI(i, j), along with the additional information such as the variance map VM( ji, ), are used to automatically initialize the cost volume. See Fig. 3.6 for the information involved in generating the cost volume. A variance map is very suitable for determining the local inhomogeneity, which we will describe its usefulness shortly. The variance map VM( ji, ) of the polar image Ip( ji, ) is calculated by taking the 7-by-7 window around the pixel at (i, j) and computing its variance by:
∑
We want the cost volume to have certain desirable properties:
1. If the pixel (i, j) in the polar image Ip( ji, ) is locally homogeneous (i.e., how uniform the pixel values are), which implies the pixel belongs to either LV cavity or myocardium, then the pixel’s label should be harder to change.
2. If the pixel (i, j) in the polar image Ip( ji, ) is locally inhomogeneous (i.e., how scattered the pixel values are), which implies that the pixel is near the border of myocardium or near trabeculae, then the pixel’s label should be easier to change.
Finally the “foreground slice” in the cost volume is generated using the formula
The c, α, β, and γ are tunable parameters: the parameter c is the constant and it can be set to zero. The parameter α is set as 1000 so that the locally inhomogeneous areas (i.e., the area which exhibits high variance) have more balanced cost between two extremes, making them subject to the cost of its vicinity. The parameters β and γ are the weightings for initializing the cost. We set them as βF =βB =γF =γB =0.5 for the most cases. For CMR slices automatically detected as hypertrophic (LV cavity is smaller comparing to normal subjects) the constant c will be adjusted to −20 and the weighting βB to 20 with the aim of lowering the cost weighting for the LV cavity.
3.3.4 Cost-volume filtering
Once the cost volume is constructed, the next step is to filter the cost volume. More precisely, every slice l of the cost volume C(i, j, l) is filtered by summing a space-variant weighted average of neighboring pixels. Now, given two independent indices i=(x, y) and j=(m, n):
Fig. 3.6 Generating cost volume (a) Polar image of the ROI (b) After Otsu’s thresholding and primary connected component extraction, shown in red overlay (c) Variance map of the polar image (d) Generated cost slice for the ‘foreground’ label.
)
After filtering the cost volume for 100 iterations, we finally choose the label fi with the least cost for each pixel i in a winner-take-all fashion:
L l
where |W| is the normalization factor. Equation (3.4) indicates a cross bilateral filter where the filter weight W(i, j; Ip) depends on the spatial closeness between the pixels i and j (the first exponential term in (3.6)) and the intensity difference in the guidance image Ip(i)and Ip(j) (second exponential term in (3.6)). Intuitively explained, for each slice, the cost of a pixel at a given position is aggregated from its neighborhoods that have similar signal intensity. The nearer and the closer the signal intensity the given pixel’s neighborhoods are, the more the given pixel will be influenced by them.
However, brute force implementation of (3.6) is O(Nr2) time with filter weight size r. To boost the computational efficiency, we choose to implement CVF with the guided filter proposed by He et al., which is O(N) time and non-approximate [31]. Now, given the guidance image Ip, the filter weight WGF of guided filter is given explicitly by
∑
window ω that is centered at i=(i, j), and |ω| is the number of elements in ω. The parameter ε controls the smoothness of the filtered output. For further explanation of (3.7) refer to [31].
In our implementation, we use (3.7) with window size of 17x17 and ε = 10−8 for filtering the cost slices. Cost-volume filtering is complete after filtering every slice of the cost volume. As mentioned before, we repeat this process 100 times in order to converge the cost. Afterwards, the primary connected component is extracted in the same fashion as in Section 3.3.2.
Up to this point, we have only exploited the region homogeneity of LV blood pool—
that we group the pixels presumably belonging to the LV blood pool based on their similarity in signal intensity and their spatial connectedness. Later we will explore the possibility of exploiting gradient information of the image in Section 3.4.2.