SlideShare une entreprise Scribd logo
1  sur  89
Télécharger pour lire hors ligne
Geodesic Data Processing




                    www.numerical-tours.com

Gabriel Peyré
CEREMADE, Université Paris-Dauphine
Local vs. Global Processing
     Local Processing             Global Processing
 Differential Computations       Geodesic Computations




     Surface filtering        Front Propagation on Meshes




   Fourier on Meshes             Surface Remeshing
                                                         2
Overview
 • Metrics and Riemannian Surfaces.
 • Geodesic Computation - Iterative Scheme
 • Geodesic Computation - Fast Marching
 • Shape Recognition with Geodesic Statistics
 • Geodesic Meshing
                                                3
Parametric Surfaces
Parameterized surface: u ⇥ R2 ⇤     (u) ⇥ M.

    u1                            ⇥
         u2                       ⇥u1

                                  ⇥
                                  ⇥u2




                                               4
Parametric Surfaces
Parameterized surface: u ⇥ R2 ⇤     (u) ⇥ M.

     u1                           ⇥
          u2                      ⇥u1

                                  ⇥
                                  ⇥u2

Curve in parameter domain: t ⇥ [0, 1] ⇤   (t) ⇥ D.




                                                     4
Parametric Surfaces
Parameterized surface: u ⇥ R2 ⇤      (u) ⇥ M.

     u1                            ⇥
          u2                       ⇥u1
                                                     ¯
                           ¯       ⇥
                                   ⇥u2

Curve in parameter domain: t ⇥ [0, 1] ⇤   (t) ⇥ D.
                            def.
Geometric realization: ¯ (t) = ⇥( (t))    M.




                                                     4
Parametric Surfaces
Parameterized surface: u ⇥ R2 ⇤                              (u) ⇥ M.

     u1                                                  ⇥
          u2                                             ⇥u1
                                                                                       ¯
                                         ¯               ⇥
                                                         ⇥u2

Curve in parameter domain: t ⇥ [0, 1] ⇤                                (t) ⇥ D.
                                          def.
Geometric realization: ¯ (t) = ⇥( (t))                                 M.

For an embedded manifold M                               Rn :              ⇥
                                                                   ⇥    ⇥
      First fundamental form: I =                                     ,   ⇥        .
                                                                   ⇥ui ⇥uj i,j=1,2
Length of a curve
                          1                          1   ⇥
               def.
     L( ) =                   ||¯ (t)||dt =                     (t)I   (t)   (t)dt.
                      0                          0                                     4
Isometric and Conformal
 Surface not homeomorphic to a disk:




M is locally isometric to the plane: I = Id.
 Exemple: M =cylinder.
Isometric and Conformal
 Surface not homeomorphic to a disk:




M is locally isometric to the plane: I = Id.
 Exemple: M =cylinder.
⇥ is conformal: I (u) = (u)Id.
  Exemple: stereographic mapping plane sphere.
Riemannian Manifold
Riemannian manifold: M     Rn (locally)
Riemannian metric: H(x)    Rn  , symmetric, positive definite.
                                n
                                     1⇥
                                def.         T
Length of a curve (t)   M: L( ) =         (t) H( (t)) (t)dt.
                                     0




                                                                6
Riemannian Manifold
 Riemannian manifold: M     Rn (locally)
 Riemannian metric: H(x)    Rn  , symmetric, positive definite.
                                 n
                                      1⇥
                                 def.         T
 Length of a curve (t)   M: L( ) =         (t) H( (t)) (t)dt.
                                      0
  Euclidean space: M = Rn , H(x) = Idn .




W (x)



                                                                 6
Riemannian Manifold
 Riemannian manifold: M      Rn (locally)
 Riemannian metric: H(x)     Rn , symmetric, positive definite.
                                  n
                                      1⇥
                                 def.         T
 Length of a curve (t)   M: L( ) =         (t) H( (t)) (t)dt.
                                       0
  Euclidean space: M = Rn , H(x) = Idn .
  2-D shape: M     R2 , H(x) = Id2 .




W (x)



                                                                 6
Riemannian Manifold
 Riemannian manifold: M      Rn (locally)
 Riemannian metric: H(x)     Rn , symmetric, positive definite.
                                  n
                                      1⇥
                                 def.         T
 Length of a curve (t)   M: L( ) =         (t) H( (t)) (t)dt.
                                          0
  Euclidean space: M = Rn , H(x) = Idn .
  2-D shape: M     R2 , H(x) = Id2 .
  Isotropic metric: H(x) = W (x)2 Idn .




W (x)



                                                                 6
Riemannian Manifold
 Riemannian manifold: M      Rn (locally)
 Riemannian metric: H(x)     Rn , symmetric, positive definite.
                                  n
                                      1⇥
                                 def.         T
 Length of a curve (t)   M: L( ) =         (t) H( (t)) (t)dt.
                                          0
  Euclidean space: M = Rn , H(x) = Idn .
  2-D shape: M     R2 , H(x) = Id2 .
  Isotropic metric: H(x) = W (x)2 Idn .
  Image processing: image I, W (x)2 = ( + || I(x)||)   1
                                                           .




W (x)



                                                                 6
Riemannian Manifold
 Riemannian manifold: M      Rn (locally)
 Riemannian metric: H(x)     Rn , symmetric, positive definite.
                                  n
                                      1⇥
                                 def.         T
 Length of a curve (t)   M: L( ) =         (t) H( (t)) (t)dt.
                                          0
  Euclidean space: M = Rn , H(x) = Idn .
  2-D shape: M     R2 , H(x) = Id2 .
  Isotropic metric: H(x) = W (x)2 Idn .
  Image processing: image I, W (x)2 = ( + || I(x)||)   1
                                                           .
  Parametric surface: H(x) = Ix (1st fundamental form).


W (x)



                                                                 6
Riemannian Manifold
 Riemannian manifold: M      Rn (locally)
 Riemannian metric: H(x)     Rn , symmetric, positive definite.
                                  n
                                      1⇥
                                 def.         T
 Length of a curve (t)   M: L( ) =         (t) H( (t)) (t)dt.
                                          0
  Euclidean space: M = Rn , H(x) = Idn .
  2-D shape: M     R2 , H(x) = Id2 .
  Isotropic metric: H(x) = W (x)2 Idn .
  Image processing: image I, W (x)2 = ( + || I(x)||)   1
                                                           .
  Parametric surface: H(x) = Ix (1st fundamental form).
  DTI imaging: M = [0, 1]3 , H(x)=di usion tensor.

W (x)



                                                                 6
Geodesic Distances
Geodesic distance metric over M       Rn
                 dM (x, y) =          min     L( )
                               (0)=x, (1)=y

Geodesic curve: (t) such that L( ) = dM (x, y).
                                                  def.
Distance map to a starting point x0    M: Ux0 (x) = dM (x0 , x).




                                                                   7
Geodesic Distances
       Geodesic distance metric over M      Rn
                        dM (x, y) =         min      L( )
                                      (0)=x, (1)=y

      Geodesic curve: (t) such that L( ) = dM (x, y).
                                                        def.
      Distance map to a starting point x0    M: Ux0 (x) = dM (x0 , x).
metric
geodesics




            Euclidean                                                    7
Geodesic Distances
       Geodesic distance metric over M      Rn
                        dM (x, y) =         min      L( )
                                      (0)=x, (1)=y

      Geodesic curve: (t) such that L( ) = dM (x, y).
                                                        def.
      Distance map to a starting point x0    M: Ux0 (x) = dM (x0 , x).
metric
geodesics




            Euclidean   Shape                                            7
Geodesic Distances
       Geodesic distance metric over M      Rn
                        dM (x, y) =         min       L( )
                                      (0)=x, (1)=y

      Geodesic curve: (t) such that L( ) = dM (x, y).
                                                          def.
      Distance map to a starting point x0      M: Ux0 (x) = dM (x0 , x).
metric
geodesics




            Euclidean   Shape      Isotropic                               7
Geodesic Distances
       Geodesic distance metric over M      Rn
                        dM (x, y) =         min       L( )
                                      (0)=x, (1)=y

      Geodesic curve: (t) such that L( ) = dM (x, y).
                                                          def.
      Distance map to a starting point x0      M: Ux0 (x) = dM (x0 , x).
metric
geodesics




            Euclidean   Shape      Isotropic      Anisotropic              7
Geodesic Distances
       Geodesic distance metric over M      Rn
                        dM (x, y) =         min       L( )
                                      (0)=x, (1)=y

      Geodesic curve: (t) such that L( ) = dM (x, y).
                                                          def.
      Distance map to a starting point x0      M: Ux0 (x) = dM (x0 , x).
metric
geodesics




            Euclidean   Shape      Isotropic      Anisotropic      Surface 7
Anisotropy and Geodesics
Tensor eigen-decomposition:
                         T                      T
 H(x) = 1 (x)e1 (x)e1 (x) +   2 (x)e2 (x)e2 (x)        with 0 <   1   2,
                          {         H(x)      1}
                                     e2 (x)
                         2 (x)
                                 1
                                 2    x       e1 (x)
                                                       1
 M                                            1 (x)    2




                                                                           8
Anisotropy and Geodesics
Tensor eigen-decomposition:
                         T                       T
 H(x) = 1 (x)e1 (x)e1 (x) +   2 (x)e2 (x)e2 (x)         with 0 <   1   2,
                          {          H(x)      1}
                                      e2 (x)
                          2 (x)
                                  1
                                  2    x       e1 (x)
                                                        1
 M                                             1 (x)    2



Geodesics            tend to follow e1 (x).




                                                                            8
Anisotropy and Geodesics
    Tensor eigen-decomposition:
                             T                            T
     H(x) = 1 (x)e1 (x)e1 (x) +       2 (x)e2 (x)e2 (x)          with 0 <   1          2,
                                {           H(x)        1}
