Approximation by NURBS curves with free knots

Similar documents
Approximation of 3D-Parametric Functions by Bicubic B-spline Functions

Fitting Uncertain Data with NURBS

Adaptive techniques for spline collocation

Scan Scheduling Specification and Analysis

Efficiency versus Convergence of Boolean Kernels for On-Line Learning Algorithms

Constructive floorplanning with a yield objective

Approximation by NURBS with free knots

Response Time Analysis of Asynchronous Real-Time Systems

A Linear Dual-Space Approach to 3D Surface Reconstruction from Occluding Contours using Algebraic Surfaces

This file contains an excerpt from the character code tables and list of character names for The Unicode Standard, Version 3.0.

The Online Median Problem

Pairs with no starting point. input with starting point. Pairs with curve piece or startng point. disjoint pairs. small pairs. Resulting.

RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È.

Designing Networks Incrementally

CEG477/CEG677. Computer Graphics II

SFU CMPT Lecture: Week 8

A General Greedy Approximation Algorithm with Applications

On-line multiplication in real and complex base

Bayesian source separation with mixture of Gaussians prior for sources and Gaussian prior for mixture coefficients

RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È.

Probabilistic analysis of algorithms: What s it good for?

Database Languages and their Compilers

Optimal Time Bounds for Approximate Clustering

Fuzzy Hamming Distance in a Content-Based Image Retrieval System

A Note on Karr s Algorithm

A Modality for Recursion

XCMODEL 3.0 AN ACADEMIC MODELING/RENDERING SYSTEM

On the deviation of a parametric cubic spline interpolant from its data polygon

GEOMETRIC LIBRARY. Maharavo Randrianarivony

End-to-end bandwidth guarantees through fair local spectrum share in wireless ad-hoc networks

A Blind Source Separation Approach to Structure From Motion

Tracking Points in Sequences of Color Images

From Static to Dynamic Routing: Efficient Transformations of Store-and-Forward Protocols

On Clusterings Good, Bad and Spectral

Schur Algorithms for Joint-Detection in TD-CDMA based Mobile Radio Systems

Expander-based Constructions of Efficiently Decodable Codes

Almost Curvature Continuous Fitting of B-Spline Surfaces

Elastic Block Ciphers: The Feistel Cipher Case

Computing optimal linear layouts of trees in linear time

Maximum Number of Users Which Can Be Served by TETRA Systems

Designing by a Quadratic Trigonometric Spline with Point and Interval Shape Control

Event List Management In Distributed Simulation

Optimal Static Range Reporting in One Dimension

On the Performance of Greedy Algorithms in Packet Buffering

Competitive Analysis of On-line Algorithms for On-demand Data Broadcast Scheduling

Graphs (MTAT , 4 AP / 6 ECTS) Lectures: Fri 12-14, hall 405 Exercises: Mon 14-16, hall 315 või N 12-14, aud. 405

Learning to Align Sequences: A Maximum-Margin Approach

Variational Design and Fairing of Spline Surfaces

Exponentiated Gradient Algorithms for Large-margin Structured Classification

The Tractability of Global Constraints

The Journal of MacroTrends in Technology and Innovation

Parameterization for curve interpolation

MAHARAVO H. RANDRIANARIVONY

9.0 References. [Appl89] Applegarth, I., Catley, D., Bradley, I., Clipping of B-spline patches at

Why? The classical inverse ECG problem. The Bidomain model. Outside the heart

SIMULTANEOUS PERTURBATION STOCHASTIC APPROXIMATION FOR REAL-TIME OPTIMIZATION OF MODEL PREDICTIVE CONTROL

Developing an Approach to Redesign Freeform Surfaces Using B-Spline Technique

A second order algorithm for orthogonal projection onto curves and surfaces

Filling Holes with B-spline Surfaces

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

Computational Physics PHYS 420

UNSTRUCTURED GRIDS ON NURBS SURFACES. The surface grid can be generated either in a parameter. surfaces. Generating grids in a parameter space is

p y = 0 x c Figure : Stereographic projection. r p p y = 0 c p Figure : Central projection. Furthermore, we will discuss representations of entire sph

Worst-Case Utilization Bound for EDF Scheduling on Real-Time Multiprocessor Systems

Parameterization of triangular meshes

Wireless Clients. Jacob Chakareski and Philip A. Chou

