Wednesday, April 4, 2012

Current Progress (Wednesday April 4, 2012)

Right now we are exploring alternatives to k-means for segmentation. We are primarily looking at the mean-shift algorithm and a graph based approach. Both are explained well in these slides:
Using k-means with our algorithm
 
We currently have an idea how to assist k-means segmentation with basic object recognition, but we're not sure how we will do that with the graph based approach or mean shift. With k-means, at each iteration we loop through all the pixels and decide whether to put them in a certain cluster. Normally this is done simply by finding the closest cluster to the pixel in feature-vector space. But if we make estimates at each iteration on what object the cluster corresponds to, then we can also weigh in the likelihood that the pixel belongs to that object.
 
For example, let's say we want to find the probability that pixel p belongs in cluster A, given that we estimate the following probabilities for what object cluster A corresponds to

Cluster A:
Label     Probability
Apple             30%
Strawberry     20%
Raspberry      10%

We will use marginalization to find the likelihood that pixel p belongs to cluster A
 
P (p is in cluster A) =      P(p is part of an apple | cluster A is an apple) * P (cluster A is an apple)
                                        + P(p is part of a strawberry | cluster A is a strawberry) * P (cluster A is a strawberry)
                                        + P(p is part of a raspberry | cluster A is a raspberry) * P (cluster A is a raspberry)

If this probability is high, then we are more likely to put p in cluster A, even if the feature vector distance to the current mean of A is not the minimum.


Using other approaches for segmentation with our algorithm

With the mean-shift and graph based approaches, it isn't exactly clear yet how we will incorporate labeling guesses in assisting the segmentation. However, we do want to explore these other methods before we commit to using k-means.
 
Graph based approach (in more detail)

2 comments:

  1. Velu, how do you plan on computing P(p is part of an apple)?

    ReplyDelete
    Replies
    1. What we are going to do will evolve over time and become more complicated, but right now we are planning to use histogram comparisons. We will talk about this in more detail in the next blog post.

      Delete