3D Regularization of Animated Surfaces

Size: px
Start display at page:

Download "3D Regularization of Animated Surfaces"

Transcription

1 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 is often based on real data, obtained by experiments. The process of digitization of these experiences provides data with unwanted noise. A regularization of these data is then needed. The present work handles the issue of regularization. It is based on the Laplacian Mesh Processing as explained in [S05]. Laplacian Mesh Processing is a method for static meshes. These methods are based on the Laplacian operator and the differential surface representation. It also describes several ways of application, such as shape approximation and compact representation, mesh editing, watermarking and morphing. We will tackle the implementation issue of the Laplacian processing framework. We will also mention some reflections to extend these static methods to animated surfaces. On a practical point of view, this work is included in the project ANR Kameleon. The aim of this project is to improve the techniques of animation of vertebrate motion. The global idea is to add the knowledge of internal structure of the skeleton to the current techniques of motion capture. This project is a collaboration of four research groups specialized into complementary domains : MNHN for anatomy, LPBEM for biomechanics, LNRS for clinical research, and INRIA for animation and video analysis. The project ANR Kameleon is lead by the team EVASION of INRIA and Laboratoire Jean Kuntzmann research lab.. Mesh A mesh is made of three sets : a set of vertices, a set of edges and a set of faces. Vertices are points in the space of study - e.g. dimension space. Vertices are linked to each other by edges, which are straight lines. Faces are planar polygons shaped by edges. In our case, faces are triangles. Thus, our meshes are called triangular-meshes. There are several file formats to store a mesh. We use the Object File Format. Files with this format have the extension.off, and are made up of three parts : - The first line, with the word OFF in upper-case letters, followed by the number of vertices, the number of faces, and the number of edges respectively. - The list of all vertices. Each line of this list contains the three coordinates of a vertex. - The list of all faces. Each line of this list begins by the number of vertices of a face, followed by the index of these vertices in the previous list, where indexes start at 0 ; eventually followed by a hash mark # and a comment. See figure for an example of an off file and its associated mesh. During this internship, several libraries and software have been used : - OpenGL is the basic Graphic Library used by most of the following libraries and softwares. It is installed by default on many operating systems. - GLEW is a library for OpenGL which provides Type of data In this section, we will review the notion of mesh, describe how it can be programmed and present the animated surfaces we will deal with. Figure : An example of an off file and its corresponding mesh.

2 mechanism for determining which OpenGL extensions are supported on the target platform. - Qt is a library developed by Trolltech providing a graphic user interface. Versions and 4 of Qt are not compatible, but extensions exist to use programs based on Qt with Qt4. Qt is no longer available for downloading. - libqglviewer is a library providing D viewer functionalities. It uses the Qt framework. - Cortona d Viewer is an interactive d viewer and API. - Matlab is a high level language developed by The MathWorks. Matlab provides a function called trimesh to display a triangular mesh. We can read off files in Matlab with the functions fopen, fgetl, fscan and fclose. We will return to the limitations of Matlab later. - Openmesh is a generic data structure for representing and manipulating polygonal meshes. This library has been founded by the German Ministry for Research and Education. It uses GLEW, and Qt4 libraries. It can be compiled under Microsoft Visual Studio 008, and gcc 4. - Graphite is an interactive software for mesh manipulation using numerical geometry. This research platform has been developed by the research team ALICE, which is one of the four teams of the Image Geometry and Computation group in INRIA Nancy Grand-Est / Loria.. Animated surface An animated surface is represented by a sequence of meshes. Each mesh corresponds to a frame of the animation. In our case, sequences are extracted from outline images. This implies that two different meshes can have a totaly different number of vertices. Thus there is no direct link between a mesh and its successor. The extracting process have been done with the Grimage platform at INRIA. This process consists on filming a moving subject with several cameras, from different points of view. Cameras are calibrated such that the position of one with respect to an other is precisely known. The capture is done with a homogeneous background. Thus the outline of the subject in each frame of each video can be computed. This outline is then projected through the space along the direction of the corresponding camera to shape a volume. The intersection of these volumes provides a mesh. We experimented this technique with a set of cameras and obtained the results shown figure. Figure : Experimental results of mesh construction from outline images with Grimage platform - INRIA. The blue image in the middle is the constructed mesh. The two images on both sides are outline images from two different cameras. The textures have been added. Noise comes from the fact that with this process, we can only obtain a mesh surounding the captured object, and not the object itself. A regularization is then needed on these obtained meshes. Laplacian operator One way to regularize these meshes is to use the Laplacian operator. This operator is described in detail in [S05]. We will present an overview of this method, review tools with which it can be implemented, and discuss the limitations of its application in our case.. Definitions The Laplacian operator is a symmetric matrix that transforms the Cartesian coordinates to relative coordinates. This matrix is sparse. This major property is use to program efficient computation methods. The relative coordinates, or δ-coordinates, of a vertex is the difference between the Cartesian coordinates of this vertex and the coordinates of the centre of mass of its immediate neighbours in the mesh, as illustrated in figure. Thus δ-coordinates represent the gradient of the divergence of the mesh, which describes the curvature of the represented object.

