Advanced Computer Graphics

Size: px
Start display at page:

Download "Advanced Computer Graphics"

Transcription

1 G , Fall 2009 Advanced Computer Graphics Project details and tools 1

2 Project Topics Computer Animation Geometric Modeling Computational Photography Image processing 2

3 Optimization All projects have a global optimization component: Define some energy functional E(x) x is the shape, or the image Compute the optimal x such that E(x) is minimized There are some constraints to the minimization 3

4 Computer Animation Character animation Create a system for rigging and posing of digital characters (shapes) Step 1: compute a skeleton 4

5 Computer Animation Character animation Create a system for rigging and posing of digital characters (shapes) Step 1: compute a skeleton Suggestion: implement the paper Skeleton Extraction by Mesh Contraction, SIGGRAPH 2008 also implement GUI to manually create a skeleton 5

6 Computer Animation Character animation Function E(x) measures how smooth the shape x is E( x) = n x i w ij i= 1 j N( i) Constraints: extremities (finger tips, ears, etc.) x j 2 6

7 Computer Animation Character animation Create a system for rigging and posing of digital characters (shapes) Step 2: GUI for skeleton posing Forward kinematics just change joint angles Optional: also add inverse kinematics 7

8 Computer Animation Character animation Create a system for rigging and posing of digital characters (shapes) Step 3: implement skinning algorithm Basic linear blend skinning Dual Quaternions (Kavan et al. 2008) Optional: also implement one of the recent optimization based skinning techniques, such as Real Time Enveloping with Rotational Regression, SIGGRAPH

9 Computer Animation Character animation Create a system for rigging and posing of digital characters (shapes) Step 3: implement skinning algorithm Basic linear blend skinning Dual Quaternions (Kavan et al. 2008) The functional E(x) measures how similar the deformed shape x is to the original shape in terms of local details E( x) = n i= 1 L( x i ) T L( ( x orig i )) 2 9

10 Geometric Modeling Interactive shape editing system A system to edit shapes interactively by grab and drag interface 10

11 As rigid as possible surface deformation Smooth effect on the large scale As rigid as possible effect on the small scale (preserves details) 11

12 Direct ARAP modeling We actually may want to preserve the shapes of cells covering the surface 12

13 Direct ARAP modeling Let s look at cells on a mesh 13

14 Direct ARAP modeling Ask all the star edges to transform rigidly, then the shape of the cell is preserved v j2 v i vj1 14

15 Direct ARAP modeling Cell energy: min ( v i v j) Ri( vi v j) j N() i 2 v j2 v i vj1 15

16 Direct ARAP modeling If v, v are known then R i is uniquely defined v j2 v j2 v i v j1 v i v j1 R i It s the shape matching problem! Build covariance matrix S = VV T SVD: S = UΣP T R i = UP T R i is a non-linear function of v 16

17 Direct ARAP modeling Can formulate overall energy of the deformation: n min ( v v ) R ( v v ) v i= 1 j N( i) i j i i j 2 st.. v = c, j C j j 17

18 Geometric Modeling Interactive shape editing system Implement one of the recent papers: PriMo, SGP 2006 As rigid as possible surface modeling, SGP 2007 Add multiresolution hierarchy Try both the optimization method in the paper and direct Gauss Newton optimization, helped by this paper: Shape Decomposition Using Modal Analysis, Eurographics

19 Computational Photography Rectifying fish eye lens distortion 19

20 Computational Photography Rectifying fish eye lens distortion Implement the paper Optimizing Content Preserving Projections for Wide Angle Images, SIGGRAPH 2009 They optimize the mapping from the viewing sphere onto the image plane 20

21 Computational Photography Rectifying fish eye lens distortion Implement the paper Optimizing Content Preserving Projections for Wide Angle Images, SIGGRAPH 2009 They optimize the mapping from the viewing sphere onto the image plane E(x) measures: How well the quads are preserved (want all angles to be 90) How well straight lines that the user marked are preserved 21

22 Computational Photography Shaky cam stabilization Implement Content Preserving Warps for 3D Video Stabilization, SIGGRAPH

23 Computational Photography Shaky cam stabilization Implement Content Preserving Warps for 3D Video Stabilization, SIGGRAPH 2009 E(x) measures: How well the quads are preserved (want all angles to be 90) Constraints: point to point 23

24 Image Processing Image retargeting (resizing) The problem: resize an image to fit a display device with a different aspect ratio 24

25 Image Processing Image retargeting (resizing) The problem: resize an image to fit a display device with a different aspect ratio 25

26 Approach: Image Processing Image retargeting (resizing) Compute an importance map of the image Warp the image such that regions with high importance are preserved at the expense of unimportant regions importance map 26

27 Image Processing Image retargeting (resizing) Grid mesh, preserve the shape of the important quads quads with high importance: uniform scaling quads with low importance: allowed non uniform scaling Optimize the location of mesh vertices, interpolate image 27

28 Image Processing Image retargeting (resizing) Grid mesh, preserve the shape of the important quads Optimize the location of mesh vertices, interpolate image 28

29 Image Processing Image retargeting (resizing) Grid mesh, preserve the shape of the important quads Optimize the location of mesh vertices, interpolate image 29

30 E(x) measures: How well the quad shape is preserved How smooth the grid lines are In this project: how well straight lines are preserved Constraints: The boundary of the image (has to fit new dimensions) Image Processing Image retargeting (resizing) 30

31 Optimization In the projects: mostly linear optimization, i.e. linear least squares problems 31

32 Solving linear systems in LS sense Wish list of equations: i=1,, n: f (x i ) = f i Example: measuring surface smoothness E( x) = n x i w ij i= 1 j N( i) x j 2 32

33 Solving linear systems in LS sense Wish list of equations: i=1,, n: f (x i ) = f i Example: measuring surface smoothness E( x) = n x i w ij i= 1 j N( i) x j 2 i = 1, K, n: x i w ij j N( i) x j = 0 Wish equation 33

34 Solving linear systems in LS sense We have an over determined linear system k n: a 11 x 1 + a 12 x a 1n x n = b 1 a 21 x 1 + a 22 x a 2n x n = b 2 a k1 x 1 + a k2 x a kn x n = b k 34