Theory and Algorithms for the Generation and Validation of Speculative Loop Optimizations

100 Myung Hwan Na log-hazard function. The discussion section of Abrahamowicz, et al.(1992) contains a good review of many of the papers on the use of

A story about Non Uniform Rational B-Splines. E. Shcherbakov

Lecture 5 C Programming Language

Parameterization. Michael S. Floater. November 10, 2011

Locality Preserving Projections (LPP) Abstract

2D Spline Curves. CS 4620 Lecture 13

Towards Automatic Recognition of Fonts using Genetic Approach

Advanced Graphics. Beziers, B-splines, and NURBS. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd

Lecture Notes on GRAPH THEORY Tero Harju

Computation Method for Evaluation of Surface Fine Structure by Highlight Lines

SUBDIVISION ALGORITHMS FOR MOTION DESIGN BASED ON HOMOLOGOUS POINTS

A NURBS-BASED APPROACH FOR SHAPE AND TOPOLOGY OPTIMIZATION OF FLOW DOMAINS

Knot Insertion and Reparametrization of Interval B-spline Curves

Fitting to a set of data. Lecture on fitting

Agglomerative Information Bottleneck

Evaluating the knot vector to synthesize the cam motion using NURBS

AppART + Growing Neural Gas = high performance hybrid neural network for function approximation

CHAPTER 6 Parametric Spline Curves

Markov Face Models. Abstract. 1. Introduction. Department of Statistics & Probability Department of Computer Science & Engineering

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

Fundamental Trade-offs in Aggregate Packet Scheduling

Banner 8 Using International Characters

Iterative Estimation of 3D Transformations for Object Alignment

Curve Finder Combining Perceptual Grouping and a Kalman Like Fitting

Conditions for Non-Chronological Backtracking in Boolean Optimization

arxiv: v1 [math.na] 20 Jun 2014

On the Complexity of List Scheduling Algorithms for Distributed-Memory Systems.

Parameter Estimation in Differential Equations: A Numerical Study of Shooting Methods

Second Triangular Hermite Spline Curves and Its Application

Tolls for heterogeneous selfish users in multicommodity networks and generalized congestion games

Generating Airplane Wings for Numerical Simulation and Manufacturing

Computation of the multivariate Oja median

Positivity Preserving Interpolation of Positive Data by Rational Quadratic Trigonometric Spline

Transcription:

Approximation by NURBS curves with free knots M Randrianarivony G Brunnett Technical University of Chemnitz, Faculty of Computer Science Computer Graphics and Visualization Straße der Nationen 6, 97 Chemnitz, Germany Email: maharavo@informatiktu-chemnitzde Abstract This paper is concerned with approximating noisy samples by NURBS curves with special emphasis on free knots We consider the knots as unknown parameters so as to find their optimal positions The original problem which is linear with respect to the weights and the control points but is nonlinear with respect to the knots is reformulated such that the knots are the only variable set We show how to set up the problem such that nonlinear optimization methods can be applied efficiently This involves the introduction of penalizing terms in order to avoid undesired knot positions We report on our implementation of the nonlinear optimization The performance of our method are confirmed by several practical examples The generalization to the surface case will be briefly described at the end Introduction NURBS settings are appreciated in many theoretical analyses because they allow flexible description of both free form surfaces and usual geometries such as conic sections Indeed, the set of rational functions is much larger than that of polynomial functions, so NURBS give mainly better approximation than their B-spline counterparts do Another reason for the appreciation of NURBS is that it is supported by many softwares For instance, OpenGL and ACIS ([9], []) have built-in commands for drawing NURBS by only giving the required parameters Our interest in the subject of approximation with NURBS is motivated by the application of reverse engineering In reverse engineering, one is concerned with the automated generation of a CADmodel from a set of points digitized from an existing 3D object Since many real world objects have been constructed using both simple algebraic surfaces as well as free-form surfaces, NURBS surfaces appear to be a universal class for surface fitting in reverse engineering In this paper we consider the curve case as a preliminary investigation for the surface case We assume that a sequence of noisy sample points Å is given and we aim at reconstructing a NURBS curve that approximates the points in a least-square sense It is well known (see [6]) that the choice of the knot vector of a spline (also called parameterization) has a tremendous influence on the result of the fitting procedure For this reason, several suggestions for a reasonable knot spacing have been made (see works of Foley, Nielson, Lee which are referenced in [6]) However, for all these suggestions of knot spacings, examples can be found where these methods provide unsatisfactory results Furthermore, these methods can only be applied for interpolatory splines while we are interested in spline approximation Therefore, for reliable results, one has to treat the knots as unknowns in the approximation process In the context of polynomial B-splines, the use of free knots has already been investigated by several authors ([], [7], []) For the case of NURBS, the following approaches have been taken: in [3], the author uses an iterative segment determination in order to establish the positions of the knots The authors of [8] use an improved version of Polak- Ribiere algorithm in order to minimize some cost functional without trying to reduce the number of parameters In this paper, we report on our implementation of a general method for approximation by NURBS curves with free knots In section, we provide the necessary preliminaries to state the approximation VMV Erlangen, Germany, November,

