image warping and morphing - nus computingcs4340/lecture/imorph.pdf · image warping note: only the...

31
Image Warping and Morphing CS5245 Vision & Graphics for Special Effects Leow Wee Kheng Department of Computer Science School of Computing National University of Singapore (CS5245 ) Image Warping and Morphing 1 / 31

Upload: others

Post on 21-Mar-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Image Warping and Morphing - NUS Computingcs4340/lecture/imorph.pdf · Image Warping Note: Only the positions of the points are changed. The colors (or intensities) of the corresponding

Image Warping and Morphing

CS5245 Vision & Graphics for Special Effects

Leow Wee Kheng

Department of Computer Science

School of Computing

National University of Singapore

(CS5245 ) Image Warping and Morphing 1 / 31

Page 2: Image Warping and Morphing - NUS Computingcs4340/lecture/imorph.pdf · Image Warping Note: Only the positions of the points are changed. The colors (or intensities) of the corresponding

Image Warping

Image Warping

Objective: Change appearance of image by performing geometrictransformation, i.e., change the position of a point in the image to anew position.

Example:

(CS5245 ) Image Warping and Morphing 2 / 31

Page 3: Image Warping and Morphing - NUS Computingcs4340/lecture/imorph.pdf · Image Warping Note: Only the positions of the points are changed. The colors (or intensities) of the corresponding

Image Warping

Note:

Only the positions of the points are changed.

The colors (or intensities) of the corresponding points in the twoimages are the same.

Earliest work on image warping comes from remote sensing.

Capture images at various positions and/or angles.

Then, stitch them together, i.e., image mosaicking(see CS4243 Computer Vision and Pattern Recognition).

Camera lens often has distortion. So, need to undistort.

(CS5245 ) Image Warping and Morphing 3 / 31

Page 4: Image Warping and Morphing - NUS Computingcs4340/lecture/imorph.pdf · Image Warping Note: Only the positions of the points are changed. The colors (or intensities) of the corresponding

Image Warping

(a) Viking Lander 2 image distorted due to downward tilt.

(b) Undistorted image.

(CS5245 ) Image Warping and Morphing 4 / 31

Page 5: Image Warping and Morphing - NUS Computingcs4340/lecture/imorph.pdf · Image Warping Note: Only the positions of the points are changed. The colors (or intensities) of the corresponding

Image Warping

In image warping, want to purposely distort images.

Image Warping

Given source image I and the correspondence between the

original position pi = (ui, vi)T of a point in I and its desired

new position qi = (xi, yi)T , i = 1, . . . , n, generate a warped

image I ′ such that I ′(qi) = I(pi) for each point i. I and I ′

represent the intensities or colors of the images.

The idea of correspondence is defined by a mapping function f .

(CS5245 ) Image Warping and Morphing 5 / 31

Page 6: Image Warping and Morphing - NUS Computingcs4340/lecture/imorph.pdf · Image Warping Note: Only the positions of the points are changed. The colors (or intensities) of the corresponding

Image Warping

Forward Mapping

p

I I’q

f

q = f(p) (1)

f maps a point p in I into a point q in I ′.

I ′(q) = I(p).

Problem: q = (x, y) has real-valued coordinates.

If round off (x, y) to integer coordinates, will have error andmisalignment.

(CS5245 ) Image Warping and Morphing 6 / 31

Page 7: Image Warping and Morphing - NUS Computingcs4340/lecture/imorph.pdf · Image Warping Note: Only the positions of the points are changed. The colors (or intensities) of the corresponding

Image Warping

Inverse or Backward Mapping

I I’q

p

f

p = f(q) (2)

f maps an integer -coordinate point q in I ′ into a real -coordinatepoint p in I.

Use the colors of neighboring integer-coordinate points in I toestimate I(p): bilinear interpolation (see CS4243 Computer Visionand Pattern Recognition).

Then, I ′(q) = I(p).

Advantage: No round-off error.

(CS5245 ) Image Warping and Morphing 7 / 31

Page 8: Image Warping and Morphing - NUS Computingcs4340/lecture/imorph.pdf · Image Warping Note: Only the positions of the points are changed. The colors (or intensities) of the corresponding

Image Warping

Notes:

In practice, correspondence is given for only a small number ofpoints.

Need to derive the correspondence for the other points.

General idea: determine f using the known corresponding points.

Geometric transformation is most conveniently expressed as amatrix operation:

