SlideShare una empresa de Scribd logo
1 de 70
Descargar para leer sin conexión
Mathema'cal	
  Principles	
  behind	
  
       Registra'on	
  
              Adrian	
  Clark	
  
               HIT	
  Lab	
  NZ	
  
       adrian.clark@hitlabnz.org	
  
Registra'on	
  
•  We	
  wish	
  to	
  calculate	
  the	
  
   transforma'on	
  from	
  the	
  
   camera	
  to	
  the	
  object	
  
   (extrinsic	
  parameters).	
  In	
  
   order	
  to	
  this,	
  we	
  must	
  
   find	
  the	
  transforma'on	
  
   from	
  the	
  camera	
  to	
  the	
  
   image	
  plane	
  (camera	
  
   intrinsics),	
  and	
  combine	
  
   that	
  with	
  the	
  
   transforma'on	
  from	
  
   known	
  points	
  in	
  the	
  
   object	
  to	
  their	
  loca'ons	
  
   in	
  the	
  image	
  plane.	
  
Object	
  to	
  Image	
  Plane	
  
•  The	
  calcula'on	
  for	
  the	
  
   point	
  on	
  image	
  plane	
  
   (px,py)	
  is	
  related	
  to	
  the	
  
   ray	
  passing	
  from	
  object	
  
   (Px,Py,Pz)	
  through	
  the	
  
   camera	
  	
  focal	
  point	
  and	
  
   intersec'ng	
  the	
  image	
  
   plane	
  at	
  focal	
  length	
  f,	
  
   such	
  that:	
  
Object	
  to	
  Image	
  Plane	
  

•  The	
  previous	
  formulas	
  can	
  be	
  
       represented	
  in	
  matrix	
  form	
  as:	
  
   	
  (equa'on	
  is	
  non-­‐linear	
  –	
  s	
  is	
  scale	
  factor)	
  
•  Previous	
  equa'ons	
  have	
  been	
  
       assuming	
  a	
  perfect	
  pinhole	
  aperture.	
  
       Instead	
  we	
  have	
  a	
  lens,	
  which	
  has	
  a	
  
       principal	
  point	
  (up,	
  vp)	
  –	
  the	
  
       transforma'on	
  from	
  camera	
  origin	
  to	
  
       image	
  plane	
  origin	
  –	
  and	
  scale	
  factor	
  
       (sx,sy)	
  pixel	
  distance	
  to	
  real	
  world	
  units	
  
       (mm).	
  
CAMERA	
  CALIBRATION	
  
Camera	
  Calibra'on	
  
•  Knowing	
  the	
  camera	
  intrinsics	
  we	
  can	
  
   calculate	
  the	
  transforma'on	
  from	
  an	
  object	
  P	
  
   to	
  a	
  pixel	
  (u,v).	
  
•  During	
  the	
  process	
  of	
  calibra'on	
  we	
  calculate	
  
   the	
  intrinsics.	
  
•  This	
  is	
  done	
  by	
  taking	
  mul'ple	
  images	
  of	
  a	
  
   planar	
  chessboard	
  where	
  each	
  square	
  is	
  a	
  
   known	
  size.	
  
Camera	
  Calibra'on	
  
   •  If	
  we	
  assume	
  the	
  z	
  value	
  of	
  each	
  point	
  on	
  the	
  
      chessboard	
  to	
  be	
  at	
  0,	
  then	
  the	
  transforma'on	
  is	
  
      found	
  as:	
  




  For	
  each	
  point	
  there	
  is	
  a	
  Homography	
  
   mapping	
  P	
  to	
  (u,v):	
  
Camera	
  Calibra'on	
  
   •  Through	
  some	
  deriva'on	
  and	
  subs'tu'on,	
  
      we	
  find:	
  

  With	
  the	
  homography	
  represented	
  as:	
  
  	
  The	
  matrix:	
  


   Mul'plies	
  with	
  the	
  H	
  vector	
  to:	
  
Camera	
  Calibra'on	
  

•  With	
  at	
  least	
  four	
  pairs	
  of	
  point	
  
       correspondences,	
  we	
  can	
  solve:	
  
   	
  using	
  Singular	
  Value	
  Decomposi'on	
  for	
  total	
  least	
  
       square	
  minimiza'on.	
  
  From	
  the	
  homography	
  of	
  these	
  four	
  points,	
  the	
  values	
  
       of	
  (u,v),	
  s,	
  (sx,sy)	
  can	
  be	
  es'mated	
  with	
  a	
  bit	
  more	
  
       maths.	
  
   	
  (Zhang,	
  Z.:	
  2000,	
  A	
  flexible	
  new	
  technique	
  for	
  camera	
  
       calibra'on,	
  IEEE	
  Transac'ons	
  on	
  Paern	
  Analysis	
  and	
  
       Machine	
  Intelligence	
  22,	
  1330–1334.)	
  
Camera	
  Calibra'on	
  
•  Once	
  we	
  have	
  the	
  camera	
  calibra'on,	
  we	
  
   can	
  go	
  ahead	
  and	
  compute	
  the	
  extrinsic	
  
   parameters	
  (transforma'on)	
  as:	
  

  Now	
  that	
  we	
  know	
  the	
  complete	
  transforma'on,	
  we	
  
   can	
  op'mise	
  our	
  intrinsic	
  parameters	
  using	
  the	
  
   Levenberg-­‐Marquardt	
  Algorithm	
  on:	
  


  We	
  can	
  also	
  calculate	
  radial	
  distor'ons	
  of	
  the	
  lens	
  and	
  
   remove	
  them	
  if	
  we	
  feel	
  so	
  inclined,	
  and	
  further	
  
   op'mise.	
  
Camera	
  Calibra'on	
  

EXAMPLE:	
  ARTOOLKIT	
  
Camera	
  Calibra'on	
  

•  Camera	
  Parameters	
  
   1.  Perspec've	
  Projec'on	
  Matrix	
  
   2.  Image	
  Distor'on	
  Parameters	
  
•  Two	
  camera	
  calibra'on	
  methods	
  
   1.  Accurate	
  2	
  step	
  method	
  
   2.  Easy	
  1	
  step	
  method	
  
Easy	
  1	
  step	
  method:	
  
                 	
  'calib_camera2.exe'	
  

•  Finds	
  all	
  camera	
  parameters	
  including	
  distor'on	
  
   and	
  perspec've	
  projec'on	
  matrix.	
  
•  Doesn’t	
  require	
  careful	
  setup.	
  
•  Accuracy	
  is	
  good	
  enough	
  for	
  image	
  overlay.	
  	
  
   (Not	
  good	
  enough	
  for	
  3D	
  measurement.)	
  
Using	
  'calib_dist2.exe'	
  




Selecting dots with mouse               Getting distortion parameters
                                        by automatic line-fitting


 • Take pattern pictures as large as possible.
 • Slant in various directions with big angle.
 • 4 times or more
Accurate	
  2	
  step	
  method	
  

•  Using	
  dot	
  paern	
  and	
  grid	
  paern	
  




•  2	
  step	
  method	
  
    –  1)	
  Gedng	
  distor'on	
  parameters	
  –	
  calib_dist.exe	
  
    –  2)	
  Gedng	
  perspec've	
  projec'on	
  parameters	
  
Step2:	
  Gedng	
  perspec've	
  projec'on	
  matrix	
  
                   	
  'calib_cparam.exe'	
  




Manual line-fitting
Image	
  Distor'on	
  
Scaling	
  Parameter	
  for	
  Size	
  Adjustment	
  
Image	
  Distor'on	
  Parameters	
  
•  Rela'onships	
  between	
  Ideal	
  and	
  Observed	
  
   Screen	
  Coordinates	
  
Implementa'on	
  of	
  Image	
  Distor'on	
  
          parameters	
  
Camera	
  Calibra'on	
  

EXAMPLE:	
  OPENCV	
  
Registra'on	
  

•  We	
  now	
  have	
  a	
  reliable	
  model	
  of	
  the	
  cameras	
  
   intrinsic	
  parameters,	
  and	
  have	
  removed	
  any	
  radial	
  
   distor'on.	
  Now	
  it’s	
  just	
  a	
  maer	
  of	
  learning	
  some	
  
   points	
  in	
  a	
  marker,	
  and	
  then	
  searching	
  for	
  them	
  in	
  
   each	
  frame,	
  calcula'ng	
  the	
  extrinsic	
  parameters	
  as:	
  
REGISTRATION	
  
Registra'on	
  

ARTOOLKIT	
  
Ques'on:	
  Gedng	
  TCM	
  