problem In section 3, we reformulate the problem such that nonlinear optimization methods can be applied efficiently For this, we reduce the dimensionality of the minimization problem and introduce penalizing terms in order to avoid undesired knot positions In section 4, we describe in detail our implementation of the nonlinear optimization that is based on the Levenberg-Marquardt method We discuss the results obtained by this approach for several data sets and different knot spacings in section 5 We will describe briefly the similarity for the case of surfaces in the last section Problem setting and notations NURBS curve A nonuniform rational B-spline curve (NURBS curve) with weights Û Û Ò ¾ Ê and control points Ò ¾ Ê is given by: ص ÛÆ Øµ ÛÆ Øµ () where Æ is the usual B-spline basis ([4]) Since we are mainly interested in open curves, we will assume that Æ is define on a knot sequence 4 35 3 5 5 5 ½ Ò Ò ½ Ò d d d5 d6 5 5 5 3 35 4 Figure : NURBS curve with Ò, ¾ ½ ½ ½ ½µ and Ï ½ ½ ½ ½ ½ µ We will assume that and Ò ½ d d3 d4 d7 In the sequel, we will denote: Ï Û Û Òµ () Òµ (3) Òµ (4) An illustration can be found in Fig Free knot problem Suppose we are given a sequence of noisy samples Ø Å µ Ñ with Ñ We want to find the NURBS curve ص Ï Øµ which fits these data best in a least square sense Since we want to find the optimal positions of the knots, we put them as variables That means, we have the following problem: ÑÒ Ï Ñ Ï Ø µ Å ¾ (5) This problem is too difficult to solve because of the nonlinear dependence of on the parameters (Ï ) Furthermore, we need to add some constraints about the positivity of the weights In the next section, we will show how to simplify this problem 3 Brief recall of the fixed knot problem If we are given a knot sequence, then the problem ÑÒ Ï Ñ Ï Ø µ Å ¾ will be referred to as fixed knot problem It is investigated for example in [3] where it is shown to be equivalent to solving a linear system: µý Ö (6) where A and B are given in block structure: ½½ ½¾ ¾½ ¾¾ Ö ¾ Æ Ö Æ Ò Ö Æ Ò Ö Æ ÒÒ Ö (7)

½½µ Á Å Å (8) ½¾µ Å (9) ¾½µ Å () ¾¾µ ½ () ¾ Æ Æ Ò Æ Ò Æ ÒÒ () Ý Ò Û Û Ò Ö Æ Ø µ ÆÒ Ø µ Á identity matrix of order Û Ü Û Ý Û Þ Æ ÔÕ Æ Ô Ø µæ Õ Ø µ È Ñ ½ ½ Å ¾ µ In all these expressions, is understood to be and is a positive constant which should be chosen large enough (see [3]) in order to ensure positivity of the weights 3 Solving the free knot problem The choice of the knot vector has a large influence on the quality of the results of the curve fitting It is well known that a bad placement of the knots may lead to overshooting effects that distort the shape of the curve In this section, we describe our method of curve fitting that involves the determination of optimal knot positions 3 Preparing the problem for nonlinear optimization In the following, we set up the problem such that nonlinear optimization methods can be applied According to section 3, for a given knot, we can solve the subproblem (6) in order to determine the corresponding weights Ï and the control points In other words Ï and are functions of ie Ï µ Ï µ µµ Problem (5) is therefore simplified into: ÑÒ Ñ Ï µ µ Ø µ Å ¾ (3) From now on, we will write only Ø µ instead of Ï µ µ Ø µ in order to simplify the notation We have then ÑÒ Ñ Ø µ Å ¾ (4) This problem still allows the presence of the situation where is not increasing Therefore, we will modify this problem so that only knots with ½ Ò may happen By denoting: we have ص Ü Øµ Ý Øµ Þ Øµµ and Å Å Ü Å Ý Å Þµ ÑÒ Ñ Ü Ø µ Šܵ ¾ Ý Ø µ Šݵ ¾ Þ Ø µ Å Þµ ¾ By defining Ë Ü Ø µ Å Ü we obtain Ë ½ Ý Ø µ Å Ý Ë ¾ Þ Ø µ Å Þ ÑÒ We introduce now the function Ê Üµ and we define Ë ¾ (5) if Ü Üµ if Ü Ê µ Ê ½ µ Ê ¾ ½ µ Ê Ò Ò ½µ Instead of (5), we will consider ÑÒ (6) Ë «Ê µ ¾ (7) where «is a very large positive number To understand the relationship between (5) and (7), we note the following two properties of equation (7)