35 Solving linear systems in LS sense In matrix form: = k kn k k n n a a a a a a a a a b b b M K M M M K K K x n x x 2 1 M 9/21/ Olga Sorkine, Courant Institute

36 Solving linear systems in LS sense In matrix form: Ax = b where A = (a ij ) is a rectangular k n matrix, k > n x = (x 1, x 2,, x n ) T b = (b 1, b 2,, b k ) T 36

37 Solving linear systems in LS sense More constrains than variables no exact solutions generally exist We want to find something that is an approximate solution : x opt = argmin Ax b 2 x min E(x) x 37

38 Finding the LS solution x R n Ax R k As we vary x, Ax varies over the linear subspace of R k spanned by the columns of A: Ax = A 1 A 2 A n x 1 x x x n x n 38

39 Finding the LS solution We want to find the closest Ax to b: min Ax b 2 x Ax closest to b b Subspace spanned by columns of A R k 39

40 Finding the LS solution The vector Ax closest to b satisfies: (Ax b) {subspace of A s columns} column A i : A i, Ax b = 0 These are called the normal equations i, A i T (Ax b) = 0 A T (Ax b) = 0 (A T A)x = A T b 40

41 Finding the LS solution We got a square symmetric system (A T A)x = A T b (n n) If A has full rank (the columns of A are linearly independent) then (A T A) is invertible. min x x = Ax b 2 ( T ) 1 T A A A b 41

42 Weighted least squares If each constraint has a weight in the energy: The weights w i > 0 and don t depend on x Then: min x n i= 1 wi (f i ( x i ) b min (Ax b) T W(Ax b) where W = (w i ) ii (A T W A) x = A T W b i 2 ) 42

43 Linear Systems Matrix is often fixed, rhs changes M x = r A T A A T b 43

44 Matrix Factorization LU decomposition M = L U Mx = r LUx= r 44

45 Matrix Factorization LU decomposition M = L U Mx = r L(Ux) = r 45

46 Matrix Factorization LU decomposition M = L U Mx = r L(Ux) = r Ly = r Ux= y This is backsubstitution. If L, U are sparse it is very fast. The hard work is computing L and U 46

47 Matrix Factorization LU decomposition M = L U Mx = r L(Ux) = r y = L 1 r x = U 1 y This is backsubstitution. If L, U are sparse it is very fast. The hard work is computing L and U 47

48 Matrix Factorization Cholesky decomposition M = L L T Cholesky factor exists if M is positive definite. It is even better than LU because we save memory. 48

49 Cholesky Decomposition M = LL T M is symmetric positive definite (SPD): x 0, Mx, x > 0 all M s eigenvalues > 0 M = L L T 49

50 Dense Cholesky Factorization M = LL T matrix 3500 nonzeros L 36k nonzeros Cholesky Factorization 50

51 Sparse Cholesky Factorization M = LL T matrix 3500 nonzeros L 36k nonzeros Reordering PMP T reverse Cuthill McKee algorithm Cholesky Factorization 51

52 Sparse Cholesky Factorization M = LL T matrix 3500 nonzeros L 36k nonzeros Reordering PMP T reverse Cuthill McKee algorithm Cholesky Factorization L 14k nonzeros 52

53 Sparse Cholesky Factorization M = LL T matrix 3500 nonzeros L 36k nonzeros Reordering PMP T nested dissection (parallelizable) Cholesky Factorization 53

54 Sparse Cholesky Factorization M = LL T matrix 3500 nonzeros L 36k nonzeros Reordering PMP T nested dissection (parallelizable) Cholesky Factorization L 7k nonzeros 54

55 Highly accurate Manipulate matrix structure No iterations, everything is closed form Easy to use Off the shelf library, no parameters Direct Solvers Discussion If M stays fixed, changing rhs (r) is cheap Just need to back substitute (factor precomputed) 55

56 High memory cost Direct Solvers Discussion Need to store the factor, which is typically denser than the matrix M If the matrix M changes, need to re compute the factor (expensive) 56

57 TAUCS tutorial TAUCS: a library of sparse linear solvers Has both iterative and direct solvers Direct (Cholesky and LU) use reordering and are very fast I provide a wrapper for TAUCS on the course homepage 57

58 TAUCS tutorial Basic operations: Define a sparse matrix structure Fill the matrix with its nonzero values (i, j, v) Factor A T A Provide an rhs and solve 58

59 TAUCS tutorial Basic operations: Define a sparse matrix structure InitTaucsInterface(); int ida; ida = CreateMatrix(4, 3); #rows #cols 59

60 TAUCS tutorial Basic operations: Fill the matrix A with its nonzero values (i, j, v) SetMatrixEntry(idA, i, j, v); 60

61 TAUCS tutorial Basic operations: Fill the matrix A with its nonzero values (i, j, v) SetMatrixEntry(idA, i, j, v); matrix ID, obtained in CreateMatrix 61

62 TAUCS tutorial Basic operations: Fill the matrix A with its nonzero values (i, j, v) SetMatrixEntry(idA, i, j, v); row index i, column index j, zero based 62

63 TAUCS tutorial Basic operations: Fill the matrix A with its nonzero values (i, j, v) SetMatrixEntry(idA, i, j, v); value of matrix entry ij for instance, w ij 63

64 TAUCS tutorial Basic operations: Factor the matrix A T A FactorATA(idA); 64

65 TAUCS tutorial Basic operations: Provide an rhs and solve taucstype b[4] = {3, 4, 5, 6}; taucstype x[3]; SolveATA(idA, b, x, 1); 65

66 TAUCS tutorial Basic operations: Provide an rhs and solve taucstype b[4] = {3, 4, 5, 6}; taucstype x[3]; SolveATA(idA, b, x, 1); typedef for double 66

67 TAUCS tutorial Basic operations: Provide an rhs and solve taucstype b[4] = {3, 4, 5, 6}; taucstype x[3]; SolveATA(idA, b, x, 1); ID of the A matrix 67

68 TAUCS tutorial Basic operations: Provide an rhs and solve taucstype b[4] = {3, 4, 5, 6}; taucstype x[3]; SolveATA(idA, b, x, 1); rhs for the LS system Ax = b 68