3 Figure : In yellow, the vector of the δ- coordinates of a vertex in D discrete space and D continuous space. These two images have been extracted from [S05]. The symmetric form of the Laplacian operator results from the difference between the degree matrix and the adjacency matrix of the mesh. The degree matrix is a diagonal matrix containing, at index (i,i), the number of neighbours of the vertex i. The adjacency matrix contains, at index (i,j), if vertex i and j are linked by an edge, 0 otherwise. For details, see the beginning of section. in [S05]. We notice that the Laplacian matrix is sparse. This property is very useful to reduce computation time while manipulating this matrix. Several libraries provide a specific sparse format for matrix : Blas [blas], Lapack [lapack], Eigen [eigen], Taucs [taucs], OpenCV [opencv] and Matlab [matlab]. All these packages provide utilities for linear algebra computing. But each of them have its specificity : - The BLAS (Basic Linear Algebra Subprograms) are routines that provide standard building blocks for performing basic vector and matrix operations. - LAPACK (Linear Algebra PACKage) provides routines for solving linear systems. This package is built from BLAS and is written in Fortran90. Dense and banded matrices are handled, but not general sparse matrices. - Eigen is a recent project, started in 00. It provides a SparseMatrix class. Several linear solvers are also provided, but currently, the SelfAdjointEigen- Solver class does not support the sparse matrix format. The other solvers have not been tested. - Taucs is a library built especially for sparse matrix. It has been developed between 00 and 00 and is no longer maintained. However this library is currently used by Graphite, described previously. - OpenCV (Open Source Computer Vision) is a library of programming functions mainly aimed at real time computer vision. This library provides a wide range of procedures for linear algebra, and a sparse matrix structure with the class CvSparse- Mat. Unfortunately, some of these procedures also do not support the sparse structure. - Matlab also provides a sparse structure. In our case, Matlab can t be used without using this structure : We handle meshes made up with around 0000 vertices. The size of the corresponding Laplacian matrix is thus If we assume that we need to store floats in this matrix for its manipulation, we obtain storage cost of 400Mo. When we tried to duplicate this matrix under Matlab to compute its transpose for instance, we obtained a memory overflow error. This can be explained by the fact that Matlab allocates continuous memory space to store matrices.. Basic smoothing The basic idea for smoothing a mesh is to consider the spectral properties of the Laplacian matrix, because this matrix directly determines the differential coordinates, and thus, the shape of the mesh. Since the Laplacian matrix is symmetric positive semi-definite, it has an orthonormal eigenbasis, with associated eigenvalues. The smallest eigenvalues correspond to the rough shape of the mesh. The highest eigenvalues correspond to the details of the mesh. Assuming this, we can decompose the Cartesian coordinates on the eigenbasis, and reduce or remove the coordinates on this base corresponding to the high frequency components. The figure 4 shows, in two dimension space, the projection of the coordinates of the vertices of a simple mesh on the eigenbasis of his Laplacian matrix. To compute eigenvectors of large meshes (around one hundred thousand vertices), we tested several libraries : - Eigen : The SelfAdjointEigenSolver is a class which provide methods for computing eigenvectors of a selfadjoint matrix. As it has been said previously, this method does not support the sparse matrix format. However, this method has been tested on the Laplacian matrix of a mesh of 94 vertices, viewed as a full matrix. After two hours and thirty minutes of computation, the computation has been stopped. - OpenCV : The cveigenvv is another procedure to compute eigenvectors for a symmetric matrix. The fourth parameter of this procedure allows us to specify the accuracy of the diagonalization. With an accuracy of 0, we obtained a result after 0 minutes of computation. The accuracy of the eigenvectors computed hasn t been checked. We can read on OpenCV literature, that an accuracy of 0 5 is generally enough. - Taucs : This library has not been directly tested, but via Graphite, for the reasons explained previ-