p = Tq (3)

where T is the transformation matrix.

(CS5245 ) Image Warping and Morphing 8 / 31

Page 9: Image Warping and Morphing - NUS Computingcs4340/lecture/imorph.pdf · Image Warping Note: Only the positions of the points are changed. The colors (or intensities) of the corresponding

Image Warping Affine Transformation

Affine Transformation

u

v

1

=

a11 a12 a13

a21 a22 a23

0 0 1

x

y

1

(4)

p and q are homogeneous coordinates.

Affine transformation is a linear transformation.

How many corresponding pairs needed to solve for the parameters?

(CS5245 ) Image Warping and Morphing 9 / 31

Page 10: Image Warping and Morphing - NUS Computingcs4340/lecture/imorph.pdf · Image Warping Note: Only the positions of the points are changed. The colors (or intensities) of the corresponding

Image Warping Affine Transformation

Method 1

From Eq. 4,ui = a11 xi + a12 yi + a13

vi = a21 xi + a22 yi + a23

(5)

for i = 1, . . . , n.

Now, we have two sets of linear equations of the form

Ma = b (6)

First set:

x1 y1 1

......

...

xn yn 1

a11

a12

a13

=

u1

...

un

(7)

(CS5245 ) Image Warping and Morphing 10 / 31

Page 11: Image Warping and Morphing - NUS Computingcs4340/lecture/imorph.pdf · Image Warping Note: Only the positions of the points are changed. The colors (or intensities) of the corresponding

Image Warping Affine Transformation

Second set:

x1 y1 1

......

...

xn yn 1

a21

a22

a23

=

v1

...

vn

(8)

Can compute best fitting akl for each set independently usingstandard methods.

(CS5245 ) Image Warping and Morphing 11 / 31

Page 12: Image Warping and Morphing - NUS Computingcs4340/lecture/imorph.pdf · Image Warping Note: Only the positions of the points are changed. The colors (or intensities) of the corresponding

Image Warping Affine Transformation

Method 2

Compute the sum-squared error E as

E =n

i=1

‖pi − Tqi‖2 (9)

If E is small, then the fit is good.

So, we want to find the best fitting T that minimizes E.

So, do the usual thing: ∂E/∂ T = 0

∂E

∂ T= −2

i

(pi − Tqi)qTi = 0

i

Tqi qTi =

i

pi qTi

(10)

(CS5245 ) Image Warping and Morphing 12 / 31

Page 13: Image Warping and Morphing - NUS Computingcs4340/lecture/imorph.pdf · Image Warping Note: Only the positions of the points are changed. The colors (or intensities) of the corresponding

Image Warping Affine Transformation

That is,

i

a11 a12 a13

a21 a22 a23

0 0 1

xi

yi

1

[

xi yi 1]

=∑

i

ui

vi

1

[

xi yi 1]

(11)Rearranging terms yield

[

M 0

0 M

]

a = b (12)

(CS5245 ) Image Warping and Morphing 13 / 31

Page 14: Image Warping and Morphing - NUS Computingcs4340/lecture/imorph.pdf · Image Warping Note: Only the positions of the points are changed. The colors (or intensities) of the corresponding

Image Warping Affine Transformation

where

M =

i

x2i

i

xiyi

i

xi

i

xiyi

i

y2i

i

yi

i

xi

i

yi

i

1

0 =

0 0 00 0 00 0 0

a =[

a11 a12 a13 a21 a22 a23

]T

b =

[∑

i

uixi

i

uiyi

i

ui

i

vixi

i

viyi

i

vi

]T

Now, we again have a linear system of equations to solve for aij .

(CS5245 ) Image Warping and Morphing 14 / 31

Page 15: Image Warping and Morphing - NUS Computingcs4340/lecture/imorph.pdf · Image Warping Note: Only the positions of the points are changed. The colors (or intensities) of the corresponding

Image Warping Perspective Transformation

Perspective Transformation

u

v

w

=

a11 a12 a13

a21 a22 a23

a31 a32 a33

x

y

z

(13)

Eq. 13 is a set of linear equations.

But, perspective transformation is a nonlinear transformation.

Linear equations describe nonlinear transformation.Seems paradoxical, but there is nothing wrong. Why?

(CS5245 ) Image Warping and Morphing 15 / 31

Page 16: Image Warping and Morphing - NUS Computingcs4340/lecture/imorph.pdf · Image Warping Note: Only the positions of the points are changed. The colors (or intensities) of the corresponding