69 TAUCS tutorial Basic operations: Provide an rhs and solve taucstype b[4] = {3, 4, 5, 6}; taucstype x[3]; SolveATA(idA, b, x, 1); array for the solution 69

70 TAUCS tutorial Basic operations: Provide an rhs and solve A is 4x3 taucstype b[4] = {3, 4, 5, 6}; taucstype x[3]; SolveATA(idA, b, x, 1); number of rhs s 70

71 TAUCS tutorial Basic operations: Provide an rhs and solve A is 4x3 taucstype b2[8] = {3, 4, 5, 6, 7, 8, 9, 10}; taucstype xy[6]; SolveATA(idA, b2, xy, 2); number of rhs s 71

72 TAUCS tutorial If the matrix A is square a priori, no need to solve the LS system Then just use FactorA()and SolveA() 72

73 Further Reading Efficient Linear System Solvers for Mesh Processing Mario Botsch, David Bommes, Leif Kobbelt Invited paper at IMA Mathematics of Surfaces XI, Lecture Notes in Computer Science, Vol 3604, 2005, pp

74 Next week By September 28 you must: Read up on all the projects and decide on your priorities Discuss with me if you d like to do a customized project (your own ideas) E mail me your project preference (ranked list) No class meeting (do homework! ) 74

75 Next week and after On September I will assign a project to everyone Next class: October 5; everyone presents their initial project plan Up to 20 minutes presentation (can be shorter) Explain the project in your words, with technical details Outline your work plan Bring up things that are unclear/challenges you foresee 75

Advanced Computer Graphics

Advanced Computer Graphics G22.2274 001, Fall 2010 Advanced Computer Graphics Project details and tools 1 Projects Details of each project are on the website under Projects Please review all the projects and come see me if you would

More information

10 - ARAP and Linear Blend Skinning

10 - ARAP and Linear Blend Skinning 10 - ARAP and Linear Blend Skinning Acknowledgements: Olga Sorkine-Hornung As Rigid As Possible Demo Libigl demo 405 As-Rigid-As-Possible Deformation Preserve shape of cells covering the surface Ask each

More information

(Sparse) Linear Solvers

(Sparse) Linear Solvers (Sparse) Linear Solvers Ax = B Why? Many geometry processing applications boil down to: solve one or more linear systems Parameterization Editing Reconstruction Fairing Morphing 2 Don t you just invert

More information

(Sparse) Linear Solvers

(Sparse) Linear Solvers (Sparse) Linear Solvers Ax = B Why? Many geometry processing applications boil down to: solve one or more linear systems Parameterization Editing Reconstruction Fairing Morphing 1 Don t you just invert

More information

CS 775: Advanced Computer Graphics. Lecture 4: Skinning

CS 775: Advanced Computer Graphics. Lecture 4: Skinning CS 775: Advanced Computer Graphics Lecture 4: http://www.okino.com/conv/skinning.htm Binding Binding Always done in a standard rest or bind pose. Binding Always done in a standard rest or bind pose. Associate

More information

Computational Design. Stelian Coros

Computational Design. Stelian Coros Computational Design Stelian Coros Schedule for presentations February 3 5 10 12 17 19 24 26 March 3 5 10 12 17 19 24 26 30 April 2 7 9 14 16 21 23 28 30 Send me: ASAP: 3 choices for dates + approximate

More information

Solving Sparse Linear Systems. Forward and backward substitution for solving lower or upper triangular systems

Solving Sparse Linear Systems. Forward and backward substitution for solving lower or upper triangular systems AMSC 6 /CMSC 76 Advanced Linear Numerical Analysis Fall 7 Direct Solution of Sparse Linear Systems and Eigenproblems Dianne P. O Leary c 7 Solving Sparse Linear Systems Assumed background: Gauss elimination

More information

Rigging / Skinning. based on Taku Komura, Jehee Lee and Charles B.Own's slides

Rigging / Skinning. based on Taku Komura, Jehee Lee and Charles B.Own's slides Rigging / Skinning based on Taku Komura, Jehee Lee and Charles B.Own's slides Skeletal Animation Victoria 2 CSE 872 Dr. Charles B. Owen Advanced Computer Graphics Skinning http://www.youtube.com/watch?

More information

As-Rigid-As-Possible Shape Manipulation

As-Rigid-As-Possible Shape Manipulation As-Rigid-As-Possible Shape Manipulation T. Igarashi 1, T. Mascovich 2 J. F. Hughes 3 1 The University of Tokyo 2 Brown University 3 PRESTO, JST SIGGRAPH 2005 Presented by: Prabin Bariya Interactive shape

More information

AMS526: Numerical Analysis I (Numerical Linear Algebra)

AMS526: Numerical Analysis I (Numerical Linear Algebra) AMS526: Numerical Analysis I (Numerical Linear Algebra) Lecture 20: Sparse Linear Systems; Direct Methods vs. Iterative Methods Xiangmin Jiao SUNY Stony Brook Xiangmin Jiao Numerical Analysis I 1 / 26

More information

AMS526: Numerical Analysis I (Numerical Linear Algebra)

AMS526: Numerical Analysis I (Numerical Linear Algebra) AMS526: Numerical Analysis I (Numerical Linear Algebra) Lecture 5: Sparse Linear Systems and Factorization Methods Xiangmin Jiao Stony Brook University Xiangmin Jiao Numerical Analysis I 1 / 18 Sparse

More information

Character animation Christian Miller CS Fall 2011

Character animation Christian Miller CS Fall 2011 Character animation Christian Miller CS 354 - Fall 2011 Exam 2 grades Avg = 74.4, std. dev. = 14.4, min = 42, max = 99 Characters Everything is important in an animation But people are especially sensitive

More information

CS 523: Computer Graphics, Spring Shape Modeling. Skeletal deformation. Andrew Nealen, Rutgers, /12/2011 1

CS 523: Computer Graphics, Spring Shape Modeling. Skeletal deformation. Andrew Nealen, Rutgers, /12/2011 1 CS 523: Computer Graphics, Spring 2011 Shape Modeling Skeletal deformation 4/12/2011 1 Believable character animation Computers games and movies Skeleton: intuitive, low-dimensional subspace Clip courtesy