4        ECCV-08 submission ID 1057
                                             e2 (x)
                                2 (x)
                                         1
                                         2    x         e1 (x)
   Figure 2 shows examples of geodesic curves computed from a single starting
                                                       1
point                                              (x)
   MS = {x1 } in the center of the image = [0,11]2 and a set of points on the
                                                       2

boundary of . The geodesics are computed for a metric H(x) whose anisotropy
⇥(x) (defined in equation (2)) is to follow e1 (x).making the Riemannian space
 Geodesics                  tend increasing, thus
progressively closer to the Euclidean space.    ⇥1 (x) ⇥2 (x)
    Local anisotropy of the metric:          (x) =                      [0, 1]
                                                      ⇥1 (x) + ⇥2 (x)




     Image f
      Image f          = .1
                       = .95            = .2
                                        = .7                  = .5
                                                              = .5              = 10
                                                                                =           8
Isotropic Metric Design
Image-based potential: H(x) = W (x)2 Id2 , W (x) = ( + |f (x)   c|)




   Image f         Metric W (x)    Distance Ux0 (x) Geodesic curve (t)




                                                                      9
Isotropic Metric Design
Image-based potential: H(x) = W (x)2 Id2 , W (x) = ( + |f (x)   c|)




   Image f         Metric W (x)    Distance Ux0 (x) Geodesic curve (t)

Gradient-based potential: W (x) = ( + ||    x f ||)




   Image f         Metric W (x)       U{x0 ,x1 }        Geodesics 9
Isotropic Metric Design: Vessels
                   ˜
Remove background: f = G ⇥ f   f,    ⇥vessel width.




f             ˜
              f                       ˜
                          W = ( + max(f , 0))




                                                      10
Isotropic Metric Design: Vessels
                   ˜
Remove background: f = G ⇥ f   f,    ⇥vessel width.




f               ˜
                f                     ˜
                          W = ( + max(f , 0))


3D Volumetric datasets:




                                                      10
Overview
 • Metrics and Riemannian Surfaces.
 • Geodesic Computation - Iterative
   Scheme


 • Geodesic Computation - Fast Marching
 • Shape Recognition with Geodesic Statistics
 • Geodesic Meshing                             11
Eikonal Equation and Viscosity Solution
Distance map:   U (x) = d(x0 , x)

  Theorem: U is the unique viscosity solution of
        || U (x)||H(x) 1 = 1   with     U (x0 ) = 0
     where ||v||A =   v Av




                                                      12
Eikonal Equation and Viscosity Solution
Distance map:        U (x) = d(x0 , x)

   Theorem: U is the unique viscosity solution of
         || U (x)||H(x) 1 = 1   with     U (x0 ) = 0
      where ||v||A =       v Av

Geodesic curve     between x1 and x0 solves
                                                      (0) = x1
      (t) =      ⇥t H( (t))   1
                                  Ux0 ( (t))   with
                                                      t >0




                                                                 12
Eikonal Equation and Viscosity Solution
Distance map:        U (x) = d(x0 , x)

    Theorem: U is the unique viscosity solution of
          || U (x)||H(x) 1 = 1   with     U (x0 ) = 0
      where ||v||A =       v Av

Geodesic curve     between x1 and x0 solves
                                                           (0) = x1
      (t) =      ⇥t H( (t))   1
                                  Ux0 ( (t))      with
                                                           t >0


Example: isotropic metric H(x) = W (x)2 Idn ,

   || U (x)|| = W (x)         and         (t) =    ⇥t    U ( (t))
                                                                      12
Simplified Proof
                        1
 U (x) = min L( ) =     0
                             H( (t)) (t),       (t) dt
         :x0   x
               ||⇤V (x)||2 1 = H   1
                                       (x)⇤V (x), ⇤V (x)⇥ = 1,
 V solving               H
               V (x0 ) = 0.
Simplified Proof
                            1
    U (x) = min L( ) =      0
                                    H( (t)) (t),         (t) dt
            :x0   x
                  ||⇤V (x)||2 1 = H        1
                                               (x)⇤V (x), ⇤V (x)⇥ = 1,
    V solving               H
                  V (x0 ) = 0.

U     V    Let    : x0   x be any smooth curve.
If V is smooth on :
                                    C.S.
      , ⇤V ⇥ = H 1/2 , H   1/2
                                 ⇤V ⇥   ||H 1/2 ||||H   1/2
                                                              ⇤V ||
                                                        =1
Simplified Proof
                                   1
    U (x) = min L( ) =             0
                                           H( (t)) (t),         (t) dt
               :x0   x
                     ||⇤V (x)||2 1 = H            1
                                                      (x)⇤V (x), ⇤V (x)⇥ = 1,
    V solving                  H
                     V (x0 ) = 0.

U     V       Let    : x0    x be any smooth curve.
If V is smooth on :
                                           C.S.
      , ⇤V ⇥ = H 1/2 , H          1/2
                                        ⇤V ⇥   ||H 1/2 ||||H    1/2
                                                                      ⇤V ||
                                                               =1
          1                 1
L( ) =    0
              ||H 1/2 ||    0
                              ⇥    , ⌅V ⇤ = V ( (1))           V ( (0)) = V (x)
                                                                =0
      =        U (x) = min L( )            V (x)
Simplified Proof (cont.)
U   V   Let x be arbitrary.
        Define:      (t) = H   1
                                  ( (t)) V ( (t))
                    (0) = x
                                            x


                                                    x0
Simplified Proof (cont.)
U     V     Let x be arbitrary.
            Define:      (t) = H    1
                                       ( (t)) V ( (t))
                        (0) = x
                                                 x
If V is smooth on ([0, tmax )), then
    dV ( (t))
              = (t), V ( (t)) =        1
       dt                                                x0
        =      (tmax ) = x0
Simplified Proof (cont.)
 U       V       Let x be arbitrary.
                 Define:      (t) = H       1
                                               ( (t)) V ( (t))
                             (0) = x
                                                         x
 If V is smooth on ([0, tmax )), then
     dV ( (t))
               = (t), V ( (t)) =               1
        dt                                                       x0
         =      (tmax ) = x0
One has:        H ,          = H   V, V = 1
                                   1
                                    =1
                      tmax             tmax
U (x)        L( ) =   0
                               H ,   = 0    H ,
              tmax
     =        0
                      ,   V =      V ( (tmax )) + V ( (0)) = V (x)
                                               =0                  13
                                                                   14
Discretization
                                                               x0
Control (derivative-free) formulation:
                                                B(x)       y
  U (x) = d(x0 , x) is the unique solution of
  U (x) = (U )(x) = min U (y) + d(x, y)                x
                       y B(x)




                                                                15
Discretization
                                                                x0
Control (derivative-free) formulation:
                                                B(x)       y
  U (x) = d(x0 , x) is the unique solution of
  U (x) = (U )(x) = min U (y) + d(x, y)                x
                       y B(x)

Manifold discretization: triangular mesh.
U discretization: linear finite elements.
                                                B(x)
H discretization: constant on each triangle.               xi
                                                                xk

                                                           xj




                                                                     15
Discretization
                                                                             x0
Control (derivative-free) formulation:
                                                      B(x)          y
  U (x) = d(x0 , x) is the unique solution of
  U (x) = (U )(x) = min U (y) + d(x, y)                         x
                         y B(x)

Manifold discretization: triangular mesh.
U discretization: linear finite elements.
                                                      B(x)
H discretization: constant on each triangle.                        xi
                                                                          xk
   Ui = (U )i =      min        Vi,j,k
                   f =(i,j,k)                                       xj
  Vi,j,k = min tUj + (1         t)Uk                 xi
          0 t 1                                                         xk
          +||txj + (1       t)xk         xi ||Hijk
   explicit solution (solving quadratic equation).
                                                               txj + (1      t)xk
   on regular grid: equivalent to upwind FD.              xj                   15
Update Step on a triangulation
 (U )i =     min        Vi,j,k
           f =(i,j,k)

Discrete Eikonal equation:
   Vi,j,k = min tUj + (1         t)Uk +||txj + (1   t)xk        xi ||Hijk
              0 t 1




                                                                 xi
                                                                            xk


                                                           xj
                                                                             16
Update Step on a triangulation
  (U )i =     min        Vi,j,k
            f =(i,j,k)

Discrete Eikonal equation:
    Vi,j,k = min tUj + (1           t)Uk +||txj + (1     t)xk        xi ||Hijk
               0 t 1


Distance function in (i, j, k):       U (x) = x        xi , g + d

                                  Unknowns:       gradient           = Vi,j,k


                                                                      xi
                                                                                 xk


                                                                xj               g
                                                                                     16
Update Step on a triangulation
  (U )i =     min        Vi,j,k
            f =(i,j,k)

Discrete Eikonal equation:
    Vi,j,k = min tUj + (1                t)Uk +||txj + (1     t)xk        xi ||Hijk
               0 t 1


Distance function in (i, j, k):              U (x) = x      xi , g + d

                                     Unknowns:           gradient         = Vi,j,k
Notations:
   Hi,j,k = w2 Id3                (for simplifity)
                                                                           xi
    X = (xj         xi , xk       xi )   R   d 2

                                                                                      xk
     u = (Uj , Uk )          R2
     I = (1, 1)      R2
                                                                     xj               g
     S = (X X)           1
                              R   2 2
                                                                                          16
Update Step on a triangulation (cont.)
Find g = X ,   R2 and d = Vi,j,k .              xi
 X g + dI = u =        = S(u         dI)             xk


                                           xj         0




                                                          17
Update Step on a triangulation (cont.)
Find g = X ,    R2 and d = Vi,j,k .              xi
 X g + dI = u =         = S(u         dI)             xk