Image Warping Perspective Transformation

Examples:

(CS5245 ) Image Warping and Morphing 16 / 31

Page 17: Image Warping and Morphing - NUS Computingcs4340/lecture/imorph.pdf · Image Warping Note: Only the positions of the points are changed. The colors (or intensities) of the corresponding

Image Warping Polynomial Transformation

Polynomial Transformation

In general, any polynomial transformation can be expressed as follows:

u =∑

k

l

akl xkyl

v =∑

k

l

bkl xkyl

(14)

Example: 2nd-order polynomial transformation.

u = a20x2 + a02y

2 + a11xy + a10x + a01y + a00

v = b20x2 + b02y

2 + b11xy + b10x + b01y + b00

(15)

(CS5245 ) Image Warping and Morphing 17 / 31

Page 18: Image Warping and Morphing - NUS Computingcs4340/lecture/imorph.pdf · Image Warping Note: Only the positions of the points are changed. The colors (or intensities) of the corresponding

Image Warping Polynomial Transformation

In matrix form, we have

[

uv

]

=

[

a20 a02 a11 a10 a01 a00

b20 b02 b11 b10 b01 b00

]

x2

y2

xyxy1

(16)

If a20 = a02 = a11 = b20 = b02 = b11 = 0, then it becomes an affinetransformation.

Again, given a set of corresponding points pi and qi, can form asystem of linear equations to solve for the akl and bkl. (Exercise)

(CS5245 ) Image Warping and Morphing 18 / 31

Page 19: Image Warping and Morphing - NUS Computingcs4340/lecture/imorph.pdf · Image Warping Note: Only the positions of the points are changed. The colors (or intensities) of the corresponding

Image Warping Polynomial Transformation

Example polynomial transformations due to lens distortion:

(CS5245 ) Image Warping and Morphing 19 / 31

Page 20: Image Warping and Morphing - NUS Computingcs4340/lecture/imorph.pdf · Image Warping Note: Only the positions of the points are changed. The colors (or intensities) of the corresponding

Image Warping Global Transformation

Global Transformation

The methods described in the previous sections all perform globaltransformation: a single function relates all the points in the wholeimage.

Solving for the transform parameters can be regarded as a surfacefitting problem:

Given a set of corresponding points pi = (ui, vi) and

qi = (xi, yi), i = 1, . . . , n, determine the best fitting surface

U(x, y) that passes through the points (xi, yi, ui), and the best

fitting surface V (x, y) that passes through the points (xi, yi, vi).

(CS5245 ) Image Warping and Morphing 20 / 31

Page 21: Image Warping and Morphing - NUS Computingcs4340/lecture/imorph.pdf · Image Warping Note: Only the positions of the points are changed. The colors (or intensities) of the corresponding

Image Warping Global Transformation

Example surface:

(CS5245 ) Image Warping and Morphing 21 / 31

Page 22: Image Warping and Morphing - NUS Computingcs4340/lecture/imorph.pdf · Image Warping Note: Only the positions of the points are changed. The colors (or intensities) of the corresponding

Image Warping Local Transformation

Local Transformation

Global transformation imposes a single mapping function on thewhole image.

It is not convenient for describing local distortions that differ atdifferent locations.

Local transformation applies a different mapping function to adifferent part of the image.

(CS5245 ) Image Warping and Morphing 22 / 31

Page 23: Image Warping and Morphing - NUS Computingcs4340/lecture/imorph.pdf · Image Warping Note: Only the positions of the points are changed. The colors (or intensities) of the corresponding

Image Warping Local Transformation

Basic Ideas:

First, perform triangulation to partition the image into triangularregions based on the control points pi and qi (see CS4235Computational Geometry, CS5237 Computational Geometry andApplications).

Estimate partial derivatives of U (and similarly of V ) with respectto x and y at each control point. This is required only if the localsurface patches are to be joined smoothly.

For each triangular region, fit a smooth surface (low-orderbivariate polynomial) through the vertices satisfying theconstraints imposed by the partial derivatives.

For each point (x, y), determine its enclosing triangle and computethe corresponding (u, v) using the fitted surface parameters.

(CS5245 ) Image Warping and Morphing 23 / 31

Page 24: Image Warping and Morphing - NUS Computingcs4340/lecture/imorph.pdf · Image Warping Note: Only the positions of the points are changed. The colors (or intensities) of the corresponding