More information

Mesh-Based Inverse Kinematics

Mesh-Based Inverse Kinematics CS468, Wed Nov 9 th 2005 Mesh-Based Inverse Kinematics R. W. Sumner, M. Zwicker, C. Gotsman, J. Popović SIGGRAPH 2005 The problem 1 General approach Learn from experience... 2 As-rigid-as-possible shape

More information

Def De orma f tion orma Disney/Pixar

Def De orma f tion orma Disney/Pixar Deformation Disney/Pixar Deformation 2 Motivation Easy modeling generate new shapes by deforming existing ones 3 Motivation Easy modeling generate new shapes by deforming existing ones 4 Motivation Character

More information

Animations. Hakan Bilen University of Edinburgh. Computer Graphics Fall Some slides are courtesy of Steve Marschner and Kavita Bala

Animations. Hakan Bilen University of Edinburgh. Computer Graphics Fall Some slides are courtesy of Steve Marschner and Kavita Bala Animations Hakan Bilen University of Edinburgh Computer Graphics Fall 2017 Some slides are courtesy of Steve Marschner and Kavita Bala Animation Artistic process What are animators trying to do? What tools

More information

Dynamic Geometry Processing

Dynamic Geometry Processing Dynamic Geometry Processing EG 2012 Tutorial Will Chang, Hao Li, Niloy Mitra, Mark Pauly, Michael Wand Tutorial: Dynamic Geometry Processing 1 Articulated Global Registration Introduction and Overview

More information

Animation of 3D surfaces.

Animation of 3D surfaces. Animation of 3D surfaces Motivations When character animation is controlled by skeleton set of hierarchical joints joints oriented by rotations the character shape still needs to be visible: visible =

More information

Large Mesh Deformation Using the Volumetric Graph Laplacian

Large Mesh Deformation Using the Volumetric Graph Laplacian Large Mesh Deformation Using the Volumetric Graph Laplacian Kun Zhou1 Jin Huang2 John Snyder3 Xinguo Liu1 Hujun Bao2 Baining Guo1 Heung-Yeung Shum1 1 Microsoft Research Asia 2 Zhejiang University 3 Microsoft

More information

Skeleton Based As-Rigid-As-Possible Volume Modeling

Skeleton Based As-Rigid-As-Possible Volume Modeling Skeleton Based As-Rigid-As-Possible Volume Modeling Computer Science Department, Rutgers University As-rigid-as-possible (ARAP) shape modeling is a popular technique to obtain natural deformations. There

More information

Animation. CS 465 Lecture 22

Animation. CS 465 Lecture 22 Animation CS 465 Lecture 22 Animation Industry production process leading up to animation What animation is How animation works (very generally) Artistic process of animation Further topics in how it works

More information

CSE452 Computer Graphics

CSE452 Computer Graphics CSE452 Computer Graphics Lecture 19: From Morphing To Animation Capturing and Animating Skin Deformation in Human Motion, Park and Hodgins, SIGGRAPH 2006 CSE452 Lecture 19: From Morphing to Animation 1

More information

calibrated coordinates Linear transformation pixel coordinates

calibrated coordinates Linear transformation pixel coordinates 1 calibrated coordinates Linear transformation pixel coordinates 2 Calibration with a rig Uncalibrated epipolar geometry Ambiguities in image formation Stratified reconstruction Autocalibration with partial

More information

Geometric Modeling and Processing

Geometric Modeling and Processing Geometric Modeling and Processing Tutorial of 3DIM&PVT 2011 (Hangzhou, China) May 16, 2011 6. Mesh Simplification Problems High resolution meshes becoming increasingly available 3D active scanners Computer

More information

Skeletal deformation

Skeletal deformation CS 523: Computer Graphics, Spring 2009 Shape Modeling Skeletal deformation 4/22/2009 1 Believable character animation Computers games and movies Skeleton: intuitive, low dimensional subspace Clip courtesy

More information

Easy modeling generate new shapes by deforming existing ones

Easy modeling generate new shapes by deforming existing ones Deformation I Deformation Motivation Easy modeling generate new shapes by deforming existing ones Motivation Easy modeling generate new shapes by deforming existing ones Motivation Character posing for

More information

Parallel Computation of Spherical Parameterizations for Mesh Analysis. Th. Athanasiadis and I. Fudos University of Ioannina, Greece

Parallel Computation of Spherical Parameterizations for Mesh Analysis. Th. Athanasiadis and I. Fudos University of Ioannina, Greece Parallel Computation of Spherical Parameterizations for Mesh Analysis Th. Athanasiadis and I. Fudos, Greece Introduction Mesh parameterization is a powerful geometry processing tool Applications Remeshing

More information

Geostatistics 2D GMS 7.0 TUTORIALS. 1 Introduction. 1.1 Contents

Geostatistics 2D GMS 7.0 TUTORIALS. 1 Introduction. 1.1 Contents GMS 7.0 TUTORIALS 1 Introduction Two-dimensional geostatistics (interpolation) can be performed in GMS using the 2D Scatter Point module. The module is used to interpolate from sets of 2D scatter points

More information

Locally Injective Mappings

Locally Injective Mappings 8/6/ Locally Injective Mappings Christian Schüller 1 Ladislav Kavan 2 Daniele Panozzo 1 Olga Sorkine-Hornung 1 1 ETH Zurich 2 University of Pennsylvania Locally Injective Mappings Popular tasks in geometric

More information

Animation. CS 4620 Lecture 33. Cornell CS4620 Fall Kavita Bala

Animation. CS 4620 Lecture 33. Cornell CS4620 Fall Kavita Bala Animation CS 4620 Lecture 33 Cornell CS4620 Fall 2015 1 Announcements Grading A5 (and A6) on Monday after TG 4621: one-on-one sessions with TA this Friday w/ prior instructor Steve Marschner 2 Quaternions

More information

CS 775: Advanced Computer Graphics. Lecture 3 : Kinematics