Discrete Eikonal equation:
          || U (xi )|| = ||g|| = w          xj         0




                                                           17
Update Step on a triangulation (cont.)
Find g = X ,       R2 and d = Vi,j,k .                 xi
  X g + dI = u =             = S(u       dI)                 xk

Discrete Eikonal equation:
            || U (xi )|| = ||g|| = w              xj             0

Quadratic equation:
                                               a = SI, I
   ||XS(u       dI)||2 = w2                    b = SI, u
            =                                  c = Su, u    w2
                   d   2
                           2bd + c = 0




                                                                     17
Update Step on a triangulation (cont.)
Find g = X ,       R2 and d = Vi,j,k .                           xi
                                                        0
  X g + dI = u =             = S(u       dI)      1                       xk

Discrete Eikonal equation:
            || U (xi )|| = ||g|| = w                        xj             0

Quadratic equation:
                                                       a = SI, I
   ||XS(u       dI)||2 = w2                            b = SI, u
            =                                          c = Su, u      w2
                   d   2
                           2bd + c = 0
                               b+
Admissible solution:        d=                 = b2    ac
                                 a

                   d if          0                    dj = Uj + Wi ||xi    xj ||
        (ui ) =
                   min(dj , dk ) otherwise.
                                                                               17
Numerical Schemes
Fixed point equation: U = (U )
      is monotone:     U V =                          (U )    (V )

Iterative schemes: U (0) = 0, U (         +1)
                                                 = (U ( ) )    || (U ( ) )   U ( ) ||
     =            U(   +1)
                             U(   )
                                        C<+
         U(   )
                   U    solving       (U ) = U




U(   )




                                                                                        18
Numerical Schemes
Fixed point equation: U = (U )
      is monotone:     U V =                                    (U )   (V )

Iterative schemes: U (0) = 0, U (                 +1)
                                                        = (U ( ) )      || (U ( ) )   U ( ) ||
     =            U(   +1)
                              U(    )
                                              C<+
         U(   )
                   U     solving        (U ) = U
Minimal path extraction:
         ( +1)
                  =    ( )
                             ⇥ H(   ( )
                                          )   1
                                                   U(     ( )
                                                                )
U(   )




                                                                                                 18
Numerical Examples on Meshes




                               19
Discretization Errors
For a mesh with N points: U [N ]           RN solution of (U [N ] ) = U [N ]

Continuous geodesic distance U (x).

Linear interpolation:   ˜
                        U [N ] (x) =
                                                [N ]
                                               Ui      i (x)
                                           i

Uniform convergence:       ˜
                         ||U [N ]   U ||
                                               N   +
                                                   ⇥ 0




                                                                               20
Discretization Errors
For a mesh with N points: U [N ]           RN solution of (U [N ] ) = U [N ]

Continuous geodesic distance U (x).

Linear interpolation:   ˜
                        U [N ] (x) =
                                                [N ]
                                               Ui      i (x)
                                           i

Uniform convergence:       ˜
                         ||U [N ]   U ||
                                               N   +
                                                   ⇥ 0

                                                          1
Numerical evaluation:                                              |UiN   U (xi )|2
                                                          N    i




                                                                                  20
Overview
 • Metrics and Riemannian Surfaces.
 • Geodesic Computation - Iterative Scheme
 • Geodesic Computation - Fast Marching
 • Shape Recognition with Geodesic Statistics
 • Geodesic Meshing
                                                21
Causal Updates
Causality condition:   j   i,   (U )i   Uj
   The value of Ui depends on {Uj }j with Uj     Ui .
   Compute (U )i using an optimal ordering.
   Front propagation, O(N log(N )) operations.




                                                        22
Causal Updates
Causality condition:       j     i,   (U )i   Uj                  xi,j+1
   The value of Ui depends on {Uj }j with Uj               Ui .
   Compute (U )i using an optimal ordering.                       xi,j xi+1,j
   Front propagation, O(N log(N )) operations.

Isotropic H(x) = W (x)2 Id, square grid.
    u = (U )i is the solution of
         max(u    Ui   1,j , u   Ui+1,j , 0)2 +
         max(u    Ui,j   1, u     Ui,j+1 , 0)2 = h2 Wi,j
                                                     2


    (upwind derivatives)




                                                                           22
Causal Updates
Causality condition:       j     i,   (U )i   Uj                       xi,j+1
   The value of Ui depends on {Uj }j with Uj               Ui .
   Compute (U )i using an optimal ordering.                            xi,j xi+1,j
   Front propagation, O(N log(N )) operations.

Isotropic H(x) = W (x)2 Id, square grid.
    u = (U )i is the solution of                                        Good
         max(u    Ui   1,j , u   Ui+1,j , 0)2 +
         max(u    Ui,j   1, u     Ui,j+1 , 0)2 = h2 Wi,j
                                                     2
                                                                  xi    Bad
                                                                                xk
    (upwind derivatives)
                                                     xj
 Surface (first fundamental form)
    triangulation with no obtuse angles.
                                                     Bad               Good     22
Front Propagation
 Front Ft , Ft = {i  Ui             t}

                Ft

                        x0




State Si             {Computed, F ront, F ar}
Algorithm: Far               Front   Computed.



               1) Select front point with minimum Ui
   Iteration




               2) Move from Front to Computed .
               3) Update Uj = (U )j for neighbors and
                                                        23
Fast Marching on an Image




                            24
Fast Marching on Shapes and Surfaces




                                       25
Volumetric Datasets




                      26
Propagation in 3D




                    27
Overview
 • Metrics and Riemannian Surfaces.
 • Geodesic Computation - Iterative Scheme
 • Geodesic Computation - Fast Marching
 • Shape Recognition with Geodesic
   Statistics


 • Geodesic Meshing                          28
Bending Invariant Recognition
 Shape articulations:




[Zoopraxiscope, 1876]




                                29
Bending Invariant Recognition
 Shape articulations:




[Zoopraxiscope, 1876]

 Surface bendings:
            ˜
            x1


               ˜
               x2
      M
   [Elad, Kimmel, 2003].   [Bronstein et al., 2005].

                                                       29
2D Shapes
      2D shape: connected, closed compact set S     R2 .
             Piecewise-smooth boundary S.

      Geodesic distance in S for uniform metric:                 1
                    def.                              def.
          dS (x, y) = min L( )         where     L( ) =              | (t)|dt,
                       ⇥P(x,y)                               0
Shape S
Geodesics




                                                                                 30
Distribution of Geodesic Distances
Distribution of distances          80

                                   60




  to a point x: {dM (x, y)}y
                                   40


                               M   20

                                    0




                                   80
                                   60
                                   40
                                   20
                                    0




                                   80
                                   60
                                   40
                                   20
                                    0




                                        31
Distribution of Geodesic Distances
Distribution of distances                  80

                                           60




    to a point x: {dM (x, y)}y
                                           40


                                 M         20

                                            0




                                           80
                                           60




Extract a statistical measure
                                           40
                                           20
                                            0




      a0 (x) = min dM (x, y).
                                           80
                                           60
                                           40

                y                          20
                                            0




      a1 (x) = median dM (x, y).
                    y
     a2 (x) = max dM (x, y).
                y


x               x                x




      Min               Median       Max        31
Distribution of Geodesic Distances
Distribution of distances                       80

                                                60




    to a point x: {dM (x, y)}y
                                                40


                                 M              20

                                                 0




                                                80
                                                60




Extract a statistical measure
                                                40
                                                20
                                                 0




      a0 (x) = min dM (x, y).
                                                80
                                                60
                                                40

                y                               20
                                                 0




      a1 (x) = median dM (x, y).
                    y
     a2 (x) = max dM (x, y).               a2
                y
                                                          a(x)
x               x                x


                                                     a1
                                                                 a0
      Min               Median       Max                         31
Benging Invariant 2D Database

          [Ling & Jacobs, PAMI 2007]

                                   Our method
                                  (min,med,max)
                                                                            100                              1D
                 100
                                                                                                             4D




                                                        Average Precision
                  80
                                     max only                                80
Average Recall




                  60                [Ion et al. 2008]                        60

                  40                                                         40

                  20                             1D                          20
                                                 4D
                   0                                                          0
                    0       10     20       30   40                            0   20   40     60      80   100
                                 Image Rank                                             Average Recall



                        State of the art retrieval rates on this database.
                                                                                                                  32
Perspective: Textured Shapes
Take into account a texture f (x) on the shape.
Compute a saliency field W (x), e.g. edge detector.
                                                   1
                                        def.
Compute weighted curve lengths: L( ) =                 W ( (t))|| (t)||dt.
                                               0




                                                                Euclidean
    Image f (x)




                                                                Weighted
      || f (x)||              Max              Min                           33
Overview
 • Metrics and Riemannian Surfaces.
 • Geodesic Computation - Iterative Scheme
 • Geodesic Computation - Fast Marching
 • Shape Recognition with Geodesic Statistics
 • Geodesic Meshing
                                                34
Meshing Images, Shapes and Surfaces
                        Vertices V = {vi }M .
Triangulation (V, F):                     i=1
                        Faces F    {1, . . . , M }3 .
                                    M

Image approximation: fM =                 m ⇥m
                                   m=1
         = argmin ||f          µm ⇥m ||
                µ
                           m
   ⇥m (vi ) =   m
                i   is a ne on each face of F.




                                                        35
Meshing Images, Shapes and Surfaces
                        Vertices V = {vi }M .
Triangulation (V, F):                     i=1
                        Faces F    {1, . . . , M }3 .
                                    M

