Segmentation and Clustering p1 - Lecture 7 - Week 3 Flashcards
What is grouping in computer vision?
To gather features that belong together
Goals:
- Gather features that belong together
- Obtain an intermediate representation that compactly describes key image (video) parts
What is segmentation useful for?
Compactly provides information about key parts of the image
Can use the results in other algorithms
Can extract “tiger” from images and then make a model of it’s appearance
What constitutes a group?
Gestalt school shows grouping is key to visual perception
Elements in a collection can have properties that result from relationships
“The whole is greater than the sum of its parts”
Relationships among parts can yield new properties/features
What are the gestalt factors?
Proximity
Similarity
Common Fate
Common Region
Parallelism
Symmetry
Continuity
Closure
Can apply algorithms based on common fate by finding the gradient of the image and grouping based on that
What is top-down and bottom-up segmentation?
Top down: pixels belong together because they are from the same object
Bottom Up: pixels belong together because they look ‘similar’
What is it hard to measure segmentation success?
What is interesting depends on the app
How is the ground truth found in the Berkeley Segmentation dataset?
It’s the summation of all of the human annotations, weighted by how consistently they appeared.
This allows comparing algorithms in a fair manner
What are superpixels and what is the idea behind them?
Groupings of pixels, over-segmentation where each region is very likely to be uniform
What graph is useful for clustering if we don’t know how many clusters there are?
A graph of pixel count versus intensity
Where are the best intensity cluster centre points?
The centres that minimise the sum squared distance (SSD) between all points and their nearest cluster centre
How does K-means clustering work?
Randomly initialise the k cluster centres and iterate between the two steps of:
Allocating intensities to clusters based on the centres
Allocating centres based on the allocated intensity clusters
- Randomly initialise the cluster centers, c1, …, ck
- Given cluster centers, determine points in each cluster
- For each point p, find the closest c1. Put p into cluster i - Given points in each cluster, solve for ci
- Set ci to be the mean of points in cluster i - If ci have changed, repeat Step 2
Properties:
- Will always converge to some solution
- Can be a “local minimum”
- Does not always find the global minimum of objective function
In order to find the global minimum we run this a few times through and then find the value overall that minimises the object function
What is a feature space?
The property we cluster images based on, e.g:
Intensity
Colour similarity
These properties don’t imply spatial coherence, so we can cluster (r,g,b,x,y) to encode similarity and proximity
RGB could be the worst colour space to use to cluster but that’s not really the point
What are the pros and cons of K-means clustering?
Pros
- SImple, fast to compute
- Converges to local minimum of within-cluster squared error
Cons/Issues
- Setting k?
- Sensitive to initial centres
- Sensitive to outliers
- Detects spherical clusters only
- Gives a hard assignment, better to be in cluster 1 70% and cluster 2 30% rather than just cluster 1
Still very widely used, very simple, fast to compute and can get a quick answer