Practical 3D Frame Field Generation

Slides:



Advertisements
Similar presentations
Representing Higher Order Vector Fields Singularities on Piecewise Linear Surfaces Wan Chiu Li Bruno Vallet Nicolas Ray Bruno Lévy IEEE Visualization 2006.
Advertisements

Nonnegative Matrix Factorization with Sparseness Constraints S. Race MA591R.
Linear Programming. Introduction: Linear Programming deals with the optimization (max. or min.) of a function of variables, known as ‘objective function’,
Advanced Iso-Surfacing Algorithms Jian Huang, CS594, Spring 2002 This set of slides are developed and used by Prof. Han-Wei Shen at Ohio State University.
Principal Component Analysis Based on L1-Norm Maximization Nojun Kwak IEEE Transactions on Pattern Analysis and Machine Intelligence, 2008.
Active Contours, Level Sets, and Image Segmentation
Xianfeng Gu, Yaling Wang, Tony Chan, Paul Thompson, Shing-Tung Yau
3D Kinematics Eric Whitman 1/24/2010. Rigid Body State: 2D p.
Iterative closest point algorithms
Computer Graphics Recitation 2. 2 The plan today Learn about rotations in 2D and 3D. Representing rotations by quaternions.
1 Numerical geometry of non-rigid shapes Spectral Methods Tutorial. Spectral Methods Tutorial 6 © Maks Ovsjanikov tosca.cs.technion.ac.il/book Numerical.
Real-time Combined 2D+3D Active Appearance Models Jing Xiao, Simon Baker,Iain Matthew, and Takeo Kanade CVPR 2004 Presented by Pat Chan 23/11/2004.
3-D Geometry.
Optimization of Linear Problems: Linear Programming (LP) © 2011 Daniel Kirschen and University of Washington 1.
역운동학의 구현과 응용 Implementation of Inverse Kinematics and Application 서울대학교 전기공학부 휴먼애니메이션연구단 최광진
Classical Mechanics and Special Relativity with GA Suprit Singh.
Game Physics – Part IV Moving to 3D
Computer Graphics Group Tobias Weyand Mesh-Based Inverse Kinematics Sumner et al 2005 presented by Tobias Weyand.
Efficient Irradiance Normal Mapping Ralf Habel, Michael Wimmer Institute of Computer Graphics and Algorithms Vienna University of Technology.
Shape Matching for Model Alignment 3D Scan Matching and Registration, Part I ICCV 2005 Short Course Michael Kazhdan Johns Hopkins University.
Cs: compressed sensing
Mesh Deformation Based on Discrete Differential Geometry Reporter: Zhongping Ji
INFORMATIK Laplacian Surface Editing Olga Sorkine Daniel Cohen-Or Yaron Lipman Tel Aviv University Marc Alexa TU Darmstadt Christian Rössl Hans-Peter Seidel.
Modal Analysis of Rigid Microphone Arrays using Boundary Elements Fabio Kaiser.
Stress constrained optimization using X-FEM and Level Set Description
David Levin Tel-Aviv University Afrigraph 2009 Shape Preserving Deformation David Levin Tel-Aviv University Afrigraph 2009 Based on joint works with Yaron.
July 11, 2006Bayesian Inference and Maximum Entropy Probing the covariance matrix Kenneth M. Hanson T-16, Nuclear Physics; Theoretical Division Los.
Controlled-Distortion Constrained Global Parametrization
11/6/ :55 Graphics II Introduction to Parametric Curves and Surfaces Session 2.
Application: Multiresolution Curves Jyun-Ming Chen Spring 2001.
UW EXTENSION CERTIFICATE PROGRAM IN GAME DEVELOPMENT 2 ND QUARTER: ADVANCED GRAPHICS Advanced Math.
MASKS © 2004 Invitation to 3D vision Lecture 6 Introduction to Algebra & Rigid-Body Motion Allen Y. Yang September 18 th, 2006.
1 2 Linear Programming Chapter 3 3 Chapter Objectives –Requirements for a linear programming model. –Graphical representation of linear models. –Linear.
Lecture 16: Image alignment
StingyCD: Safely Avoiding Wasteful Updates in Coordinate Descent
Working Group « Pre-Filtering »
CPSC 641: Computer Graphics Rotation Representation and Interpolation
CS 445 / 645 Introduction to Computer Graphics
Spatcial Description & Transformation
LECTURE 09: BAYESIAN ESTIMATION (Cont.)
Isosurface Extractions (II)
Morphing and Shape Processing
3D Transformations Source & Courtesy: University of Wisconsin,
QUAD MESHING, CROSS FIELDS, AND THE GINZBURG-LANDAU THEORY
Hexahedral-Dominant Meshing
You can check broken videos in this slide here :
3D Graphics Rendering PPT By Ricardo Veguilla.
Machine Learning Basics
Spectral Methods Tutorial 6 1 © Maks Ovsjanikov
Perceptrons Support-Vector Machines
Epipolar geometry.
An Introduction to Support Vector Machines
Structure from motion Input: Output: (Tomasi and Kanade)
4. The Postulates of Quantum Mechanics 4A. Revisiting Representations
Last lecture Configuration Space Free-Space and C-Space Obstacles
Craig Schroeder October 26, 2004
Chapter 6. Large Scale Optimization
Statistical Learning Dong Liu Dept. EEIS, USTC.
Probabilistic Models with Latent Variables
Feature space tansformation methods
Pattern Classification All materials in these slides were taken from Pattern Classification (2nd ed) by R. O. Duda, P. E. Hart and D. G. Stork, John.
Support Vector Machines and Kernels
COSC 4368 Machine Learning Organization
Rotation and Orientation: Affine Combination
Solving Quadratic Equations by Factorisation
Physics 319 Classical Mechanics
Structure from motion Input: Output: (Tomasi and Kanade)
Non-Negative Matrix Factorization
Channel Modeling with PAA Orientations
Support Vector Machines
Presentation transcript:

Practical 3D Frame Field Generation Nicolas Ray Dmitry Sokolov Bruno Lévy

Introduction 2D case 3D case conclusion Classic approach Table of content Introduction 2D case Classic approach Function representation: same algorithm 3D case conclusion

Introduction What is a frame field ?

The orientation of each cube Introduction What is a frame field ? The orientation of each cube

The orientation of each cube Introduction What is a frame field ? The orientation of each cube

Hexahedra orientation Introduction Why? Hexahedra orientation Cubecover [Nieser et al. 2011]

What is a good frame field ? Introduction What is a good frame field ?

What is a good frame field ? Introduction What is a good frame field ? Aligned with boundary smooth

Any solution ? [Huang et al. 2011], [Li et al. 2012] Introduction Any solution ? [Huang et al. 2011], [Li et al. 2012] Frames are represented by SH Smoothness is optimized by LBFGS

Contribution: increase speed & quality: Introduction Contribution: increase speed & quality: sampling on vertices (ease changing topology) init. with valid boundary (topo is almost solved)

Introduction Results: Less failure cases

Initialization often suffice Introduction Results: Less failure cases Initialization often suffice

Initialization often suffice Introduction Results: Less failure cases Initialization often suffice Not always 

Introduction 2D case 3D case conclusion Classic approach Table of content Introduction 2D case Classic approach Function representation: same algorithm 3D case conclusion

2D case: Classic approach What is classic approach? Object is a triangulated surface Field is sampled on vertices Manipulate frames by representation vectors [NRoSY, DFD, Knöppel 2013]

2D case: Classic approach Optimization problem: Minimize a difference between samples subject to boundary conditions

2D case: Classic approach Vector field Unit vector fields Frame fields Optimization problem: Minimize a difference between samples subject to boundary conditions

2D case: Classic approach Vector field Unit vector fields Frame fields vector field x0 x5 x3 x2 x4 x6 Optimization problem: Minimize a difference between samples subject to boundary conditions x1

2D case: Classic approach Vector field Unit vector fields Frame fields vector field (x1-x0)2 x0 x1 x5 x3 x2 x4 x6 Optimization problem: Minimize a difference between samples subject to boundary conditions

2D case: Classic approach Vector field Unit vector fields Frame fields vector field Min Σ|xi-xj|2 x0 x1 x5 x3 x2 x4 x6 Optimization problem: Minimize a difference between samples subject to boundary conditions