4 (x,y) (e, e ) (e, e ) (e, e ) Figure 4 : A simple mesh of three vertices of coordinates (x,y) and their decomposition on the eigenbasis (e,e,e ) of the corresponding Laplacian matrix L. 0 ( ) ( ) ( ) L - - A e = e = e = x = ( 0 0 ) = e + e + e y = ( 0 0 ) = e e + e viously. This software offers interactive methods for smoothing a mesh in an efficient time. Unfortunately, linear algebra methods are not directly available.. Mesh reconstruction from δ- coordinates and smoothing In [S05], another technique is presented to avoid the explicit computation of the eigenbasis of the Laplacian matrix. This method is applied on the reconstruction of the Cartesian coordinates from the differential coordinates. To understand the reconstruction process, we need to notice that the Laplacian matrix is not a full rank matrix, because the sum of its rows is the null vector. Thus this matrix is not invertible. On an intuitive point of view, this is explained by the fact that a set of δ-coordinates of a mesh can also be the set of δ-coordinates of the same mesh translated in any direction in the d space. To locate the mesh in this space, we then need to set the positions of at least one vertex. These positions are called constraints. Then the idea is to find a set of Cartesian coordinates that both best approximate these constraints and represent a smooth mesh. The smoothness is evaluated by computing the norm of the δ-coordinates of this mesh. Thus we obtain a full-rank system which we can solve in the leastsquares sense. This method is presented in [S05] as a shape representation technique. It assumes that the constraints are provided with the mesh to rebuild it. The strength of this procedure is that these constraints are determined according to the original shape of the mesh. But in our case, we do not have any original mesh, and thus these constraints are not provided. To choose these constraints, the first idea is to hand-select them. But this idea would be very costly in time and tedious when dealing with mesh sequences. A random selection of these vertices avoids this hand-task and has a very low time cost. But the result is uncertain. A third idea is to use a clustering algorithm, and take an approximation of the computed cluster centres as constraints. Thus we obtain constraints homogeneously distributed along the mesh. The drawback of this method is the computation time cost. It is important to note that all of these techniques are applicable to static meshes only. In the following section, we will discuss how to extend these methods to sequences of meshes. 4 Extension to mesh sequences The starting point to extend the Laplacian methods to mesh sequences is to consider the time as a fourth dimension. If we assume that a sequence of D meshes is a large mesh in four dimensions, the Laplacian operator can then be applied on this mesh as above. But this intuitive method raises 4

5 several issues. Building such a four dimension mesh is not obvious. Each frame of the sequence as a different number of vertices. This issue can be solved by remeshing each frame. Techniques exists for this task. For instance, Graphite allows to specify a new number of vertices for a mesh and compute the corresponding mesh. The drawback of this method is the losts of informations. Another question to build our very large mesh based on several frames is how to choose the edges between frames. A possible answer to this question is to link a given vertex with the closest vertex in the next frame of the animation. By adding the property that each vertex of a given frame can be linked with one and only one vertex in the previous frame, we obtain a mesh sequence corresponding to the animation of a unique mesh. Then we can combine d static techniques, such as the Laplacian operator, for smoothing each frame, with d dynamic techniques, such as the d Fourier transforms, for smoothing the motion of each vertex. To avoid the remeshing step, let us consider that we do not have the previous property of the uniqueness of the edge between a vertex and one of its two neighbouring frames. The linking part can then be done by choosing edges between a vertex and the closest vertices in its two neighbouring frames. The differential coordinates are thus computed as the difference between a vertex and the centre of mass of its neighbouring vertices in a set of three frames. Noticing that time is, in our case, on a rough discrete scale, we will consider that the time component of each δ-coordinate is zero. Thus, after computation, no vertex will be between two frames. Then we can build the Laplacian matrix as previously, and apply the methods seen in section on the three space coordinates of all vertices of our mesh sequence. It is important to note that these techniques has not been experimented in this study. Thus we currently do not know their efficiency. 5 Conclusion Differential coordinates are an essential representation to deal with the shape of a mesh. The associated Laplacian operator has strong properties to theoretically smooth a static mesh, such as its eigenbasis. However, no efficient libraries have been found in this study to compute this basis. The Laplacian operator could be extended to sequences of meshes by regarding these sequences as very large meshes in a four dimensions space. This study has allowed me to discover, in a short time, what research laboratory is. I especially notice during this internship that research is not only to imagine new solutions to a problem, but is most of the time to take into account of what other researchers have already done and how this can be used. Especially in computer science research, a lot of time can be spent on the installation of packages. Actually, I spent around fifty percent of my research time on this part. However, I am glad to have imagined my own ideas on the issue of the extension of the Laplacian operator to mesh sequencies, and to have presented them in section 4. In the short time allows to this study, only an overview of a possible implementation of the Laplacian operator and its extension to mesh sequences has been provided. The first step of a future work could be to go deeper into the study of the enumerated libraries to verify if any implementation of the eigen problem for sparse matrix exists. Then an extension of these libraries for this problem could be searched. The second step could be to continue the research of the extension to mesh sequences, beginning by reading existing computer graphics literature on this subject. Acknowledgements I would like to express my deepest gratitude to Estelle Duveau, Franck Hetroy, Lionel Reveret and Maxime Tournier for their help. 5

6 References [S05] Olga Sorkine, Laplacian Mesh Processing, Stat of The Art Report, EUROGRAPHICS 005 [blas] http :// [cortona] http :// [eigen] http ://eigen.tuxfamily.org/dox/ [glew] http ://glew.sourceforge.net/ [graphite] http ://alice.loria.fr/software/graphite/ [lapack] http :// [matlab] http :// product page.html [off] http ://shape.cs.princeton.edu/benchmark/documentation/off format.html [opencv] http ://opencv.willowgarage.com/wiki/ [opengl] http :// [openmesh] http ://openmesh.org/ [qt] http :// [taucs] http :// stoledo/taucs/