Image Warping Local Transformation

Sample triangulation of an image:

(a) Initial control points. (b) Displaced control points.

(CS5245 ) Image Warping and Morphing 24 / 31

Page 25: Image Warping and Morphing - NUS Computingcs4340/lecture/imorph.pdf · Image Warping Note: Only the positions of the points are changed. The colors (or intensities) of the corresponding

Image Warping Local Transformation

Image warping example:

(c) Initial image. (d) Warped image.

(CS5245 ) Image Warping and Morphing 25 / 31

Page 26: Image Warping and Morphing - NUS Computingcs4340/lecture/imorph.pdf · Image Warping Note: Only the positions of the points are changed. The colors (or intensities) of the corresponding

Image Warping Linear Triangular Patch

Linear Triangular Patch

Fit a plane in each triangular region.

Given three vertices ui = (xi, yi, ui), i = 1, 2, 3, the plane that passesthe vertices is given by the equation:

[(u2 − u1) × (u3 − u2)] · (u1 − u3) = 0 (17)

u1

u2

u3

For a more detailed equation, refer to [2], p. 78.

Piecewise linear mapping functions do not provide a smoothtransition across patches.

(CS5245 ) Image Warping and Morphing 26 / 31

Page 27: Image Warping and Morphing - NUS Computingcs4340/lecture/imorph.pdf · Image Warping Note: Only the positions of the points are changed. The colors (or intensities) of the corresponding

Image Warping Cubic Triangular Patch

Cubic Triangular Patch

Fit a cubic surface in each triangular patch.

Many algorithms using N -degree polynomials, N = 2 to 5 [2].

The following is a bivariate cubic patch:

U(x, y) = a1 + a2x + a3y +

a4x2 + a5xy + a6y

2 + a7x3 + a8x

2y + a9xy2 + a10y3 (18)

Solve equation for parameters ak using the following constraints:

Coordinates of the 3 vertices (3 constraints).

Partial derivatives with respect to x and y at the three vertices (6constraints).

Partial derivatives of two neighboring patches are the same in thedirection normal to the common edge (3 constraints).

Total 12 constraints, enough to solve for the 10 parameters.

(CS5245 ) Image Warping and Morphing 27 / 31

Page 28: Image Warping and Morphing - NUS Computingcs4340/lecture/imorph.pdf · Image Warping Note: Only the positions of the points are changed. The colors (or intensities) of the corresponding

Image Morphing

Image Morphing

Given two images I and J , generate a sequence of images M(t),0 ≤ t ≤ 1 that changes smoothly from I to J .

Basic Ideas:

Select the corresponding points pi in I and qi in J .

The corresponding point ri(t) in M(t) lies in between pi and qi,e.g.,

ri(t) = (1 − t)pi + tqi (19)

Compute mapping functions between I and M(t) and between Jand M(t).

Use the mapping functions to warp I to I(t) and J to J(t).

Blend I(t) and J(t):

M(t) = (1 − t) I(t) + t J(t) (20)

(CS5245 ) Image Warping and Morphing 28 / 31

Page 29: Image Warping and Morphing - NUS Computingcs4340/lecture/imorph.pdf · Image Warping Note: Only the positions of the points are changed. The colors (or intensities) of the corresponding

Image Morphing

Repeat for different values of t from 0 to 1.

When the sequence is played, ri(t) moves from pi to qi, andM(t) changes from I to J .

For more advanced methods, refer to [1].

(CS5245 ) Image Warping and Morphing 29 / 31

Page 30: Image Warping and Morphing - NUS Computingcs4340/lecture/imorph.pdf · Image Warping Note: Only the positions of the points are changed. The colors (or intensities) of the corresponding

Image Morphing

If J is a warped version of I, then can do 2D animation.

(a) Original image. (b) Displaced control points. (c) Warped image.

(CS5245 ) Image Warping and Morphing 30 / 31

Page 31: Image Warping and Morphing - NUS Computingcs4340/lecture/imorph.pdf · Image Warping Note: Only the positions of the points are changed. The colors (or intensities) of the corresponding

References

References

S.-Y. Lee and S. Y. Shin.Warp generation and transition control in image morphing.In Interactive Computer Animation. Prentice Hall, 1996.

G. Wolberg.Digital Image Warping.IEEE Computer Society Press, 1990.

(CS5245 ) Image Warping and Morphing 31 / 31