If we have ½ Ò, then Ö Ö ½ for all Ö ½ Ò and therefore Ê µ Thus, Ë «Ê µ ¾ Ë ¾ If there is some Ö such that Ö Ö ½, then Ê Ö Ö ½µ and so Ê µ is nonzero Because of our assumption that «is a very large number, we can expect that È Ë «Ê µ ¾ is also very large È Since we are searching for the minimum of Ë «Ê µ ¾, the preceeding two points show that a with Ö Ö ½ can never realize this minimum That means that the integration of the trailing term in (7) penalizes those with Ö Ö ½ In situation where it is desirable to have ½ for Ò ½, we replace (6) by Ê µ Ê ½ µ Ê ¾ ½ µ Ê Ò Ò ½ µ (8) 3 Nonlinear optimization By denoting Ö µ Ë «Ê µ and Ã Ñ ¾, the curve fitting problem has the form of a usual nonlinear least square problem: ÑÒ Ã Ö µ ¾ Such a problem can be solved by nonlinear least square solvers like Levenberg-Marquardt and Gauss-Newton (see [], [5]) Note that for each evaluation of the function Ö µ, we need to solve the subproblem (6) in order to know the corresponding Ï µ, µ We note that the order of the linear system (6) is small It does not depend on the number of data points It depends exclusively on the degree Ò of the NURBS curves Furthermore, taking into account that the support of Æ is µ, we conclude that the matrices in (7) are banded More precisely, we have: Ñ Æ ÔÕ for Ô Õ As a consequence, the matrices are sparse and therefore we need only to compute a few entries On the other hand, we must note that the computation of one entry of this system involves all data points The remedy to that problem is to assemble the following matrix and vector ¾ Á Å Å Á ½Å ½Å ½ Á ÑÅ ÑÅ Ñ ¾ ½ Ñ (9) only once and store them in arrays so that they do not need to be recomputed in subsequent computations Note that and are independent of They depend only on the initial data points The only expressions which need to be updated in each iteration of the nonlinear optimization are the values of Æ Ð Øµ which are mostly zero except for some few values They can be computed recursively in a fast way (see []) 4 Numerical results 4 Performance of the algorithm The numerical results in this paper have been computed with the Levenberg-Marquardt algorithm Note that this algorithm is iterative and so it needs some initial guess The initial guess that we have taken here is equidistant knots in which the approximating curve is very far from the true curve The first numerical test that we perform is the reconstruction of W-form curve We have data which were added with random noise of amplitude ½ The curve is reconstructed with the help of the formerly described algorithm The overall time for the reconstruction is seconds In Figure we see a graphical illustration of the data, the initial curve and the reconstructed curve The second test is a free-form curve The time needed for the reconstruction is like in the first test A graphical illustration can be found in Figure 3 4 Iteration vs error The next test consists in investigating the error after each iteration This test is for the W- form curve in which the exact knot position is µ In Table, we see

