Advanced Computer Graphics

Size: px
Start display at page:

Download "Advanced Computer Graphics"

Transcription

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

2 Projects Details of each project are on the website under Projects Please review all the projects and come see me if you would like to discuss details. 2

3 Project Topics Computer Animation Interactive Shape Modeling Computational Photography Image Processing 3

4 For projects involving 2D only: Code Tips See links on the Resources webpage! You can use MATLAB and/or OpenCV Not much UI involved For projects in 3D I recommend OpenGL rendering with GLUT For GUI you can use AntTweakBar or GLUI If familiar: QT or other GUI APIs (more heavy weight) Mesh libraries: see course website. Again, preference for light weight (trimesh). 4

5 Optimization Almost 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 5

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

7 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 7

8 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 8

9 Geometric Modeling Interactive shape editing system Implement one of the recent papers: PriMo, SGP 2006 The objective functional E(x) says the details of the shape should be preserved as much as possible The constraints for the minimization are the userdefined fixed positions 9

10 Interactive Shape Modeling Sketch based modeling Inflation of 2D sketches into a 3D shape User draws the silhouette System meshes the interior System inflates the shape Objective E(x) measures how smooth the surface x is The constraint is the silhouette curve 10

11 Interactive Shape Modeling Sketch based painting: diffusion curves on surfaces Implement a system for 3D painting on surfaces Color from a curve is diffused by means of the Poisson equation E(x) says the color field x should be smooth Constraints: colors of the curves 11

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

13 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 (match new projected position to the old position) 13

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

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

16 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 16

17 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 17

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

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

20 E(x) measures: How well the quad shape is preserved How smooth the grid lines are Constraints: The boundary of the image (has to fit new dimensions) Cropping constraints: all important content should remain in the resulting image Image Processing Image retargeting (resizing) 20

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

22 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 22

23 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 23

24 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 24

25 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/20/ Olga Sorkine, Courant Institute

26 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 26

27 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 27

28 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 28

29 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 29

30 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 30

31 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 31

32 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 ) 32

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

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

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

36 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 36

37 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 37

38 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. 38

39 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 39

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

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

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

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

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

45 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) 45

46 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) 46

47 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 47

48 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 48

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

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

51 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 51

52 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 52

53 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 53

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

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

56 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 56

57 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 57

58 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 58

59 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 59

60 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 60

61 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 61

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

63 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

64 Next week By September 27 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! ) 64

65 Next week and after On September 28 I will assign a project to everyone Next class: October 4; 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 65

Advanced Computer Graphics

Advanced Computer Graphics G22.2274 001, Fall 2009 Advanced Computer Graphics Project details and tools 1 Project Topics Computer Animation Geometric Modeling Computational Photography Image processing 2 Optimization All projects

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

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

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

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

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

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

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

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

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

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

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

Graph Partitioning for High-Performance Scientific Simulations. Advanced Topics Spring 2008 Prof. Robert van Engelen

Graph Partitioning for High-Performance Scientific Simulations. Advanced Topics Spring 2008 Prof. Robert van Engelen Graph Partitioning for High-Performance Scientific Simulations Advanced Topics Spring 2008 Prof. Robert van Engelen Overview Challenges for irregular meshes Modeling mesh-based computations as graphs Static

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

Lecture 7: Arnold s Cat Map

Lecture 7: Arnold s Cat Map Lecture 7: Arnold s Cat Map Reference http://www.chaos.umd.edu/misc/catmap.html https://www.jasondavies.com/catmap/ Chaotic Maps: An Introduction A popular question in mathematics is how to analyze and

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

Subdivision. Outline. Key Questions. Subdivision Surfaces. Advanced Computer Graphics (Spring 2013) Video: Geri s Game (outside link)

Subdivision. Outline. Key Questions. Subdivision Surfaces. Advanced Computer Graphics (Spring 2013) Video: Geri s Game (outside link) Advanced Computer Graphics (Spring 03) CS 83, Lecture 7: Subdivision Ravi Ramamoorthi http://inst.eecs.berkeley.edu/~cs83/sp3 Slides courtesy of Szymon Rusinkiewicz, James O Brien with material from Denis

More information

Aim. Structure and matrix sparsity: Part 1 The simplex method: Exploiting sparsity. Structure and matrix sparsity: Overview

