Image Warping 15-463: Computational Photography Alexei Efros, CMU, Fall 2006 Some slides from Steve...
-
date post
15-Jan-2016 -
Category
Documents
-
view
215 -
download
0
Transcript of Image Warping 15-463: Computational Photography Alexei Efros, CMU, Fall 2006 Some slides from Steve...
![Page 1: Image Warping 15-463: Computational Photography Alexei Efros, CMU, Fall 2006 Some slides from Steve Seitz .](https://reader036.fdocuments.in/reader036/viewer/2022062804/56649d385503460f94a11785/html5/thumbnails/1.jpg)
Image Warping
15-463: Computational PhotographyAlexei Efros, CMU, Fall 2006
Some slides from Steve Seitz
http://www.jeffrey-martin.com
![Page 2: Image Warping 15-463: Computational Photography Alexei Efros, CMU, Fall 2006 Some slides from Steve Seitz .](https://reader036.fdocuments.in/reader036/viewer/2022062804/56649d385503460f94a11785/html5/thumbnails/2.jpg)
Image Warping
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 15-463: Computational Photography Alexei Efros, CMU, Fall 2006 Some slides from Steve Seitz .](https://reader036.fdocuments.in/reader036/viewer/2022062804/56649d385503460f94a11785/html5/thumbnails/3.jpg)
Image Warping
T
T
f
f g
g
image filtering: change range of image
g(x) = h(T(x))
image warping: change domain of imageg(x) = f(T(x))
![Page 4: Image Warping 15-463: Computational Photography Alexei Efros, CMU, Fall 2006 Some slides from Steve Seitz .](https://reader036.fdocuments.in/reader036/viewer/2022062804/56649d385503460f94a11785/html5/thumbnails/4.jpg)
Parametric (global) warpingExamples of parametric warps:
translation rotation aspect
affineperspective
cylindrical
![Page 5: Image Warping 15-463: Computational Photography Alexei Efros, CMU, Fall 2006 Some slides from Steve Seitz .](https://reader036.fdocuments.in/reader036/viewer/2022062804/56649d385503460f94a11785/html5/thumbnails/5.jpg)
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 T as a matrix:
p’ = Mp
T
p = (x,y) p’ = (x’,y’)
y
x
y
xM
'
'
![Page 6: Image Warping 15-463: Computational Photography Alexei Efros, CMU, Fall 2006 Some slides from Steve Seitz .](https://reader036.fdocuments.in/reader036/viewer/2022062804/56649d385503460f94a11785/html5/thumbnails/6.jpg)
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 15-463: Computational Photography Alexei Efros, CMU, Fall 2006 Some slides from Steve Seitz .](https://reader036.fdocuments.in/reader036/viewer/2022062804/56649d385503460f94a11785/html5/thumbnails/7.jpg)
Non-uniform scaling: different scalars per component:
Scaling
X 2,Y 0.5
![Page 8: Image Warping 15-463: Computational Photography Alexei Efros, CMU, Fall 2006 Some slides from Steve Seitz .](https://reader036.fdocuments.in/reader036/viewer/2022062804/56649d385503460f94a11785/html5/thumbnails/8.jpg)
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 15-463: Computational Photography Alexei Efros, CMU, Fall 2006 Some slides from Steve Seitz .](https://reader036.fdocuments.in/reader036/viewer/2022062804/56649d385503460f94a11785/html5/thumbnails/9.jpg)
2-D Rotation
(x, y)
(x’, y’)
x’ = x cos() - y sin()y’ = x sin() + y cos()
![Page 10: Image Warping 15-463: Computational Photography Alexei Efros, CMU, Fall 2006 Some slides from Steve Seitz .](https://reader036.fdocuments.in/reader036/viewer/2022062804/56649d385503460f94a11785/html5/thumbnails/10.jpg)
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() sin() + r cos() cos()
Substitute…x’ = x cos() - y sin()y’ = x sin() + y cos()
(x, y)
(x’, y’)
![Page 11: Image Warping 15-463: Computational Photography Alexei Efros, CMU, Fall 2006 Some slides from Steve Seitz .](https://reader036.fdocuments.in/reader036/viewer/2022062804/56649d385503460f94a11785/html5/thumbnails/11.jpg)
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 15-463: Computational Photography Alexei Efros, CMU, Fall 2006 Some slides from Steve Seitz .](https://reader036.fdocuments.in/reader036/viewer/2022062804/56649d385503460f94a11785/html5/thumbnails/12.jpg)
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 15-463: Computational Photography Alexei Efros, CMU, Fall 2006 Some slides from Steve Seitz .](https://reader036.fdocuments.in/reader036/viewer/2022062804/56649d385503460f94a11785/html5/thumbnails/13.jpg)
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 15-463: Computational Photography Alexei Efros, CMU, Fall 2006 Some slides from Steve Seitz .](https://reader036.fdocuments.in/reader036/viewer/2022062804/56649d385503460f94a11785/html5/thumbnails/14.jpg)
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 15-463: Computational Photography Alexei Efros, CMU, Fall 2006 Some slides from Steve Seitz .](https://reader036.fdocuments.in/reader036/viewer/2022062804/56649d385503460f94a11785/html5/thumbnails/15.jpg)
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 15-463: Computational Photography Alexei Efros, CMU, Fall 2006 Some slides from Steve Seitz .](https://reader036.fdocuments.in/reader036/viewer/2022062804/56649d385503460f94a11785/html5/thumbnails/16.jpg)
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 15-463: Computational Photography Alexei Efros, CMU, Fall 2006 Some slides from Steve Seitz .](https://reader036.fdocuments.in/reader036/viewer/2022062804/56649d385503460f94a11785/html5/thumbnails/17.jpg)
Linear Transformations as Change of Basis
Any linear transformation is a basis!!!• What’s the inverse transform? • How can we change from any basis to any basis?• What if the basis are orthogonal?
j =(0,1)
i =(1,0)
p
p=4i+3j = (4,3) p’=4u+3vpx’=4ux+3vx
py’=4uy+3vy
v =(vx,vy)
u=(ux,uy)
p’
pp
yy
xx
yy
xx
vu
vu
vu
vu
3
4'
![Page 18: Image Warping 15-463: Computational Photography Alexei Efros, CMU, Fall 2006 Some slides from Steve Seitz .](https://reader036.fdocuments.in/reader036/viewer/2022062804/56649d385503460f94a11785/html5/thumbnails/18.jpg)
Homogeneous CoordinatesQ: How can we represent translation as a 3x3
matrix?
y
x
tyy
txx
'
'
![Page 19: Image Warping 15-463: Computational Photography Alexei Efros, CMU, Fall 2006 Some slides from Steve Seitz .](https://reader036.fdocuments.in/reader036/viewer/2022062804/56649d385503460f94a11785/html5/thumbnails/19.jpg)
Homogeneous CoordinatesHomogeneous coordinates
• represent coordinates in 2 dimensions with a 3-vector
1
coords shomogeneou y
x
y
x
![Page 20: Image Warping 15-463: Computational Photography Alexei Efros, CMU, Fall 2006 Some slides from Steve Seitz .](https://reader036.fdocuments.in/reader036/viewer/2022062804/56649d385503460f94a11785/html5/thumbnails/20.jpg)
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 21: Image Warping 15-463: Computational Photography Alexei Efros, CMU, Fall 2006 Some slides from Steve Seitz .](https://reader036.fdocuments.in/reader036/viewer/2022062804/56649d385503460f94a11785/html5/thumbnails/21.jpg)
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 22: Image Warping 15-463: Computational Photography Alexei Efros, CMU, Fall 2006 Some slides from Steve Seitz .](https://reader036.fdocuments.in/reader036/viewer/2022062804/56649d385503460f94a11785/html5/thumbnails/22.jpg)
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 23: Image Warping 15-463: Computational Photography Alexei Efros, CMU, Fall 2006 Some slides from Steve Seitz .](https://reader036.fdocuments.in/reader036/viewer/2022062804/56649d385503460f94a11785/html5/thumbnails/23.jpg)
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 24: Image Warping 15-463: Computational Photography Alexei Efros, CMU, Fall 2006 Some slides from Steve Seitz .](https://reader036.fdocuments.in/reader036/viewer/2022062804/56649d385503460f94a11785/html5/thumbnails/24.jpg)
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
wyx
fedcba
wyx
100''
![Page 25: Image Warping 15-463: Computational Photography Alexei Efros, CMU, Fall 2006 Some slides from Steve Seitz .](https://reader036.fdocuments.in/reader036/viewer/2022062804/56649d385503460f94a11785/html5/thumbnails/25.jpg)
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 26: Image Warping 15-463: Computational Photography Alexei Efros, CMU, Fall 2006 Some slides from Steve Seitz .](https://reader036.fdocuments.in/reader036/viewer/2022062804/56649d385503460f94a11785/html5/thumbnails/26.jpg)
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 27: Image Warping 15-463: Computational Photography Alexei Efros, CMU, Fall 2006 Some slides from Steve Seitz .](https://reader036.fdocuments.in/reader036/viewer/2022062804/56649d385503460f94a11785/html5/thumbnails/27.jpg)
2D image transformations
These transformations are a nested set of groups• Closed under composition and inverse is a member