Dimensionality Reduction of Laplacian Embedding for 3D Mesh Reconstruction

Dimensionality Reduction of Laplacian Embedding for 3D Mesh Reconstruction Journal of Physics: Conference Series PAPER OPEN ACCESS Dimensionality Reduction of Laplacian Embedding for 3D Mesh Reconstruction To cite this article: I Mardhiyah et al 2016 J. Phys.: Conf. Ser. 725

More information

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

Laplacian Meshes. COS 526 Fall 2016 Slides from Olga Sorkine and Yaron Lipman

Laplacian Meshes. COS 526 Fall 2016 Slides from Olga Sorkine and Yaron Lipman Laplacian Meshes COS 526 Fall 2016 Slides from Olga Sorkine and Yaron Lipman Outline Differential surface representation Ideas and applications Compact shape representation Mesh editing and manipulation

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

Matrix Multiplication

Matrix Multiplication Matrix Multiplication CPS343 Parallel and High Performance Computing Spring 2018 CPS343 (Parallel and HPC) Matrix Multiplication Spring 2018 1 / 32 Outline 1 Matrix operations Importance Dense and sparse

More information

Matrix Multiplication

Matrix Multiplication Matrix Multiplication CPS343 Parallel and High Performance Computing Spring 2013 CPS343 (Parallel and HPC) Matrix Multiplication Spring 2013 1 / 32 Outline 1 Matrix operations Importance Dense and sparse

More information

Dense matrix algebra and libraries (and dealing with Fortran)

Dense matrix algebra and libraries (and dealing with Fortran) Dense matrix algebra and libraries (and dealing with Fortran) CPS343 Parallel and High Performance Computing Spring 2018 CPS343 (Parallel and HPC) Dense matrix algebra and libraries (and dealing with Fortran)

More information

Dense 3D Reconstruction. Christiano Gava

Dense 3D Reconstruction. Christiano Gava Dense 3D Reconstruction Christiano Gava christiano.gava@dfki.de Outline Previous lecture: structure and motion II Structure and motion loop Triangulation Today: dense 3D reconstruction The matching problem

More information

A Few Numerical Libraries for HPC

A Few Numerical Libraries for HPC A Few Numerical Libraries for HPC CPS343 Parallel and High Performance Computing Spring 2016 CPS343 (Parallel and HPC) A Few Numerical Libraries for HPC Spring 2016 1 / 37 Outline 1 HPC == numerical linear

More information

Visual Representations for Machine Learning

Visual Representations for Machine Learning Visual Representations for Machine Learning Spectral Clustering and Channel Representations Lecture 1 Spectral Clustering: introduction and confusion Michael Felsberg Klas Nordberg The Spectral Clustering

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

04 - Normal Estimation, Curves

04 - Normal Estimation, Curves 04 - Normal Estimation, Curves Acknowledgements: Olga Sorkine-Hornung Normal Estimation Implicit Surface Reconstruction Implicit function from point clouds Need consistently oriented normals < 0 0 > 0

More information

Uppsala University Department of Information technology. Hands-on 1: Ill-conditioning = x 2

Uppsala University Department of Information technology. Hands-on 1: Ill-conditioning = x 2 Uppsala University Department of Information technology Hands-on : Ill-conditioning Exercise (Ill-conditioned linear systems) Definition A system of linear equations is said to be ill-conditioned when

More information

Improved Functional Mappings via Product Preservation

Improved Functional Mappings via Product Preservation Improved Functional Mappings via Product Preservation Workshop: Imaging and Vision March 15 th, 2018 Maks Ovsjanikov Joint with: D. Nogneng, Simone Melzi, Emanuele Rodolà, Umberto Castellani, Michael Bronstein

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

Dense 3D Reconstruction. Christiano Gava

Dense 3D Reconstruction. Christiano Gava Dense 3D Reconstruction Christiano Gava christiano.gava@dfki.de Outline Previous lecture: structure and motion II Structure and motion loop Triangulation Wide baseline matching (SIFT) Today: dense 3D reconstruction

More information

CS 534: Computer Vision Segmentation and Perceptual Grouping

CS 534: Computer Vision Segmentation and Perceptual Grouping CS 534: Computer Vision Segmentation and Perceptual Grouping Ahmed Elgammal Dept of Computer Science CS 534 Segmentation - 1 Outlines Mid-level vision What is segmentation Perceptual Grouping Segmentation

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

Lab # 2 - ACS I Part I - DATA COMPRESSION in IMAGE PROCESSING using SVD

Lab # 2 - ACS I Part I - DATA COMPRESSION in IMAGE PROCESSING using SVD Lab # 2 - ACS I Part I - DATA COMPRESSION in IMAGE PROCESSING using SVD Goals. The goal of the first part of this lab is to demonstrate how the SVD can be used to remove redundancies in data; in this example

More information

Mesh Morphing. Ligang Liu Graphics&Geometric Computing Lab USTC