CS 775: Advanced Computer Graphics. Lecture 3 : Kinematics CS 775: Advanced Computer Graphics Lecture 3 : Kinematics Traditional Cell Animation, hand drawn, 2D Lead Animator for keyframes http://animation.about.com/od/flashanimationtutorials/ss/flash31detanim2.htm

More information

N-Views (1) Homographies and Projection

N-Views (1) Homographies and Projection CS 4495 Computer Vision N-Views (1) Homographies and Projection Aaron Bobick School of Interactive Computing Administrivia PS 2: Get SDD and Normalized Correlation working for a given windows size say

More information

CSE 554 Lecture 7: Deformation II

CSE 554 Lecture 7: Deformation II CSE 554 Lecture 7: Deformation II Fall 2011 CSE554 Deformation II Slide 1 Review Rigid-body alignment Non-rigid deformation Intrinsic methods: deforming the boundary points An optimization problem Minimize

More information

Surface Reconstruction. Gianpaolo Palma

Surface Reconstruction. Gianpaolo Palma Surface Reconstruction Gianpaolo Palma Surface reconstruction Input Point cloud With or without normals Examples: multi-view stereo, union of range scan vertices Range scans Each scan is a triangular mesh

More information

Introduction to Computer Graphics. Animation (1) May 19, 2016 Kenshi Takayama

Introduction to Computer Graphics. Animation (1) May 19, 2016 Kenshi Takayama Introduction to Computer Graphics Animation (1) May 19, 2016 Kenshi Takayama Skeleton-based animation Simple Intuitive Low comp. cost https://www.youtube.com/watch?v=dsonab58qva 2 Representing a pose using

More information

Interlude: Solving systems of Equations

Interlude: Solving systems of Equations Interlude: Solving systems of Equations Solving Ax = b What happens to x under Ax? The singular value decomposition Rotation matrices Singular matrices Condition number Null space Solving Ax = 0 under

More information

Free-Form Deformation and Other Deformation Techniques

Free-Form Deformation and Other Deformation Techniques Free-Form Deformation and Other Deformation Techniques Deformation Deformation Basic Definition Deformation: A transformation/mapping of the positions of every particle in the original object to those

More information

Real-Time Shape Editing using Radial Basis Functions

Real-Time Shape Editing using Radial Basis Functions Real-Time Shape Editing using Radial Basis Functions, Leif Kobbelt RWTH Aachen Boundary Constraint Modeling Prescribe irregular constraints Vertex positions Constrained energy minimization Optimal fairness

More information

Assignment 5: Shape Deformation

Assignment 5: Shape Deformation CSCI-GA.3033-018 - Geometric Modeling Assignment 5: Shape Deformation Goal of this exercise In this exercise, you will implement an algorithm to interactively deform 3D models. You will construct a two-level

More information

Surface Registration. Gianpaolo Palma

Surface Registration. Gianpaolo Palma Surface Registration Gianpaolo Palma The problem 3D scanning generates multiple range images Each contain 3D points for different parts of the model in the local coordinates of the scanner Find a rigid

More information

Animation. Keyframe animation. CS4620/5620: Lecture 30. Rigid motion: the simplest deformation. Controlling shape for animation

Animation. Keyframe animation. CS4620/5620: Lecture 30. Rigid motion: the simplest deformation. Controlling shape for animation Keyframe animation CS4620/5620: Lecture 30 Animation Keyframing is the technique used for pose-to-pose animation User creates key poses just enough to indicate what the motion is supposed to be Interpolate

More information

Computer Vision Projective Geometry and Calibration. Pinhole cameras

Computer Vision Projective Geometry and Calibration. Pinhole cameras Computer Vision Projective Geometry and Calibration Professor Hager http://www.cs.jhu.edu/~hager Jason Corso http://www.cs.jhu.edu/~jcorso. Pinhole cameras Abstract camera model - box with a small hole

More information

03 - Reconstruction. Acknowledgements: Olga Sorkine-Hornung. CSCI-GA Geometric Modeling - Spring 17 - Daniele Panozzo

03 - Reconstruction. Acknowledgements: Olga Sorkine-Hornung. CSCI-GA Geometric Modeling - Spring 17 - Daniele Panozzo 3 - Reconstruction Acknowledgements: Olga Sorkine-Hornung Geometry Acquisition Pipeline Scanning: results in range images Registration: bring all range images to one coordinate system Stitching/ reconstruction:

More information

Discrete Geometry Processing

Discrete Geometry Processing Non Convex Boundary Convex boundary creates significant distortion Free boundary is better Some slides from the Mesh Parameterization Course (Siggraph Asia 008) 1 Fixed vs Free Boundary Fixed vs Free Boundary

More information

Animation. CS 4620 Lecture 32. Cornell CS4620 Fall Kavita Bala

Animation. CS 4620 Lecture 32. Cornell CS4620 Fall Kavita Bala Animation CS 4620 Lecture 32 Cornell CS4620 Fall 2015 1 What is animation? Modeling = specifying shape using all the tools we ve seen: hierarchies, meshes, curved surfaces Animation = specifying shape

More information

Skinning Mesh Animations

Skinning Mesh Animations Doug L. James, Christopher D. Twigg Carnegie Mellon University presented by Johannes Schmid 1 Outline Introduction & Motivation Overview & Details Results Discussion 2 Introduction Mesh sequence: 3 General

More information

Efficient Linear System Solvers for Mesh Processing

Efficient Linear System Solvers for Mesh Processing Efficient Linear System Solvers for Mesh Processing Mario Botsch, David Bommes, and Leif Kobbelt Computer Graphics Group, RWTH Aachen Technical University Abstract. The use of polygonal mesh representations

More information

Least-Squares Fitting of Data with B-Spline Curves

Least-Squares Fitting of Data with B-Spline Curves Least-Squares Fitting of Data with B-Spline Curves David Eberly, Geometric Tools, Redmond WA 98052 https://www.geometrictools.com/ This work is licensed under the Creative Commons Attribution 4.0 International

More information

Advanced Graphics and Animation

Advanced Graphics and Animation Advanced Graphics and Animation Character Marco Gillies and Dan Jones Goldsmiths Aims and objectives By the end of the lecture you will be able to describe How 3D characters are animated Skeletal animation

More information

5.2 Surface Registration

