30
September 10, 2012 Introduction to Artificial Intelligence Lecture 2: 1 Boundary-following Robot Rules 1 2 3 4 5

September 10, 2012Introduction to Artificial Intelligence Lecture 2: Perception & Action 1 Boundary-following Robot Rules 1 2 3 4 5

Embed Size (px)

Citation preview

Page 1: September 10, 2012Introduction to Artificial Intelligence Lecture 2: Perception & Action 1 Boundary-following Robot Rules 1  2  3  4  5

September 10, 2012 Introduction to Artificial Intelligence Lecture 2: Perception & Action

1

Boundary-following RobotRules

1

2

3

4

5

Page 2: September 10, 2012Introduction to Artificial Intelligence Lecture 2: Perception & Action 1 Boundary-following Robot Rules 1  2  3  4  5

September 10, 2012 Introduction to Artificial Intelligence Lecture 2: Perception & Action

2

Boundary-following Robot (2)Rules

1

2

3

4

5

Page 3: September 10, 2012Introduction to Artificial Intelligence Lecture 2: Perception & Action 1 Boundary-following Robot Rules 1  2  3  4  5

September 10, 2012 Introduction to Artificial Intelligence Lecture 2: Perception & Action

3

Thanks to Roshanak

Page 4: September 10, 2012Introduction to Artificial Intelligence Lecture 2: Perception & Action 1 Boundary-following Robot Rules 1  2  3  4  5

September 10, 2012 Introduction to Artificial Intelligence Lecture 2: Perception & Action

4

Linear SeparabilityTo explain linear separability, let us consider the function f:Rn {0, 1} with

i

n

iin wxxxxf