the value of for each iteration and the corresponding error We note that we do not need so much iterations in practice in order to achieve a nice accuracy Note also that the reconstructed curve is already graphically satisfactory after iteration 4 Table : Error for each iteration 5 4 3 Iter µ ½µ ¾µ Error 5 5 75 55556 647 54 785 4575 3 9438 593 69673 398 4 366 599 6737 9359 5 37 4998 56 6 3333 4999 68 37 5 5 3 35 4 Figure 3: Initial curve, reconstructed curve and 75 samples with noise amplitude=½ 4 35 3 5 5 to the length of the subinterval Sometimes the first initial guess is good For instance, the W-form curve (see Fig ) needs 6 iterations for equidistant initial guess But it needs as many as iterations for chord length initial guess to have the same results The case of the curve in Fig 3 is completely opposite to that It needs 4 iterations for equidistant initial guess and 3 iterations for chord length initial guess But as far as the final results are considered, both initial guesses give the same result The difference can be found only in the number of iterations 5 5 5 5 3 35 4 Figure : Initial curve, reconstructed curve and 75 samples with noise amplitude=½ 5 Similarity for surfaces A nonuniform rational B-spline (NURBS) surface with weights Û ¾ Ê and control points ¾ Ê Ò Ù Ò Ú is given by: 43 Initial guess The number of the iterations needed for this method depend on the initial guess that we take That is again due to the fact that this is an iterative method Although two different initial guesses give the same results, they may need different time to run the algorithm because more iterations mean a longer time of execution Two possible initial guesses are: equidistant knot sequence and chord length knot sequence The latter is meant in the sense that the interval ½ is parted into subintervals in such a way that each corresponding curve part is proportional Ù Úµ Ù Ú Ù Ú ÛÆÙ ÛÆ Ù ÙµÆ Ú Úµ ÙµÆ Ú Úµ () where Æ Ù and Æ Ú are the usual B-spline basis ([4]) defined respectively on the knot sequences: Ò Ù Ù Ò Ú Ú In order to generalize the theory to the surface case, we introduce the following lexicographic ordering of the surface information:

Û ÒÚ ½µ Û () ÒÚ ½µ () Æ ÒÚ ½µ Ù Úµ Æ Ù ÙµÆ Ú Úµ (3) Note that the new expressions Û,, Æ Ù Úµ have only one index Ò where Ò Ò Ù Ò Ú ½µ Ò Ú, whereas the old ones Û Æ Ù ÙµÆ Ú Úµ have two indices Ò Ù Ò Ú With the help of these new notations, the definition () becomes as simple as: 5 5 5 Ù Úµ Û Æ Ù Úµ Û Æ Ù Úµ (4) We can notice right away that (4) looks very much like its curve counterpart () 4 6 8 8 6 4 Figure 5: Reconstructed surface 5 5 5 in general more than ± of the whole computational work On the other hand, we can see that those matrices can be assembled in parallel because they consist only of sums of some terms which can be distributed on each processor Our future work will deal with the parallelization of this algorithm in which each processor will have almost the same number of data points so as to ensure load balancing 4 6 8 8 6 4 Figure 4: 99 data points The rest of the theory can be generalized in a similar way In Fig 4 and 5, we can illustrate the reconstruction of a surface from 99 data points 6 Future work The most expensive part of this algorithm is the assembly of the matrices in (6) The assembly takes References [] C de Boor, A practical guide to splines, Springer, New York, 978 [] J Corney, 3D modeling with ACIS kernel and toolkit, John Wiley & sons, Chichester, 997 [3] B Elsässer, Approximation mit rationalen B- Spline Kurven und Flächen, PhD thesis, Darmstadt, 998 [4] G Farin, Curves and surfaces hoschekfor computer aided geometric design, Academic Press, Boston, ed, 99 [5] R Fletcher, Practical methods of optimization, John Wiley & Sons, Chichester, ed, 987 [6] J Hoschek, and D Lasser Grundlagen der geometrischen Datenverarbeitung, Teubner,

Stuttgart, 989 [7] D Jupp, Approximation to data by splines with free knots, SIAM J Numer Anal, pp 38-343, vol 5, No, 978 [8] P Laurent-Gengoux, and M Mekhilef, Optimization of a NURBS representation, Computer Aided Design, pp 699-7, vol 5, No, 993 [9] J Neider, T Davis, and M Woo OpenGL programming guide, Addison-Wesley publishing company, Reading, 994 [] J Nocedal, and S Wright Numerical Optimization, Springer Series in Operation Research, New York, 999 [] T Schütze, Diskrete Quadratmittelapproximation durch Splines mit freien Knoten, PhD thesis, Dresden, 998 [] H Schwetlick, and T Schütze, Least squares approximation by splines with free knots, BIT, pp 36-384, vol 35, No 3, 995