30
Image Warping (Szeliski Sec 2.1.2) Some slides from Steve Seitz tp://www.jeffrey-martin.com CS194: Image Manipulation & Computational Photogra Alexei Efros, UC Berkeley, Fall 2

Image Warping (Szeliski Sec 2.1.2)

  • Upload
    hana

  • View
    29

  • Download
    1

Embed Size (px)

DESCRIPTION

Image Warping (Szeliski Sec 2.1.2). http://www.jeffrey-martin.com. CS194: Image Manipulation & Computational Photography Alexei Efros, UC Berkeley, Fall 2014. Some slides from Steve Seitz. f. f. f. T. T. x. x. x. f. x. Image Transformations. image filtering: change range of image - PowerPoint PPT Presentation

Citation preview

Page 1: Image Warping (Szeliski Sec 2.1.2)

Image Warping (Szeliski Sec 2.1.2)

Some slides from Steve Seitz

http://www.jeffrey-martin.com

CS194: Image Manipulation & Computational PhotographyAlexei Efros, UC Berkeley, Fall 2014

Page 2: Image Warping (Szeliski Sec 2.1.2)

Image Transformations

image filtering: change range of imageg(x) = T(f(x))

f

x

Tf

x

f

x

Tf

x

image warping: change domain of imageg(x) = f(T(x))

Page 3: Image Warping (Szeliski Sec 2.1.2)

Image Transformations

T

T

f

f g

g

image filtering: change range of image

g(x) = T(f(x))

image warping: change domain of imageg(x) = f(T(x))

Page 4: Image Warping (Szeliski Sec 2.1.2)

Parametric (global) warpingExamples of parametric warps:

translation rotation aspect

affineperspective

cylindrical

Page 5: Image Warping (Szeliski Sec 2.1.2)

Parametric (global) warping

Transformation T is a coordinate-changing machine:

p’ = T(p)

What does it mean that T is global?• Is the same for any point p• can be described by just a few numbers (parameters)

Let’s represent a linear T as a matrix:

p’ = Mp

T

p = (x,y) p’ = (x’,y’)

y

x

y

xM

'

'

Page 6: Image Warping (Szeliski Sec 2.1.2)

ScalingScaling a coordinate means multiplying each of its components by

a scalarUniform scaling means this scalar is the same for all components:

2

Page 7: Image Warping (Szeliski Sec 2.1.2)

Non-uniform scaling: different scalars per component:

Scaling

X 2,Y 0.5

Page 8: Image Warping (Szeliski Sec 2.1.2)

Scaling

Scaling operation:

Or, in matrix form:

byy

axx

'

'

y

x

b

a

y

x

0

0

'

'

scaling matrix S

What’s inverse of S?

Page 9: Image Warping (Szeliski Sec 2.1.2)

2-D Rotation

(x, y)

(x’, y’)

x’ = x cos() - y sin()y’ = x sin() + y cos()

Page 10: Image Warping (Szeliski Sec 2.1.2)

2-D Rotation

x = r cos ()y = r sin ()x’ = r cos ( + )y’ = r sin ( + )

Trig Identity…x’ = r cos() cos() – r sin() sin()y’ = r sin() cos() + r cos() sin()

Substitute…x’ = x cos() - y sin()y’ = x sin() + y cos()

(x, y)

(x’, y’)

Page 11: Image Warping (Szeliski Sec 2.1.2)

2-D RotationThis is easy to capture in matrix form:

Even though sin() and cos() are nonlinear functions of ,• x’ is a linear combination of x and y

• y’ is a linear combination of x and y

What is the inverse transformation?• Rotation by –• For rotation matrices

y

x

y

x

cossin

sincos

'

'

TRR 1

R

Page 12: Image Warping (Szeliski Sec 2.1.2)

2x2 MatricesWhat types of transformations can be

represented with a 2x2 matrix?

2D Identity?

yyxx

''

yx

yx

1001

''

2D Scale around (0,0)?

ysy

xsx

y

x

*'

*'

y

x

s

s

y

x

y

x

0

0

'

'

Page 13: Image Warping (Szeliski Sec 2.1.2)

2x2 MatricesWhat types of transformations can be

represented with a 2x2 matrix?

2D Rotate around (0,0)?

yxyyxx

*cos*sin'*sin*cos'

y

x

y

x

cossin

sincos

'

'

2D Shear?

yxshy

yshxx

y

x

*'

*'

y

x

sh

sh

y

x

y

x

1

1

'

'

Page 14: Image Warping (Szeliski Sec 2.1.2)

2x2 MatricesWhat types of transformations can be

represented with a 2x2 matrix?

2D Mirror about Y axis?

yyxx

''

yx

yx

1001

''

2D Mirror over (0,0)?

yyxx

''

yx

yx

1001

''

Page 15: Image Warping (Szeliski Sec 2.1.2)

2x2 MatricesWhat types of transformations can be

represented with a 2x2 matrix?

2D Translation?

y

x

tyy

txx

'

'