5.2 Surface Registration Spring 2018 CSCI 621: Digital Geometry Processing 5.2 Surface Registration Hao Li http://cs621.hao-li.com 1 Acknowledgement Images and Slides are courtesy of Prof. Szymon Rusinkiewicz, Princeton University

More information

Robot Mapping. Least Squares Approach to SLAM. Cyrill Stachniss

Robot Mapping. Least Squares Approach to SLAM. Cyrill Stachniss Robot Mapping Least Squares Approach to SLAM Cyrill Stachniss 1 Three Main SLAM Paradigms Kalman filter Particle filter Graphbased least squares approach to SLAM 2 Least Squares in General Approach for

More information

Graphbased. Kalman filter. Particle filter. Three Main SLAM Paradigms. Robot Mapping. Least Squares Approach to SLAM. Least Squares in General

Graphbased. Kalman filter. Particle filter. Three Main SLAM Paradigms. Robot Mapping. Least Squares Approach to SLAM. Least Squares in General Robot Mapping Three Main SLAM Paradigms Least Squares Approach to SLAM Kalman filter Particle filter Graphbased Cyrill Stachniss least squares approach to SLAM 1 2 Least Squares in General! Approach for

More information

Scanning Real World Objects without Worries 3D Reconstruction

Scanning Real World Objects without Worries 3D Reconstruction Scanning Real World Objects without Worries 3D Reconstruction 1. Overview Feng Li 308262 Kuan Tian 308263 This document is written for the 3D reconstruction part in the course Scanning real world objects

More information

12 - Spatial And Skeletal Deformations. CSCI-GA Computer Graphics - Fall 16 - Daniele Panozzo

12 - Spatial And Skeletal Deformations. CSCI-GA Computer Graphics - Fall 16 - Daniele Panozzo 12 - Spatial And Skeletal Deformations Space Deformations Space Deformation Displacement function defined on the ambient space Evaluate the function on the points of the shape embedded in the space Twist

More information

Practical Least-Squares for Computer Graphics

Practical Least-Squares for Computer Graphics Outline Least Squares with Generalized Errors Robust Least Squares Constrained Least Squares Practical Least-Squares for Computer Graphics Outline Least Squares with Generalized Errors Robust Least Squares

More information

How to create a bone diagram?

How to create a bone diagram? How to create a bone diagram? This tutorial shows how to create a bone diagram. A bone diagram represents relations between endpoints and surface interaction. A bone is transformed by a force field, and

More information

Kinematics and Orientations

Kinematics and Orientations Kinematics and Orientations Hierarchies Forward Kinematics Transformations (review) Euler angles Quaternions Yaw and evaluation function for assignment 2 Building a character Just translate, rotate, and

More information

Animation of 3D surfaces

Animation of 3D surfaces Animation of 3D surfaces 2013-14 Motivations When character animation is controlled by skeleton set of hierarchical joints joints oriented by rotations the character shape still needs to be visible: visible

More information

Game Programming. Bing-Yu Chen National Taiwan University

Game Programming. Bing-Yu Chen National Taiwan University Game Programming Bing-Yu Chen National Taiwan University Character Motion Hierarchical Modeling Character Animation Motion Editing 1 Hierarchical Modeling Connected primitives 2 3D Example: A robot arm

More information

05 Mesh Animation. Steve Marschner CS5625 Spring 2016

05 Mesh Animation. Steve Marschner CS5625 Spring 2016 05 Mesh Animation Steve Marschner CS5625 Spring 2016 Basic surface deformation methods Blend shapes: make a mesh by combining several meshes Mesh skinning: deform a mesh based on an underlying skeleton

More information

Camera Calibration. Schedule. Jesus J Caban. Note: You have until next Monday to let me know. ! Today:! Camera calibration

Camera Calibration. Schedule. Jesus J Caban. Note: You have until next Monday to let me know. ! Today:! Camera calibration Camera Calibration Jesus J Caban Schedule! Today:! Camera calibration! Wednesday:! Lecture: Motion & Optical Flow! Monday:! Lecture: Medical Imaging! Final presentations:! Nov 29 th : W. Griffin! Dec 1

More information

Lecture 3: Camera Calibration, DLT, SVD

Lecture 3: Camera Calibration, DLT, SVD Computer Vision Lecture 3 23--28 Lecture 3: Camera Calibration, DL, SVD he Inner Parameters In this section we will introduce the inner parameters of the cameras Recall from the camera equations λx = P

More information

COS429: COMPUTER VISON CAMERAS AND PROJECTIONS (2 lectures)

COS429: COMPUTER VISON CAMERAS AND PROJECTIONS (2 lectures) COS429: COMPUTER VISON CMERS ND PROJECTIONS (2 lectures) Pinhole cameras Camera with lenses Sensing nalytical Euclidean geometry The intrinsic parameters of a camera The extrinsic parameters of a camera

More information

This week. CENG 732 Computer Animation. Warping an Object. Warping an Object. 2D Grid Deformation. Warping an Object.

This week. CENG 732 Computer Animation. Warping an Object. Warping an Object. 2D Grid Deformation. Warping an Object. CENG 732 Computer Animation Spring 2006-2007 Week 4 Shape Deformation Animating Articulated Structures: Forward Kinematics/Inverse Kinematics This week Shape Deformation FFD: Free Form Deformation Hierarchical

More information

Index. 3D reconstruction, point algorithm, point algorithm, point algorithm, point algorithm, 253

Index. 3D reconstruction, point algorithm, point algorithm, point algorithm, point algorithm, 253 Index 3D reconstruction, 123 5+1-point algorithm, 274 5-point algorithm, 260 7-point algorithm, 255 8-point algorithm, 253 affine point, 43 affine transformation, 55 affine transformation group, 55 affine

More information

Computing and Processing Correspondences with Functional Maps

Computing and Processing Correspondences with Functional Maps Computing and Processing Correspondences with Functional Maps SIGGRAPH 2017 course Maks Ovsjanikov, Etienne Corman, Michael Bronstein, Emanuele Rodolà, Mirela Ben-Chen, Leonidas Guibas, Frederic Chazal,

More information