Aim. Structure and matrix sparsity: Part 1 The simplex method: Exploiting sparsity. Structure and matrix sparsity: Overview Aim Structure and matrix sparsity: Part 1 The simplex method: Exploiting sparsity Julian Hall School of Mathematics University of Edinburgh jajhall@ed.ac.uk What should a 2-hour PhD lecture on structure

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

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

Introduction and Overview

Introduction and Overview CS 523: Computer Graphics, Spring 2009 Shape Modeling Introduction and Overview 1/28/2009 1 Geometric Modeling To describe any reallife object on the computer must start with shape (2D/3D) Geometry processing

More information

What is Multigrid? They have been extended to solve a wide variety of other problems, linear and nonlinear.

What is Multigrid? They have been extended to solve a wide variety of other problems, linear and nonlinear. AMSC 600/CMSC 760 Fall 2007 Solution of Sparse Linear Systems Multigrid, Part 1 Dianne P. O Leary c 2006, 2007 What is Multigrid? Originally, multigrid algorithms were proposed as an iterative method to

More information

Homework # 2 Due: October 6. Programming Multiprocessors: Parallelism, Communication, and Synchronization

Homework # 2 Due: October 6. Programming Multiprocessors: Parallelism, Communication, and Synchronization ECE669: Parallel Computer Architecture Fall 2 Handout #2 Homework # 2 Due: October 6 Programming Multiprocessors: Parallelism, Communication, and Synchronization 1 Introduction When developing multiprocessor

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

Lecture 2 Unstructured Mesh Generation

Lecture 2 Unstructured Mesh Generation Lecture 2 Unstructured Mesh Generation MIT 16.930 Advanced Topics in Numerical Methods for Partial Differential Equations Per-Olof Persson (persson@mit.edu) February 13, 2006 1 Mesh Generation Given a

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

3D Regularization of Animated Surfaces

3D Regularization of Animated Surfaces D Regularization of Animated Surfaces Simon Courtemanche Ensimag, Grenoble-INP Introduction Understanding the motion of living beings is a major research subject in computer animation. This kind of study

More information

Space Filling Curves and Hierarchical Basis. Klaus Speer

Space Filling Curves and Hierarchical Basis. Klaus Speer Space Filling Curves and Hierarchical Basis Klaus Speer Abstract Real world phenomena can be best described using differential equations. After linearisation we have to deal with huge linear systems of

More information

Introduction to Computer Graphics. Image Processing (1) June 8, 2017 Kenshi Takayama

Introduction to Computer Graphics. Image Processing (1) June 8, 2017 Kenshi Takayama Introduction to Computer Graphics Image Processing (1) June 8, 2017 Kenshi Takayama Today s topics Edge-aware image processing Gradient-domain image processing 2 Image smoothing using Gaussian Filter Smoothness

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

Topics in Computer Animation

Topics in Computer Animation Topics in Computer Animation Animation Techniques Artist Driven animation The artist draws some frames (keyframing) Usually in 2D The computer generates intermediate frames using interpolation The old

More information

EF432. Introduction to spagetti and meatballs

EF432. Introduction to spagetti and meatballs EF432 Introduction to spagetti and meatballs CSC 418/2504: Computer Graphics Course web site (includes course information sheet): http://www.dgp.toronto.edu/~karan/courses/418/ Instructors: L2501, T 6-8pm

More information

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs Advanced Operations Research Techniques IE316 Quiz 1 Review Dr. Ted Ralphs IE316 Quiz 1 Review 1 Reading for The Quiz Material covered in detail in lecture. 1.1, 1.4, 2.1-2.6, 3.1-3.3, 3.5 Background material

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

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

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

Lecture 9. Introduction to Numerical Techniques

Lecture 9. Introduction to Numerical Techniques Lecture 9. Introduction to Numerical Techniques Ivan Papusha CDS270 2: Mathematical Methods in Control and System Engineering May 27, 2015 1 / 25 Logistics hw8 (last one) due today. do an easy problem

More information

This work is about a new method for generating diffusion curve style images. Although this topic is dealing with non-photorealistic rendering, as you

This work is about a new method for generating diffusion curve style images. Although this topic is dealing with non-photorealistic rendering, as you This work is about a new method for generating diffusion curve style images. Although this topic is dealing with non-photorealistic rendering, as you will see our underlying solution is based on two-dimensional

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

Topic 0. Introduction: What Is Computer Graphics? CSC 418/2504: Computer Graphics EF432. Today s Topics. What is Computer Graphics?