Only linear 2D transformations can be represented with a 2x2 matrix

NO!

Page 16: Image Warping (Szeliski Sec 2.1.2)

All 2D Linear Transformations

Linear transformations are combinations of …• Scale,• Rotation,• Shear, and• Mirror

Properties of linear transformations:• Origin maps to origin• Lines map to lines• Parallel lines remain parallel• Ratios are preserved• Closed under composition

y

x

dc

ba

y

x

'

'

yx

lkji

hgfe

dcba

yx''

Page 17: Image Warping (Szeliski Sec 2.1.2)

Consider a different Basisj =(0,1)

i =(1,0)

q

q=4i+3j = (4,3) p=4u+3v

v =(vx,vy)

u=(ux,uy)

p

Page 18: Image Warping (Szeliski Sec 2.1.2)

Linear Transformations as Change of Basis

Any linear transformation is a basis!!!

j =(0,1)

i =(1,0)pij = 4u+3v

px=4ux+3vx

py=4uy+3vy

v =(vx,vy)

u=(ux,uy)

puv pij

puv = (4,3)

puvpij

yy

xx

yy

xx

vu

vu

vu

vu

3

4

Page 19: Image Warping (Szeliski Sec 2.1.2)

What’s the inverse transform?

• How can we change from any basis to any basis?• What if the basis are orthogonal?

v =(vx,vy)

u=(ux,uy)

puv

j =(0,1)

i =(1,0)pij = (5,4)

pij

puv = (px,py) = ?= pxu + pyv

pijpuv

yy

xx

yy

xx

vu

vu

vu

vu

4

5-1-1

Page 20: Image Warping (Szeliski Sec 2.1.2)

Projection onto orthogonal basisv =(vx,vy)

u=(ux,uy)

puv

j =(0,1)

i =(1,0)pij = (5,4)

pij

puv = (u·pij, v·pij)

pijpuv

yx

yx

yy

xx

vv

uu

vv

uu

4

5

Page 21: Image Warping (Szeliski Sec 2.1.2)

Homogeneous CoordinatesQ: How can we represent translation as a 3x3

matrix?

y

x

tyy

txx

'

'

Page 22: Image Warping (Szeliski Sec 2.1.2)

Homogeneous CoordinatesHomogeneous coordinates

• represent coordinates in 2 dimensions with a 3-vector

1

coords shomogeneou y

x

y

x

Page 23: Image Warping (Szeliski Sec 2.1.2)

Homogeneous Coordinates

Add a 3rd coordinate to every 2D point• (x, y, w) represents a point at location (x/w, y/w)• (x, y, 0) represents a point at infinity• (0, 0, 0) is not allowed

Convenient coordinate system to

represent many useful transformations

1 2

1

2(2,1,1) or (4,2,2) or (6,3,3)

x

y

Page 24: Image Warping (Szeliski Sec 2.1.2)

Homogeneous CoordinatesQ: How can we represent translation as a 3x3

matrix?

A: Using the rightmost column:

100

10

01

y

x

t

t

ranslationT

y

x

tyy

txx

'

'

Page 25: Image Warping (Szeliski Sec 2.1.2)

TranslationExample of translation

11100

10

01

1

'

'

y

x

y

x

ty

tx

y

x

t

t

y

x

tx = 2ty = 1

Homogeneous Coordinates

Page 26: Image Warping (Szeliski Sec 2.1.2)

Basic 2D TransformationsBasic 2D transformations as 3x3 matrices

1100

0cossin

0sincos

1

'

'

y

x

y

x

1100

10

01

1

'

'

y

x

t

t

y

x

y

x

1100

01

01

1

'

'

y

x

sh

sh

y

x

y

x

Translate

Rotate Shear

1100

00

00

1

'

'

y

x

s

s

y

x

y

x

Scale

Page 27: Image Warping (Szeliski Sec 2.1.2)

Matrix CompositionTransformations can be combined by

matrix multiplication

wyx

sysx

tytx

wyx

1000000

1000cossin0sincos

1001001

'''

p’ = T(tx,ty) R() S(sx,sy) p

Page 28: Image Warping (Szeliski Sec 2.1.2)

Affine Transformations

Affine transformations are combinations of …• Linear transformations, and

• Translations

Properties of affine transformations:• Origin does not necessarily map to origin

• Lines map to lines

• Parallel lines remain parallel

• Ratios are preserved

• Closed under composition

• Models change of basis

Will the last coordinate w always be 1?

wyx

fedcba

wyx

100''

Page 29: Image Warping (Szeliski Sec 2.1.2)

Projective Transformations

Projective transformations …• Affine transformations, and

• Projective warps

Properties of projective transformations:• Origin does not necessarily map to origin

• Lines map to lines

• Parallel lines do not necessarily remain parallel

• Ratios are not preserved

• Closed under composition

• Models change of basis

wyx

ihgfedcba

wyx

'''

Page 30: Image Warping (Szeliski Sec 2.1.2)

2D image transformations

These transformations are a nested set of groups• Closed under composition and inverse is a member