Course 13 Curves and Surfaces

Slides:



Advertisements
Similar presentations
Image Registration  Mapping of Evolution. Registration Goals Assume the correspondences are known Find such f() and g() such that the images are best.
Advertisements

Lecture Notes #11 Curves and Surfaces II
Medical Image Registration Kumar Rajamani. Registration Spatial transform that maps points from one image to corresponding points in another image.
電腦視覺 Computer and Robot Vision I
ESSENTIAL CALCULUS CH11 Partial derivatives
Lecture 10 Curves and Surfaces I
Computer Aided Engineering Design
Chapter 2 Functions and Graphs
Discrete Geometry Tutorial 2 1
Data mining and statistical learning - lecture 6
Dr. S.M. Malaek Assistant: M. Younesi
1 Curves and Surfaces. 2 Representation of Curves & Surfaces Polygon Meshes Parametric Cubic Curves Parametric Bi-Cubic Surfaces Quadric Surfaces Specialized.
EARS1160 – Numerical Methods notes by G. Houseman
Surfaces Chiew-Lan Tai. Surfaces 2 Reading Required Hills Section Hearn & Baker, sections 8.11, 8.13 Recommended Sections 2.1.4, , 3D Computer.
Computer Graphics - Class 14
3D Geometry for Computer Graphics. 2 The plan today Least squares approach  General / Polynomial fitting  Linear systems of equations  Local polynomial.
Motion Analysis (contd.) Slides are from RPI Registration Class.
CSci 6971: Image Registration Lecture 4: First Examples January 23, 2004 Prof. Chuck Stewart, RPI Dr. Luis Ibanez, Kitware Prof. Chuck Stewart, RPI Dr.
Curve-Fitting Regression
Curves Locus of a point moving with one degree of freedom
Non-Euclidean Embedding
Ordinary least squares regression (OLS)
1 Numerical geometry of non-rigid shapes Non-Euclidean Embedding Non-Euclidean Embedding Lecture 6 © Alexander & Michael Bronstein tosca.cs.technion.ac.il/book.
Computer Graphics Recitation The plan today Least squares approach  General / Polynomial fitting  Linear systems of equations  Local polynomial.
Mathematics for Business (Finance)
Calibration & Curve Fitting
Curves and Surfaces (cont’) Amy Zhang. Conversion between Representations  Example: Convert a curve from a cubic B-spline curve to the Bézier form:
Curve Modeling Bézier Curves
Bresenham’s Algorithm. Line Drawing Reference: Edward Angel’s book: –6 th Ed. Sections 6.8 and 6.9 Assuming: –Clipped (to fall within the window) –2D.
CSE554Laplacian DeformationSlide 1 CSE 554 Lecture 8: Laplacian Deformation Fall 2012.
11/19/02 (c) 2002, University of Wisconsin, CS 559 Last Time Many, many modeling techniques –Polygon meshes –Parametric instancing –Hierarchical modeling.
A D V A N C E D C O M P U T E R G R A P H I C S CMSC 635 January 15, 2013 Spline curves 1/23 Curves and Surfaces.
CS 376 Introduction to Computer Graphics 04 / 23 / 2007 Instructor: Michael Eckmann.
October 14, 2014Computer Vision Lecture 11: Image Segmentation I 1Contours How should we represent contours? A good contour representation should meet.
1 Preview At least two views are required to access the depth of a scene point and in turn to reconstruct scene structure Multiple views can be obtained.
V. Space Curves Types of curves Explicit Implicit Parametric.
Course 12 Calibration. 1.Introduction In theoretic discussions, we have assumed: Camera is located at the origin of coordinate system of scene.
Geometric Operations and Morphing.
7.1. Mean Shift Segmentation Idea of mean shift:
Segmentation Course web page: vision.cis.udel.edu/~cv May 7, 2003  Lecture 31.
University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell Parametric surfaces.
Curve-Fitting Regression
CS 376 Introduction to Computer Graphics 04 / 20 / 2007 Instructor: Michael Eckmann.
Course 13 Curves and Surfaces. Course 13 Curves and Surface Surface Representation Representation Interpolation Approximation Surface Segmentation.
Geometric Modeling using Polygonal Meshes Lecture 3: Discrete Differential Geometry and its Application to Mesh Processing Office: South B-C Global.
Ship Computer Aided Design MR 422. Geometry of Curves 1.Introduction 2.Mathematical Curve Definitions 3.Analytic Properties of Curves 4.Fairness of Curves.
Basic Theory (for curve 02). 1.3 Parametric Curves  The main aim of computer graphics is to display an arbitrary surface so that it looks real.  The.
Course 8 Contours. Def: edge list ---- ordered set of edge point or fragments. Def: contour ---- an edge list or expression that is used to represent.
Course14 Dynamic Vision. Biological vision can cope with changing world Moving and changing objects Change illumination Change View-point.
Computing & Information Sciences Kansas State University Lecture 31 of 42CIS 636/736: (Introduction to) Computer Graphics Lecture 32 of 42 Wednesday, 11.
CS 450: Computer Graphics PARAMETRIC SPLINES AND SURFACES
CS 325 Computer Graphics 04 / 30 / 2010 Instructor: Michael Eckmann.
Determining 3D Structure and Motion of Man-made Objects from Corners.
Basic Theory (for curve 01). 1.1 Points and Vectors  Real life methods for constructing curves and surfaces often start with points and vectors, which.
Instructor: Mircea Nicolescu Lecture 7
Camera Calibration Course web page: vision.cis.udel.edu/cv March 24, 2003  Lecture 17.
Introduction to Parametric Curve and Surface Modeling.
1 Spherical manifolds for hierarchical surface modeling Cindy Grimm.
Chapter 2 Functions and Graphs
Curve & Surface.
Basic theory of curve and surface
Fitting Curve Models to Edges
© University of Wisconsin, CS559 Fall 2004
6.5 Taylor Series Linearization
Three-Dimensional Object Representation
Speaker: Shuen-Huei Guan (Drake) Date: 2004/03/11
Introduction to Parametric Curve and Surface Modeling
Image Registration  Mapping of Evolution
Overview June 9- B-Spline Curves June 16- NURBS Curves
Image Stitching Linda Shapiro ECE P 596.
Presentation transcript:

Course 13 Curves and Surfaces ----- Surface Representation Representation Interpolation Approximation ----- Surface Segmentation Segmentation Registration

Basic Geometry 1) Curve: Parameter form: e.g., a line segment between and :   Implicit form: Explicit form:

2) Surface: Parameter form: Implicit form: Explicit form: (graph surface)

3) Planes: Assume are 3 non-collinear points in space. A plane is uniquely determined by the points. Let The equation of the plane is

where is the normal of the plane where is the normal of the plane. In parametric form of the plane, we can redefine Then the plane equation is: where are parameters,

4) Surface Curvatures: Assume a surface in form of The normal of the surface of point is where are partial derivatives of the surface.

(1)  Normal curvature: The intersection of a surface and a plane that passes through the normal at a point P of the surface is a 2D curve. The curvature of the 2D curve at point P is called normal curvature of the surface at point P. ---- At a surface point. The surface has infinite many normal curvatures. ---- The minimum and maximum normal curvatures, K1 and K2 are called principal curvatures.

(2) Gaussian and mean curvatures. Gaussian curvature: Mean curvature:

(3) Types of a surface region K(x,y)   + – peak ridge saddle ridge flat minimal surface pit valley saddle Valley

(4) Curvature Calculation: For a surface

2. Representation of curve and surface 1) Curve representations: ----- Piecewise curve segments -----Joint condition: smooth at least in the first order derivatives,i.e. continuous in curve slope. ----- Lowerest order of polynomials. This leads to cubic spline curve: x(t) = axt3 + bxt2 + cxt + dx y(t) = ayt3 + byt2 + cyt + dy z(t) = azt3 + bzt2 + czt + dz

When one uses: then a curve can be written as:

For a curve, it is in piecewise form: With connection conditions:

2) Polygonal mesh surfaces: ----- Each mesh is a planar polygon (facet) ----- How to structure data if n data points are given. ----- Easily search from facet, edge or vertex. Data structure of polygonal mesh surface has 3 records: edge record, vertex record and facet record. Each record links the other two by proper pointers.

int: edge number, other attributes; Edge Record{ int: edge number, other attributes; pointer: North-vertex, south_vertex; pointer: left_facet, right_facet pointer: NE_winged_edge, NW_winged_edge, SE_winged_edge, SW_winged_edge ; } Vertex Record{ int: vertex_number; int: position(x,y); pointer: edge1, edge2, edge3;} Facet Record{ int: facet_number; pointer: edge1,edge2, …, edgen; int: other attributes; } N S NE NW SW SE W E

3) Surface Patches Surface patch is a portion of surface. It can be modeled by polynomial or tensors-product if it is a graph surface.

(1) Polynomial surface patch: Planar patch: z = a0 + a1x + a2y Bilinear patch: z = a0 + a1x + a2y + a3xy Biquadratic patch: z = a0 + a1x + a2y + a3xy + a4x2 + a5y2 Other high-order patches. The coefficients of polynomials are determined from data points using surface fitting methods, such as least-square regression.

(2) Tensor –product surfaces: Tensor-product surface representation is formed by combination of two curve representations, one for each parametric coordinate. Let curve1 and curve2 be cubic polynomial curves:

The tensor-product surface is defined as: Denote The surface is expressed as where the parametric matrix ca be determined from data points using regression.

3. Surface Interpolation Create data of surface from existing data points, e.g. ----- rectify the coordinate grids. ----- smooth representation of a surface by planar meshes.

1) Triangular mesh interpolation: From 3 data points, a planar patch can be determined: then at position , the depth of the surface is calculated as ----- It is good for coordinate rectification. ----- It cannot improve the smoothness of the surface even more data points are created.

2) Bilinear Interpolation From 4 data points, a bilinear surface patch can be determined as z = f(x,y) = a1 + a2x + a3y + a4xy then the new surface point can be calculated from given position (xi, yi) zi = f(x,y) = a1 + a2xi + a3yi + a4xiyi

Surface Approximation ----- Estimate mathematic form of surface from enough measurement data. ----- Smoothness constraint should be enforced to obtain a unique solution.

Variational method: Let the surface be in the form , at data points we should have By variation calculus, we get a differential equation. This differential equation can be solved for with Proper boundary conditions.

2) B-spline Regression Smoothness constraint is automatically applied when we approach surface regression by combining a set of smooth functions which are nonzero over a certain intervals. B-spline is the one commonly used.

In one-Dimensional case, any function f(x) has: ----- is nonzero over interval . i.e. spans over 4 intervals, and has one interval shift in the combination. ----- is continuous up to second order derivatives in its domain.

The definition of 1-D B-spline function is

Since each B-spline function covers 4 intervals, f(x) is approximated by only 4 spline functions in each interval. In interval [i, i+1]

At curve’s data point , above approximation becomes : With m+1 data point on the curve, the coefficients a0, a1,…, am can be solved (note: scaling and shift xi to interval [0, 1]). Although SVD method can be used in solving the linear equations, spare matrix technique is preferred as there are a lot of zero elements in coefficient matrix of the equations.

In 2D case, a surface is expressed as a tensor-product form i.e., where and are 1-D B-spline functions. A surface is approximated by 2D B-spline functions. At a data point of the surface on a surface patch, the above approximation becomes

With (n+1)(m+1) data points on the surface, the coefficients aij can be solved linearly. Again, spare matrix technique can yield fast computation.

3) Weighted Spline Approximation: So far, we have discussed surface approximations only for smooth surfaces. What shall we do with surface boundaries? Solution one: If we can know boundary positions, we can approach the surfaces piecewise, and the unions of the surface pieces are the object surface.

Solution two: weighted regression:   w(x,y): Large in surface far from boundary Small in surface near to boundary e.g., Where is gradient of surface is weight control parameter

5. Surface Segmentation 1) Concept: ----- a complex surface is segmented into several sub-surfaces. For each sub-surface, approximation is made to approach an analytic form.

-----Use curvature properties of surface initially to partition the surface into core regions, then shrink the surface region to small surface patches,so-called “seeds”. -----Extend surface seeds to cover neighboring data to form subsurfaces. Surface approximation and data extending are iteratively performed in this process.

2) Algorithm Given a set of surface data zi = f(xi, yi) to segment the surface into subsurfaces. Compute the first and second partial derivatives of the surface data. Compute Gaussian and mean curvatures at each image location. Label each surface data with the formula T[i,j] = 1 + 3(1 + sgn(H[i,j])) + (1 + sgn(K[i,j])) The formula numerates surface types:

T[i,j]=1: saddle ridge; T[i,j]=2: ridg T[i,j]=3: peak; T[i,j]=4: minimal surface T[i,j]=5: Flat; T[i,j]=6: No definition T[i,j]=7: Saddle valley; T[i,j]=8: Valley T[i,j]=9: Pit d) Identify core regions by finding connected components (clustering) e) Shrink the core region to eliminate false labels near region boundaries. f) Remove the core regions that are too small. g) Fit a bi-variable patch to each core region

h) Find a set of neighboring pixels of the regions with the similar data values to the neighboring pixels in the region. Include the candidate pixels in the region. i) Refit the surface with the surface data of the union of original region pixels and candidate pixels. If the fit is acceptable (residue is small enough), add the candidate data to the region. Otherwise, discard the candidates. j) Repeat step h) and step i) until no region is changed.

6. Surface Registration Registration problem is to align two shapes without knowing feature correspondences (e,g., point correspondences or line correspondences), such as align a set of surface data (e.g. range data) with a model of surface. This is to determine a transformation (rotation, translation and scaling) to surface data so that they can well align with the surface model.

Basic concept of surface registration: Given: a set of surface data (e.g. range data), and the model of the surface. Find: Rotation, translation and scaling applied to surface data to align the data with the surface model.

Step1: Apply transformation to surface data: Step2: Find distance from to surface model. d = distance (from to model). Step3: minimize the distance measurement to find R, T and s.