Topic 0. Introduction: What Is Computer Graphics? CSC 418/2504: Computer Graphics EF432. Today s Topics. What is Computer Graphics? EF432 Introduction to spagetti and meatballs CSC 418/2504: Computer Graphics Course web site (includes course information sheet): http://www.dgp.toronto.edu/~karan/courses/418/ Instructors: L0101, W 12-2pm

More information

Geometry Processing & Geometric Queries. Computer Graphics CMU /15-662

Geometry Processing & Geometric Queries. Computer Graphics CMU /15-662 Geometry Processing & Geometric Queries Computer Graphics CMU 15-462/15-662 Last time: Meshes & Manifolds Mathematical description of geometry - simplifying assumption: manifold - for polygon meshes: fans,

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

interpolation, color, & light Outline HW I Announcements HW II--due today, 5PM HW III on the web later today

interpolation, color, & light Outline HW I Announcements HW II--due today, 5PM HW III on the web later today interpolation, color, & light Outline Announcements HW II--due today, 5PM HW III on the web later today HW I: Issues Structured vs. Unstructured Meshes Working with unstructured meshes Interpolation colormaps

More information

Lecture VIII. Global Approximation Methods: I

Lecture VIII. Global Approximation Methods: I Lecture VIII Global Approximation Methods: I Gianluca Violante New York University Quantitative Macroeconomics G. Violante, Global Methods p. 1 /29 Global function approximation Global methods: function

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

L15. POSE-GRAPH SLAM. NA568 Mobile Robotics: Methods & Algorithms

L15. POSE-GRAPH SLAM. NA568 Mobile Robotics: Methods & Algorithms L15. POSE-GRAPH SLAM NA568 Mobile Robotics: Methods & Algorithms Today s Topic Nonlinear Least Squares Pose-Graph SLAM Incremental Smoothing and Mapping Feature-Based SLAM Filtering Problem: Motion Prediction

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

Geometric Modeling Assignment 3: Discrete Differential Quantities

Geometric Modeling Assignment 3: Discrete Differential Quantities Geometric Modeling Assignment : Discrete Differential Quantities Acknowledgements: Julian Panetta, Olga Diamanti Assignment (Optional) Topic: Discrete Differential Quantities with libigl Vertex Normals,

More information

EF432. Introduction to spagetti and meatballs

EF432. Introduction to spagetti and meatballs EF432 Introduction to spagetti and meatballs CSC 418/2504: Computer Graphics Course web site (includes course information sheet): http://www.dgp.toronto.edu/~karan/courses/418/fall2015 Instructor: Karan

More information

AA220/CS238 Parallel Methods in Numerical Analysis. Introduction to Sparse Direct Solver (Symmetric Positive Definite Systems)

AA220/CS238 Parallel Methods in Numerical Analysis. Introduction to Sparse Direct Solver (Symmetric Positive Definite Systems) AA0/CS8 Parallel ethods in Numerical Analysis Introduction to Sparse Direct Solver (Symmetric Positive Definite Systems) Kincho H. Law Professor of Civil and Environmental Engineering Stanford University

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

Homework #2 and #3 Due Friday, October 12 th and Friday, October 19 th

Homework #2 and #3 Due Friday, October 12 th and Friday, October 19 th Homework #2 and #3 Due Friday, October 12 th and Friday, October 19 th 1. a. Show that the following sequences commute: i. A rotation and a uniform scaling ii. Two rotations about the same axis iii. Two

More information

Graph drawing in spectral layout

Graph drawing in spectral layout Graph drawing in spectral layout Maureen Gallagher Colleen Tygh John Urschel Ludmil Zikatanov Beginning: July 8, 203; Today is: October 2, 203 Introduction Our research focuses on the use of spectral graph

More information

0. Introduction: What is Computer Graphics? 1. Basics of scan conversion (line drawing) 2. Representing 2D curves

0. Introduction: What is Computer Graphics? 1. Basics of scan conversion (line drawing) 2. Representing 2D curves CSC 418/2504: Computer Graphics Course web site (includes course information sheet): http://www.dgp.toronto.edu/~elf Instructor: Eugene Fiume Office: BA 5266 Phone: 416 978 5472 (not a reliable way) Email:

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

Image Manipulation in MATLAB Due Monday, July 17 at 5:00 PM

Image Manipulation in MATLAB Due Monday, July 17 at 5:00 PM Image Manipulation in MATLAB Due Monday, July 17 at 5:00 PM 1 Instructions Labs may be done in groups of 2 or 3 (i.e., not alone). You may use any programming language you wish but MATLAB is highly suggested.