2D case: Classic approach Vector field Unit vector fields Frame fields

2D case: Classic approach Vector field Unit vector fields Frame fields

2D case: Classic approach Vector field Unit vector fields Frame fields singularity

2D case: Classic approach Vector field Unit vector fields Frame fields

2D case: Classic approach Vector field Unit vector fields Frame fields ? Optimization: min Σ|xi-xj|2 (sweet)

2D case: Classic approach Vector field Unit vector fields Frame fields ! Optimization: min Σ|xi-xj|2 (sweet) with |xi|2=1 (very hard)

2D case: Classic approach Vector field Unit vector fields Frame fields solution mechanism

2D case: Classic approach Vector field Unit vector fields Frame fields solution mechanism Vector field Relax unit norm

2D case: Classic approach Vector field Unit vector fields Frame fields solution mechanism Vector field solve Relax unit norm

2D case: Classic approach Vector field Unit vector fields Frame fields solution mechanism Vector field Normalize, LBFGS solve Relax unit norm

2D case: Classic approach Vector field Unit vector fields Frame fields solution mechanism Vector field Normalize, LBFGS solve Relax unit norm

2D case: Classic approach Vector field Unit vector fields Frame fields

2D case: Classic approach Vector field Unit vector fields Frame fields

2D case: Classic approach Vector field Unit vector fields Frame fields θ Let’s divide θ by 4 θ/4

2D case: Classic approach Vector field Unit vector fields Frame fields θ Let’s divide θ by 4 θ/4

2D case: Classic approach Vector field Unit vector fields Frame fields θ Let’s divide θ by 4 θ/4

2D case: Classic approach Vector field Unit vector fields Frame fields solution mechanism

2D case: Classic approach Vector field Unit vector fields Frame fields solution mechanism Vector field θ←4 θ

2D case: Classic approach Vector field Unit vector fields Frame fields solution mechanism Vector field solve θ←4 θ

2D case: Classic approach Vector field Unit vector fields Frame fields solution mechanism Vector field Normalize, LBFGS solve θ←4 θ

2D case: Classic approach Vector field Unit vector fields Frame fields solution mechanism Vector field Normalize, LBFGS solve θ ← θ/4 θ←4 θ

2D case: Classic approach Summary In 2D, unit vector fields  frame fields (θ4θ) Unfortunaltely, it does not extend to 3D Now, let’s see an alternative interpretation

Introduction 2D case 3D case conclusion Classic approach Table of content Introduction 2D case Classic approach Function representation: same algorithm 3D case conclusion

2D case: functional formulation Idea: replace cross by… something with same symmetry

2D case: functional formulation This object is perfect because:

2D case: functional formulation This object is perfect because: simple analytic expression F(α) = cos(4α) α

2D case: functional formulation This object is perfect because: simple analytic expression easy to rotate by θ F(α) = cos(4(α-θ)) α θ

2D case: functional formulation This object is perfect because: simple analytic expression easy to rotate by θ F(α) = cos(4(α-θ)) α θ F(α) = cos(4(α-θ))

2D case: functional formulation This object is perfect because: simple analytic expression easy to rotate by θ F(α) = cos(4(α-θ)) α θ F(α) = cos(4(α-θ)) = cos(4θ)sin(4α) + sin(-4θ)cos(4α)

2D case: functional formulation This object is perfect because: simple analytic expression easy to rotate by θ F(α) = cos(4(α-θ)) α θ F(α) = cos(4(α-θ)) = cos(4θ)sin(4α) + sin(-4θ)cos(4α) = a sin(4α) + b cos(4α)

2D case: functional formulation This object is perfect because: simple analytic expression easy to rotate by θ F is represented by (a,b) F(α) = cos(4(α-θ)) α θ F(α) = cos(4(α-θ)) = cos(4θ)sin(4α) + sin(-4θ)cos(4α) = a sin(4α) + b cos(4α)

2D case: functional formulation This object is perfect because: simple analytic expression easy to rotate by θ F is represented by (a,b) With a2+b2=1 F(α) = cos(4(α-θ)) α θ F(α) = cos(4(α-θ)) = cos(4θ)sin(4α) + sin(-4θ)cos(4α) = a sin(4α) + b cos(4α)