Mesh Morphing. Ligang Liu Graphics&Geometric Computing Lab USTC Mesh Morphing Ligang Liu Graphics&Geometric Computing Lab USTC http://staff.ustc.edu.cn/~lgliu Morphing Given two objects produce sequence of intermediate objects that gradually evolve from one object

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

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

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

(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

Feature Selection for fmri Classification

Feature Selection for fmri Classification Feature Selection for fmri Classification Chuang Wu Program of Computational Biology Carnegie Mellon University Pittsburgh, PA 15213 chuangw@andrew.cmu.edu Abstract The functional Magnetic Resonance Imaging

More information

Spectral Compression of Mesh Geometry

Spectral Compression of Mesh Geometry Spectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman SIGGRAPH 2000 1 Introduction Thus far, topology coding drove geometry coding. Geometric data contains far more information (15 vs. 3 bits/vertex).

More information

Introduction to Machine Learning

Introduction to Machine Learning Introduction to Machine Learning Clustering Varun Chandola Computer Science & Engineering State University of New York at Buffalo Buffalo, NY, USA chandola@buffalo.edu Chandola@UB CSE 474/574 1 / 19 Outline

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

55:148 Digital Image Processing Chapter 11 3D Vision, Geometry

55:148 Digital Image Processing Chapter 11 3D Vision, Geometry 55:148 Digital Image Processing Chapter 11 3D Vision, Geometry Topics: Basics of projective geometry Points and hyperplanes in projective space Homography Estimating homography from point correspondence

More information

MAPI Computer Vision. Multiple View Geometry

MAPI Computer Vision. Multiple View Geometry MAPI Computer Vision Multiple View Geometry Geometry o Multiple Views 2- and 3- view geometry p p Kpˆ [ K R t]p Geometry o Multiple Views 2- and 3- view geometry Epipolar Geometry The epipolar geometry

More information

COMP Preliminaries Jan. 6, 2015

COMP Preliminaries Jan. 6, 2015 Lecture 1 Computer graphics, broadly defined, is a set of methods for using computers to create and manipulate images. There are many applications of computer graphics including entertainment (games, cinema,

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

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

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

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

Mining Social Network Graphs

Mining Social Network Graphs Mining Social Network Graphs Analysis of Large Graphs: Community Detection Rafael Ferreira da Silva rafsilva@isi.edu http://rafaelsilva.com Note to other teachers and users of these slides: We would be

More information

Contents. I The Basic Framework for Stationary Problems 1

Contents. I The Basic Framework for Stationary Problems 1 page v Preface xiii I The Basic Framework for Stationary Problems 1 1 Some model PDEs 3 1.1 Laplace s equation; elliptic BVPs... 3 1.1.1 Physical experiments modeled by Laplace s equation... 5 1.2 Other

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

CHAPTER 6 IDENTIFICATION OF CLUSTERS USING VISUAL VALIDATION VAT ALGORITHM

CHAPTER 6 IDENTIFICATION OF CLUSTERS USING VISUAL VALIDATION VAT ALGORITHM 96 CHAPTER 6 IDENTIFICATION OF CLUSTERS USING VISUAL VALIDATION VAT ALGORITHM Clustering is the process of combining a set of relevant information in the same group. In this process KM algorithm plays

More information

Lecture 8 Object Descriptors

Lecture 8 Object Descriptors Lecture 8 Object Descriptors Azadeh Fakhrzadeh Centre for Image Analysis Swedish University of Agricultural Sciences Uppsala University 2 Reading instructions Chapter 11.1 11.4 in G-W Azadeh Fakhrzadeh

More information

PERFORMANCE CAPTURE FROM SPARSE MULTI-VIEW VIDEO

PERFORMANCE CAPTURE FROM SPARSE MULTI-VIEW VIDEO Stefan Krauß, Juliane Hüttl SE, SoSe 2011, HU-Berlin PERFORMANCE CAPTURE FROM SPARSE MULTI-VIEW VIDEO 1 Uses of Motion/Performance Capture movies games, virtual environments biomechanics, sports science,

More information

Applying the weighted barycentre method to interactive graph visualization

Applying the weighted barycentre method to interactive graph visualization Applying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for some software: Hooman Reisi Dekhordi Patrick Eades Graphs and Graph Drawings What

More information

Edge and corner detection

Edge and corner detection Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking Goals Where is the information in an image? How is an object characterized? How can I find measurements

More information

MATLAB is a multi-paradigm numerical computing environment fourth-generation programming language. A proprietary programming language developed by

MATLAB is a multi-paradigm numerical computing environment fourth-generation programming language. A proprietary programming language developed by 1 MATLAB is a multi-paradigm numerical computing environment fourth-generation programming language. A proprietary programming language developed by MathWorks In 2004, MATLAB had around one million users

More information

Large-Scale Face Manifold Learning

Large-Scale Face Manifold Learning Large-Scale Face Manifold Learning Sanjiv Kumar Google Research New York, NY * Joint work with A. Talwalkar, H. Rowley and M. Mohri 1 Face Manifold Learning 50 x 50 pixel faces R 2500 50 x 50 pixel random

More information

Linear Algebra libraries in Debian. DebConf 10 New York 05/08/2010 Sylvestre

Linear Algebra libraries in Debian. DebConf 10 New York 05/08/2010 Sylvestre Linear Algebra libraries in Debian Who I am? Core developer of Scilab (daily job) Debian Developer Involved in Debian mainly in Science and Java aspects sylvestre.ledru@scilab.org / sylvestre@debian.org

More information

Skeleton-Based Shape Deformation using Simplex Transformations

Skeleton-Based Shape Deformation using Simplex Transformations Computer Graphics International 2006 Skeleton-Based Shape Deformation using Simplex Transformations Han-Bing Yan, Shi-Min Hu and Ralph Martin Outline Motivation Introduction Mesh segmentation using skeleton

More information

Geodesics in heat: A new approach to computing distance

Geodesics in heat: A new approach to computing distance Geodesics in heat: A new approach to computing distance based on heat flow Diana Papyan Faculty of Informatics - Technische Universität München Abstract In this report we are going to introduce new method

More information

2.7 Numerical Linear Algebra Software

2.7 Numerical Linear Algebra Software 2.7 Numerical Linear Algebra Software In this section we will discuss three software packages for linear algebra operations: (i) (ii) (iii) Matlab, Basic Linear Algebra Subroutines (BLAS) and LAPACK. There

More information

Scientific Computing. Some slides from James Lambers, Stanford

Scientific Computing. Some slides from James Lambers, Stanford Scientific Computing Some slides from James Lambers, Stanford Dense Linear Algebra Scaling and sums Transpose Rank-one updates Rotations Matrix vector products Matrix Matrix products BLAS Designing Numerical

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

CREATING 3D WRL OBJECT BY USING 2D DATA

CREATING 3D WRL OBJECT BY USING 2D DATA ISSN : 0973-7391 Vol. 3, No. 1, January-June 2012, pp. 139-142 CREATING 3D WRL OBJECT BY USING 2D DATA Isha 1 and Gianetan Singh Sekhon 2 1 Department of Computer Engineering Yadavindra College of Engineering,

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

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

Spectral Surface Reconstruction from Noisy Point Clouds

Spectral Surface Reconstruction from Noisy Point Clouds Spectral Surface Reconstruction from Noisy Point Clouds 1. Briefly summarize the paper s contributions. Does it address a new problem? Does it present a new approach? Does it show new types of results?

More information

Andrew V. Knyazev and Merico E. Argentati (speaker)

Andrew V. Knyazev and Merico E. Argentati (speaker) 1 Andrew V. Knyazev and Merico E. Argentati (speaker) Department of Mathematics and Center for Computational Mathematics University of Colorado at Denver 2 Acknowledgement Supported by Lawrence Livermore

More information

1 Graph Visualization

1 Graph Visualization A Linear Algebraic Algorithm for Graph Drawing Eric Reckwerdt This paper will give a brief overview of the realm of graph drawing, followed by a linear algebraic approach, ending with an example of our

More information

How to perform HPL on CPU&GPU clusters. Dr.sc. Draško Tomić

How to perform HPL on CPU&GPU clusters. Dr.sc. Draško Tomić How to perform HPL on CPU&GPU clusters Dr.sc. Draško Tomić email: drasko.tomic@hp.com Forecasting is not so easy, HPL benchmarking could be even more difficult Agenda TOP500 GPU trends Some basics about

More information

Computer Vision CSCI-GA Assignment 1.

Computer Vision CSCI-GA Assignment 1. Computer Vision CSCI-GA.2272-001 Assignment 1. September 22, 2017 Introduction This assignment explores various methods for aligning images and feature extraction. There are four parts to the assignment:

More information

Fast marching methods

Fast marching methods 1 Fast marching methods Lecture 3 Alexander & Michael Bronstein tosca.cs.technion.ac.il/book Numerical geometry of non-rigid shapes Stanford University, Winter 2009 Metric discretization 2 Approach I:

More information

Intro to Curves Week 1, Lecture 2

Intro to Curves Week 1, Lecture 2 CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2 David Breen, William Regli and Maxim Peysakhov Department of Computer Science Drexel University Outline Math review Introduction to 2D curves

More information

Demoscene and Maths. Presentation by Konstantinos Pataridis aka Navis/ASD University of Oxford August 2006

Demoscene and Maths. Presentation by Konstantinos Pataridis aka Navis/ASD University of Oxford August 2006 Demoscene and Maths Presentation by Konstantinos Pataridis aka Navis/ASD University of Oxford August 2006 Demos are a challenge: There is no strict definition of a demo, in the broad sense it is a blend

More information

Clustering. SC4/SM4 Data Mining and Machine Learning, Hilary Term 2017 Dino Sejdinovic

Clustering. SC4/SM4 Data Mining and Machine Learning, Hilary Term 2017 Dino Sejdinovic Clustering SC4/SM4 Data Mining and Machine Learning, Hilary Term 2017 Dino Sejdinovic Clustering is one of the fundamental and ubiquitous tasks in exploratory data analysis a first intuition about the

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

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

MATH 5520 Basics of MATLAB

MATH 5520 Basics of MATLAB MATH 5520 Basics of MATLAB Dmitriy Leykekhman Spring 2011 Topics Sources. Entering Matrices. Basic Operations with Matrices. Build in Matrices. Build in Scalar and Matrix Functions. if, while, for m-files

More information

MATH 3511 Basics of MATLAB

MATH 3511 Basics of MATLAB MATH 3511 Basics of MATLAB Dmitriy Leykekhman Spring 2012 Topics Sources. Entering Matrices. Basic Operations with Matrices. Build in Matrices. Build in Scalar and Matrix Functions. if, while, for m-files

More information

Laplacian Operator and Smoothing

Laplacian Operator and Smoothing Laplacian Operator and Smoothing Xifeng Gao Acknowledgements for the slides: Olga Sorkine-Hornung, Mario Botsch, and Daniele Panozzo Applications in Geometry Processing Smoothing Parameterization Remeshing

More information

Social-Network Graphs

Social-Network Graphs Social-Network Graphs Mining Social Networks Facebook, Google+, Twitter Email Networks, Collaboration Networks Identify communities Similar to clustering Communities usually overlap Identify similarities

More information

1. Mesh Coloring a.) Assign unique color to each polygon based on the polygon id.

1. Mesh Coloring a.) Assign unique color to each polygon based on the polygon id. 1. Mesh Coloring a.) Assign unique color to each polygon based on the polygon id. Figure 1: The dragon model is shown rendered using a coloring scheme based on coloring each triangle face according to

