A New Distribution Metric for Image Segmentation

Abstract: What is segmentation? What is medical imaging? While this work does not completely answer the latter question, it sheds light on one major area of medical imaging — segmentation. This well studied problem in computer vision is the fundamental task of partitioning an image into disjoint regions. With respect to biological vision, segmentation is consider a low-level task of being able to group a scene into certain classes (e.g., a room may be decomposed into chairs, tables, carpets, people, etc.). In many medical applications, one may need to capture a certain structure such as the corpus collusm (seen right). We discuss one such framework and algorithm here for several challenging medical image segmentation tasks.
Introduction:
How can we characterize an image, and does the same characterization yield the same result? In this work, we study one possible characterization, distribution metrics. That is, we assume the desired region of interest has a different probability distribution from its corresponding background. Using this, we present a new distribution metric for image segmentation that arises as a result in prediction theory. Forming a natural geodesic, our metric quantifies “distance” for two density functionals as the standard deviation of the difference between logarithms of those distributions. Using level set methods, we incorporate an energy model based on the metric into the Geometric Active Contour framework. We also demonstrate the algorithm on several challenging medical images, which further ensure the viability of the metric in the context of image segmentation.
Geometric Active Contours:
The methodology provides a powerful tool to segment or partition an image into disjoint regions. Although the general problem statement may involve separating N distinct partitions, we consider only binary segmentations in this work. This means the image is assumed to be comprised of two homogeneous regions, referred to as “Object” and “Background.” To this end, a curve represented implicitly as the zero level-set of higher dimensional functional, is evolved continuously until it satisfies a stopping criterion that coincides with the object’s boundaries. This is illustrated in Figure below.
Our energy is based on “region-based methods,” which assume the “object” and “background” have different image statistics. Moreover, while these region-based chniques are able to deal with various statistics of the object and background such as distinct mean intensities, and Gaussian distributions, we focus on performing kernel density estimation to characterize and separate the probability density functions (PDF) of both the “object” and “background.” Lastly, the general minimization in GAC framework is performed by evolving C according to the flow:

where a regularization term is added to the image based energy. This fidelity term, which is the main contribution of this work, is discussed next.
Energy and Gradient Flow:
We now propose an energy functional based on a novel metric that arises from prediction theory [3], and give the corresponding partial differential equation that describe its curve evolution in the level set framework. For the complete derivation and more information, please see [1]. The energy functional is given as:

Because our metric measures similarity or “distance” as the standard deviation between the log-likelihood of two distributions, we seek to maximize the above energy functional. With this in mind, the gradient can be computed using the calculus of variations. Taking the first variation with respect to the level set functional, we arrive at the following PDE

with B and G given as

The above equation is a PDE that describes the evolution of the curve that optimally maximizes the “distance” between the distributions which corresopond to the exterior and interior regions of the segmenting curve.
Experiments:
In this section, we provide two brief examples of the success of the proposed algorithm. Specifically, segmenting biological structures from medical images is often a challenging task due to the inherent inhomogenous distribution of a photometric variable as well as the low constrast and noise. More information along with a theoretical comparison amongst other distribution metrics can be found in [1].
Let us first begin with proof-of-concept example where the proposed algorithm segments an MRI image of heart. This is shown for several stages of the curve evolving until it reaches convergence, whereby it properly segments the object of interest.

In the next example, we qualitatively compare the proposed distribution functional with that of the Bhattacharyya measure in the GAC framework. Note: The goal of this experiment is not to claim the ideal energy model for distinguishing between two distrubtions, but to ensure that the addition of our metric to a general class of models discriminating on probability densities is viable given that it has different properties. This can be seen in Figure 2.