121 if,1),...,,(

otherwise,0

where x1, x2, …, xn represent real numbers.

This will also be useful for understanding the computations of artificial neural networks later in the course.

Page 5: September 10, 2012Introduction to Artificial Intelligence Lecture 2: Perception & Action 1 Boundary-following Robot Rules 1  2  3  4  5

September 10, 2012 Introduction to Artificial Intelligence Lecture 2: Perception & Action

5

Networks

x1

x2

w1 =?

w2 =? =?

Example: x1w1 + x2w2 >= ?

x1 or x2

x1

1 2 3-3 -2 -1

x2

1

2

3

-3

-2

-10

1

10

11x2

x1

0

1

0 1

x1=0.5, x2=0: 0.5w1 + 0*w2 =

x1=0, x2=0.5: 0*w1 + 0.5w2 =

w1 = w2 = 2

Page 6: September 10, 2012Introduction to Artificial Intelligence Lecture 2: Perception & Action 1 Boundary-following Robot Rules 1  2  3  4  5

September 10, 2012 Introduction to Artificial Intelligence Lecture 2: Perception & Action

6

Realizing Robot Functions

s2

s30.5

s5s6s7

s4s8

s3s2s1

x1

s5s6s7

s4s8

s3s2s1

x2

s4

s5

1

x1x2

1

-2

-2

s2w2 + s3w3 + s4w4 + s5w5 >= ?

Apply weights and threshold:s2 1 + s3 1 - 2s4 - 2s5 >= 0.5?When s2=1, s3=1, s4=0, s5=0

s2w2 + s3w3 + s4w4 + s5w5=2

When s2=0, s3=1, s4=1, s5=0

s2w2 + s3w3 + s4w4 + s5w5=-1

x

Page 7: September 10, 2012Introduction to Artificial Intelligence Lecture 2: Perception & Action 1 Boundary-following Robot Rules 1  2  3  4  5

September 10, 2012 Introduction to Artificial Intelligence Lecture 2: Perception & Action

7

Linear SeparabilitySo by varying the weights and the threshold, we can realize any linear separation of the input space into a region that yields output 1, and another region that yields output 0.

As we have seen, a two-dimensional input space can be divided by any straight line.

A three-dimensional input space can be divided by any two-dimensional plane.

In general, an n-dimensional input space can be divided by an (n-1)-dimensional plane or hyperplane.

Of course, for n > 3 this is hard to visualize.

Page 8: September 10, 2012Introduction to Artificial Intelligence Lecture 2: Perception & Action 1 Boundary-following Robot Rules 1  2  3  4  5

September 12, 2012 Introduction to Artificial Intelligence Lecture 3: Computer Vision I

8

let’s take a look at…

Computer Vision

Page 9: September 10, 2012Introduction to Artificial Intelligence Lecture 2: Perception & Action 1 Boundary-following Robot Rules 1  2  3  4  5

September 12, 2012 Introduction to Artificial Intelligence Lecture 3: Computer Vision I

9

Computer Vision• In grid-space world, sensory inputs are very

simple: Only the state of neighboring cells can be perceived.

• In the real world, the visual input is highly complex, noisy, and often ambiguous (3D 2D projection).

• While humans can seemingly effortless extract all relevant information from within their visual field, this is an extremely difficult task for machines.

• For example, one major problem for computers is perceptual grouping, that is, determining which parts of an image belong to the same object.

Page 10: September 10, 2012Introduction to Artificial Intelligence Lecture 2: Perception & Action 1 Boundary-following Robot Rules 1  2  3  4  5

September 12, 2012 Introduction to Artificial Intelligence Lecture 3: Computer Vision I

10

Computer Vision• In the following lectures, we will look at some

“classical” approaches to computer vision.• These approaches are not intended to replicate

vision in humans or animals.• Later in the course, we will also study artificial

neural networks for vision problems, which are supposed (to some extent) to imitate the biological example.

Page 11: September 10, 2012Introduction to Artificial Intelligence Lecture 2: Perception & Action 1 Boundary-following Robot Rules 1  2  3  4  5

September 12, 2012 Introduction to Artificial Intelligence Lecture 3: Computer Vision I

11

Computer Vision

A simple two-stage model of computer vision:

Image processing

Sceneanalysis

Bitmap image

Scene description

feedback (tuning)

Prepare image for scene analysis

Build an iconic model of the world

Page 12: September 10, 2012Introduction to Artificial Intelligence Lecture 2: Perception & Action 1 Boundary-following Robot Rules 1  2  3  4  5

September 12, 2012 Introduction to Artificial Intelligence Lecture 3: Computer Vision I

12

Image Processing• Image is represented as an mn array, I(x, y) of

numbers (image intensity array).• Each number indicates the light intensity at one of

the pixels in the image.• Many basic image processing techniques are

based on convolution.• In a convolution, a convolution filter is applied to

every pixel to create a filtered image I*(x, y):

u v

yvxuWvuIyxWyxIyxI ),(),(),(*),(),(*

Page 13: September 10, 2012Introduction to Artificial Intelligence Lecture 2: Perception & Action 1 Boundary-following Robot Rules 1  2  3  4  5

September 12, 2012 Introduction to Artificial Intelligence Lecture 3: Computer Vision I

13

x

y

Image ProcessingExample: Averaging filter:

u v

yvxuWvuIyxWyxIyxI ),(),(),(*),(),(*

0 0 0 0 0

0 1/9 1/9 1/9 0

0 1/9 1/9 1/9 0

0 1/9 1/9 1/9 0

0 0 0 0 0

Page 14: September 10, 2012Introduction to Artificial Intelligence Lecture 2: Perception & Action 1 Boundary-following Robot Rules 1  2  3  4  5

September 12, 2012 Introduction to Artificial Intelligence Lecture 3: Computer Vision I

14

Image Processing

Grayscale Image:

1 6 3 2 9

2 11 3 10 0

5 10 6 9 7

3 1 0 2 8

4 4 2 9 10

1/9 1/9 1/9

1/9 1/9 1/9

1/9 1/9 1/9

Averaging Filter:

Page 15: September 10, 2012Introduction to Artificial Intelligence Lecture 2: Perception & Action 1 Boundary-following Robot Rules 1  2  3  4  5

September 12, 2012 Introduction to Artificial Intelligence Lecture 3: Computer Vision I

15

Image Processing

Original Image:

1 6 3 2 9

2 11 3 10 0

5 10 6 9 7

3 1 0 2 8

4 4 2 9 10

Filtered Image:

0 0 0 0 0

0 0

0 0

0 0

0 0 0 0 0

1/9 1/9 1/9

1/9 1/9 1/9

1/9 1/9 1/9

value = 11/9 + 61/9 + 31/9 + 21/9 + 111/9 + 31/9 + 51/9 + 101/9 + 61/9 = 47/9 = 5.222

5

Page 16: September 10, 2012Introduction to Artificial Intelligence Lecture 2: Perception & Action 1 Boundary-following Robot Rules 1  2  3  4  5

September 12, 2012 Introduction to Artificial Intelligence Lecture 3: Computer Vision I

16

Image Processing

Original Image:

1 6 3 2 9

2 11 3 10 0

5 10 6 9 7

3 1 0 2 8

4 4 2 9 10

Filtered Image:

0 0 0 0 0

0 0

0 0

0 0

0 0 0 0 0

1/9 1/9 1/9

1/9 1/9 1/9

1/9 1/9 1/9

value = 61/9 + 31/9 + 21/9 + 111/9 + 31/9 + 101/9 + 101/9 + 61/9 + 91/9 = 60/9 = 6.667

5 7

Page 17: September 10, 2012Introduction to Artificial Intelligence Lecture 2: Perception & Action 1 Boundary-following Robot Rules 1  2  3  4  5

September 12, 2012 Introduction to Artificial Intelligence Lecture 3: Computer Vision I

17

Image Processing

Original Image:

1 6 3 2 9

2 11 3 10 0

5 10 6 9 7

3 1 0 2 8

4 4 2 9 10

Filtered Image:

0 0 0 0 0

0 0

0 0

0 0

0 0 0 0 0

5 7 5

5

5

5 6

64

Now you can see the averaging (smoothing) effect of the 33 filter that we applied.

Page 18: September 10, 2012Introduction to Artificial Intelligence Lecture 2: Perception & Action 1 Boundary-following Robot Rules 1  2  3  4  5

Questions

How about the boundaries?

Page 19: September 10, 2012Introduction to Artificial Intelligence Lecture 2: Perception & Action 1 Boundary-following Robot Rules 1  2  3  4  5

September 12, 2012 Introduction to Artificial Intelligence Lecture 3: Computer Vision I

19

Image ProcessingMore common: Gaussian Filters

2

22

222

1),(),(

yx

eyxGyxW

14741

41626164

72641267

41626164

14741

Discrete version: 1/273

• implement decreasing influence by more distant pixels

Page 20: September 10, 2012Introduction to Artificial Intelligence Lecture 2: Perception & Action 1 Boundary-following Robot Rules 1  2  3  4  5

September 12, 2012 Introduction to Artificial Intelligence Lecture 3: Computer Vision I

20

Image Processing

original 33 99 1515

Effect of Gaussian smoothing:

Page 21: September 10, 2012Introduction to Artificial Intelligence Lecture 2: Perception & Action 1 Boundary-following Robot Rules 1  2  3  4  5

September 12, 2012 Introduction to Artificial Intelligence Lecture 3: Computer Vision I

21

Different Types of Filters

• Smoothing can reduce noise in the image.• This can be useful, for example, if you want to find

regions of similar color or texture in an image.• However, there are different types of noise.• For so-called “salt-and-pepper” noise, for example,

a median filter can be more effective.

http://www.mathworks.co.uk/help/images/ref/medfilt2.html

Page 22: September 10, 2012Introduction to Artificial Intelligence Lecture 2: Perception & Action 1 Boundary-following Robot Rules 1  2  3  4  5

September 12, 2012 Introduction to Artificial Intelligence Lecture 3: Computer Vision I

22

Median Filter• Use, for example, a 33 filter and move it across

the image like we did before.• For each position, compute the median of the

brightness values of the nine pixels in question.– To compute the median, sort the nine values in

ascending order.– The value in the center of the list (the fifth

value) is the median.• Use the median as the new value for the center

pixel.

Page 23: September 10, 2012Introduction to Artificial Intelligence Lecture 2: Perception & Action 1 Boundary-following Robot Rules 1  2  3  4  5

September 12, 2012 Introduction to Artificial Intelligence Lecture 3: Computer Vision I

23

Median Filter

• Is Median Filter a convolution filter?• If not, what is the difference?

– Median vs. Gaussian and Average Filters

• Size of median filter?• Advantage of the median filter: Capable of

eliminating outliers such as the extreme brightness values in salt-and-pepper noise, and preserve edges (contours).

• Disadvantage: The median filter may change the contours of objects in the image. (distorted)

Page 24: September 10, 2012Introduction to Artificial Intelligence Lecture 2: Perception & Action 1 Boundary-following Robot Rules 1  2  3  4  5

September 12, 2012 Introduction to Artificial Intelligence Lecture 3: Computer Vision I

24

Median Filter

original image 33 median 77 median

Page 25: September 10, 2012Introduction to Artificial Intelligence Lecture 2: Perception & Action 1 Boundary-following Robot Rules 1  2  3  4  5

September 12, 2012 Introduction to Artificial Intelligence Lecture 3: Computer Vision I

25

Different Types of FiltersHow can an algorithm extract relevant information from an image that enables the algorithm to recognize objects?• The most important information for the interpretation of an image (for both technical and biological systems) is the contour of objects.• Contours are indicated by abrupt changes in brightness.• We can use edge detection filters to extract contour information from an image.

Page 26: September 10, 2012Introduction to Artificial Intelligence Lecture 2: Perception & Action 1 Boundary-following Robot Rules 1  2  3  4  5

September 12, 2012 Introduction to Artificial Intelligence Lecture 3: Computer Vision I

26

Edge Detection Filters• Let us take a look at the

one-dimensional case:• A change in brightness:

• Its first derivative:

• Its second derivative:

Page 27: September 10, 2012Introduction to Artificial Intelligence Lecture 2: Perception & Action 1 Boundary-following Robot Rules 1  2  3  4  5

September 12, 2012 Introduction to Artificial Intelligence Lecture 3: Computer Vision I

27

Laplacian FiltersIdea:• Smooth the image,• compute the second derivative of the (2D) image,• Find the pixels where the brightness function “crosses” 0 and mark them.

We can actually devise convolution filters that carry out the smoothing and the computation of the second derivative.

Page 28: September 10, 2012Introduction to Artificial Intelligence Lecture 2: Perception & Action 1 Boundary-following Robot Rules 1  2  3  4  5

September 12, 2012 Introduction to Artificial Intelligence Lecture 3: Computer Vision I

28

Laplacian Filters

Continuous variant:

Discrete variants(applied after smoothing):

0 1 0

1 -4 1

0 1 0

1 1 1

1 -8 1

1 1 1

Page 29: September 10, 2012Introduction to Artificial Intelligence Lecture 2: Perception & Action 1 Boundary-following Robot Rules 1  2  3  4  5

September 12, 2012 Introduction to Artificial Intelligence Lecture 3: Computer Vision I

29

Laplacian Filters

Let us apply a Laplacian filter to the following image:

Page 30: September 10, 2012Introduction to Artificial Intelligence Lecture 2: Perception & Action 1 Boundary-following Robot Rules 1  2  3  4  5

September 12, 2012 Introduction to Artificial Intelligence Lecture 3: Computer Vision I

30

Laplacian Filters

55 Laplacian

zero detection zero detection zero detection

77 Laplacian33 Laplacian