2D case: functional formulation This object is perfect because: simple analytic expression easy to rotate by θ F is represented by (a,b) With a2+b2=1 F(α) = cos(4(α-θ)) α θ F(α) = cos(4(α-θ)) = cos(4θ)sin(4α) + sin(-4θ)cos(4α) (a,b)=cos(4θ),sin(-4θ)… = a sin(4α) + b cos(4α)

2D case: functional formulation This object is perfect because: simple analytic expression easy to rotate by θ F is represented by (a,b) With a2+b2=1 F(α) = cos(4(α-θ)) α θ F(α) = cos(4(α-θ)) = cos(4θ)sin(4α) + sin(-4θ)cos(4α) (a,b)=cos(4θ),sin(-4θ)… θ = a sin(4α) + b cos(4α) b 4θ a

2D case: functional formulation This object is perfect because: simple analytic expression easy to rotate by θ F is represented by (a,b) The difference With a2+b2=1

2D case: functional formulation This object is perfect because: simple analytic expression easy to rotate by θ F is represented by (a,b) The difference can be With a2+b2=1 α=0 𝜋/2 (F0(α)− F1(α))2

2D case: functional formulation This object is perfect because: simple analytic expression easy to rotate by θ F is represented by (a,b) The difference can be With a2+b2=1 α=0 𝜋/2 (F0(α)− F1(α))2 sin(4θ),cos(4θ) are orthogonal

2D case: functional formulation This object is perfect because: simple analytic expression easy to rotate by θ F is represented by (a,b) The difference is a L2 norm can be With a2+b2=1 α=0 𝜋/2 (F0(α)− F1(α))2 ≈|(a0,b0)- (a1,b1)|2 sin(4θ),cos(4θ) are orthogonal

2D case: functional formulation This object is perfect because: simple analytic expression easy to rotate by θ F is represented by (a,b) = cos(4θ),-sin(4θ) The difference is a L2 norm We retreived the classic 2D formulation !! With a2+b2=1

We represent frames as functions 2D case: summary We represent frames as functions functions as vector in a function basis frame difference as norm of vector difference

The solution mecanism is 2D case: summary The solution mecanism is Vector field Normalize, LBFGS solve

Introduction 2D case 3D case conclusion Classic approach Table of content Introduction 2D case Classic approach Function representation: same algorithm 3D case conclusion

3D case: extend 2D approach Frames are functions harmonic functions on the circle A spherical harmonic function 3D F(α) = cos(4α) α

3D case: extend 2D approach Functions as vectors Coefficients in the basis sin(4α) cos(4α) 9 coefficients in spherical harmonic basis (band 4) 3D

3D case: extend 2D approach Constraint no extravagance (6d) only rotations (3d) a2+b2=1 No scale, just rotation 3D 5/12 Rest frame 7/12 Rest frame rotate

3D case: extend 2D approach Difference between frames L2 norm in coefficients space sin(4θ),cos(4θ) are orthogonal SH4 are orthogonal 3D

3D case: extend 2D approach Solution mechanism

3D case: extend 2D approach Solution mechanism 9D Vector field

3D case: extend 2D approach Solution mechanism 9D Vector field solve

3D case: extend 2D approach Solution mechanism 9D Vector field Make valid, LBFGS solve

3D case: extend 2D approach Solution mechanism 9D Vector field Make valid, LBFGS solve

3D case: extend 2D approach Solution mechanism 9D Vector field Make valid, LBFGS solve Lock only one vector

3D case: extend 2D approach Solution mechanism Projection onto valid frames 9D Vector field Make valid, LBFGS solve Lock only one vector

3D case: boundary condition Boundary frame are represented by: a 2D frame (2D representation vector) the normal (constant) We can do 2D FF with our 3D solver

3D case: project onto valid frame Steepest descent algorithm: find the rotation R (Euler’s angles) That minimizes |R(rest frame)- input frame|

SH representation [Huang et al 2011] is conclusion SH representation [Huang et al 2011] is very efficient, a generalization of 2D classic solutions. Our contributions improve speed and quality non linear optimizations may be skipped

Thank you for your attention ray@inria.fr Sokolov@loria.fr levy@inria.fr