Here the top row shows an unsucessful result obtained using the Bhattacharryya measure while the propsed algorithm properly segments the Karposi Sarcoma (a form of skin cancer). The difference can most likely be attributed to the way the geodesic or distance penalizes deviations; however, an in-depth quantitative analysis is a subject of future work.
Conclusion
In this work, we introduce a new metric for image segmentation that quantifies the “distance” between two distributions as the standard deviation of the difference between logarithms of those densities. While several metrics and measures have been proposed for image segmentation, results often vary drastically. The differing segmentation results can be traced to how the respective metrics penalize pertubations on a manifold of distributions. Thus, a subject of future work is to investigate and clairfy how differences in metrics affect segmentation.
Publications
-
[2008,inproceedings] bibtexR.Sandhu, T.Georgiou, and A.Tannenbaum, "A New Distribution Metric for Image Segmentation," in SPIE Medical Imaging, 2008.
@inproceedings{Sandhu08_SPIE_Med,
author = {R.Sandhu and T.Georgiou and A.Tannenbaum},
title = {A New Distribution Metric for Image Segmentation},
booktitle = {SPIE Medical Imaging},
year = 2008 } -
[2008,inproceedings] bibtexR.Sandhu, T.Georgiou, and A.Tannenbaum, "Tracking with a New Distribution Metric in a Particle Filtering Framework," in IS&T/SPIE Symposium on Electronic Imaging, 2008.
@inproceedings{Sandhu08_Elect_Img,
author = {R.Sandhu and T.Georgiou and A.Tannenbaum},
title = {Tracking with a New Distribution Metric in a Particle Filtering Framework},
booktitle = {IS&T/SPIE Symposium on Electronic Imaging},
year = 2008 }
MATLAB/C/C++ Code
Download Link: New_Distribution_Metric_Active_Contour_Segmentation.zip
Respected Sir,
I am also doing my research work in the same field. I gone through your code, and i tried to run on natural images like monkey given by Shawn Lankton sir paper.But this algorithm fails for such natural object segmentation. Even i tried for the other medical images, but i could not get the proper segmentation. So what could be the reason for that. Or do i need proper choice of parameter in the code.
Thanking you,
Hiren Mewada
Ph D Scholar
NIT-Surat (India)
Hi Mewada,
In answering your question directly, yes the method will fail on Shawn’s monkey image. Shawn’s active contour framework utilizing local statistical information as opposed to purely global statistics. For the monkey (as well as many medical images), his general framework of localization works wonderfully.
With that being said, I proposed a distribution metric for segmentation and incorporated in the more general active contour framework. The energy is what is novel, not the framework. I suggest if you are working with medical images in which much of the information from a global perspective can cause failure (e.g., small heterogeneous structures), then try Shawn’s localization framework with this energy. In certain cases it will be beneficial and it also may not work depending on the assumptions one can make on the data set.
Of course, one can also play with iterations, smooth of the probability density function, curvature term among others. I will try to update the code in the meantime to demonstrate the flow based on the Bhattacharrya coefficient.
Hopefully this helps.
~rome
Hy Rome,
I undergraduate student. Newbie, at matlab please, I am trying to implement this code for an image and give the following massage please help to see what fail:
ans =
142 171
??? Attempted to access phi(141,16); index out of bounds because size(phi)=[84,84].
Error in ==> Tryphon_NB at 62
phi_x = phi(nr, nc+1) – phi(nr, nc-1);
Error in ==> run at 26
[result,pin,pout] = Tryphon_NB(img, phi, iter, dt, alpha,flag_approx);
Error in ==> Smoothing_usingthegrayImage at 75
[result,pin,pout] = run(img_path,iter,dt,alpha,flag_approx,mask);
the image input size is 142 171.
Please, could you help me? what’s wrong? what should I change?
Thanks a lot
I appreciate the input
Hi David
Problem: ??? Attempted to access phi(141,16); index out of bounds because size(phi)=[84,84].
Explanation: It seems that you have used my existing initalization for the demo_twoObj.m I wrote (the image size there is [84,84]). What you will need to do is just comment out the line for loading the mask (e.g., load MASK_twoObj). Then, just change the call to function “run.m” as follows
[result,pin,pout] = run(img_path,iter,dt,alpha,flag_approx).
Note: I did not include the input mask, as you have probably no pre-initialization for the input image. You will give the initialization as you run the program. In other words, without giving function “run.m” the variable mask, it allows for you to initalize your contour (and the corresponding level-set with the appropriate sizes of the input image you gave).
Hope this helps.
Best,
~rome