More information

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into 2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into the viewport of the current application window. A pixel

More information

Geometric Features for Non-photorealistiic Rendering

Geometric Features for Non-photorealistiic Rendering CS348a: Computer Graphics Handout # 6 Geometric Modeling and Processing Stanford University Monday, 27 February 2017 Homework #4: Due Date: Mesh simplification and expressive rendering [95 points] Wednesday,

More information

GRAPHING WORKSHOP. A graph of an equation is an illustration of a set of points whose coordinates satisfy the equation.

GRAPHING WORKSHOP. A graph of an equation is an illustration of a set of points whose coordinates satisfy the equation. GRAPHING WORKSHOP A graph of an equation is an illustration of a set of points whose coordinates satisfy the equation. The figure below shows a straight line drawn through the three points (2, 3), (-3,-2),

More information

Name: SID: LAB Section: Lab 6 - Part 1: Pixels and Triangle Rasterization

Name: SID: LAB Section: Lab 6 - Part 1: Pixels and Triangle Rasterization Name: SID: LAB Section: Lab 6 - Part 1: Pixels and Triangle Rasterization 1. Coordinate space conversions. In OpenGL, the coordinates of a vertex in model-view space can be converted to NPC coordinates,

More information

FiberMesh. Due: 4/12/10, 11:59 PM

FiberMesh. Due: 4/12/10, 11:59 PM CS224: Interactive Computer Graphics FiberMesh Due: 4/12/10, 11:59 PM Least Squares Solver 5 Mesh triangulation 10 Optimization Problem 1: Curve Dragging 25 Optimization Problem 2: Surface Optimization

More information

Report of Linear Solver Implementation on GPU

Report of Linear Solver Implementation on GPU Report of Linear Solver Implementation on GPU XIANG LI Abstract As the development of technology and the linear equation solver is used in many aspects such as smart grid, aviation and chemical engineering,

More information

Graded Assignment 2 Maple plots

Graded Assignment 2 Maple plots Graded Assignment 2 Maple plots The Maple part of the assignment is to plot the graphs corresponding to the following problems. I ll note some syntax here to get you started see tutorials for more. Problem

More information

SHORTEST PATHS ON SURFACES GEODESICS IN HEAT

SHORTEST PATHS ON SURFACES GEODESICS IN HEAT SHORTEST PATHS ON SURFACES GEODESICS IN HEAT INF555 Digital Representation and Analysis of Shapes 28 novembre 2015 Ruoqi He & Chia-Man Hung 1 INTRODUCTION In this project we present the algorithm of a

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

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

A Random Variable Shape Parameter Strategy for Radial Basis Function Approximation Methods

A Random Variable Shape Parameter Strategy for Radial Basis Function Approximation Methods A Random Variable Shape Parameter Strategy for Radial Basis Function Approximation Methods Scott A. Sarra, Derek Sturgill Marshall University, Department of Mathematics, One John Marshall Drive, Huntington

More information

PROGRAMMING OF MULTIGRID METHODS

PROGRAMMING OF MULTIGRID METHODS PROGRAMMING OF MULTIGRID METHODS LONG CHEN In this note, we explain the implementation detail of multigrid methods. We will use the approach by space decomposition and subspace correction method; see Chapter:

More information

2D & 3D Finite Element Method Packages of CEMTool for Engineering PDE Problems

2D & 3D Finite Element Method Packages of CEMTool for Engineering PDE Problems 2D & 3D Finite Element Method Packages of CEMTool for Engineering PDE Problems Choon Ki Ahn, Jung Hun Park, and Wook Hyun Kwon 1 Abstract CEMTool is a command style design and analyzing package for scientific

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

CVPR 2014 Visual SLAM Tutorial Efficient Inference

CVPR 2014 Visual SLAM Tutorial Efficient Inference CVPR 2014 Visual SLAM Tutorial Efficient Inference kaess@cmu.edu The Robotics Institute Carnegie Mellon University The Mapping Problem (t=0) Robot Landmark Measurement Onboard sensors: Wheel odometry Inertial

More information

Lecture 7: Image Morphing. Idea #2: Align, then cross-disolve. Dog Averaging. Averaging vectors. Idea #1: Cross-Dissolving / Cross-fading