More information

2.11 Particle Systems

2.11 Particle Systems 2.11 Particle Systems 320491: Advanced Graphics - Chapter 2 152 Particle Systems Lagrangian method not mesh-based set of particles to model time-dependent phenomena such as snow fire smoke 320491: Advanced

More information

CS 140: Sparse Matrix-Vector Multiplication and Graph Partitioning

CS 140: Sparse Matrix-Vector Multiplication and Graph Partitioning CS 140: Sparse Matrix-Vector Multiplication and Graph Partitioning Parallel sparse matrix-vector product Lay out matrix and vectors by rows y(i) = sum(a(i,j)*x(j)) Only compute terms with A(i,j) 0 P0 P1

More information

Surface reconstruction Introduction. Florent Lafarge Inria Sophia Antipolis - Mediterranee

Surface reconstruction Introduction. Florent Lafarge Inria Sophia Antipolis - Mediterranee Surface reconstruction Introduction Florent Lafarge Inria Sophia Antipolis - Mediterranee Outline Contents Introduction Smooth/piecewise-smooth reconstruction methods Primitive-based reconstruction methods

More information

Robotics Programming Laboratory

Robotics Programming Laboratory Chair of Software Engineering Robotics Programming Laboratory Bertrand Meyer Jiwon Shin Lecture 8: Robot Perception Perception http://pascallin.ecs.soton.ac.uk/challenges/voc/databases.html#caltech car

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

