Title: Announcements
1Announcements
- Quiz solutions on the web page.
- Problem Set 5 on the web page. Due Thursday,
April 1. - Results from Problem Set 4
2(No Transcript)
3(No Transcript)
4(No Transcript)
5(No Transcript)
6(No Transcript)
7(No Transcript)
8(No Transcript)
9(No Transcript)
10(No Transcript)
11(No Transcript)
12(No Transcript)
13(No Transcript)
14(No Transcript)
15(No Transcript)
16(No Transcript)
17(No Transcript)
18(No Transcript)
19(No Transcript)
20(No Transcript)
21(No Transcript)
22(No Transcript)
23(No Transcript)
24(No Transcript)
25(No Transcript)
26Perceptual Grouping
- Extra Reading
- Laws of Organization in Perceptual Forms, Max
Wertheimer (1923). - http//psy.edu/classics/Wertheimer/Forms/forms.ht
m
27Perceptual Grouping
- Perceptual grouping is about putting parts
together into a whole - Finding regions with a uniform property
- Linking edges into object boundaries
- Surfaces and objects are critical.
- Also, simpler objects such as lines
28Human perceptual grouping
- This has been significant inspiration to computer
vision. - Why?
- Perceptual grouping seems to rely partly on the
nature of objects in the world. - This is hard to quantify, we hypothesize that
human vision encodes the necessary knowledge.
29Gestalt Principles of Grouping some history
- Behaviorists were dominant psychological
theorists in early 20th century. - To make psych scientific, wanted to view it as
rules describing relation between stimulus and
response, described as atomic elements. - No role for mind.
- This meant no role for internal
processing/inference/algorithms. - Influential early behaviorist was Pavlov
30- Gestalt movement claimed atomic stimulus and
response dont exist. - The mind perceives world as objects, as wholes,
not as atomic primitives. - Cant understand psych without understanding how
we perceive the world.
31I stand at the window and see a house, trees,
sky. Theoretically I might say there were 327
brightnesses and nuances of colour. Do I have
"327"? No. I have sky, house, and trees. It is
impossible to achieve "327 " as such. And yet
even though such droll calculation were possible
and implied, say, for the house 120, the trees
90, the sky 117 -- I should at least have this
arrangement and division of the total, and not,
say, 127 and 100 and 100 or 150 and 177. Max
Wertheimer, 1923
32I. A row of dots is presented upon a homogeneous
ground. The alternate intervals are 3 mm. and 12
mm.
Normally this row will be seen as
ab/cd, not as a/bc/de. As a matter of fact it is
for most people impossible to see the whole
series simultaneously in the latter grouping.
Max Wertheimer
33Gestalt Movement
- Perceptual organization was a big issue.
- How we perceive the world in terms of
things/objects, not pixels. - This was part of broader attack on behaviorism.
- Gestalt viewed mind as constructing
representations of the world, no
learning/behavior could be understood without
understanding this. - These representations were constructing by
inferences of the mind.
34Issues in Perceptual Organization
- What is the role of an edge in an image? To what
object (if any) does it belong?
35(No Transcript)
36If you know what is in the next image, silently
raise your hand. Dont call out.
37(Bregman)
38(No Transcript)
39Issues in Perceptual Organization
- What factors determine which parts of an image
are combined in the same object?
40Proximity
41Good Continuation
42Good Continuation
43(No Transcript)
44Common Form (includes color and texture)
45Connectivity
46Symmetry
47Symmetry
48Convexity (stronger than symmetry?)
49Good continuation also stronger than symmetry?
50Closure
51Closure
52Higher Level Knowledge
Sometimes, it doesnt play seem to play such a
big role.
53Higher level Knowledge
and sometimes it does. If you know what is in
the next image, silently raise your hand. Dont
call out.
54(No Transcript)
55Other Factors
- Common fate (ie., common motion).
- Good continuation in time.
- Parallelism
- Collinearity
56Take Home Message
- We perceive the world in terms of objects, not
pixels. - What forms an object is determined by
regularities and non-trivial inference. - Gestalt Psychologists showed the importance of
representation and inference.
57Computer Vision Again
- Divide P.O. approaches into two groups.
- Parametric We have a description of what we
want, with parameters - Examples lines, circles, constant intensity,
constant intensity Gaussian noise. - Non-parametric We have constraints the group
should satisfy, or optimality criteria. - Example SNAKES. Find the closed curve that is
smoothest and that also best follows strong image
gradients.
58The Meta-Algorithm
- Define what it means for a group to be good.
- Usually this involves simplifications
- Search for the best group.
- Usually this is intractable, so short-cuts are
needed.
59Parametric Grouping Grouping Points into Lines
(a,b)
- (x,y) is on line if (x,y).(a,b) c
- ax by c
- Distance from (x,y) to line is
- (a,b).(x,y) ax by provided aa bb
1
c
60Line Grouping Problem
61This is difficult because of
- Extraneous data Clutter
- Missing data
- Noise
62Precise Definition?
- Find a line that is close to as many points as
possible. - Close could mean with e pixels.
- Find k lines so that every point is close to one
of them. - Close could mean with e pixels.
- Or, could mimimize sum of squares distance from
each point to nearest line.
63Brute Force Approach
- Try every possibility
- Every line (infinite)
- Fit a line to every subset of points
(exponential). - Discrete sampling
- Could sample slope and offset uniformly.
- Sample random lines
- Random lines likely to be good.
64RANSAC Random Sample Consensus
- Generate Lines using Pairs of Points
- How many samples?
- Suppose p is fraction of points from line.
- n points needed to define hypothesis (2 for
lines) - k samples chosen.
- Probability one sample correct is
65RANSAC for Lines Continued
- Decide how good a line is
- Count number of points within e of line.
- Parameter e measures the amount of noise
expected. - Other possibilities. For example, for these
points, also look at how far they are. - Pick the best line.
66(Forsyth Ponce)
67The Hough Transform for Lines
- A line is the set of points (x, y) such that
- y mx b
- For any (x, y) there is a line in (m,b) space
describing the lines through this point. Just
let (x,y) be constants and m, b be unknowns. - Each point gets to vote for each line in the
family if there is a line that has lots of
votes, that should be the line passing through
the points
68Mechanics of the Hough transform
- Construct an array representing m, b
- For each point, render the line ymxb into this
array, adding one at each cell - Questions
- how big should the cells be? (too big, and we
cannot distinguish between quite different lines
too small, and noise causes lines to be missed)
- How many lines?
- count the peaks in the Hough array
- Who belongs to which line?
- tag the votes
- Can modify voting, peak finding to reflect noise.
- Big problem if noise in Hough space different
from noise in image space.
69Some pros and cons
- Run-time
- Complexity of RANSAC nnn
- Complexity of Hough nd
70Error behavior
- Hough handles error with buckets. This gives a
larger set of lines consistent with point, but
ad-hoc. - Ransac handles error with threshold.
Well-motivated for error in other points, but not
for error in first 2 points. - But works if we find some 2 points w/ low error.
- Error handling sloppy -gt clutter bigger problem.
- Many variations to handle these issues.
71Clustering Color/Intensity
Group together pixels of similar color/intensity.
72Parametric Clustering
- Each cluster has a mean color/intensity, and a
radius of possible colors. - For intensity, this is just dividing histogram
into regions. - For color, like grouping 3D points into spheres.
73K-means clustering
- Brute force difficult because many spheres, many
pixels. - Assume all spheres same radius just need sphere
centers. - Iterative method.
- If we knew centers, it would be easy to assign
pixels to clusters. - If we knew which pixels in each cluster, it would
be easy to find centers. - So guess centers, assign pixels to clusters, pick
centers for clusters, assign pixels to clusters,
.