+ All Categories
Home > Documents > lec15 transforms web · 2016. 3. 2. · lec15_transforms_web.pdf Author: kb Created Date: 3/2/2016...

lec15 transforms web · 2016. 3. 2. · lec15_transforms_web.pdf Author: kb Created Date: 3/2/2016...

Date post: 01-Feb-2021
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
37
Lecture 15: Transforms and Alignment CS4670/5670: Computer Vision Kavita Bala
Transcript
  • Lecture  15:  Transforms  and  Alignment  

    CS4670/5670:  Computer  Vision  Kavita  Bala  

  • Reading  

    •  Szeliski:  Chapter  6.1,  3.6  

    •  Updated  HW  1:  Q  (2)    •  Also  read  FAQ  

  • All  2D  Linear  TransformaSons  

    •  Linear  transformaSons  are  combinaSons  of  …  –  Scale,  –  RotaSon,  –  Shear,  and  –  Mirror  

    •  ProperSes  of  linear  transformaSons:  –  Origin  maps  to  origin  –  Lines  map  to  lines  –  Parallel  lines  remain  parallel  –  RaSos  are  preserved  –  Closed  under  composiSon  

    ⎥⎦

    ⎤⎢⎣

    ⎡⎥⎦

    ⎤⎢⎣

    ⎡=⎥

    ⎤⎢⎣

    yx

    dcba

    yx''

    ⎥⎦⎤

    ⎢⎣⎡⎥⎦⎤

    ⎢⎣⎡⎥⎦⎤

    ⎢⎣⎡⎥⎦⎤

    ⎢⎣⎡=⎥⎦

    ⎤⎢⎣⎡

    yx

    lkji

    hgfe

    dcba

    yx''

  • Basic  affine  transformaSons  

    ⎥⎥⎥

    ⎢⎢⎢

    ⎥⎥⎥

    ⎢⎢⎢

    ⎡ −

    =

    ⎥⎥⎥

    ⎢⎢⎢

    11000cossin0sincos

    1''

    yx

    yx

    θθ

    θθ

    ⎥⎥⎥

    ⎢⎢⎢

    ⎥⎥⎥

    ⎢⎢⎢

    =

    ⎥⎥⎥

    ⎢⎢⎢

    11001001

    1''

    yx

    tt

    yx

    y

    x

    ⎥⎥⎥

    ⎢⎢⎢

    ⎥⎥⎥

    ⎢⎢⎢

    =

    ⎥⎥⎥

    ⎢⎢⎢

    11000101

    1''

    yx

    shsh

    yx

    y

    x

    Translate

    2D in-plane rotation Shear

    ⎥⎥⎥

    ⎢⎢⎢

    ⎥⎥⎥

    ⎢⎢⎢

    =

    ⎥⎥⎥

    ⎢⎢⎢

    11000000

    1''

    yx

    ss

    yx

    y

    x

    Scale

  • 2D  image  transformaSons  

    These  transformaSons  are  a  nested  set  of  groups  •   Closed  under  composiSon  and  inverse  is  a  member  

  • Where  do  we  go  from  here?  

    affine  transformaSon  

    what  happens  when  we  mess  with  this  row?  

  • ProjecSve  TransformaSons  

    •  Under  perspecSve  projecSon,  parallel  lines  can  map  to  lines  that  intersect.  Therefore,  this  cannot  be  modeled  by  an  affine  transform!  

    •  ProjecSve  transformaSons  are  a  more  general  family  which  includes  affine  transforms  and  perspecSve  projecSons  

    •  ProjecSve  transformaSons  are  linear  transformaSons  using  homogeneous  coordinates  

  • 2D  image  transformaSons  

    These  transformaSons  are  a  nested  set  of  groups  •   Closed  under  composiSon  and  inverse  is  a  member  

  • ProjecSve  TransformaSons  aka  Homographies  aka  Planar  PerspecSve  Maps  

    Called  a  homography    (or  planar  perspec/ve  map)  

  • Why  do  we  care?  

    •  What  is  the  relaSon  between  a  plane  in  the  world  and  a  perspecSve  image  of  it?  

    •  Can  we  reconstruct  another  view  from  one  image?  

    •  RelaSon  between  pairs  of  images  – Need  to  make  a  mosaic  

  • Plane  projecSon  in  drawing  [CS  417  Sprin

    g  2002]  

    13  

  • 14  

    Masaccio,  Trin

    ity,  Florence  

  • PerspecSve  projecSon  

    similar  triangles:  

    15  

  • Homogeneous  coordinates  revisited  

    •  PerspecSve  requires  division  – that  is  not  part  of  affine  transformaSons  – in  affine,  parallel  lines  stay  parallel  

    • therefore  no  vanishing  point  

    •  “True”  purpose  of  homogeneous  coords:  projecSon  

  • PerspecSve  projecSon  

    to  implement  perspecSve,  just  move  z  to  w:  

    17  

  • Cornell  CS4620  Fall  2015  

    Homogeneous  coordinates  revisited  

    •  Introduced  w  =  1  coordinate  as  a  placeholder  

    – used  as  a  convenience  for  unifying  translaSon  with  linear  

    •  Now  allow  arbitrary  w  

    18  ©  2015  Kavita  Bala  w/  prior  instructor  Steve  Marschner  •    

  • Homographies  

  • Homographies  

  • Homographies  

    What  happens  when  the  denominator  is  0?  

  • Points  at  infinity  

  • ImplicaSons  of  w  •  All  scalar  mulSples  of  a  4-‐vector  are  equivalent  •  When  w  is  not  zero,  can  divide  by  w  

    – therefore  these  points  represent  “normal”  affine  points  

    •  When  w  is  zero,  it’s  a  point  at  infinity,  a.k.a.  a  direcSon  – this  is  the  point  where  parallel  lines  intersect  – can  also  think  of  it  as  the  vanishing  point  

    •  ProjecSve  space  

  • Image  warping  with  homographies  

    image plane in front image plane below black area where no pixel maps to

  • Homographies  

  • Homographies  

    •  Homographies  …  –  Affine  transformaSons,  and  –  ProjecSve  warps  

    •  ProperSes  of  projecSve  transformaSons:  –  Origin  does  not  necessarily  map  to  origin  –  Lines  map  to  lines  –  Parallel  lines  do  not  necessarily  remain  parallel  –  RaSos  are  not  preserved  –  Closed  under  composiSon  

  • 2D  image  transformaSons  

    These  transformaSons  are  a  nested  set  of  groups  •   Closed  under  composiSon  and  inverse  is  a  member  

  • Image  Warping  

    •  Given  a  coordinate  xform  (x’,y’)  =  T(x,y)  and  a  source  image  f(x,y),  how  do  we  compute  an  xformed  image  g(x’,y’)  =  f(T(x,y))?  

    f(x,y)   g(x’,y’)  x   x’  

    T(x,y)  y   y’  

  • Forward  Warping  

    •  Send  each  pixel  f(x)  to  its  corresponding  locaSon  (x’,y’)  =  T(x,y)  in  g(x’,y’)  

    f(x,y)   g(x’,y’)  x   x’  

    T(x,y)  y   y’  

  • Forward  Warping  

    •  Send  each  pixel  f(x,y)  to  its  corresponding  locaSon  x’  =  h(x,y)  in  g(x’,y’)  

    f(x,y)   g(x’,y’)  x   x’  

    T(x,y)  

    •  What  if  pixel  lands  “between”  pixels?  •  Answer:  add  “contribuSon”  to  several  pixels,  normalize  later  (spla2ng)  

    •  Problem?  Can  sSll  result  in  holes  

    y   y’  

  • Inverse  Warping  

    •  Get  each  pixel  g(x’,y’)  from  its  corresponding  locaSon  (x,y)  =  T-‐1(x,y)  in  f(x,y)  

    f(x,y)   g(x’,y’)  x   x’  

    T-‐1(x,y)  

    •  Requires  taking  the  inverse  of  the  transform  •  What  if  pixel  comes  from  “between”  pixels?  

    y   y’  

  • Inverse  Warping  

    •  Get  each  pixel  g(x’)  from  its  corresponding  locaSon  x’  =  h(x)  in  f(x)  •  What  if  pixel  comes  from  “between”  two  pixels?  •  Answer:  resample  color  value  from  interpolated  (prefiltered)  source  image  

    f(x,y)   g(x’,y’)  x   x’  

    y   y’  T-‐1(x,y)  

  • InterpolaSon  

    •  Possible  interpolaSon  filters:  – nearest  neighbor  – bilinear  – bicubic  (interpolaSng)  

    •  Needed  to  prevent  “jaggies”    and  “texture  crawl”    

                 (with  prefiltering)  


Recommended