COMPUTER ANIMATION 3 KEYFRAME ANIMATION, RIGGING, SKINNING AND CHARACTER ANIMATION. Rémi Ronfard, Animation, M2R MOSIG

COMPUTER ANIMATION 3 KEYFRAME ANIMATION, RIGGING, SKINNING AND CHARACTER ANIMATION. Rémi Ronfard, Animation, M2R MOSIG COMPUTER ANIMATION 3 KEYFRAME ANIMATION, RIGGING, SKINNING AND CHARACTER ANIMATION Rémi Ronfard, Animation, M2R MOSIG 2 Outline Principles of animation Keyframe interpolation Rigging, skinning and walking

More information

Lecture 15: More Iterative Ideas

Lecture 15: More Iterative Ideas Lecture 15: More Iterative Ideas David Bindel 15 Mar 2010 Logistics HW 2 due! Some notes on HW 2. Where we are / where we re going More iterative ideas. Intro to HW 3. More HW 2 notes See solution code!

More information

SCAPE: Shape Completion and Animation of People

SCAPE: Shape Completion and Animation of People SCAPE: Shape Completion and Animation of People By Dragomir Anguelov, Praveen Srinivasan, Daphne Koller, Sebastian Thrun, Jim Rodgers, James Davis From SIGGRAPH 2005 Presentation for CS468 by Emilio Antúnez

More information

Course Review. Computer Animation and Visualisation. Taku Komura

Course Review. Computer Animation and Visualisation. Taku Komura Course Review Computer Animation and Visualisation Taku Komura Characters include Human models Virtual characters Animal models Representation of postures The body has a hierarchical structure Many types

More information

IN OUR LAST HOMEWORK, WE SOLVED LARGE

IN OUR LAST HOMEWORK, WE SOLVED LARGE Y OUR HOMEWORK H A SSIGNMENT Editor: Dianne P. O Leary, oleary@cs.umd.edu FAST SOLVERS AND SYLVESTER EQUATIONS: BOTH SIDES NOW By Dianne P. O Leary IN OUR LAST HOMEWORK, WE SOLVED LARGE SPARSE SYSTEMS

More information

Numerical Linear Algebra