Lecture 7: Image Morphing. Idea #2: Align, then cross-disolve. Dog Averaging. Averaging vectors. Idea #1: Cross-Dissolving / Cross-fading Lecture 7: Image Morphing Averaging vectors v = p + α (q p) = (1 - α) p + α q where α = q - v p α v (1-α) q p and q can be anything: points on a plane (2D) or in space (3D) Colors in RGB or HSV (3D) Whole

More information

Nonphotorealism. Christian Miller CS Fall 2011

Nonphotorealism. Christian Miller CS Fall 2011 Nonphotorealism Christian Miller CS 354 - Fall 2011 Different goals Everything we ve done so far has been working (more or less) towards photorealism But, you might not want realism as a stylistic choice

More information

A Global Laplacian Smoothing Approach with Feature Preservation

A Global Laplacian Smoothing Approach with Feature Preservation A Global Laplacian Smoothing Approach with Feature Preservation hongping Ji Ligang Liu Guojin Wang Department of Mathematics State Key Lab of CAD&CG hejiang University Hangzhou, 310027 P.R. China jzpboy@yahoo.com.cn,

More information

1.2 Numerical Solutions of Flow Problems

1.2 Numerical Solutions of Flow Problems 1.2 Numerical Solutions of Flow Problems DIFFERENTIAL EQUATIONS OF MOTION FOR A SIMPLIFIED FLOW PROBLEM Continuity equation for incompressible flow: 0 Momentum (Navier-Stokes) equations for a Newtonian

More information

Iterative Algorithms I: Elementary Iterative Methods and the Conjugate Gradient Algorithms

Iterative Algorithms I: Elementary Iterative Methods and the Conjugate Gradient Algorithms Iterative Algorithms I: Elementary Iterative Methods and the Conjugate Gradient Algorithms By:- Nitin Kamra Indian Institute of Technology, Delhi Advisor:- Prof. Ulrich Reude 1. Introduction to Linear

More information

As a consequence of the operation, there are new incidences between edges and triangles that did not exist in K; see Figure II.9.

As a consequence of the operation, there are new incidences between edges and triangles that did not exist in K; see Figure II.9. II.4 Surface Simplification 37 II.4 Surface Simplification In applications it is often necessary to simplify the data or its representation. One reason is measurement noise, which we would like to eliminate,

More information

1 2 (3 + x 3) x 2 = 1 3 (3 + x 1 2x 3 ) 1. 3 ( 1 x 2) (3 + x(0) 3 ) = 1 2 (3 + 0) = 3. 2 (3 + x(0) 1 2x (0) ( ) = 1 ( 1 x(0) 2 ) = 1 3 ) = 1 3

1 2 (3 + x 3) x 2 = 1 3 (3 + x 1 2x 3 ) 1. 3 ( 1 x 2) (3 + x(0) 3 ) = 1 2 (3 + 0) = 3. 2 (3 + x(0) 1 2x (0) ( ) = 1 ( 1 x(0) 2 ) = 1 3 ) = 1 3 6 Iterative Solvers Lab Objective: Many real-world problems of the form Ax = b have tens of thousands of parameters Solving such systems with Gaussian elimination or matrix factorizations could require

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

On the regularizing power of multigrid-type algorithms

On the regularizing power of multigrid-type algorithms On the regularizing power of multigrid-type algorithms Marco Donatelli Dipartimento di Fisica e Matematica Università dell Insubria www.mat.unimi.it/user/donatel Outline 1 Restoration of blurred and noisy

More information

Contents. Implementing the QR factorization The algebraic eigenvalue problem. Applied Linear Algebra in Geoscience Using MATLAB

Contents. Implementing the QR factorization The algebraic eigenvalue problem. Applied Linear Algebra in Geoscience Using MATLAB Applied Linear Algebra in Geoscience Using MATLAB Contents Getting Started Creating Arrays Mathematical Operations with Arrays Using Script Files and Managing Data Two-Dimensional Plots Programming in

More information

CS 248 Assignment 2 Polygon Scan Conversion. CS248 Presented by Michael Green Stanford University October 20, 2004

CS 248 Assignment 2 Polygon Scan Conversion. CS248 Presented by Michael Green Stanford University October 20, 2004 CS 248 Assignment 2 Polygon Scan Conversion CS248 Presented by Michael Green Stanford University October 20, 2004 Announcements First thing: read README.animgui.. It should tell you everything you need

More information

Sparse matrices, graphs, and tree elimination

Sparse matrices, graphs, and tree elimination Logistics Week 6: Friday, Oct 2 1. I will be out of town next Tuesday, October 6, and so will not have office hours on that day. I will be around on Monday, except during the SCAN seminar (1:25-2:15);

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