Time-of-Flight Surface De-noising through Spectral Decomposition

Time-of-Flight Surface De-noising through Spectral Decomposition Time-of-Flight Surface De-noising through Spectral Decomposition Thiago R. dos Santos, Alexander Seitel, Hans-Peter Meinzer, Lena Maier-Hein Div. Medical and Biological Informatics, German Cancer Research

More information

( ) =cov X Y = W PRINCIPAL COMPONENT ANALYSIS. Eigenvectors of the covariance matrix are the principal components

( ) =cov X Y = W PRINCIPAL COMPONENT ANALYSIS. Eigenvectors of the covariance matrix are the principal components Review Lecture 14 ! PRINCIPAL COMPONENT ANALYSIS Eigenvectors of the covariance matrix are the principal components 1. =cov X Top K principal components are the eigenvectors with K largest eigenvalues

More information

Camera calibration. Robotic vision. Ville Kyrki

Camera calibration. Robotic vision. Ville Kyrki Camera calibration Robotic vision 19.1.2017 Where are we? Images, imaging Image enhancement Feature extraction and matching Image-based tracking Camera models and calibration Pose estimation Motion analysis

More information

Intel Math Kernel Library (Intel MKL) BLAS. Victor Kostin Intel MKL Dense Solvers team manager

Intel Math Kernel Library (Intel MKL) BLAS. Victor Kostin Intel MKL Dense Solvers team manager Intel Math Kernel Library (Intel MKL) BLAS Victor Kostin Intel MKL Dense Solvers team manager Intel MKL BLAS/Sparse BLAS Original ( dense ) BLAS available from www.netlib.org Additionally Intel MKL provides

More information

Minimal Equation Sets for Output Computation in Object-Oriented Models