Numerical Linear Algebra Numerical Linear Algebra Probably the simplest kind of problem. Occurs in many contexts, often as part of larger problem. Symbolic manipulation packages can do linear algebra "analytically" (e.g. Mathematica,

More information

Structure from Motion

Structure from Motion 11/18/11 Structure from Motion Computer Vision CS 143, Brown James Hays Many slides adapted from Derek Hoiem, Lana Lazebnik, Silvio Saverese, Steve Seitz, and Martial Hebert This class: structure from

More information

animation computer graphics animation 2009 fabio pellacini 1 animation shape specification as a function of time

animation computer graphics animation 2009 fabio pellacini 1 animation shape specification as a function of time animation computer graphics animation 2009 fabio pellacini 1 animation shape specification as a function of time computer graphics animation 2009 fabio pellacini 2 animation representation many ways to

More information

3D Geometry and Camera Calibration

3D Geometry and Camera Calibration 3D Geometry and Camera Calibration 3D Coordinate Systems Right-handed vs. left-handed x x y z z y 2D Coordinate Systems 3D Geometry Basics y axis up vs. y axis down Origin at center vs. corner Will often

More information

Digital Geometry Processing

Digital Geometry Processing Digital Geometry Processing Spring 2011 physical model acquired point cloud reconstructed model 2 Digital Michelangelo Project Range Scanning Systems Passive: Stereo Matching Find and match features in

More information

animation computer graphics animation 2009 fabio pellacini 1

animation computer graphics animation 2009 fabio pellacini 1 animation computer graphics animation 2009 fabio pellacini 1 animation shape specification as a function of time computer graphics animation 2009 fabio pellacini 2 animation representation many ways to

More information

About this document. Introduction. Where does Life Forms fit? Prev Menu Next Back p. 2

About this document. Introduction. Where does Life Forms fit? Prev Menu Next Back p. 2 Prev Menu Next Back p. 2 About this document This document explains how to use Life Forms Studio with LightWave 5.5-6.5. It also contains short examples of how to use LightWave and Life Forms together.

More information

A skeleton/cage hybrid paradigm for digital animation

A skeleton/cage hybrid paradigm for digital animation A skeleton/cage hybrid paradigm for digital animation Fabrizio Corda 1 1 Università degli studi di Cagliari Abstract. Digital animators require simple tools and techniques that allow them to create computer

More information

Translations. Geometric Image Transformations. Two-Dimensional Geometric Transforms. Groups and Composition

Translations. Geometric Image Transformations. Two-Dimensional Geometric Transforms. Groups and Composition Geometric Image Transformations Algebraic Groups Euclidean Affine Projective Bovine Translations Translations are a simple family of two-dimensional transforms. Translations were at the heart of our Sprite

More information

Introduction to Computer Graphics. Modeling (3) April 27, 2017 Kenshi Takayama

Introduction to Computer Graphics. Modeling (3) April 27, 2017 Kenshi Takayama Introduction to Computer Graphics Modeling (3) April 27, 2017 Kenshi Takayama Solid modeling 2 Solid models Thin shapes represented by single polygons Unorientable Clear definition of inside & outside

More information

Geometric Modeling Assignment 5: Shape Deformation

Geometric Modeling Assignment 5: Shape Deformation Geometric Modeling Assignment 5: Shape Deformation Acknowledgements: Olga Diamanti, Julian Panetta Shape Deformation Step 1: Select and Deform Handle Regions Draw vertex selection with mouse H 2 Move one

More information

Lecture 11: Randomized Least-squares Approximation in Practice. 11 Randomized Least-squares Approximation in Practice

Lecture 11: Randomized Least-squares Approximation in Practice. 11 Randomized Least-squares Approximation in Practice Stat60/CS94: Randomized Algorithms for Matrices and Data Lecture 11-10/09/013 Lecture 11: Randomized Least-squares Approximation in Practice Lecturer: Michael Mahoney Scribe: Michael Mahoney Warning: these

More information

6.837 LECTURE 7. Lecture 7 Outline Fall '01. Lecture Fall '01

6.837 LECTURE 7. Lecture 7 Outline Fall '01. Lecture Fall '01 6.837 LECTURE 7 1. Geometric Image Transformations 2. Two-Dimensional Geometric Transforms 3. Translations 4. Groups and Composition 5. Rotations 6. Euclidean Transforms 7. Problems with this Form 8. Choose

More information

COMP 558 lecture 19 Nov. 17, 2010

COMP 558 lecture 19 Nov. 17, 2010 COMP 558 lecture 9 Nov. 7, 2 Camera calibration To estimate the geometry of 3D scenes, it helps to know the camera parameters, both external and internal. The problem of finding all these parameters is

More information

T6: Position-Based Simulation Methods in Computer Graphics. Jan Bender Miles Macklin Matthias Müller

T6: Position-Based Simulation Methods in Computer Graphics. Jan Bender Miles Macklin Matthias Müller T6: Position-Based Simulation Methods in Computer Graphics Jan Bender Miles Macklin Matthias Müller Jan Bender Organizer Professor at the Visual Computing Institute at Aachen University Research topics

More information

CIS 580, Machine Perception, Spring 2014: Assignment 4 Due: Wednesday, April 10th, 10:30am (use turnin)

CIS 580, Machine Perception, Spring 2014: Assignment 4 Due: Wednesday, April 10th, 10:30am (use turnin) CIS 580, Machine Perception, Spring 2014: Assignment 4 Due: Wednesday, April 10th, 10:30am (use turnin) Solutions (hand calculations, plots) have to be submitted electronically as a single pdf file using

More information

Special Topics in Visualization

Special Topics in Visualization Special Topics in Visualization Final Project Report Dual contouring of Hermite Data Submitted By S M Shahed Nejhum 8589-1199 May 19, 2008 Introduction Iso-surface extraction from 3D volumetric data is

More information

Applications of Dual Quaternions in Three Dimensional Transformation and Interpolation

Applications of Dual Quaternions in Three Dimensional Transformation and Interpolation Applications of Dual Quaternions in Three Dimensional Transformation and Interpolation November 11, 2013 Matthew Smith mrs126@uclive.ac.nz Department of Computer Science and Software Engineering University

More information

Geometric Registration for Deformable Shapes 3.3 Advanced Global Matching

Geometric Registration for Deformable Shapes 3.3 Advanced Global Matching Geometric Registration for Deformable Shapes 3.3 Advanced Global Matching Correlated Correspondences [ASP*04] A Complete Registration System [HAW*08] In this session Advanced Global Matching Some practical

More information

Interpolating and approximating scattered 3D-data with hierarchical tensor product B-splines

Interpolating and approximating scattered 3D-data with hierarchical tensor product B-splines Interpolating and approximating scattered 3D-data with hierarchical tensor product B-splines Günther Greiner Kai Hormann Abstract In this note we describe surface reconstruction algorithms based on optimization

More information

Quaternions and Exponentials

Quaternions and Exponentials Quaternions and Exponentials Michael Kazhdan (601.457/657) HB A.6 FvDFH 21.1.3 Announcements OpenGL review II: Today at 9:00pm, Malone 228 This week's graphics reading seminar: Today 2:00-3:00pm, my office

More information

Parameterization II Some slides from the Mesh Parameterization Course from Siggraph Asia

Parameterization II Some slides from the Mesh Parameterization Course from Siggraph Asia Parameterization II Some slides from the Mesh Parameterization Course from Siggraph Asia 2008 1 Non-Convex Non Convex Boundary Convex boundary creates significant distortion Free boundary is better 2 Fixed

More information

Index. 3D reconstruction, point algorithm, point algorithm, point algorithm, point algorithm, 263

Index. 3D reconstruction, point algorithm, point algorithm, point algorithm, point algorithm, 263 Index 3D reconstruction, 125 5+1-point algorithm, 284 5-point algorithm, 270 7-point algorithm, 265 8-point algorithm, 263 affine point, 45 affine transformation, 57 affine transformation group, 57 affine

More information

Bounded Distortion Mapping and Shape Deformation

Bounded Distortion Mapping and Shape Deformation Bounded Distortion Mapping and Shape Deformation 陈仁杰 德国马克斯普朗克计算机研究所 GAMES Web Seminar, 29 March 2018 Outline Planar Mapping & Applications Bounded Distortion Mapping Harmonic Shape Deformation Shape Interpolation

More information

Computer Vision. Coordinates. Prof. Flávio Cardeal DECOM / CEFET- MG.

Computer Vision. Coordinates. Prof. Flávio Cardeal DECOM / CEFET- MG. Computer Vision Coordinates Prof. Flávio Cardeal DECOM / CEFET- MG cardeal@decom.cefetmg.br Abstract This lecture discusses world coordinates and homogeneous coordinates, as well as provides an overview

More information

THE FORCE DENSITY METHOD: A BRIEF INTRODUCTION

THE FORCE DENSITY METHOD: A BRIEF INTRODUCTION Technical Report TR-NCCA-2011-02 THE FORCE DENSITY METHOD: A BRIEF INTRODUCTION Richard Southern The National Centre for Computer Animation Bournemouth Media School Bournemouth University Talbot Campus,

More information

SM2231 :: 3D Animation I :: Basic. Rigging

SM2231 :: 3D Animation I :: Basic. Rigging SM2231 :: 3D Animation I :: Basic Rigging Object arrangements Hierarchical Hierarchical Separate parts arranged in a hierarchy can be animated without a skeleton Flat Flat Flat hierarchy is usually preferred,

More information

Geometric Modeling and Processing

Geometric Modeling and Processing Geometric Modeling and Processing Tutorial of 3DIM&PVT 2011 (Hangzhou, China) May 16, 2011 4. Geometric Registration 4.1 Rigid Registration Range Scanning: Reconstruction Set of raw scans Reconstructed

More information

计算机图形学. Computer Graphics 刘利刚.

计算机图形学. Computer Graphics 刘利刚. 计算机图形学 Computer Graphics 刘利刚 lgliu@ustc.edu.cn http://staff.ustc.edu.cn/~lgliu Computer Animation Skinning and Enveloping The slide are from Durand from MIT. Before getting started One more word about

More information