Announcements. Image Matching! Source & Destination Images. Image Transformation 2/ 3/ 16. Compare a big image to a small image

Announcements. Image Matching! Source & Destination Images. Image Transformation 2/ 3/ 16. Compare a big image to a small image 2/3/ Announcements PA is due in week Image atching! Leave time to learn OpenCV Think of & implement something creative CS 50 Lecture #5 February 3 rd, 20 2/ 3/ 2 Compare a big image to a small image So

More information

Interpolation - 2D mapping Tutorial 1: triangulation

Interpolation - 2D mapping Tutorial 1: triangulation Tutorial 1: triangulation Measurements (Zk) at irregular points (xk, yk) Ex: CTD stations, mooring, etc... The known Data How to compute some values on the regular spaced grid points (+)? The unknown data

More information

Sparse matrices: Basics

Sparse matrices: Basics Outline : Basics Bora Uçar RO:MA, LIP, ENS Lyon, France CR-08: Combinatorial scientific computing, September 201 http://perso.ens-lyon.fr/bora.ucar/cr08/ 1/28 CR09 Outline Outline 1 Course presentation

More information

Scalar Field Visualization I

Scalar Field Visualization I Scalar Field Visualization I What is a Scalar Field? The approximation of certain scalar function in space f(x,y,z). Image source: blimpyb.com f What is a Scalar Field? The approximation of certain scalar

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

Sketch Based Image Deformation

Sketch Based Image Deformation Sketch Based Image Deformation Mathias Eitz Olga Sorkine Marc Alexa TU Berlin Email: {eitz,sorkine,marc}@cs.tu-berlin.de Abstract We present an image editing tool that allows to deform and composite image

More information

Numerical Methods in Physics Lecture 2 Interpolation

Numerical Methods in Physics Lecture 2 Interpolation Numerical Methods in Physics Pat Scott Department of Physics, Imperial College November 8, 2016 Slides available from http://astro.ic.ac.uk/pscott/ course-webpage-numerical-methods-201617 Outline The problem

More information

Image Blending and Compositing NASA

Image Blending and Compositing NASA Image Blending and Compositing NASA CS194: Image Manipulation & Computational Photography Alexei Efros, UC Berkeley, Fall 2016 Image Compositing Compositing Procedure 1. Extract Sprites (e.g using Intelligent

More information

Technical Report. Removing polar rendering artifacts in subdivision surfaces. Ursula H. Augsdörfer, Neil A. Dodgson, Malcolm A. Sabin.

Technical Report. Removing polar rendering artifacts in subdivision surfaces. Ursula H. Augsdörfer, Neil A. Dodgson, Malcolm A. Sabin. Technical Report UCAM-CL-TR-689 ISSN 1476-2986 Number 689 Computer Laboratory Removing polar rendering artifacts in subdivision surfaces Ursula H. Augsdörfer, Neil A. Dodgson, Malcolm A. Sabin June 2007

More information

7.3 3-D Notes Honors Precalculus Date: Adapted from 11.1 & 11.4

7.3 3-D Notes Honors Precalculus Date: Adapted from 11.1 & 11.4 73 3-D Notes Honors Precalculus Date: Adapted from 111 & 114 The Three-Variable Coordinate System I Cartesian Plane The familiar xy-coordinate system is used to represent pairs of numbers (ordered pairs

More information

2D Shape Deformation Using Nonlinear Least Squares Optimization

2D Shape Deformation Using Nonlinear Least Squares Optimization 2D Shape Deformation Using Nonlinear Least Squares Optimization Paper ID: 20 Abstract This paper presents a novel 2D shape deformation algorithm based on nonlinear least squares optimization. The algorithm

More information

Geometric Modeling in Graphics

Geometric Modeling in Graphics Geometric Modeling in Graphics Part 10: Surface reconstruction Martin Samuelčík www.sccg.sk/~samuelcik samuelcik@sccg.sk Curve, surface reconstruction Finding compact connected orientable 2-manifold surface

More information

Efficient Minimization of New Quadric Metric for Simplifying Meshes with Appearance Attributes

Efficient Minimization of New Quadric Metric for Simplifying Meshes with Appearance Attributes Efficient Minimization of New Quadric Metric for Simplifying Meshes with Appearance Attributes (Addendum to IEEE Visualization 1999 paper) Hugues Hoppe Steve Marschner June 2000 Technical Report MSR-TR-2000-64

More information