Minimal Equation Sets for Output Computation in Object-Oriented Models Minimal Equation Sets for Output Computation in Object-Oriented Models Vincenzo Manzoni Francesco Casella Dipartimento di Elettronica e Informazione, Politecnico di Milano Piazza Leonardo da Vinci 3, 033

More information

Processing 3D Surface Data

Processing 3D Surface Data Processing 3D Surface Data Computer Animation and Visualisation Lecture 12 Institute for Perception, Action & Behaviour School of Informatics 3D Surfaces 1 3D surface data... where from? Iso-surfacing

More information

Parameterization. Michael S. Floater. November 10, 2011

Parameterization. Michael S. Floater. November 10, 2011 Parameterization Michael S. Floater November 10, 2011 Triangular meshes are often used to represent surfaces, at least initially, one reason being that meshes are relatively easy to generate from point

More information

Example-Based Skeleton Extraction. Scott Schaefer Can Yuksel

Example-Based Skeleton Extraction. Scott Schaefer Can Yuksel Example-Based Skeleton Extraction Scott Schaefer Can Yuksel Example-Based Deformation Examples Previous Work Mesh-based Inverse Kinematics [Sumner et al. 2005], [Der et al. 2006] Example-based deformation

More information

Spectral Clustering on Handwritten Digits Database

Spectral Clustering on Handwritten Digits Database October 6, 2015 Spectral Clustering on Handwritten Digits Database Danielle dmiddle1@math.umd.edu Advisor: Kasso Okoudjou kasso@umd.edu Department of Mathematics University of Maryland- College Park Advance

More information

Towards the completion of assignment 1

Towards the completion of assignment 1 Towards the completion of assignment 1 What to do for calibration What to do for point matching What to do for tracking What to do for GUI COMPSCI 773 Feature Point Detection Why study feature point detection?

More information

Assignment 4: Mesh Parametrization

Assignment 4: Mesh Parametrization CSCI-GA.3033-018 - Geometric Modeling Assignment 4: Mesh Parametrization In this exercise you will Familiarize yourself with vector field design on surfaces. Create scalar fields whose gradients align

More information

Local patch blind spectral watermarking method for 3D graphics

Local patch blind spectral watermarking method for 3D graphics Local patch blind spectral watermarking method for 3D graphics Ming Luo 1, Kai Wang 2, Adrian G. Bors 1, and Guillaume Lavoué 2 1 Department of Computer Science, University of York, York YO10 5DD, UK 2

More information

CS 534: Computer Vision Segmentation and Perceptual Grouping

CS 534: Computer Vision Segmentation and Perceptual Grouping CS 534: Computer Vision Segmentation and Perceptual Grouping Spring 2005 Ahmed Elgammal Dept of Computer Science CS 534 Segmentation - 1 Where are we? Image Formation Human vision Cameras Geometric Camera

More information

Intro to Curves Week 4, Lecture 7

Intro to Curves Week 4, Lecture 7 CS 430/536 Computer Graphics I Intro to Curves Week 4, Lecture 7 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel University

More information

Fundamental Matrix & Structure from Motion

Fundamental Matrix & Structure from Motion Fundamental Matrix & Structure from Motion Instructor - Simon Lucey 16-423 - Designing Computer Vision Apps Today Transformations between images Structure from Motion The Essential Matrix The Fundamental

More information

Ma/CS 6b Class 26: Art Galleries and Politicians

Ma/CS 6b Class 26: Art Galleries and Politicians Ma/CS 6b Class 26: Art Galleries and Politicians By Adam Sheffer The Art Gallery Problem Problem. We wish to place security cameras at a gallery, such that they cover it completely. Every camera can cover

More information

ECG782: Multidimensional Digital Signal Processing

ECG782: Multidimensional Digital Signal Processing Professor Brendan Morris, SEB 3216, brendan.morris@unlv.edu ECG782: Multidimensional Digital Signal Processing Spring 2014 TTh 14:30-15:45 CBC C313 Lecture 06 Image Structures 13/02/06 http://www.ee.unlv.edu/~b1morris/ecg782/

More information

Real-Time Scene Reconstruction. Remington Gong Benjamin Harris Iuri Prilepov

Real-Time Scene Reconstruction. Remington Gong Benjamin Harris Iuri Prilepov Real-Time Scene Reconstruction Remington Gong Benjamin Harris Iuri Prilepov June 10, 2010 Abstract This report discusses the implementation of a real-time system for scene reconstruction. Algorithms for

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

Image Denoising Based on Hybrid Fourier and Neighborhood Wavelet Coefficients Jun Cheng, Songli Lei

Image Denoising Based on Hybrid Fourier and Neighborhood Wavelet Coefficients Jun Cheng, Songli Lei Image Denoising Based on Hybrid Fourier and Neighborhood Wavelet Coefficients Jun Cheng, Songli Lei College of Physical and Information Science, Hunan Normal University, Changsha, China Hunan Art Professional

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

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

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