Image approximation: fM =                 m ⇥m
                                   m=1
         = argmin ||f          µm ⇥m ||
                µ
                           m
   ⇥m (vi ) =   m
                i   is a ne on each face of F.

 There exists (V, F) such that ||f          fM ||       Cf M   2

 Optimal (V, F): NP-hard.




                                                                   35
Meshing Images, Shapes and Surfaces
                        Vertices V = {vi }M .
Triangulation (V, F):                     i=1
                        Faces F    {1, . . . , M }3 .
                                    M

Image approximation: fM =                 m ⇥m
                                   m=1
         = argmin ||f          µm ⇥m ||
                µ
                           m
   ⇥m (vi ) =   m
                i   is a ne on each face of F.

 There exists (V, F) such that ||f          fM ||       Cf M   2

 Optimal (V, F): NP-hard.

Domain meshing:
    Conforming to complicated boundary.
    Capturing PDE solutions:
    Boundary layers, chocs . . .
                                                                   35
Riemannian Sizing Field
Sampling {xi }i    I   of a manifold.

Distance conforming:
    ⇤ xi ⇥ xj , d(xi , xj )                                        e1 (x)
                                                               1
                                                       1 (x)   2             e2 (x)
Triangulation conforming:                                          x
                                                   ⇥
   =( xi ⇤ xj ⇤ xk ) ⇥ x  ||x      x ||T (x   )                            2 (x)
                                                                                    1
                                                                                    2




 Building triangulation
           ⇥
   Ellipsoid packing
           ⇥
 Global integration of
   local sizing field
                                                                                36
Geodesic Sampling
Sampling {xi }i   I   of a manifold.




                                       Metric   Sampling
Geodesic Sampling
Sampling {xi }i   I   of a manifold.
Farthest point algorithm:        [Peyr´, Cohen, 2006]
                                      e
    xk+1 = argmax min d(xi , x)
                  x      0 i k

                                                        Metric   Sampling
Geodesic Sampling
Sampling {xi }i   I   of a manifold.
Farthest point algorithm:        [Peyr´, Cohen, 2006]
                                      e
    xk+1 = argmax min d(xi , x)
                  x      0 i k

Geodesic Voronoi:                                       Metric    Sampling
    Ci = {x  ⇥ j = i, d(xi , x)    d(xj , x)}




                                                        Voronoi
Geodesic Sampling
Sampling {xi }i   I   of a manifold.
Farthest point algorithm:        [Peyr´, Cohen, 2006]
                                      e
    xk+1 = argmax min d(xi , x)
                  x      0 i k

Geodesic Voronoi:                                           Metric          Sampling
    Ci = {x  ⇥ j = i, d(xi , x)    d(xj , x)}

Geodesic Delaunay connectivity:
   (xi     xj ) ⇥ (Ci ⇧ Cj ⇤= ⌅)

     geodesic Delaunay refinement.                           Voronoi        Delaunay
    distance conforming.           triangulation conforming if the metric is “gradded”.
Adaptive Meshing




                   # samples
Adaptive Meshing




                                 # samples




Texture       Metric   Uniform    Adaptive
Approximation Driven Meshing
Linear approximation fM with M linear elements.
Minimize approximation error ||f   fM ||Lp .




                                                  Isotropic
Approximation Driven Meshing
Linear approximation fM with M linear elements.
Minimize approximation error ||f   fM ||Lp .
L   optimal metrics for smooth functions:
    Images: T (x) = |H(x)| (Hessian)
    Surfaces: T (x) = |C(x)| (curvature tensor)
                                                  Isotropic   Anisotropic
Approximation Driven Meshing
Linear approximation fM with M linear elements.
Minimize approximation error ||f      fM ||Lp .
L   optimal metrics for smooth functions:
    Images: T (x) = |H(x)| (Hessian)
    Surfaces: T (x) = |C(x)| (curvature tensor)
                                                         Isotropic   Anisotropic
For edges and textures:        use structure tensor.
                               [Peyr´ et al, 2008]
                                    e




                Anisotropic triangulation     JPEG2000
Approximation Driven Meshing
Linear approximation fM with M linear elements.
Minimize approximation error ||f      fM ||Lp .
L   optimal metrics for smooth functions:
    Images: T (x) = |H(x)| (Hessian)
    Surfaces: T (x) = |C(x)| (curvature tensor)
                                                         Isotropic   Anisotropic
For edges and textures:        use structure tensor.
                               [Peyr´ et al, 2008]
                                    e




                Anisotropic triangulation     JPEG2000


  extension to handle
boundary approximation.
 [Peyr´ et al, 2008]
       e
Conclusion
Riemannian tensors encode geometric features.
    Size, orientation, anisotropy.

Computing geodesic distance:
          iterative vs. propagation.




                                                40
Conclusion
Riemannian tensors encode geometric features.
    Size, orientation, anisotropy.

Computing geodesic distance:
          iterative vs. propagation.

Using geodesic curves: image segmentation.


Using geodesic distance: image and surface meshing




                                                     40

Contenu connexe

Similaire à Mesh Processing Course : Geodesics

Geodesic Method in Computer Vision and Graphics
Geodesic Method in Computer Vision and GraphicsGeodesic Method in Computer Vision and Graphics
Geodesic Method in Computer Vision and GraphicsGabriel Peyré
 
Reflect tsukuba524
Reflect tsukuba524Reflect tsukuba524
Reflect tsukuba524kazuhase2011
 
Mesh Processing Course : Active Contours
Mesh Processing Course : Active ContoursMesh Processing Course : Active Contours
Mesh Processing Course : Active ContoursGabriel Peyré
 
Mesh Processing Course : Geodesic Sampling
Mesh Processing Course : Geodesic SamplingMesh Processing Course : Geodesic Sampling
Mesh Processing Course : Geodesic SamplingGabriel Peyré
 
Fractional Calculus
Fractional CalculusFractional Calculus
Fractional CalculusVRRITC
 
Signal Processing Course : Orthogonal Bases
Signal Processing Course : Orthogonal BasesSignal Processing Course : Orthogonal Bases
Signal Processing Course : Orthogonal BasesGabriel Peyré
 
Proximal Splitting and Optimal Transport
Proximal Splitting and Optimal TransportProximal Splitting and Optimal Transport
Proximal Splitting and Optimal TransportGabriel Peyré
 
Color Img at Prisma Network meeting 2009
Color Img at Prisma Network meeting 2009Color Img at Prisma Network meeting 2009
Color Img at Prisma Network meeting 2009Juan Luis Nieves
 
Case Study (All)
Case Study (All)Case Study (All)
Case Study (All)gudeyi
 
New Mathematical Tools for the Financial Sector
New Mathematical Tools for the Financial SectorNew Mathematical Tools for the Financial Sector
New Mathematical Tools for the Financial SectorSSA KPI
 
Gibbs flow transport for Bayesian inference
Gibbs flow transport for Bayesian inferenceGibbs flow transport for Bayesian inference
Gibbs flow transport for Bayesian inferenceJeremyHeng10
 
Lesson 7: Vector-valued functions
Lesson 7: Vector-valued functionsLesson 7: Vector-valued functions
Lesson 7: Vector-valued functionsMatthew Leingang
 
Differential Geometry
Differential GeometryDifferential Geometry
Differential Geometrylapuyade
 
A T(1)-type theorem for entangled multilinear Calderon-Zygmund operators
A T(1)-type theorem for entangled multilinear Calderon-Zygmund operatorsA T(1)-type theorem for entangled multilinear Calderon-Zygmund operators
A T(1)-type theorem for entangled multilinear Calderon-Zygmund operatorsVjekoslavKovac1
 
Markov Tutorial CDC Shanghai 2009
Markov Tutorial CDC Shanghai 2009Markov Tutorial CDC Shanghai 2009
Markov Tutorial CDC Shanghai 2009Sean Meyn
 
Signal Processing Course : Sparse Regularization of Inverse Problems
Signal Processing Course : Sparse Regularization of Inverse ProblemsSignal Processing Course : Sparse Regularization of Inverse Problems
Signal Processing Course : Sparse Regularization of Inverse ProblemsGabriel Peyré
 
