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

Slides:



Advertisements
Similar presentations
Lecture Notes #11 Curves and Surfaces II
Advertisements

Medical Image Registration Kumar Rajamani. Registration Spatial transform that maps points from one image to corresponding points in another image.
Lecture 10 Curves and Surfaces I
Computer Aided Engineering Design
Image Segmentation Image segmentation (segmentace obrazu) –division or separation of the image into segments (connected regions) of similar properties.
Discrete Geometry Tutorial 2 1
Overview June 9- B-Spline Curves June 16- NURBS Curves June 30- B-Spline Surfaces.
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
Informationsteknologi Monday, December 10, 2007Computer Graphics - Class 161 Today’s class Curve fitting Evaluators Surfaces.
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 Vision Optical Flow
Computer Graphics - Class 14
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
Camera Calibration CS485/685 Computer Vision Prof. Bebis.
1 Representing Curves and Surfaces. 2 Introduction We need smooth curves and surfaces in many applications: –model real world objects –computer-aided.
1 Numerical geometry of non-rigid shapes Non-Euclidean Embedding Non-Euclidean Embedding Lecture 6 © Alexander & Michael Bronstein tosca.cs.technion.ac.il/book.
09/16/02 Dinesh Manocha, COMP258 Surfaces Locally a 2D manifold: i.e. approximating a plane in the ngbd. of each point. A 2-parameter family of points.
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:
October 8, 2013Computer Vision Lecture 11: The Hough Transform 1 Fitting Curve Models to Edges Most contours can be well described by combining several.
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.
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
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.
(Spline, Bezier, B-Spline)
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.
Extrapolation Models for Convergence Acceleration and Function ’ s Extension David Levin Tel-Aviv University MAIA Erice 2013.
Quadratic Surfaces. SPLINE REPRESENTATIONS a spline is a flexible strip used to produce a smooth curve through a designated set of points. We.
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.
Parametric Surfaces Define points on the surface in terms of two parameters Simplest case: bilinear interpolation s t s x(s,t)x(s,t) P 0,0 P 1,0 P 1,1.
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.
CS 376 Introduction to Computer Graphics 04 / 25 / 2007 Instructor: Michael Eckmann.
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.
11/26/02(C) University of Wisconsin Last Time BSplines.
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.
Ship Computer Aided Design
Instructor: Mircea Nicolescu Lecture 7
Camera Calibration Course web page: vision.cis.udel.edu/cv March 24, 2003  Lecture 17.
CS559: Computer Graphics Lecture 33: Shape Modeling Li Zhang Spring 2008.
Amir Yavariabdi Introduction to the Calculus of Variations and Optical Flow.
Introduction to Parametric Curve and Surface Modeling.
1 Spherical manifolds for hierarchical surface modeling Cindy Grimm.
Curve & Surface.
Fitting Curve Models to Edges
© University of Wisconsin, CS559 Fall 2004
Course 13 Curves and Surfaces
Overview June 9- B-Spline Curves June 16- NURBS Curves
Presentation transcript:

Course 13 Curves and Surfaces

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

1.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. 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, K 1 and K 2 are called principal curvatures.

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

(3) Types of a surface region K(x,y) +0– +peakridgesaddle ridge 0 flatminimal surface –pitvalleysaddle 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) = a x t 3 + b x t 2 + c x t + d x y(t) = a y t 3 + b y t 2 + c y t + d y z(t) = a z t 3 + b z t 2 + c z t + d z

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.

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 = a 0 + a 1 x + a 2 y Bilinear patch: z = a 0 + a 1 x + a 2 y + a 3 xy Biquadratic patch: z = a 0 + a 1 x + a 2 y + a 3 xy + a 4 x 2 + a 5 y 2 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) = a 1 + a 2 x + a 3 y + a 4 xy then the new surface point can be calculated from given position (x i, y i ) z i = f(x,y) = a 1 + a 2 x i + a 3 y i + a 4 x i y i

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

1)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 a 0, a 1,…, a m can be solved (note: scaling and shift x i 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 a ij 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 z i = f(x i, y i ) to segment the surface into subsurfaces. a)Compute the first and second partial derivatives of the surface data. b)Compute Gaussian and mean curvatures at each image location. c)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.