•  Known	
  Parameters	
  
    –  Camera	
  Parameter:	
  C	
  
    –  Image	
  Distor'on	
  Parameters:	
  x0,	
  y0,	
  f,	
  s	
  	
  
    –  Coordinates	
  of	
  4	
  Ver'ces	
  in	
  Marker	
  Coordinates	
  Frame	
  
•  Obtained	
  Parameters	
  by	
  Image	
  Processing	
  
    –  Coordinates	
  of	
  4	
  Ver'ces	
  in	
  Observed	
  Screen	
  Coordinates	
  
•  Goal	
  
    –  Gedng	
  Transforma'on	
  Matrix	
  from	
  Marker	
  to	
  Camera	
  
Image	
  Processing	
  

•     Thresholding	
  
•     Rectangle	
  extrac'on	
  
•     Es'ma'on	
  of	
  vertex	
  posi'ons	
  
•     Normalized	
  template	
  matching	
  
         Iden'fica'on	
  of	
  markers	
  
Rectangle	
  Extrac'on	
  	
  
1.  Thresholding,	
  Labeling,	
  	
  
    Feature	
  Extrac'on	
  (area,	
  posi'on)	
  
2.  Contour	
  Extrac'on	
  
3.  Four	
  straight	
  lines	
  fidng	
  

   	
  Lile	
  fidng	
  error	
  =>	
  Rectangle.	
  


       This method is very simple and very fast.
How	
  to	
  get	
  TCM	
  
Es'ma'on	
  of	
  Transforma'on	
  Matrix	
  
1st	
  step:	
  Geometrical	
  calcula'on	
  	
  
    –  Rota'on	
  &	
  Transla'on	
  
2nd	
  step:	
  Op'miza'on	
  
    –  Itera've	
  processing	
  
        •    Op'miza'on	
  of	
  Rota'on	
  Component	
  
        •    Op'miza'on	
  of	
  Transla'on	
  Component	
  
Op'miza'on	
  of	
  Rota'on	
  Component	

•  Observed	
  posi'ons	
  of	
  4	
  ver'ces	
  
•  Calculated	
  posi'ons	
  of	
  4	
  ver'ces	
  
    –  Posi'ons	
  in	
  marker	
  coordinates	
  
         	
  	
  	
  	
  	
  	
  Es'mated	
  transforma'on	
  matrix	
  &	
  Perspec've	
  matrix	
  
    –  Ideal	
  screen	
  coordinates	
  
         	
  	
  	
  	
  	
  	
  Distor'on	
  func'on	
  
    –  Posi'ons	
  in	
  observed	
  screen	
  coordinates	
  
•  Minimizing	
  distance	
  between	
  observed	
  and	
  calculated	
  posi'ons	
  
   by	
  changing	
  rota'on	
  component	
  in	
  es'mated	
  transforma'on	
  
   matrix	
  
Search	
  Tcm	
  by	
  Minimizing	
  Error	
  

•  Op'miza'on	
  
   –  Itera've	
  process	
  
(2)	
  Use	
  of	
  es'ma'on	
  accuracy	
  




arGetTransMat()	
  minimizes	
  the	
  'err'.	
  
It	
  returns	
  this	
  minimized	
  'err'.	
  
If	
  'err'	
  is	
  s'll	
  big,	
  
      	
   	
  Miss-­‐detected	
  marker.	
  
      	
   	
  Use	
  of	
  camera	
  parameters	
  by	
  bad	
  calibra'on.	
  
How	
  to	
  set	
  the	
  ini'al	
  condi'on	
  for	
  
               Op'miza'on	
  Process	
  

•  Geometrical	
  calcula'on	
  based	
  on	
  4	
  ver'ces	
  coordinates	
  
    –  Independent	
  in	
  each	
  image	
  frame:	
  Good	
  feature.	
  
    –  Unstable	
  result	
  (Jier	
  occurs.):	
  Bad	
  feature	
  

•  Use	
  of	
  informa'on	
  from	
  previous	
  image	
  frame	
  
    –  Needs	
  previous	
  frame	
  informa'on.	
  	
  
    –  Cannot	
  use	
  for	
  the	
  	
  first	
  frame.	
  
    –  Stable	
  results.	
  (This	
  does	
  not	
  mean	
  accurate	
  results.)	
  

•  ARToolKit	
  supports	
  both	
  
Two	
  types	
  of	
  ini'al	
  condi'on	
  

1.  Geometrical	
  calcula'on	
  based	
  on	
  4	
  ver'ces	
  	
  
    in	
  screen	
  coordinates	
  
    double arGetTransMat( ARMarkerInfo *marker_info,
                          double center[2], double width,
                          double conv[3][4] );

2.  Use	
  of	
  informa'on	
  from	
  previous	
  image	
  frame	
  
    double arGetTransMatCont( ARMarkerInfo *marker_info,
                              double prev_conv[3][4],
                              double center[2], double width,
                              double conv[3][4] );
Use	
  of	
  Inside	
  paern	
  
•  Why?	
  
    –  Square	
  has	
  symmetries	
  in	
  90	
  degree	
  rota'on	
  
         •  4	
  templates	
  are	
  needed	
  for	
  each	
  paern	
  
    –  Enable	
  the	
  use	
  of	
  mul'ple	
  markers	
  


•  How?	
  
    –  Template	
  matching	
  
    –  Normalizing	
  the	
  shape	
  of	
  inside	
  paern	
  
    –  Normalized	
  correla'on	
  	
  
 	
  	
  Accuracy	
  vs.	
  Speed	
  on	
  paern	
  
                          iden'fica'on	
  

•  Paern	
  normaliza'on	
  takes	
  much	
  'me.	
  
•  This	
  is	
  a	
  problem	
  when	
  using	
  many	
  markers.	
  
•  Normaliza'on	
  process.	
  




               Normalization               Resolution convert
Paern	
  Normaliza'on	
  

Gedng	
  projec'on	
  parameter	
  from	
  4	
  ver'ces	
  posi'on	
  
Normaliza'on	
  Correla'on	
  
  In	
  'config.h'	
  
   –  #define	
  	
  	
  AR_PATT_SAMPLE_NUM	
  	
  	
  64	
  
   –  #define	
  	
  	
  AR_PATT_SIZE_X	
  	
  	
  	
  	
  	
  	
  16	
  	
  
   –  #define	
  	
  	
  AR_PATT_SIZE_Y	
  	
  	
  	
  	
  	
  	
  16	
  	
  


                                     Identification Accuracy                   Speed
       Large size                                       Good                   Slow
       Small size                                       Bad                    Fast
Registra'on	
  

NATURAL	
  FEATURES	
  
Natural	
  Feature	
  Registra'on	
  
•  There	
  are	
  three	
  steps	
  to	
  natural	
  feature	
  
   registra'on:	
  Find	
  reliable	
  points,	
  describe	
  
   points	
  uniquely,	
  match	
  points.	
  
•  There	
  are	
  heaps	
  of	
  exis'ng	
  natural	
  feature	
  
   registra'on	
  algorithms	
  (SIFT,	
  SURF,	
  GLOH,	
  
   Ferns…)	
  with	
  their	
  own	
  intricacies,	
  so	
  we	
  will	
  
   just	
  look	
  at	
  a	
  high	
  level	
  approach	
  
How	
  NFR	
  Works	
  

1.  Find	
  feature	
  points	
  in	
  the	
  image.	
  
2.  In	
  order	
  to	
  differen'ate	
  each	
  feature	
  point,	
  create	
  
    a	
  descriptor	
  of	
  a	
  local	
  window	
  using	
  a	
  func'on.	
  
3.  Repeat	
  1	
  and	
  2	
  for	
  both	
  the	
  source,	
  or	
  “marker”	
  
    image,	
  as	
  well	
  as	
  the	
  current	
  frame.	
  
4.  Compare	
  all	
  features	
  in	
  marker	
  to	
  all	
  features	
  in	
  
    current	
  frame	
  to	
  find	
  closest	
  matches.	
  
5.  Use	
  matches	
  to	
  calculate	
  transforma'on	
  
Feature	
  Detec'on	
  

•  Feature	
  detec'on	
  involves	
  finding	
  areas	
  of	
  an	
  
   image	
  which	
  are	
  unique	
  amongst	
  their	
  
   surroundings,	
  and	
  can	
  easily	
  be	
  iden'fied	
  
   regardless	
  of	
  changes	
  in	
  viewpoint.	
  
•  Good	
  feature	
  candidates	
  are	
  corners	
  and	
  points.	
  
Point	
  Detec'on	
  Example	
  


         FAST	
  Corner	
  Detector	
  
Feature	
  Descrip'on	
  
•  A	
  feature	
  point	
  has	
  0	
  dimensions,	
  and	
  as	
  such,	
  there	
  
   is	
  no	
  way	
  of	
  telling	
  them	
  apart.	
  
•  To	
  resolve	
  this,	
  a	
  window	
  surrounding	
  the	
  point	
  is	
  
   transformed	
  into	
  a	
  1	
  dimensional	
  array.	
  
•  The	
  window	
  is	
  examined	
  at	
  the	
  scale	
  the	
  point	
  was	
  
   found	
  at,	
  and	
  the	
  transforma'on	
  needs	
  to	
  allow	
  for	
  
   distor'on/deforma'on,	
  but	
  s'll	
  able	
  to	
  iden'fy	
  
   between	
  every	
  feature.	
  
Feature	
  Descrip'on	
  Example	
  




                                                 Descriptors	
  
Feature	
  Points	
     Feature	
  Windows	
  
Feature	
  Matching	
  

•  A	
  marker	
  is	
  trained	
  when	
  the	
  features	
  and	
  
   descriptors	
  present	
  have	
  all	
  been	
  found.	
  
•  During	
  run'me,	
  this	
  process	
  is	
  performed	
  for	
  each	
  
   frame	
  of	
  video.	
  
•  The	
  descriptors	
  of	
  each	
  features	
  are	
  compared	
  
   between	
  the	
  marker	
  and	
  the	
  current	
  frame.	
  If	
  the	
  
   descriptors	
  of	
  two	
  features	
  are	
  similar	
  within	
  a	
  
   threshhold,	
  they	
  are	
  assumed	
  to	
  be	
  a	
  match.	
  
Feature	
  Matching	
  Example	
  
Registra'on	
  

•      From	
  here,	
  we	
  can	
  op'onally	
  run	
  RANSAC	
  
       over	
  the	
  homography	
  calcula'on:	
  
     1.    Pick	
  4	
  random	
  points,	
  find	
  homography	
  
     2.    Test	
  homography	
  by	
  evalua'ng	
  other	
  points	
  
     3.    If	
  p-­‐HP<e,	
  Recompute	
  homography	
  with	
  all	
  inliers,	
  else	
  goto	
  1	
  

•      From	
  there	
  we	
  just	
  take	
  the	
  homography,	
  
       combine	
  it	
  with	
  the	
  camera	
  intrinsics	
  and	
  
       get	
  the	
  transforma'on	
  matrix.	
  
Natural	
  Feature	
  Registra'on	
  

APPLICATIONS	
  
NFR	
  Applica'ons	
  

•  Any	
  applica'on	
  using	
  marker	
  based	
  
   registra'on	
  can	
  also	
  be	
  achieved	
  using	
  NFR,	
  
   but	
  there	
  are	
  a	
  number	
  of	
  addi'onal	
  
   possibili'es.	
  
•  As	
  NFR	
  does	
  not	
  require	
  special	
  markings,	
  
   any	
  exis'ng	
  media	
  can	
  be	
  used	
  without	
  
   modifica'on,	
  e.g.	
  pain'ngs	
  in	
  museums,	
  
   print	
  media	
  adver'sements,	
  etc	
  
NFR	
  Applica'ons	
  

•  NFR	
  is	
  especially	
  suited	
  to	
  applica'ons	
  where	
  
   there	
  is	
  another	
  “layer”	
  of	
  data	
  relevant	
  to	
  
   an	
  exis'ng	
  surface,	
  e.g.	
  Three	
  dimensional	
  
   overlays	
  of	
  map	
  data,	
  “MagicBooks”,	
  
   proposed	
  building	
  sites,	
  manufacturing	
  blue	
  
   prints,	
  etc	
  
OSG-­‐OPIRA	
  
ACMI	
  Magicbook	
  
“Travelling	
  New	
  Zealand”	
  GIS	
  Book	
  
Future	
  Direc'ons	
  of	
  Natural	
  
   Feature	
  Registra'on	
  
Mobile	
  NFR	
  
Mobile	
  Augmented	
  Reality	
  is	
  becoming	
  extremely	
  popular	
  due	
  
to	
  the	
  ubiquitous	
  nature	
  of	
  devices	
  with	
  cameras	
  and	
  displays.	
  
The	
  processing	
  capabili'es	
  of	
  these	
  devices	
  is	
  improving,	
  and	
  
natural	
  feature	
  registra'on	
  is	
  becoming	
  increasingly	
  feasible	
  
with	
  the	
  design	
  of	
  NFR	
  algorithms	
  for	
  high	
  performance.	
  




   Wagner,	
  D.;	
  Reitmayr,	
  G.;	
  Mulloni,	
  A.;	
  Drummond,	
  T.;	
  Schmals'eg,	
  D.;	
  ,	
  "Pose	
  tracking	
  from	
  natural	
  features	
  on	
  mobile	
  phones,"	
  Mixed	
  and	
  
   Augmented	
  Reality,	
  2008.	
  ISMAR	
  2008.	
  7th	
  IEEE/ACM	
  Interna?onal	
  Symposium	
  on	
  ,	
  vol.,	
  no.,	
  pp.125-­‐134,	
  15-­‐18	
  Sept.	
  2008	
  
Non-­‐Rigid	
  NFR	
  
     Using	
  deforma'on	
  models,	
  non-­‐rigid	
  planar	
  surfaces	
  can	
  be	
  
     registered,	
  and	
  their	
  shape	
  recovered.	
  Not	
  only	
  does	
  this	
  
     improve	
  registra'on	
  robustness,	
  but	
  also	
  allows	
  for	
  more	
  
     realis'c	
  rendering	
  of	
  augmented	
  content	
  




J.	
  Pilet,	
  V.	
  Lepe't,	
  and	
  P.	
  Fua,	
  Fast	
  Non-­‐Rigid	
  Surface	
  Detec'on,	
  Registra'on	
  and	
  Realis'c	
  Augmenta'on,	
  Interna'onal	
  Journal	
  of	
  Computer	
  Vision,	
  
Vol.	
  76,	
  Nr.	
  2,	
  February	
  2008.	
  
M.	
  Salzmann,	
  J.Pilet,	
  S.Ilic,	
  P.Fua,	
  Surface	
  Deforma'on	
  Models	
  for	
  Non-­‐Rigid	
  3-­‐-­‐D	
  Shape	
  Recovery,	
  IEEE	
  Transac'ons	
  on	
  Paern	
  Analysis	
  and	
  Machine	
  
Intelligence,	
  Vol.	
  29,	
  Nr.	
  8,	
  pp.	
  1481	
  -­‐	
  1487,	
  August	
  2007.	
  
Model	
  Based	
  Tracking	
  
Using	
  a	
  known	
  three	
  dimensional	
  model	
  in	
  conjunc'on	
  
with	
  edge/texture	
  informa'on,	
  three	
  dimensional	
  objects	
  
can	
  be	
  tracked	
  regardless	
  of	
  view	
  point.	
  Model	
  based	
  
tracking	
  also	
  improves	
  robustness	
  to	
  self	
  occlusion.	
  




   Reitmayr,	
  G.;	
  Drummond,	
  T.W.;	
  ,	
  "Going	
  out:	
  robust	
  model-­‐based	
  tracking	
  for	
  outdoor	
  augmented	
  reality,"	
  Mixed	
  and	
  Augmented	
  Reality,	
  
   2006.	
  ISMAR	
  2006.	
  IEEE/ACM	
  Interna?onal	
  Symposium	
  on,	
  pp.109-­‐118,	
  22-­‐25	
  Oct.	
  2006	
  
   L.	
  Vacched,	
  V.	
  Lepe't	
  and	
  P.	
  Fua,	
  Stable	
  Real-­‐Time	
  3D	
  Tracking	
  Using	
  Online	
  and	
  Offline	
  Informa'on,	
  IEEE	
  Transac?ons	
  on	
  PaGern	
  Analysis	
  
   and	
  Machine	
  Intelligence,	
  Vol.	
  26,	
  Nr.	
  10,	
  pp.	
  1385-­‐1391,	
  2004.	
  
OPIRA:	
  Op'cal-­‐flow	
  Perspec've	
  
Invariant	
  Registra'on	
  Augmenta'on	
  
What	
  makes	
  good	
  NFR?	
  

•  In	
  order	
  for	
  a	
  natural	
  feature	
  registra'on	
  
   algorithm	
  to	
  work	
  well	
  it	
  must	
  be	
  robust	
  to	
  
   common	
  image	
  transforma'ons	
  and	
  
   distor'ons:	
  
Feature	
  descriptor	
  robustness	
  

•  Feature	
  descriptors	
  are	
  vulnerable	
  to	
  
   transforma'ons	
  and	
  distor'ons,	
  with	
  the	
  
   excep'on	
  of	
  transla'on	
  and	
  scale,	
  which	
  are	
  
   handled	
  by	
  modifying	
  the	
  descriptor	
  window	
  
   to	
  match	
  the	
  scale	
  and	
  posi'on	
  the	
  feature	
  
   was	
  detected	
  at.	
  
Feature	
  descriptor	
  robustness	
  
OPIRA	
  

•  The	
  Op'cal-­‐flow	
  Perspec've	
  Invariant	
  Registra'on	
  
   Augmenta'on	
  is	
  an	
  algorithm	
  which	
  adds	
  
   perspec've	
  invariance	
  to	
  exis'ng	
  registra'on	
  
   algorithms	
  by	
  tracking	
  the	
  object	
  over	
  
   mul'ple	
  frames	
  using	
  op'cal	
  flow,	
  and	
  using	
  
   perspec've	
  correc'on	
  to	
  eliminate	
  the	
  effect	
  
   of	
  perspec've	
  distor'ons.	
  

Clark,	
  A.,	
  Green,	
  R.	
  and	
  Grant,	
  R.:	
  2008,	
  Perspec've	
  correc'on	
  for	
  improved	
  visual	
  registra'on	
  using	
  natural	
  
features.,	
  Image	
  and	
  Vision	
  Compu'ng	
  New	
  Zealand,	
  2008.	
  IVCNZ	
  2008.	
  23rd	
  Interna'onal	
  Conference,	
  pp.	
  
1-­‐6	
  
Effect	
  of	
  perspec've	
  distor'on	
  
OPIRA	
  Process	
  

•  Once	
  an	
  ini'al	
  frame	
  of	
  registra'on	
  occurs,	
  
   all	
  correct	
  points	
  used	
  for	
  registra'on	
  are	
  
   tracked	
  from	
  frame	
  t-­‐1	
  to	
  t	
  using	
  sparse	
  
   op'cal	
  flow.	
  
•  The	
  transforma'on	
  is	
  calculated	
  for	
  frame	
  t	
  
   based	
  on	
  the	
  tracked	
  points	
  and	
  their	
  marker	
  
   posi'ons	
  as	
  matched	
  in	
  frame	
  t-­‐1	
  
OPIRA	
  Process	
  (Cont.)	
  

•  Using	
  the	
  inverse	
  of	
  the	
  transforma'on	
  
   computed	
  using	
  Op'cal	
  Flow,	
  the	
  frame	
  t	
  is	
  
   warped	
  to	
  match	
  the	
  posi'on	
  and	
  
   orienta'on	
  of	
  the	
  marker.	
  
•  The	
  registra'on	
  algorithm	
  is	
  performed	
  on	
  
   the	
  newly	
  aligned	
  frame.	
  Matches	
  are	
  found,	
  
   and	
  the	
  transforma'on	
  is	
  mul'plied	
  by	
  the	
  
   Op'cal	
  Flow	
  transform	
  to	
  realign	
  the	
  
   transforma'on	
  with	
  the	
  original	
  image.	
  
OPIRA	
  -­‐	
  Example	
  
Addi'onal	
  Benefits	
  

•  OPIRA	
  is	
  able	
  to	
  add	
  some	
  degree	
  of	
  scale	
  
   and	
  rota'on	
  invariance	
  to	
  exis'ng	
  
   algorithms,	
  by	
  transforming	
  the	
  object	
  to	
  
   match	
  it’s	
  marker	
  representa'on.	
  
•  Using	
  the	
  undistorted	
  image,	
  we	
  can	
  perform	
  
   background	
  subtrac'on	
  to	
  isolate	
  occluding	
  
   objects	
  for	
  pixel	
  scale	
  occlusion	
  in	
  
   Augmented	
  Reality.	
  
OPIRA	
  

PROGRAMMING	
  EXAMPLES	
  

Más contenido relacionado

La actualidad más candente

2015-06-17 FEKO Based ISAR Analysis for 3D Object Reconstruction
2015-06-17 FEKO Based ISAR Analysis for 3D Object Reconstruction2015-06-17 FEKO Based ISAR Analysis for 3D Object Reconstruction
2015-06-17 FEKO Based ISAR Analysis for 3D Object ReconstructionDr. Ali Nassib
 
Algorithmic Techniques for Parametric Model Recovery
Algorithmic Techniques for Parametric Model RecoveryAlgorithmic Techniques for Parametric Model Recovery
Algorithmic Techniques for Parametric Model RecoveryCurvSurf
 
Build Your Own 3D Scanner: Conclusion
Build Your Own 3D Scanner: ConclusionBuild Your Own 3D Scanner: Conclusion
Build Your Own 3D Scanner: ConclusionDouglas Lanman
 
Build Your Own 3D Scanner: 3D Scanning with Structured Lighting
Build Your Own 3D Scanner: 3D Scanning with Structured LightingBuild Your Own 3D Scanner: 3D Scanning with Structured Lighting
Build Your Own 3D Scanner: 3D Scanning with Structured LightingDouglas Lanman
 
Tennis video shot classification based on support vector
Tennis video shot classification based on support vectorTennis video shot classification based on support vector
Tennis video shot classification based on support vectores712
 
New geometric interpretation and analytic solution for quadrilateral reconstr...
New geometric interpretation and analytic solution for quadrilateral reconstr...New geometric interpretation and analytic solution for quadrilateral reconstr...
New geometric interpretation and analytic solution for quadrilateral reconstr...Joo-Haeng Lee
 
Basics of Robotics
Basics of RoboticsBasics of Robotics
Basics of Robotics홍배 김
 
Build Your Own 3D Scanner: Course Notes
Build Your Own 3D Scanner: Course NotesBuild Your Own 3D Scanner: Course Notes
Build Your Own 3D Scanner: Course NotesDouglas Lanman
 
Camera Calibration from a Single Image based on Coupled Line Cameras and Rect...
Camera Calibration from a Single Image based on Coupled Line Cameras and Rect...Camera Calibration from a Single Image based on Coupled Line Cameras and Rect...
Camera Calibration from a Single Image based on Coupled Line Cameras and Rect...Joo-Haeng Lee
 
Object Size Detector - Computer Vision
Object Size Detector - Computer VisionObject Size Detector - Computer Vision
Object Size Detector - Computer VisionShyama Bhuvanendran
 
Machine learning for high-speed corner detection
Machine learning for high-speed corner detectionMachine learning for high-speed corner detection
Machine learning for high-speed corner detectionbutest
 
Identification of image scale using computer vision
Identification of image scale using computer visionIdentification of image scale using computer vision
Identification of image scale using computer visionVigneshwarRamaswamy
 
Improved Characters Feature Extraction and Matching Algorithm Based on SIFT
Improved Characters Feature Extraction and Matching Algorithm Based on SIFTImproved Characters Feature Extraction and Matching Algorithm Based on SIFT
Improved Characters Feature Extraction and Matching Algorithm Based on SIFTNooria Sukmaningtyas
 
Fuzzy Logic Based Edge Detection
Fuzzy Logic Based Edge DetectionFuzzy Logic Based Edge Detection
Fuzzy Logic Based Edge DetectionDawn Raider Gupta
 
Study and Comparison of Various Image Edge Detection Techniques
Study and Comparison of Various Image Edge Detection TechniquesStudy and Comparison of Various Image Edge Detection Techniques
Study and Comparison of Various Image Edge Detection TechniquesCSCJournals
 

La actualidad más candente (19)

2015-06-17 FEKO Based ISAR Analysis for 3D Object Reconstruction
2015-06-17 FEKO Based ISAR Analysis for 3D Object Reconstruction2015-06-17 FEKO Based ISAR Analysis for 3D Object Reconstruction
2015-06-17 FEKO Based ISAR Analysis for 3D Object Reconstruction
 
Algorithmic Techniques for Parametric Model Recovery
Algorithmic Techniques for Parametric Model RecoveryAlgorithmic Techniques for Parametric Model Recovery
Algorithmic Techniques for Parametric Model Recovery
 
Build Your Own 3D Scanner: Conclusion
Build Your Own 3D Scanner: ConclusionBuild Your Own 3D Scanner: Conclusion
Build Your Own 3D Scanner: Conclusion
 
Build Your Own 3D Scanner: 3D Scanning with Structured Lighting
Build Your Own 3D Scanner: 3D Scanning with Structured LightingBuild Your Own 3D Scanner: 3D Scanning with Structured Lighting
Build Your Own 3D Scanner: 3D Scanning with Structured Lighting
 
Tennis video shot classification based on support vector
Tennis video shot classification based on support vectorTennis video shot classification based on support vector
Tennis video shot classification based on support vector
 
05397385
0539738505397385
05397385
 
New geometric interpretation and analytic solution for quadrilateral reconstr...
New geometric interpretation and analytic solution for quadrilateral reconstr...New geometric interpretation and analytic solution for quadrilateral reconstr...
New geometric interpretation and analytic solution for quadrilateral reconstr...
 
Basics of Robotics
Basics of RoboticsBasics of Robotics
Basics of Robotics
 
Build Your Own 3D Scanner: Course Notes
Build Your Own 3D Scanner: Course NotesBuild Your Own 3D Scanner: Course Notes
Build Your Own 3D Scanner: Course Notes
 
Orb feature by nitin
Orb feature by nitinOrb feature by nitin
Orb feature by nitin
 
Camera Calibration from a Single Image based on Coupled Line Cameras and Rect...
Camera Calibration from a Single Image based on Coupled Line Cameras and Rect...Camera Calibration from a Single Image based on Coupled Line Cameras and Rect...
Camera Calibration from a Single Image based on Coupled Line Cameras and Rect...
 
Stereo vision
Stereo visionStereo vision
Stereo vision
 
Object Size Detector - Computer Vision
Object Size Detector - Computer VisionObject Size Detector - Computer Vision
Object Size Detector - Computer Vision
 
Machine learning for high-speed corner detection
Machine learning for high-speed corner detectionMachine learning for high-speed corner detection
Machine learning for high-speed corner detection
 
Identification of image scale using computer vision
Identification of image scale using computer visionIdentification of image scale using computer vision
Identification of image scale using computer vision
 
Improved Characters Feature Extraction and Matching Algorithm Based on SIFT
Improved Characters Feature Extraction and Matching Algorithm Based on SIFTImproved Characters Feature Extraction and Matching Algorithm Based on SIFT
Improved Characters Feature Extraction and Matching Algorithm Based on SIFT
 
Fuzzy Logic Based Edge Detection
Fuzzy Logic Based Edge DetectionFuzzy Logic Based Edge Detection
Fuzzy Logic Based Edge Detection
 
Survey 1 (project overview)
Survey 1 (project overview)Survey 1 (project overview)
Survey 1 (project overview)
 
Study and Comparison of Various Image Edge Detection Techniques
Study and Comparison of Various Image Edge Detection TechniquesStudy and Comparison of Various Image Edge Detection Techniques
Study and Comparison of Various Image Edge Detection Techniques
 

Similar a 426 Lecture5: AR Registration

Close range Photogrammeetry
Close range PhotogrammeetryClose range Photogrammeetry
Close range Photogrammeetrychinmay khadke
 
05 contours seg_matching
05 contours seg_matching05 contours seg_matching
05 contours seg_matchingankit_ppt
 
QR code decoding and Image Preprocessing
QR code decoding and Image Preprocessing QR code decoding and Image Preprocessing
QR code decoding and Image Preprocessing Hasini Weerathunge
 
DTAM: Dense Tracking and Mapping in Real-Time, Robot vision Group
DTAM: Dense Tracking and Mapping in Real-Time, Robot vision GroupDTAM: Dense Tracking and Mapping in Real-Time, Robot vision Group
DTAM: Dense Tracking and Mapping in Real-Time, Robot vision GroupLihang Li
 
Determination of System Geometrical Parameters and Consistency between Scans ...
Determination of System Geometrical Parameters and Consistency between Scans ...Determination of System Geometrical Parameters and Consistency between Scans ...
Determination of System Geometrical Parameters and Consistency between Scans ...David Scaduto
 
Passive stereo vision with deep learning
Passive stereo vision with deep learningPassive stereo vision with deep learning
Passive stereo vision with deep learningYu Huang
 
IGRT: MVCBCT Calibration and Acceptance testing Procedure
IGRT: MVCBCT Calibration and Acceptance testing ProcedureIGRT: MVCBCT Calibration and Acceptance testing Procedure
IGRT: MVCBCT Calibration and Acceptance testing ProcedureMiami Cancer Institute
 
2 d viewing computer graphics
2 d viewing computer graphics2 d viewing computer graphics
2 d viewing computer graphicsKALESHWAR KUMAR
 
Image processing
Image processingImage processing
Image processingkamal330
 
Fake currency detection using knn algorithm.pptx
Fake currency detection using knn algorithm.pptxFake currency detection using knn algorithm.pptx
Fake currency detection using knn algorithm.pptxKajalJaswal3
 
Calibration Issues in FRC: Camera, Projector, Kinematics based Hybrid Approac...
Calibration Issues in FRC: Camera, Projector, Kinematics based Hybrid Approac...Calibration Issues in FRC: Camera, Projector, Kinematics based Hybrid Approac...
Calibration Issues in FRC: Camera, Projector, Kinematics based Hybrid Approac...Joo-Haeng Lee
 
Fisheye Omnidirectional View in Autonomous Driving
Fisheye Omnidirectional View in Autonomous DrivingFisheye Omnidirectional View in Autonomous Driving
Fisheye Omnidirectional View in Autonomous DrivingYu Huang
 
ppt 20BET1024.pptx
ppt 20BET1024.pptxppt 20BET1024.pptx
ppt 20BET1024.pptxManeetBali
 
IAA-LA2-10-01 Spectral and Radiometric Calibration Procedure for a SWIR Hyper...
IAA-LA2-10-01 Spectral and Radiometric Calibration Procedure for a SWIR Hyper...IAA-LA2-10-01 Spectral and Radiometric Calibration Procedure for a SWIR Hyper...
IAA-LA2-10-01 Spectral and Radiometric Calibration Procedure for a SWIR Hyper...Christian Gabriel Gomez
 
various methods for image segmentation
various methods for image segmentationvarious methods for image segmentation
various methods for image segmentationRaveesh Methi
 
Object detection at night
Object detection at nightObject detection at night
Object detection at nightSanjay Crúzé
 

Similar a 426 Lecture5: AR Registration (20)

Close range Photogrammeetry
Close range PhotogrammeetryClose range Photogrammeetry
Close range Photogrammeetry
 
05 contours seg_matching
05 contours seg_matching05 contours seg_matching
05 contours seg_matching
 
QR code decoding and Image Preprocessing
QR code decoding and Image Preprocessing QR code decoding and Image Preprocessing
QR code decoding and Image Preprocessing
 
DTAM: Dense Tracking and Mapping in Real-Time, Robot vision Group
DTAM: Dense Tracking and Mapping in Real-Time, Robot vision GroupDTAM: Dense Tracking and Mapping in Real-Time, Robot vision Group
DTAM: Dense Tracking and Mapping in Real-Time, Robot vision Group
 
Determination of System Geometrical Parameters and Consistency between Scans ...
Determination of System Geometrical Parameters and Consistency between Scans ...Determination of System Geometrical Parameters and Consistency between Scans ...
Determination of System Geometrical Parameters and Consistency between Scans ...
 
thesis
thesisthesis
thesis
 
Passive stereo vision with deep learning
Passive stereo vision with deep learningPassive stereo vision with deep learning
Passive stereo vision with deep learning
 
IGRT: MVCBCT Calibration and Acceptance testing Procedure
IGRT: MVCBCT Calibration and Acceptance testing ProcedureIGRT: MVCBCT Calibration and Acceptance testing Procedure
IGRT: MVCBCT Calibration and Acceptance testing Procedure
 
2 d viewing computer graphics
2 d viewing computer graphics2 d viewing computer graphics
2 d viewing computer graphics
 
Image processing
Image processingImage processing
Image processing
 
Presentation shortstory
Presentation shortstoryPresentation shortstory
Presentation shortstory
 
project_PPT_final
project_PPT_finalproject_PPT_final
project_PPT_final
 
Fake currency detection using knn algorithm.pptx
Fake currency detection using knn algorithm.pptxFake currency detection using knn algorithm.pptx
Fake currency detection using knn algorithm.pptx
 
Calibration Issues in FRC: Camera, Projector, Kinematics based Hybrid Approac...
Calibration Issues in FRC: Camera, Projector, Kinematics based Hybrid Approac...Calibration Issues in FRC: Camera, Projector, Kinematics based Hybrid Approac...
Calibration Issues in FRC: Camera, Projector, Kinematics based Hybrid Approac...
 
Fisheye Omnidirectional View in Autonomous Driving
Fisheye Omnidirectional View in Autonomous DrivingFisheye Omnidirectional View in Autonomous Driving
Fisheye Omnidirectional View in Autonomous Driving
 
ppt 20BET1024.pptx
ppt 20BET1024.pptxppt 20BET1024.pptx
ppt 20BET1024.pptx
 
Robotics Localization
Robotics LocalizationRobotics Localization
Robotics Localization
 
IAA-LA2-10-01 Spectral and Radiometric Calibration Procedure for a SWIR Hyper...
IAA-LA2-10-01 Spectral and Radiometric Calibration Procedure for a SWIR Hyper...IAA-LA2-10-01 Spectral and Radiometric Calibration Procedure for a SWIR Hyper...
IAA-LA2-10-01 Spectral and Radiometric Calibration Procedure for a SWIR Hyper...
 
various methods for image segmentation
various methods for image segmentationvarious methods for image segmentation
various methods for image segmentation
 
Object detection at night
Object detection at nightObject detection at night
Object detection at night
 

Más de Mark Billinghurst

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Future Research Directions for Augmented Reality
Future Research Directions for Augmented RealityFuture Research Directions for Augmented Reality
Future Research Directions for Augmented RealityMark Billinghurst
 
Evaluation Methods for Social XR Experiences
Evaluation Methods for Social XR ExperiencesEvaluation Methods for Social XR Experiences
Evaluation Methods for Social XR ExperiencesMark Billinghurst
 
Empathic Computing: Delivering the Potential of the Metaverse
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the MetaverseMark Billinghurst
 
Empathic Computing: Capturing the Potential of the Metaverse
Empathic Computing: Capturing the Potential of the MetaverseEmpathic Computing: Capturing the Potential of the Metaverse
Empathic Computing: Capturing the Potential of the MetaverseMark Billinghurst
 
Talk to Me: Using Virtual Avatars to Improve Remote Collaboration
Talk to Me: Using Virtual Avatars to Improve Remote CollaborationTalk to Me: Using Virtual Avatars to Improve Remote Collaboration
Talk to Me: Using Virtual Avatars to Improve Remote CollaborationMark Billinghurst
 
Empathic Computing: Designing for the Broader Metaverse
Empathic Computing: Designing for the Broader MetaverseEmpathic Computing: Designing for the Broader Metaverse
Empathic Computing: Designing for the Broader MetaverseMark Billinghurst
 
2022 COMP 4010 Lecture 7: Introduction to VR
2022 COMP 4010 Lecture 7: Introduction to VR2022 COMP 4010 Lecture 7: Introduction to VR
2022 COMP 4010 Lecture 7: Introduction to VRMark Billinghurst
 
2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR Systems2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR SystemsMark Billinghurst
 
Novel Interfaces for AR Systems
Novel Interfaces for AR SystemsNovel Interfaces for AR Systems
Novel Interfaces for AR SystemsMark Billinghurst
 
2022 COMP4010 Lecture5: AR Prototyping
2022 COMP4010 Lecture5: AR Prototyping2022 COMP4010 Lecture5: AR Prototyping
2022 COMP4010 Lecture5: AR PrototypingMark Billinghurst
 
2022 COMP4010 Lecture4: AR Interaction
2022 COMP4010 Lecture4: AR Interaction2022 COMP4010 Lecture4: AR Interaction
2022 COMP4010 Lecture4: AR InteractionMark Billinghurst
 
2022 COMP4010 Lecture3: AR Technology
2022 COMP4010 Lecture3: AR Technology2022 COMP4010 Lecture3: AR Technology
2022 COMP4010 Lecture3: AR TechnologyMark Billinghurst
 
2022 COMP4010 Lecture2: Perception
2022 COMP4010 Lecture2: Perception2022 COMP4010 Lecture2: Perception
2022 COMP4010 Lecture2: PerceptionMark Billinghurst
 
2022 COMP4010 Lecture1: Introduction to XR
2022 COMP4010 Lecture1: Introduction to XR2022 COMP4010 Lecture1: Introduction to XR
2022 COMP4010 Lecture1: Introduction to XRMark Billinghurst
 
Empathic Computing and Collaborative Immersive Analytics
Empathic Computing and Collaborative Immersive AnalyticsEmpathic Computing and Collaborative Immersive Analytics
Empathic Computing and Collaborative Immersive AnalyticsMark Billinghurst
 
Empathic Computing: Developing for the Whole Metaverse
Empathic Computing: Developing for the Whole MetaverseEmpathic Computing: Developing for the Whole Metaverse
Empathic Computing: Developing for the Whole MetaverseMark Billinghurst
 

Más de Mark Billinghurst (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Future Research Directions for Augmented Reality
Future Research Directions for Augmented RealityFuture Research Directions for Augmented Reality
Future Research Directions for Augmented Reality
 
Evaluation Methods for Social XR Experiences
Evaluation Methods for Social XR ExperiencesEvaluation Methods for Social XR Experiences
Evaluation Methods for Social XR Experiences
 
Empathic Computing: Delivering the Potential of the Metaverse
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the Metaverse
 
Empathic Computing: Capturing the Potential of the Metaverse
Empathic Computing: Capturing the Potential of the MetaverseEmpathic Computing: Capturing the Potential of the Metaverse
Empathic Computing: Capturing the Potential of the Metaverse
 
Talk to Me: Using Virtual Avatars to Improve Remote Collaboration
Talk to Me: Using Virtual Avatars to Improve Remote CollaborationTalk to Me: Using Virtual Avatars to Improve Remote Collaboration
Talk to Me: Using Virtual Avatars to Improve Remote Collaboration
 
Empathic Computing: Designing for the Broader Metaverse
Empathic Computing: Designing for the Broader MetaverseEmpathic Computing: Designing for the Broader Metaverse
Empathic Computing: Designing for the Broader Metaverse
 
2022 COMP 4010 Lecture 7: Introduction to VR
2022 COMP 4010 Lecture 7: Introduction to VR2022 COMP 4010 Lecture 7: Introduction to VR
2022 COMP 4010 Lecture 7: Introduction to VR
 
2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR Systems2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR Systems
 
ISS2022 Keynote
ISS2022 KeynoteISS2022 Keynote
ISS2022 Keynote
 
Novel Interfaces for AR Systems
Novel Interfaces for AR SystemsNovel Interfaces for AR Systems
Novel Interfaces for AR Systems
 
2022 COMP4010 Lecture5: AR Prototyping
2022 COMP4010 Lecture5: AR Prototyping2022 COMP4010 Lecture5: AR Prototyping
2022 COMP4010 Lecture5: AR Prototyping
 
2022 COMP4010 Lecture4: AR Interaction
2022 COMP4010 Lecture4: AR Interaction2022 COMP4010 Lecture4: AR Interaction
2022 COMP4010 Lecture4: AR Interaction
 
2022 COMP4010 Lecture3: AR Technology
2022 COMP4010 Lecture3: AR Technology2022 COMP4010 Lecture3: AR Technology
2022 COMP4010 Lecture3: AR Technology
 
2022 COMP4010 Lecture2: Perception
2022 COMP4010 Lecture2: Perception2022 COMP4010 Lecture2: Perception
2022 COMP4010 Lecture2: Perception
 
2022 COMP4010 Lecture1: Introduction to XR
2022 COMP4010 Lecture1: Introduction to XR2022 COMP4010 Lecture1: Introduction to XR
2022 COMP4010 Lecture1: Introduction to XR
 
Empathic Computing and Collaborative Immersive Analytics
Empathic Computing and Collaborative Immersive AnalyticsEmpathic Computing and Collaborative Immersive Analytics
Empathic Computing and Collaborative Immersive Analytics
 
Metaverse Learning
Metaverse LearningMetaverse Learning
Metaverse Learning
 
Empathic Computing: Developing for the Whole Metaverse
Empathic Computing: Developing for the Whole MetaverseEmpathic Computing: Developing for the Whole Metaverse
Empathic Computing: Developing for the Whole Metaverse
 

Último

WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 

Último (20)

WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 

426 Lecture5: AR Registration

  • 1. Mathema'cal  Principles  behind   Registra'on   Adrian  Clark   HIT  Lab  NZ   adrian.clark@hitlabnz.org  
  • 2. Registra'on   •  We  wish  to  calculate  the   transforma'on  from  the   camera  to  the  object   (extrinsic  parameters).  In   order  to  this,  we  must   find  the  transforma'on   from  the  camera  to  the   image  plane  (camera   intrinsics),  and  combine   that  with  the   transforma'on  from   known  points  in  the   object  to  their  loca'ons   in  the  image  plane.  
  • 3. Object  to  Image  Plane   •  The  calcula'on  for  the   point  on  image  plane   (px,py)  is  related  to  the   ray  passing  from  object   (Px,Py,Pz)  through  the   camera    focal  point  and   intersec'ng  the  image   plane  at  focal  length  f,   such  that:  
  • 4. Object  to  Image  Plane   •  The  previous  formulas  can  be   represented  in  matrix  form  as:    (equa'on  is  non-­‐linear  –  s  is  scale  factor)   •  Previous  equa'ons  have  been   assuming  a  perfect  pinhole  aperture.   Instead  we  have  a  lens,  which  has  a   principal  point  (up,  vp)  –  the   transforma'on  from  camera  origin  to   image  plane  origin  –  and  scale  factor   (sx,sy)  pixel  distance  to  real  world  units   (mm).  
  • 6. Camera  Calibra'on   •  Knowing  the  camera  intrinsics  we  can   calculate  the  transforma'on  from  an  object  P   to  a  pixel  (u,v).   •  During  the  process  of  calibra'on  we  calculate   the  intrinsics.   •  This  is  done  by  taking  mul'ple  images  of  a   planar  chessboard  where  each  square  is  a   known  size.  
  • 7. Camera  Calibra'on   •  If  we  assume  the  z  value  of  each  point  on  the   chessboard  to  be  at  0,  then  the  transforma'on  is   found  as:     For  each  point  there  is  a  Homography   mapping  P  to  (u,v):  
  • 8. Camera  Calibra'on   •  Through  some  deriva'on  and  subs'tu'on,   we  find:     With  the  homography  represented  as:    The  matrix:     Mul'plies  with  the  H  vector  to:  
  • 9. Camera  Calibra'on   •  With  at  least  four  pairs  of  point   correspondences,  we  can  solve:    using  Singular  Value  Decomposi'on  for  total  least   square  minimiza'on.     From  the  homography  of  these  four  points,  the  values   of  (u,v),  s,  (sx,sy)  can  be  es'mated  with  a  bit  more   maths.    (Zhang,  Z.:  2000,  A  flexible  new  technique  for  camera   calibra'on,  IEEE  Transac'ons  on  Paern  Analysis  and   Machine  Intelligence  22,  1330–1334.)  
  • 10. Camera  Calibra'on   •  Once  we  have  the  camera  calibra'on,  we   can  go  ahead  and  compute  the  extrinsic   parameters  (transforma'on)  as:     Now  that  we  know  the  complete  transforma'on,  we   can  op'mise  our  intrinsic  parameters  using  the   Levenberg-­‐Marquardt  Algorithm  on:     We  can  also  calculate  radial  distor'ons  of  the  lens  and   remove  them  if  we  feel  so  inclined,  and  further   op'mise.  
  • 12. Camera  Calibra'on   •  Camera  Parameters   1.  Perspec've  Projec'on  Matrix   2.  Image  Distor'on  Parameters   •  Two  camera  calibra'on  methods   1.  Accurate  2  step  method   2.  Easy  1  step  method  
  • 13. Easy  1  step  method:    'calib_camera2.exe'   •  Finds  all  camera  parameters  including  distor'on   and  perspec've  projec'on  matrix.   •  Doesn’t  require  careful  setup.   •  Accuracy  is  good  enough  for  image  overlay.     (Not  good  enough  for  3D  measurement.)  
  • 14. Using  'calib_dist2.exe'   Selecting dots with mouse Getting distortion parameters by automatic line-fitting • Take pattern pictures as large as possible. • Slant in various directions with big angle. • 4 times or more
  • 15. Accurate  2  step  method   •  Using  dot  paern  and  grid  paern   •  2  step  method   –  1)  Gedng  distor'on  parameters  –  calib_dist.exe   –  2)  Gedng  perspec've  projec'on  parameters  
  • 16. Step2:  Gedng  perspec've  projec'on  matrix    'calib_cparam.exe'   Manual line-fitting
  • 18. Scaling  Parameter  for  Size  Adjustment  
  • 19. Image  Distor'on  Parameters   •  Rela'onships  between  Ideal  and  Observed   Screen  Coordinates  
  • 20. Implementa'on  of  Image  Distor'on   parameters  
  • 22. Registra'on   •  We  now  have  a  reliable  model  of  the  cameras   intrinsic  parameters,  and  have  removed  any  radial   distor'on.  Now  it’s  just  a  maer  of  learning  some   points  in  a  marker,  and  then  searching  for  them  in   each  frame,  calcula'ng  the  extrinsic  parameters  as:  
  • 25. Ques'on:  Gedng  TCM   •  Known  Parameters   –  Camera  Parameter:  C   –  Image  Distor'on  Parameters:  x0,  y0,  f,  s     –  Coordinates  of  4  Ver'ces  in  Marker  Coordinates  Frame   •  Obtained  Parameters  by  Image  Processing   –  Coordinates  of  4  Ver'ces  in  Observed  Screen  Coordinates   •  Goal   –  Gedng  Transforma'on  Matrix  from  Marker  to  Camera  
  • 26. Image  Processing   •  Thresholding   •  Rectangle  extrac'on   •  Es'ma'on  of  vertex  posi'ons   •  Normalized  template  matching     Iden'fica'on  of  markers  
  • 27. Rectangle  Extrac'on     1.  Thresholding,  Labeling,     Feature  Extrac'on  (area,  posi'on)   2.  Contour  Extrac'on   3.  Four  straight  lines  fidng    Lile  fidng  error  =>  Rectangle.   This method is very simple and very fast.
  • 28. How  to  get  TCM  
  • 29. Es'ma'on  of  Transforma'on  Matrix   1st  step:  Geometrical  calcula'on     –  Rota'on  &  Transla'on   2nd  step:  Op'miza'on   –  Itera've  processing   •  Op'miza'on  of  Rota'on  Component   •  Op'miza'on  of  Transla'on  Component  
  • 30. Op'miza'on  of  Rota'on  Component •  Observed  posi'ons  of  4  ver'ces   •  Calculated  posi'ons  of  4  ver'ces   –  Posi'ons  in  marker  coordinates              Es'mated  transforma'on  matrix  &  Perspec've  matrix   –  Ideal  screen  coordinates              Distor'on  func'on   –  Posi'ons  in  observed  screen  coordinates   •  Minimizing  distance  between  observed  and  calculated  posi'ons   by  changing  rota'on  component  in  es'mated  transforma'on   matrix  
  • 31. Search  Tcm  by  Minimizing  Error   •  Op'miza'on   –  Itera've  process  
  • 32. (2)  Use  of  es'ma'on  accuracy   arGetTransMat()  minimizes  the  'err'.   It  returns  this  minimized  'err'.   If  'err'  is  s'll  big,      Miss-­‐detected  marker.      Use  of  camera  parameters  by  bad  calibra'on.  
  • 33. How  to  set  the  ini'al  condi'on  for   Op'miza'on  Process   •  Geometrical  calcula'on  based  on  4  ver'ces  coordinates   –  Independent  in  each  image  frame:  Good  feature.   –  Unstable  result  (Jier  occurs.):  Bad  feature   •  Use  of  informa'on  from  previous  image  frame   –  Needs  previous  frame  informa'on.     –  Cannot  use  for  the    first  frame.   –  Stable  results.  (This  does  not  mean  accurate  results.)   •  ARToolKit  supports  both  
  • 34. Two  types  of  ini'al  condi'on   1.  Geometrical  calcula'on  based  on  4  ver'ces     in  screen  coordinates   double arGetTransMat( ARMarkerInfo *marker_info, double center[2], double width, double conv[3][4] ); 2.  Use  of  informa'on  from  previous  image  frame   double arGetTransMatCont( ARMarkerInfo *marker_info, double prev_conv[3][4], double center[2], double width, double conv[3][4] );
  • 35. Use  of  Inside  paern   •  Why?   –  Square  has  symmetries  in  90  degree  rota'on   •  4  templates  are  needed  for  each  paern   –  Enable  the  use  of  mul'ple  markers   •  How?   –  Template  matching   –  Normalizing  the  shape  of  inside  paern   –  Normalized  correla'on    
  • 36.      Accuracy  vs.  Speed  on  paern   iden'fica'on   •  Paern  normaliza'on  takes  much  'me.   •  This  is  a  problem  when  using  many  markers.   •  Normaliza'on  process.   Normalization Resolution convert
  • 37. Paern  Normaliza'on   Gedng  projec'on  parameter  from  4  ver'ces  posi'on  
  • 39.   In  'config.h'   –  #define      AR_PATT_SAMPLE_NUM      64   –  #define      AR_PATT_SIZE_X              16     –  #define      AR_PATT_SIZE_Y              16     Identification Accuracy Speed Large size Good Slow Small size Bad Fast
  • 41. Natural  Feature  Registra'on   •  There  are  three  steps  to  natural  feature   registra'on:  Find  reliable  points,  describe   points  uniquely,  match  points.   •  There  are  heaps  of  exis'ng  natural  feature   registra'on  algorithms  (SIFT,  SURF,  GLOH,   Ferns…)  with  their  own  intricacies,  so  we  will   just  look  at  a  high  level  approach  
  • 42. How  NFR  Works   1.  Find  feature  points  in  the  image.   2.  In  order  to  differen'ate  each  feature  point,  create   a  descriptor  of  a  local  window  using  a  func'on.   3.  Repeat  1  and  2  for  both  the  source,  or  “marker”   image,  as  well  as  the  current  frame.   4.  Compare  all  features  in  marker  to  all  features  in   current  frame  to  find  closest  matches.   5.  Use  matches  to  calculate  transforma'on  
  • 43. Feature  Detec'on   •  Feature  detec'on  involves  finding  areas  of  an   image  which  are  unique  amongst  their   surroundings,  and  can  easily  be  iden'fied   regardless  of  changes  in  viewpoint.   •  Good  feature  candidates  are  corners  and  points.  
  • 44. Point  Detec'on  Example   FAST  Corner  Detector  
  • 45. Feature  Descrip'on   •  A  feature  point  has  0  dimensions,  and  as  such,  there   is  no  way  of  telling  them  apart.   •  To  resolve  this,  a  window  surrounding  the  point  is   transformed  into  a  1  dimensional  array.   •  The  window  is  examined  at  the  scale  the  point  was   found  at,  and  the  transforma'on  needs  to  allow  for   distor'on/deforma'on,  but  s'll  able  to  iden'fy   between  every  feature.  
  • 46. Feature  Descrip'on  Example   Descriptors   Feature  Points   Feature  Windows  
  • 47. Feature  Matching   •  A  marker  is  trained  when  the  features  and   descriptors  present  have  all  been  found.   •  During  run'me,  this  process  is  performed  for  each   frame  of  video.   •  The  descriptors  of  each  features  are  compared   between  the  marker  and  the  current  frame.  If  the   descriptors  of  two  features  are  similar  within  a   threshhold,  they  are  assumed  to  be  a  match.  
  • 49. Registra'on   •  From  here,  we  can  op'onally  run  RANSAC   over  the  homography  calcula'on:   1.  Pick  4  random  points,  find  homography   2.  Test  homography  by  evalua'ng  other  points   3.  If  p-­‐HP<e,  Recompute  homography  with  all  inliers,  else  goto  1   •  From  there  we  just  take  the  homography,   combine  it  with  the  camera  intrinsics  and   get  the  transforma'on  matrix.  
  • 50. Natural  Feature  Registra'on   APPLICATIONS  
  • 51. NFR  Applica'ons   •  Any  applica'on  using  marker  based   registra'on  can  also  be  achieved  using  NFR,   but  there  are  a  number  of  addi'onal   possibili'es.   •  As  NFR  does  not  require  special  markings,   any  exis'ng  media  can  be  used  without   modifica'on,  e.g.  pain'ngs  in  museums,   print  media  adver'sements,  etc  
  • 52. NFR  Applica'ons   •  NFR  is  especially  suited  to  applica'ons  where   there  is  another  “layer”  of  data  relevant  to   an  exis'ng  surface,  e.g.  Three  dimensional   overlays  of  map  data,  “MagicBooks”,   proposed  building  sites,  manufacturing  blue   prints,  etc  
  • 56. Future  Direc'ons  of  Natural   Feature  Registra'on  
  • 57. Mobile  NFR   Mobile  Augmented  Reality  is  becoming  extremely  popular  due   to  the  ubiquitous  nature  of  devices  with  cameras  and  displays.   The  processing  capabili'es  of  these  devices  is  improving,  and   natural  feature  registra'on  is  becoming  increasingly  feasible   with  the  design  of  NFR  algorithms  for  high  performance.   Wagner,  D.;  Reitmayr,  G.;  Mulloni,  A.;  Drummond,  T.;  Schmals'eg,  D.;  ,  "Pose  tracking  from  natural  features  on  mobile  phones,"  Mixed  and   Augmented  Reality,  2008.  ISMAR  2008.  7th  IEEE/ACM  Interna?onal  Symposium  on  ,  vol.,  no.,  pp.125-­‐134,  15-­‐18  Sept.  2008  
  • 58. Non-­‐Rigid  NFR   Using  deforma'on  models,  non-­‐rigid  planar  surfaces  can  be   registered,  and  their  shape  recovered.  Not  only  does  this   improve  registra'on  robustness,  but  also  allows  for  more   realis'c  rendering  of  augmented  content   J.  Pilet,  V.  Lepe't,  and  P.  Fua,  Fast  Non-­‐Rigid  Surface  Detec'on,  Registra'on  and  Realis'c  Augmenta'on,  Interna'onal  Journal  of  Computer  Vision,   Vol.  76,  Nr.  2,  February  2008.   M.  Salzmann,  J.Pilet,  S.Ilic,  P.Fua,  Surface  Deforma'on  Models  for  Non-­‐Rigid  3-­‐-­‐D  Shape  Recovery,  IEEE  Transac'ons  on  Paern  Analysis  and  Machine   Intelligence,  Vol.  29,  Nr.  8,  pp.  1481  -­‐  1487,  August  2007.  
  • 59. Model  Based  Tracking   Using  a  known  three  dimensional  model  in  conjunc'on   with  edge/texture  informa'on,  three  dimensional  objects   can  be  tracked  regardless  of  view  point.  Model  based   tracking  also  improves  robustness  to  self  occlusion.   Reitmayr,  G.;  Drummond,  T.W.;  ,  "Going  out:  robust  model-­‐based  tracking  for  outdoor  augmented  reality,"  Mixed  and  Augmented  Reality,   2006.  ISMAR  2006.  IEEE/ACM  Interna?onal  Symposium  on,  pp.109-­‐118,  22-­‐25  Oct.  2006   L.  Vacched,  V.  Lepe't  and  P.  Fua,  Stable  Real-­‐Time  3D  Tracking  Using  Online  and  Offline  Informa'on,  IEEE  Transac?ons  on  PaGern  Analysis   and  Machine  Intelligence,  Vol.  26,  Nr.  10,  pp.  1385-­‐1391,  2004.  
  • 60. OPIRA:  Op'cal-­‐flow  Perspec've   Invariant  Registra'on  Augmenta'on  
  • 61. What  makes  good  NFR?   •  In  order  for  a  natural  feature  registra'on   algorithm  to  work  well  it  must  be  robust  to   common  image  transforma'ons  and   distor'ons:  
  • 62. Feature  descriptor  robustness   •  Feature  descriptors  are  vulnerable  to   transforma'ons  and  distor'ons,  with  the   excep'on  of  transla'on  and  scale,  which  are   handled  by  modifying  the  descriptor  window   to  match  the  scale  and  posi'on  the  feature   was  detected  at.  
  • 64. OPIRA   •  The  Op'cal-­‐flow  Perspec've  Invariant  Registra'on   Augmenta'on  is  an  algorithm  which  adds   perspec've  invariance  to  exis'ng  registra'on   algorithms  by  tracking  the  object  over   mul'ple  frames  using  op'cal  flow,  and  using   perspec've  correc'on  to  eliminate  the  effect   of  perspec've  distor'ons.   Clark,  A.,  Green,  R.  and  Grant,  R.:  2008,  Perspec've  correc'on  for  improved  visual  registra'on  using  natural   features.,  Image  and  Vision  Compu'ng  New  Zealand,  2008.  IVCNZ  2008.  23rd  Interna'onal  Conference,  pp.   1-­‐6  
  • 65. Effect  of  perspec've  distor'on  
  • 66. OPIRA  Process   •  Once  an  ini'al  frame  of  registra'on  occurs,   all  correct  points  used  for  registra'on  are   tracked  from  frame  t-­‐1  to  t  using  sparse   op'cal  flow.   •  The  transforma'on  is  calculated  for  frame  t   based  on  the  tracked  points  and  their  marker   posi'ons  as  matched  in  frame  t-­‐1  
  • 67. OPIRA  Process  (Cont.)   •  Using  the  inverse  of  the  transforma'on   computed  using  Op'cal  Flow,  the  frame  t  is   warped  to  match  the  posi'on  and   orienta'on  of  the  marker.   •  The  registra'on  algorithm  is  performed  on   the  newly  aligned  frame.  Matches  are  found,   and  the  transforma'on  is  mul'plied  by  the   Op'cal  Flow  transform  to  realign  the   transforma'on  with  the  original  image.  
  • 69. Addi'onal  Benefits   •  OPIRA  is  able  to  add  some  degree  of  scale   and  rota'on  invariance  to  exis'ng   algorithms,  by  transforming  the  object  to   match  it’s  marker  representa'on.   •  Using  the  undistorted  image,  we  can  perform   background  subtrac'on  to  isolate  occluding   objects  for  pixel  scale  occlusion  in   Augmented  Reality.