The convenience yield implied by quadratic volatility smiles presentation [...
The convenience yield implied by quadratic volatility smiles   presentation [...The convenience yield implied by quadratic volatility smiles   presentation [...
The convenience yield implied by quadratic volatility smiles presentation [...yigalbt
 
Research Inventy : International Journal of Engineering and Science
Research Inventy : International Journal of Engineering and ScienceResearch Inventy : International Journal of Engineering and Science
Research Inventy : International Journal of Engineering and Scienceresearchinventy
 

Similaire à Mesh Processing Course : Geodesics (20)

Geodesic Method in Computer Vision and Graphics
Geodesic Method in Computer Vision and GraphicsGeodesic Method in Computer Vision and Graphics
Geodesic Method in Computer Vision and Graphics
 
Reflect tsukuba524
Reflect tsukuba524Reflect tsukuba524
Reflect tsukuba524
 
Mesh Processing Course : Active Contours
Mesh Processing Course : Active ContoursMesh Processing Course : Active Contours
Mesh Processing Course : Active Contours
 
Mesh Processing Course : Geodesic Sampling
Mesh Processing Course : Geodesic SamplingMesh Processing Course : Geodesic Sampling
Mesh Processing Course : Geodesic Sampling
 
Fractional Calculus
Fractional CalculusFractional Calculus
Fractional Calculus
 
Signal Processing Course : Orthogonal Bases
Signal Processing Course : Orthogonal BasesSignal Processing Course : Orthogonal Bases
Signal Processing Course : Orthogonal Bases
 
cswiercz-general-presentation
cswiercz-general-presentationcswiercz-general-presentation
cswiercz-general-presentation
 
Proximal Splitting and Optimal Transport
Proximal Splitting and Optimal TransportProximal Splitting and Optimal Transport
Proximal Splitting and Optimal Transport
 
Color Img at Prisma Network meeting 2009
Color Img at Prisma Network meeting 2009Color Img at Prisma Network meeting 2009
Color Img at Prisma Network meeting 2009
 
Case Study (All)
Case Study (All)Case Study (All)
Case Study (All)
 
New Mathematical Tools for the Financial Sector
New Mathematical Tools for the Financial SectorNew Mathematical Tools for the Financial Sector
New Mathematical Tools for the Financial Sector
 
Gibbs flow transport for Bayesian inference
Gibbs flow transport for Bayesian inferenceGibbs flow transport for Bayesian inference
Gibbs flow transport for Bayesian inference
 
Test
TestTest
Test
 
Lesson 7: Vector-valued functions
Lesson 7: Vector-valued functionsLesson 7: Vector-valued functions
Lesson 7: Vector-valued functions
 
Differential Geometry
Differential GeometryDifferential Geometry
Differential Geometry
 
A T(1)-type theorem for entangled multilinear Calderon-Zygmund operators
A T(1)-type theorem for entangled multilinear Calderon-Zygmund operatorsA T(1)-type theorem for entangled multilinear Calderon-Zygmund operators
A T(1)-type theorem for entangled multilinear Calderon-Zygmund operators
 
Markov Tutorial CDC Shanghai 2009
Markov Tutorial CDC Shanghai 2009Markov Tutorial CDC Shanghai 2009
Markov Tutorial CDC Shanghai 2009
 
Signal Processing Course : Sparse Regularization of Inverse Problems
Signal Processing Course : Sparse Regularization of Inverse ProblemsSignal Processing Course : Sparse Regularization of Inverse Problems
Signal Processing Course : Sparse Regularization of Inverse Problems
 
The convenience yield implied by quadratic volatility smiles presentation [...
The convenience yield implied by quadratic volatility smiles   presentation [...The convenience yield implied by quadratic volatility smiles   presentation [...
The convenience yield implied by quadratic volatility smiles presentation [...
 
Research Inventy : International Journal of Engineering and Science
Research Inventy : International Journal of Engineering and ScienceResearch Inventy : International Journal of Engineering and Science
Research Inventy : International Journal of Engineering and Science
 

Plus de Gabriel Peyré

Low Complexity Regularization of Inverse Problems - Course #3 Proximal Splitt...
Low Complexity Regularization of Inverse Problems - Course #3 Proximal Splitt...Low Complexity Regularization of Inverse Problems - Course #3 Proximal Splitt...
Low Complexity Regularization of Inverse Problems - Course #3 Proximal Splitt...Gabriel Peyré
 
Low Complexity Regularization of Inverse Problems - Course #2 Recovery Guaran...
Low Complexity Regularization of Inverse Problems - Course #2 Recovery Guaran...Low Complexity Regularization of Inverse Problems - Course #2 Recovery Guaran...
Low Complexity Regularization of Inverse Problems - Course #2 Recovery Guaran...Gabriel Peyré
 
Low Complexity Regularization of Inverse Problems - Course #1 Inverse Problems
Low Complexity Regularization of Inverse Problems - Course #1 Inverse ProblemsLow Complexity Regularization of Inverse Problems - Course #1 Inverse Problems
Low Complexity Regularization of Inverse Problems - Course #1 Inverse ProblemsGabriel Peyré
 
Low Complexity Regularization of Inverse Problems
Low Complexity Regularization of Inverse ProblemsLow Complexity Regularization of Inverse Problems
Low Complexity Regularization of Inverse ProblemsGabriel Peyré
 
Model Selection with Piecewise Regular Gauges
Model Selection with Piecewise Regular GaugesModel Selection with Piecewise Regular Gauges
Model Selection with Piecewise Regular GaugesGabriel Peyré
 
Signal Processing Course : Inverse Problems Regularization
Signal Processing Course : Inverse Problems RegularizationSignal Processing Course : Inverse Problems Regularization
Signal Processing Course : Inverse Problems RegularizationGabriel Peyré
 
Learning Sparse Representation
Learning Sparse RepresentationLearning Sparse Representation
Learning Sparse RepresentationGabriel Peyré
 
Adaptive Signal and Image Processing
Adaptive Signal and Image ProcessingAdaptive Signal and Image Processing
Adaptive Signal and Image ProcessingGabriel Peyré
 
Mesh Processing Course : Mesh Parameterization
Mesh Processing Course : Mesh ParameterizationMesh Processing Course : Mesh Parameterization
Mesh Processing Course : Mesh ParameterizationGabriel Peyré
 
Mesh Processing Course : Multiresolution
Mesh Processing Course : MultiresolutionMesh Processing Course : Multiresolution
Mesh Processing Course : MultiresolutionGabriel Peyré
 
Mesh Processing Course : Introduction
Mesh Processing Course : IntroductionMesh Processing Course : Introduction
Mesh Processing Course : IntroductionGabriel Peyré
 
Mesh Processing Course : Differential Calculus
Mesh Processing Course : Differential CalculusMesh Processing Course : Differential Calculus
Mesh Processing Course : Differential CalculusGabriel Peyré
 
Signal Processing Course : Theory for Sparse Recovery
Signal Processing Course : Theory for Sparse RecoverySignal Processing Course : Theory for Sparse Recovery
Signal Processing Course : Theory for Sparse RecoveryGabriel Peyré
 
Signal Processing Course : Presentation of the Course
Signal Processing Course : Presentation of the CourseSignal Processing Course : Presentation of the Course
Signal Processing Course : Presentation of the CourseGabriel Peyré
 
Signal Processing Course : Fourier
Signal Processing Course : FourierSignal Processing Course : Fourier
Signal Processing Course : FourierGabriel Peyré
 
Signal Processing Course : Denoising
Signal Processing Course : DenoisingSignal Processing Course : Denoising
Signal Processing Course : DenoisingGabriel Peyré
 
Signal Processing Course : Convex Optimization
Signal Processing Course : Convex OptimizationSignal Processing Course : Convex Optimization
Signal Processing Course : Convex OptimizationGabriel Peyré
 
Signal Processing Course : Compressed Sensing
Signal Processing Course : Compressed SensingSignal Processing Course : Compressed Sensing
Signal Processing Course : Compressed SensingGabriel Peyré
 
Signal Processing Course : Approximation
Signal Processing Course : ApproximationSignal Processing Course : Approximation
Signal Processing Course : ApproximationGabriel Peyré
 
Signal Processing Course : Wavelets
Signal Processing Course : WaveletsSignal Processing Course : Wavelets
Signal Processing Course : WaveletsGabriel Peyré
 

Plus de Gabriel Peyré (20)

Low Complexity Regularization of Inverse Problems - Course #3 Proximal Splitt...
Low Complexity Regularization of Inverse Problems - Course #3 Proximal Splitt...Low Complexity Regularization of Inverse Problems - Course #3 Proximal Splitt...
Low Complexity Regularization of Inverse Problems - Course #3 Proximal Splitt...
 
Low Complexity Regularization of Inverse Problems - Course #2 Recovery Guaran...
Low Complexity Regularization of Inverse Problems - Course #2 Recovery Guaran...Low Complexity Regularization of Inverse Problems - Course #2 Recovery Guaran...
Low Complexity Regularization of Inverse Problems - Course #2 Recovery Guaran...
 
Low Complexity Regularization of Inverse Problems - Course #1 Inverse Problems
Low Complexity Regularization of Inverse Problems - Course #1 Inverse ProblemsLow Complexity Regularization of Inverse Problems - Course #1 Inverse Problems
Low Complexity Regularization of Inverse Problems - Course #1 Inverse Problems
 
Low Complexity Regularization of Inverse Problems
Low Complexity Regularization of Inverse ProblemsLow Complexity Regularization of Inverse Problems
Low Complexity Regularization of Inverse Problems
 
Model Selection with Piecewise Regular Gauges
Model Selection with Piecewise Regular GaugesModel Selection with Piecewise Regular Gauges
Model Selection with Piecewise Regular Gauges
 
Signal Processing Course : Inverse Problems Regularization
Signal Processing Course : Inverse Problems RegularizationSignal Processing Course : Inverse Problems Regularization
Signal Processing Course : Inverse Problems Regularization
 
Learning Sparse Representation
Learning Sparse RepresentationLearning Sparse Representation
Learning Sparse Representation
 
Adaptive Signal and Image Processing
Adaptive Signal and Image ProcessingAdaptive Signal and Image Processing
Adaptive Signal and Image Processing
 
Mesh Processing Course : Mesh Parameterization
Mesh Processing Course : Mesh ParameterizationMesh Processing Course : Mesh Parameterization
Mesh Processing Course : Mesh Parameterization
 
Mesh Processing Course : Multiresolution
Mesh Processing Course : MultiresolutionMesh Processing Course : Multiresolution
Mesh Processing Course : Multiresolution
 
Mesh Processing Course : Introduction
Mesh Processing Course : IntroductionMesh Processing Course : Introduction
Mesh Processing Course : Introduction
 
Mesh Processing Course : Differential Calculus
Mesh Processing Course : Differential CalculusMesh Processing Course : Differential Calculus
Mesh Processing Course : Differential Calculus
 
Signal Processing Course : Theory for Sparse Recovery
Signal Processing Course : Theory for Sparse RecoverySignal Processing Course : Theory for Sparse Recovery
Signal Processing Course : Theory for Sparse Recovery
 
Signal Processing Course : Presentation of the Course
Signal Processing Course : Presentation of the CourseSignal Processing Course : Presentation of the Course
Signal Processing Course : Presentation of the Course
 
Signal Processing Course : Fourier
Signal Processing Course : FourierSignal Processing Course : Fourier
Signal Processing Course : Fourier
 
Signal Processing Course : Denoising
Signal Processing Course : DenoisingSignal Processing Course : Denoising
Signal Processing Course : Denoising
 
Signal Processing Course : Convex Optimization
Signal Processing Course : Convex OptimizationSignal Processing Course : Convex Optimization
Signal Processing Course : Convex Optimization
 
Signal Processing Course : Compressed Sensing
Signal Processing Course : Compressed SensingSignal Processing Course : Compressed Sensing
Signal Processing Course : Compressed Sensing
 
Signal Processing Course : Approximation
Signal Processing Course : ApproximationSignal Processing Course : Approximation
Signal Processing Course : Approximation
 
Signal Processing Course : Wavelets
Signal Processing Course : WaveletsSignal Processing Course : Wavelets
Signal Processing Course : Wavelets
 

Mesh Processing Course : Geodesics

  • 1. Geodesic Data Processing www.numerical-tours.com Gabriel Peyré CEREMADE, Université Paris-Dauphine
  • 2. Local vs. Global Processing Local Processing Global Processing Differential Computations Geodesic Computations Surface filtering Front Propagation on Meshes Fourier on Meshes Surface Remeshing 2
  • 3. Overview • Metrics and Riemannian Surfaces. • Geodesic Computation - Iterative Scheme • Geodesic Computation - Fast Marching • Shape Recognition with Geodesic Statistics • Geodesic Meshing 3
  • 4. Parametric Surfaces Parameterized surface: u ⇥ R2 ⇤ (u) ⇥ M. u1 ⇥ u2 ⇥u1 ⇥ ⇥u2 4
  • 5. Parametric Surfaces Parameterized surface: u ⇥ R2 ⇤ (u) ⇥ M. u1 ⇥ u2 ⇥u1 ⇥ ⇥u2 Curve in parameter domain: t ⇥ [0, 1] ⇤ (t) ⇥ D. 4
  • 6. Parametric Surfaces Parameterized surface: u ⇥ R2 ⇤ (u) ⇥ M. u1 ⇥ u2 ⇥u1 ¯ ¯ ⇥ ⇥u2 Curve in parameter domain: t ⇥ [0, 1] ⇤ (t) ⇥ D. def. Geometric realization: ¯ (t) = ⇥( (t)) M. 4
  • 7. Parametric Surfaces Parameterized surface: u ⇥ R2 ⇤ (u) ⇥ M. u1 ⇥ u2 ⇥u1 ¯ ¯ ⇥ ⇥u2 Curve in parameter domain: t ⇥ [0, 1] ⇤ (t) ⇥ D. def. Geometric realization: ¯ (t) = ⇥( (t)) M. For an embedded manifold M Rn : ⇥ ⇥ ⇥ First fundamental form: I = , ⇥ . ⇥ui ⇥uj i,j=1,2 Length of a curve 1 1 ⇥ def. L( ) = ||¯ (t)||dt = (t)I (t) (t)dt. 0 0 4
  • 8. Isometric and Conformal Surface not homeomorphic to a disk: M is locally isometric to the plane: I = Id. Exemple: M =cylinder.
  • 9. Isometric and Conformal Surface not homeomorphic to a disk: M is locally isometric to the plane: I = Id. Exemple: M =cylinder. ⇥ is conformal: I (u) = (u)Id. Exemple: stereographic mapping plane sphere.
  • 10. Riemannian Manifold Riemannian manifold: M Rn (locally) Riemannian metric: H(x) Rn , symmetric, positive definite. n 1⇥ def. T Length of a curve (t) M: L( ) = (t) H( (t)) (t)dt. 0 6
  • 11. Riemannian Manifold Riemannian manifold: M Rn (locally) Riemannian metric: H(x) Rn , symmetric, positive definite. n 1⇥ def. T Length of a curve (t) M: L( ) = (t) H( (t)) (t)dt. 0 Euclidean space: M = Rn , H(x) = Idn . W (x) 6
  • 12. Riemannian Manifold Riemannian manifold: M Rn (locally) Riemannian metric: H(x) Rn , symmetric, positive definite. n 1⇥ def. T Length of a curve (t) M: L( ) = (t) H( (t)) (t)dt. 0 Euclidean space: M = Rn , H(x) = Idn . 2-D shape: M R2 , H(x) = Id2 . W (x) 6
  • 13. Riemannian Manifold Riemannian manifold: M Rn (locally) Riemannian metric: H(x) Rn , symmetric, positive definite. n 1⇥ def. T Length of a curve (t) M: L( ) = (t) H( (t)) (t)dt. 0 Euclidean space: M = Rn , H(x) = Idn . 2-D shape: M R2 , H(x) = Id2 . Isotropic metric: H(x) = W (x)2 Idn . W (x) 6
  • 14. Riemannian Manifold Riemannian manifold: M Rn (locally) Riemannian metric: H(x) Rn , symmetric, positive definite. n 1⇥ def. T Length of a curve (t) M: L( ) = (t) H( (t)) (t)dt. 0 Euclidean space: M = Rn , H(x) = Idn . 2-D shape: M R2 , H(x) = Id2 . Isotropic metric: H(x) = W (x)2 Idn . Image processing: image I, W (x)2 = ( + || I(x)||) 1 . W (x) 6
  • 15. Riemannian Manifold Riemannian manifold: M Rn (locally) Riemannian metric: H(x) Rn , symmetric, positive definite. n 1⇥ def. T Length of a curve (t) M: L( ) = (t) H( (t)) (t)dt. 0 Euclidean space: M = Rn , H(x) = Idn . 2-D shape: M R2 , H(x) = Id2 . Isotropic metric: H(x) = W (x)2 Idn . Image processing: image I, W (x)2 = ( + || I(x)||) 1 . Parametric surface: H(x) = Ix (1st fundamental form). W (x) 6
  • 16. Riemannian Manifold Riemannian manifold: M Rn (locally) Riemannian metric: H(x) Rn , symmetric, positive definite. n 1⇥ def. T Length of a curve (t) M: L( ) = (t) H( (t)) (t)dt. 0 Euclidean space: M = Rn , H(x) = Idn . 2-D shape: M R2 , H(x) = Id2 . Isotropic metric: H(x) = W (x)2 Idn . Image processing: image I, W (x)2 = ( + || I(x)||) 1 . Parametric surface: H(x) = Ix (1st fundamental form). DTI imaging: M = [0, 1]3 , H(x)=di usion tensor. W (x) 6
  • 17. Geodesic Distances Geodesic distance metric over M Rn dM (x, y) = min L( ) (0)=x, (1)=y Geodesic curve: (t) such that L( ) = dM (x, y). def. Distance map to a starting point x0 M: Ux0 (x) = dM (x0 , x). 7
  • 18. Geodesic Distances Geodesic distance metric over M Rn dM (x, y) = min L( ) (0)=x, (1)=y Geodesic curve: (t) such that L( ) = dM (x, y). def. Distance map to a starting point x0 M: Ux0 (x) = dM (x0 , x). metric geodesics Euclidean 7
  • 19. Geodesic Distances Geodesic distance metric over M Rn dM (x, y) = min L( ) (0)=x, (1)=y Geodesic curve: (t) such that L( ) = dM (x, y). def. Distance map to a starting point x0 M: Ux0 (x) = dM (x0 , x). metric geodesics Euclidean Shape 7
  • 20. Geodesic Distances Geodesic distance metric over M Rn dM (x, y) = min L( ) (0)=x, (1)=y Geodesic curve: (t) such that L( ) = dM (x, y). def. Distance map to a starting point x0 M: Ux0 (x) = dM (x0 , x). metric geodesics Euclidean Shape Isotropic 7
  • 21. Geodesic Distances Geodesic distance metric over M Rn dM (x, y) = min L( ) (0)=x, (1)=y Geodesic curve: (t) such that L( ) = dM (x, y). def. Distance map to a starting point x0 M: Ux0 (x) = dM (x0 , x). metric geodesics Euclidean Shape Isotropic Anisotropic 7
  • 22. Geodesic Distances Geodesic distance metric over M Rn dM (x, y) = min L( ) (0)=x, (1)=y Geodesic curve: (t) such that L( ) = dM (x, y). def. Distance map to a starting point x0 M: Ux0 (x) = dM (x0 , x). metric geodesics Euclidean Shape Isotropic Anisotropic Surface 7
  • 23. Anisotropy and Geodesics Tensor eigen-decomposition: T T H(x) = 1 (x)e1 (x)e1 (x) + 2 (x)e2 (x)e2 (x) with 0 < 1 2, { H(x) 1} e2 (x) 2 (x) 1 2 x e1 (x) 1 M 1 (x) 2 8
  • 24. Anisotropy and Geodesics Tensor eigen-decomposition: T T H(x) = 1 (x)e1 (x)e1 (x) + 2 (x)e2 (x)e2 (x) with 0 < 1 2, { H(x) 1} e2 (x) 2 (x) 1 2 x e1 (x) 1 M 1 (x) 2 Geodesics tend to follow e1 (x). 8
  • 25. Anisotropy and Geodesics Tensor eigen-decomposition: T T H(x) = 1 (x)e1 (x)e1 (x) + 2 (x)e2 (x)e2 (x) with 0 < 1 2, { H(x) 1} 4 ECCV-08 submission ID 1057 e2 (x) 2 (x) 1 2 x e1 (x) Figure 2 shows examples of geodesic curves computed from a single starting 1 point (x) MS = {x1 } in the center of the image = [0,11]2 and a set of points on the 2 boundary of . The geodesics are computed for a metric H(x) whose anisotropy ⇥(x) (defined in equation (2)) is to follow e1 (x).making the Riemannian space Geodesics tend increasing, thus progressively closer to the Euclidean space. ⇥1 (x) ⇥2 (x) Local anisotropy of the metric: (x) = [0, 1] ⇥1 (x) + ⇥2 (x) Image f Image f = .1 = .95 = .2 = .7 = .5 = .5 = 10 = 8
  • 26. Isotropic Metric Design Image-based potential: H(x) = W (x)2 Id2 , W (x) = ( + |f (x) c|) Image f Metric W (x) Distance Ux0 (x) Geodesic curve (t) 9
  • 27. Isotropic Metric Design Image-based potential: H(x) = W (x)2 Id2 , W (x) = ( + |f (x) c|) Image f Metric W (x) Distance Ux0 (x) Geodesic curve (t) Gradient-based potential: W (x) = ( + || x f ||) Image f Metric W (x) U{x0 ,x1 } Geodesics 9
  • 28. Isotropic Metric Design: Vessels ˜ Remove background: f = G ⇥ f f, ⇥vessel width. f ˜ f ˜ W = ( + max(f , 0)) 10
  • 29. Isotropic Metric Design: Vessels ˜ Remove background: f = G ⇥ f f, ⇥vessel width. f ˜ f ˜ W = ( + max(f , 0)) 3D Volumetric datasets: 10
  • 30. Overview • Metrics and Riemannian Surfaces. • Geodesic Computation - Iterative Scheme • Geodesic Computation - Fast Marching • Shape Recognition with Geodesic Statistics • Geodesic Meshing 11
  • 31. Eikonal Equation and Viscosity Solution Distance map: U (x) = d(x0 , x) Theorem: U is the unique viscosity solution of || U (x)||H(x) 1 = 1 with U (x0 ) = 0 where ||v||A = v Av 12
  • 32. Eikonal Equation and Viscosity Solution Distance map: U (x) = d(x0 , x) Theorem: U is the unique viscosity solution of || U (x)||H(x) 1 = 1 with U (x0 ) = 0 where ||v||A = v Av Geodesic curve between x1 and x0 solves (0) = x1 (t) = ⇥t H( (t)) 1 Ux0 ( (t)) with t >0 12
  • 33. Eikonal Equation and Viscosity Solution Distance map: U (x) = d(x0 , x) Theorem: U is the unique viscosity solution of || U (x)||H(x) 1 = 1 with U (x0 ) = 0 where ||v||A = v Av Geodesic curve between x1 and x0 solves (0) = x1 (t) = ⇥t H( (t)) 1 Ux0 ( (t)) with t >0 Example: isotropic metric H(x) = W (x)2 Idn , || U (x)|| = W (x) and (t) = ⇥t U ( (t)) 12
  • 34. Simplified Proof 1 U (x) = min L( ) = 0 H( (t)) (t), (t) dt :x0 x ||⇤V (x)||2 1 = H 1 (x)⇤V (x), ⇤V (x)⇥ = 1, V solving H V (x0 ) = 0.
  • 35. Simplified Proof 1 U (x) = min L( ) = 0 H( (t)) (t), (t) dt :x0 x ||⇤V (x)||2 1 = H 1 (x)⇤V (x), ⇤V (x)⇥ = 1, V solving H V (x0 ) = 0. U V Let : x0 x be any smooth curve. If V is smooth on : C.S. , ⇤V ⇥ = H 1/2 , H 1/2 ⇤V ⇥ ||H 1/2 ||||H 1/2 ⇤V || =1
  • 36. Simplified Proof 1 U (x) = min L( ) = 0 H( (t)) (t), (t) dt :x0 x ||⇤V (x)||2 1 = H 1 (x)⇤V (x), ⇤V (x)⇥ = 1, V solving H V (x0 ) = 0. U V Let : x0 x be any smooth curve. If V is smooth on : C.S. , ⇤V ⇥ = H 1/2 , H 1/2 ⇤V ⇥ ||H 1/2 ||||H 1/2 ⇤V || =1 1 1 L( ) = 0 ||H 1/2 || 0 ⇥ , ⌅V ⇤ = V ( (1)) V ( (0)) = V (x) =0 = U (x) = min L( ) V (x)
  • 37. Simplified Proof (cont.) U V Let x be arbitrary. Define: (t) = H 1 ( (t)) V ( (t)) (0) = x x x0
  • 38. Simplified Proof (cont.) U V Let x be arbitrary. Define: (t) = H 1 ( (t)) V ( (t)) (0) = x x If V is smooth on ([0, tmax )), then dV ( (t)) = (t), V ( (t)) = 1 dt x0 = (tmax ) = x0
  • 39. Simplified Proof (cont.) U V Let x be arbitrary. Define: (t) = H 1 ( (t)) V ( (t)) (0) = x x If V is smooth on ([0, tmax )), then dV ( (t)) = (t), V ( (t)) = 1 dt x0 = (tmax ) = x0 One has: H , = H V, V = 1 1 =1 tmax tmax U (x) L( ) = 0 H , = 0 H , tmax = 0 , V = V ( (tmax )) + V ( (0)) = V (x) =0 13 14
  • 40. Discretization x0 Control (derivative-free) formulation: B(x) y U (x) = d(x0 , x) is the unique solution of U (x) = (U )(x) = min U (y) + d(x, y) x y B(x) 15
  • 41. Discretization x0 Control (derivative-free) formulation: B(x) y U (x) = d(x0 , x) is the unique solution of U (x) = (U )(x) = min U (y) + d(x, y) x y B(x) Manifold discretization: triangular mesh. U discretization: linear finite elements. B(x) H discretization: constant on each triangle. xi xk xj 15
  • 42. Discretization x0 Control (derivative-free) formulation: B(x) y U (x) = d(x0 , x) is the unique solution of U (x) = (U )(x) = min U (y) + d(x, y) x y B(x) Manifold discretization: triangular mesh. U discretization: linear finite elements. B(x) H discretization: constant on each triangle. xi xk Ui = (U )i = min Vi,j,k f =(i,j,k) xj Vi,j,k = min tUj + (1 t)Uk xi 0 t 1 xk +||txj + (1 t)xk xi ||Hijk explicit solution (solving quadratic equation). txj + (1 t)xk on regular grid: equivalent to upwind FD. xj 15
  • 43. Update Step on a triangulation (U )i = min Vi,j,k f =(i,j,k) Discrete Eikonal equation: Vi,j,k = min tUj + (1 t)Uk +||txj + (1 t)xk xi ||Hijk 0 t 1 xi xk xj 16
  • 44. Update Step on a triangulation (U )i = min Vi,j,k f =(i,j,k) Discrete Eikonal equation: Vi,j,k = min tUj + (1 t)Uk +||txj + (1 t)xk xi ||Hijk 0 t 1 Distance function in (i, j, k): U (x) = x xi , g + d Unknowns: gradient = Vi,j,k xi xk xj g 16
  • 45. Update Step on a triangulation (U )i = min Vi,j,k f =(i,j,k) Discrete Eikonal equation: Vi,j,k = min tUj + (1 t)Uk +||txj + (1 t)xk xi ||Hijk 0 t 1 Distance function in (i, j, k): U (x) = x xi , g + d Unknowns: gradient = Vi,j,k Notations: Hi,j,k = w2 Id3 (for simplifity) xi X = (xj xi , xk xi ) R d 2 xk u = (Uj , Uk ) R2 I = (1, 1) R2 xj g S = (X X) 1 R 2 2 16
  • 46. Update Step on a triangulation (cont.) Find g = X , R2 and d = Vi,j,k . xi X g + dI = u = = S(u dI) xk xj 0 17
  • 47. Update Step on a triangulation (cont.) Find g = X , R2 and d = Vi,j,k . xi X g + dI = u = = S(u dI) xk Discrete Eikonal equation: || U (xi )|| = ||g|| = w xj 0 17
  • 48. Update Step on a triangulation (cont.) Find g = X , R2 and d = Vi,j,k . xi X g + dI = u = = S(u dI) xk Discrete Eikonal equation: || U (xi )|| = ||g|| = w xj 0 Quadratic equation: a = SI, I ||XS(u dI)||2 = w2 b = SI, u = c = Su, u w2 d 2 2bd + c = 0 17
  • 49. Update Step on a triangulation (cont.) Find g = X , R2 and d = Vi,j,k . xi 0 X g + dI = u = = S(u dI) 1 xk Discrete Eikonal equation: || U (xi )|| = ||g|| = w xj 0 Quadratic equation: a = SI, I ||XS(u dI)||2 = w2 b = SI, u = c = Su, u w2 d 2 2bd + c = 0 b+ Admissible solution: d= = b2 ac a d if 0 dj = Uj + Wi ||xi xj || (ui ) = min(dj , dk ) otherwise. 17
  • 50. Numerical Schemes Fixed point equation: U = (U ) is monotone: U V = (U ) (V ) Iterative schemes: U (0) = 0, U ( +1) = (U ( ) ) || (U ( ) ) U ( ) || = U( +1) U( ) C<+ U( ) U solving (U ) = U U( ) 18
  • 51. Numerical Schemes Fixed point equation: U = (U ) is monotone: U V = (U ) (V ) Iterative schemes: U (0) = 0, U ( +1) = (U ( ) ) || (U ( ) ) U ( ) || = U( +1) U( ) C<+ U( ) U solving (U ) = U Minimal path extraction: ( +1) = ( ) ⇥ H( ( ) ) 1 U( ( ) ) U( ) 18
  • 53. Discretization Errors For a mesh with N points: U [N ] RN solution of (U [N ] ) = U [N ] Continuous geodesic distance U (x). Linear interpolation: ˜ U [N ] (x) = [N ] Ui i (x) i Uniform convergence: ˜ ||U [N ] U || N + ⇥ 0 20
  • 54. Discretization Errors For a mesh with N points: U [N ] RN solution of (U [N ] ) = U [N ] Continuous geodesic distance U (x). Linear interpolation: ˜ U [N ] (x) = [N ] Ui i (x) i Uniform convergence: ˜ ||U [N ] U || N + ⇥ 0 1 Numerical evaluation: |UiN U (xi )|2 N i 20
  • 55. Overview • Metrics and Riemannian Surfaces. • Geodesic Computation - Iterative Scheme • Geodesic Computation - Fast Marching • Shape Recognition with Geodesic Statistics • Geodesic Meshing 21
  • 56. Causal Updates Causality condition: j i, (U )i Uj The value of Ui depends on {Uj }j with Uj Ui . Compute (U )i using an optimal ordering. Front propagation, O(N log(N )) operations. 22
  • 57. Causal Updates Causality condition: j i, (U )i Uj xi,j+1 The value of Ui depends on {Uj }j with Uj Ui . Compute (U )i using an optimal ordering. xi,j xi+1,j Front propagation, O(N log(N )) operations. Isotropic H(x) = W (x)2 Id, square grid. u = (U )i is the solution of max(u Ui 1,j , u Ui+1,j , 0)2 + max(u Ui,j 1, u Ui,j+1 , 0)2 = h2 Wi,j 2 (upwind derivatives) 22
  • 58. Causal Updates Causality condition: j i, (U )i Uj xi,j+1 The value of Ui depends on {Uj }j with Uj Ui . Compute (U )i using an optimal ordering. xi,j xi+1,j Front propagation, O(N log(N )) operations. Isotropic H(x) = W (x)2 Id, square grid. u = (U )i is the solution of Good max(u Ui 1,j , u Ui+1,j , 0)2 + max(u Ui,j 1, u Ui,j+1 , 0)2 = h2 Wi,j 2 xi Bad xk (upwind derivatives) xj Surface (first fundamental form) triangulation with no obtuse angles. Bad Good 22
  • 59. Front Propagation Front Ft , Ft = {i Ui t} Ft x0 State Si {Computed, F ront, F ar} Algorithm: Far Front Computed. 1) Select front point with minimum Ui Iteration 2) Move from Front to Computed . 3) Update Uj = (U )j for neighbors and 23
  • 60. Fast Marching on an Image 24
  • 61. Fast Marching on Shapes and Surfaces 25
  • 64. Overview • Metrics and Riemannian Surfaces. • Geodesic Computation - Iterative Scheme • Geodesic Computation - Fast Marching • Shape Recognition with Geodesic Statistics • Geodesic Meshing 28
  • 65. Bending Invariant Recognition Shape articulations: [Zoopraxiscope, 1876] 29
  • 66. Bending Invariant Recognition Shape articulations: [Zoopraxiscope, 1876] Surface bendings: ˜ x1 ˜ x2 M [Elad, Kimmel, 2003]. [Bronstein et al., 2005]. 29
  • 67. 2D Shapes 2D shape: connected, closed compact set S R2 . Piecewise-smooth boundary S. Geodesic distance in S for uniform metric: 1 def. def. dS (x, y) = min L( ) where L( ) = | (t)|dt, ⇥P(x,y) 0 Shape S Geodesics 30
  • 68. Distribution of Geodesic Distances Distribution of distances 80 60 to a point x: {dM (x, y)}y 40 M 20 0 80 60 40 20 0 80 60 40 20 0 31
  • 69. Distribution of Geodesic Distances Distribution of distances 80 60 to a point x: {dM (x, y)}y 40 M 20 0 80 60 Extract a statistical measure 40 20 0 a0 (x) = min dM (x, y). 80 60 40 y 20 0 a1 (x) = median dM (x, y). y a2 (x) = max dM (x, y). y x x x Min Median Max 31
  • 70. Distribution of Geodesic Distances Distribution of distances 80 60 to a point x: {dM (x, y)}y 40 M 20 0 80 60 Extract a statistical measure 40 20 0 a0 (x) = min dM (x, y). 80 60 40 y 20 0 a1 (x) = median dM (x, y). y a2 (x) = max dM (x, y). a2 y a(x) x x x a1 a0 Min Median Max 31
  • 71. Benging Invariant 2D Database [Ling & Jacobs, PAMI 2007] Our method (min,med,max) 100 1D 100 4D Average Precision 80 max only 80 Average Recall 60 [Ion et al. 2008] 60 40 40 20 1D 20 4D 0 0 0 10 20 30 40 0 20 40 60 80 100 Image Rank Average Recall State of the art retrieval rates on this database. 32
  • 72. Perspective: Textured Shapes Take into account a texture f (x) on the shape. Compute a saliency field W (x), e.g. edge detector. 1 def. Compute weighted curve lengths: L( ) = W ( (t))|| (t)||dt. 0 Euclidean Image f (x) Weighted || f (x)|| Max Min 33
  • 73. Overview • Metrics and Riemannian Surfaces. • Geodesic Computation - Iterative Scheme • Geodesic Computation - Fast Marching • Shape Recognition with Geodesic Statistics • Geodesic Meshing 34
  • 74. Meshing Images, Shapes and Surfaces Vertices V = {vi }M . Triangulation (V, F): i=1 Faces F {1, . . . , M }3 . M Image approximation: fM = m ⇥m m=1 = argmin ||f µm ⇥m || µ m ⇥m (vi ) = m i is a ne on each face of F. 35
  • 75. Meshing Images, Shapes and Surfaces Vertices V = {vi }M . Triangulation (V, F): i=1 Faces F {1, . . . , M }3 . M Image approximation: fM = m ⇥m m=1 = argmin ||f µm ⇥m || µ m ⇥m (vi ) = m i is a ne on each face of F. There exists (V, F) such that ||f fM || Cf M 2 Optimal (V, F): NP-hard. 35
  • 76. Meshing Images, Shapes and Surfaces Vertices V = {vi }M . Triangulation (V, F): i=1 Faces F {1, . . . , M }3 . M Image approximation: fM = m ⇥m m=1 = argmin ||f µm ⇥m || µ m ⇥m (vi ) = m i is a ne on each face of F. There exists (V, F) such that ||f fM || Cf M 2 Optimal (V, F): NP-hard. Domain meshing: Conforming to complicated boundary. Capturing PDE solutions: Boundary layers, chocs . . . 35
  • 77. Riemannian Sizing Field Sampling {xi }i I of a manifold. Distance conforming: ⇤ xi ⇥ xj , d(xi , xj ) e1 (x) 1 1 (x) 2 e2 (x) Triangulation conforming: x ⇥ =( xi ⇤ xj ⇤ xk ) ⇥ x ||x x ||T (x ) 2 (x) 1 2 Building triangulation ⇥ Ellipsoid packing ⇥ Global integration of local sizing field 36
  • 78. Geodesic Sampling Sampling {xi }i I of a manifold. Metric Sampling
  • 79. Geodesic Sampling Sampling {xi }i I of a manifold. Farthest point algorithm: [Peyr´, Cohen, 2006] e xk+1 = argmax min d(xi , x) x 0 i k Metric Sampling
  • 80. Geodesic Sampling Sampling {xi }i I of a manifold. Farthest point algorithm: [Peyr´, Cohen, 2006] e xk+1 = argmax min d(xi , x) x 0 i k Geodesic Voronoi: Metric Sampling Ci = {x ⇥ j = i, d(xi , x) d(xj , x)} Voronoi
  • 81. Geodesic Sampling Sampling {xi }i I of a manifold. Farthest point algorithm: [Peyr´, Cohen, 2006] e xk+1 = argmax min d(xi , x) x 0 i k Geodesic Voronoi: Metric Sampling Ci = {x ⇥ j = i, d(xi , x) d(xj , x)} Geodesic Delaunay connectivity: (xi xj ) ⇥ (Ci ⇧ Cj ⇤= ⌅) geodesic Delaunay refinement. Voronoi Delaunay distance conforming. triangulation conforming if the metric is “gradded”.
  • 82. Adaptive Meshing # samples
  • 83. Adaptive Meshing # samples Texture Metric Uniform Adaptive
  • 84. Approximation Driven Meshing Linear approximation fM with M linear elements. Minimize approximation error ||f fM ||Lp . Isotropic
  • 85. Approximation Driven Meshing Linear approximation fM with M linear elements. Minimize approximation error ||f fM ||Lp . L optimal metrics for smooth functions: Images: T (x) = |H(x)| (Hessian) Surfaces: T (x) = |C(x)| (curvature tensor) Isotropic Anisotropic
  • 86. Approximation Driven Meshing Linear approximation fM with M linear elements. Minimize approximation error ||f fM ||Lp . L optimal metrics for smooth functions: Images: T (x) = |H(x)| (Hessian) Surfaces: T (x) = |C(x)| (curvature tensor) Isotropic Anisotropic For edges and textures: use structure tensor. [Peyr´ et al, 2008] e Anisotropic triangulation JPEG2000
  • 87. Approximation Driven Meshing Linear approximation fM with M linear elements. Minimize approximation error ||f fM ||Lp . L optimal metrics for smooth functions: Images: T (x) = |H(x)| (Hessian) Surfaces: T (x) = |C(x)| (curvature tensor) Isotropic Anisotropic For edges and textures: use structure tensor. [Peyr´ et al, 2008] e Anisotropic triangulation JPEG2000 extension to handle boundary approximation. [Peyr´ et al, 2008] e
  • 88. Conclusion Riemannian tensors encode geometric features. Size, orientation, anisotropy. Computing geodesic distance: iterative vs. propagation. 40
  • 89. Conclusion Riemannian tensors encode geometric features. Size, orientation, anisotropy. Computing geodesic distance: iterative vs. propagation. Using geodesic curves: image segmentation. Using geodesic distance: image and surface meshing 40