Finding the circle that best fits a set of points



Similar documents
Soving Recurrence Relations

In nite Sequences. Dr. Philippe B. Laval Kennesaw State University. October 9, 2008

Systems Design Project: Indoor Location of Wireless Devices

Modified Line Search Method for Global Optimization

1 Correlation and Regression Analysis

Sequences and Series

Your organization has a Class B IP address of Before you implement subnetting, the Network ID and Host ID are divided as follows:

Properties of MLE: consistency, asymptotic normality. Fisher information.

SAMPLE QUESTIONS FOR FINAL EXAM. (1) (2) (3) (4) Find the following using the definition of the Riemann integral: (2x + 1)dx

THE REGRESSION MODEL IN MATRIX FORM. For simple linear regression, meaning one predictor, the model is. for i = 1, 2, 3,, n

Chapter 7 Methods of Finding Estimators

3. Greatest Common Divisor - Least Common Multiple

Maximum Likelihood Estimators.

CS103X: Discrete Structures Homework 4 Solutions

NEW HIGH PERFORMANCE COMPUTATIONAL METHODS FOR MORTGAGES AND ANNUITIES. Yuri Shestopaloff,

Confidence Intervals for One Mean

Determining the sample size

Math C067 Sampling Distributions

Case Study. Normal and t Distributions. Density Plot. Normal Distributions

S. Tanny MAT 344 Spring be the minimum number of moves required.

Chapter 7: Confidence Interval and Sample Size

1. C. The formula for the confidence interval for a population mean is: x t, which was


Convexity, Inequalities, and Norms

Trigonometric Form of a Complex Number. The Complex Plane. axis. ( 2, 1) or 2 i FIGURE The absolute value of the complex number z a bi is

Example 2 Find the square root of 0. The only square root of 0 is 0 (since 0 is not positive or negative, so those choices don t exist here).

Chapter 5: Inner Product Spaces

hp calculators HP 12C Statistics - average and standard deviation Average and standard deviation concepts HP12C average and standard deviation

Incremental calculation of weighted mean and variance

University of California, Los Angeles Department of Statistics. Distributions related to the normal distribution

.04. This means $1000 is multiplied by 1.02 five times, once for each of the remaining sixmonth

CS103A Handout 23 Winter 2002 February 22, 2002 Solving Recurrence Relations

1 Computing the Standard Deviation of Sample Means

WHEN IS THE (CO)SINE OF A RATIONAL ANGLE EQUAL TO A RATIONAL NUMBER?

Analyzing Longitudinal Data from Complex Surveys Using SUDAAN

Domain 1: Designing a SQL Server Instance and a Database Solution

Vladimir N. Burkov, Dmitri A. Novikov MODELS AND METHODS OF MULTIPROJECTS MANAGEMENT

Confidence Intervals. CI for a population mean (σ is known and n > 30 or the variable is normally distributed in the.

, a Wishart distribution with n -1 degrees of freedom and scale matrix.

Solutions to Selected Problems In: Pattern Classification by Duda, Hart, Stork

Section 11.3: The Integral Test

Department of Computer Science, University of Otago

where: T = number of years of cash flow in investment's life n = the year in which the cash flow X n i = IRR = the internal rate of return

Lecture 4: Cauchy sequences, Bolzano-Weierstrass, and the Squeeze theorem

Hypothesis testing. Null and alternative hypotheses

AP Calculus BC 2003 Scoring Guidelines Form B

A Combined Continuous/Binary Genetic Algorithm for Microstrip Antenna Design

A probabilistic proof of a binomial identity

Repeating Decimals are decimal numbers that have number(s) after the decimal point that repeat in a pattern.

2-3 The Remainder and Factor Theorems

Solving Logarithms and Exponential Equations

Lecture 4: Cheeger s Inequality

5.3. Generalized Permutations and Combinations

A Secure Implementation of Java Inner Classes

1. MATHEMATICAL INDUCTION

Measures of Spread and Boxplots Discrete Math, Section 9.4

5.4 Amortization. Question 1: How do you find the present value of an annuity? Question 2: How is a loan amortized?

CME 302: NUMERICAL LINEAR ALGEBRA FALL 2005/06 LECTURE 8

Taking DCOP to the Real World: Efficient Complete Solutions for Distributed Multi-Event Scheduling

Infinite Sequences and Series

I. Chi-squared Distributions

Mining Customer s Data for Vehicle Insurance Prediction System using k-means Clustering - An Application

5 Boolean Decision Trees (February 11)

GCSE STATISTICS. 4) How to calculate the range: The difference between the biggest number and the smallest number.

Sampling Distribution And Central Limit Theorem

Chapter 6: Variance, the law of large numbers and the Monte-Carlo method

SECTION 1.5 : SUMMATION NOTATION + WORK WITH SEQUENCES

Time Value of Money, NPV and IRR equation solving with the TI-86

(VCP-310)

Asymptotic Growth of Functions

How To Solve The Homewor Problem Beautifully

CHAPTER 3 THE TIME VALUE OF MONEY

Here are a couple of warnings to my students who may be here to get a copy of what happened on a day that you missed.

Lesson 15 ANOVA (analysis of variance)

Basic Elements of Arithmetic Sequences and Series

Lecture 2: Karger s Min Cut Algorithm

Chapter 5 Unit 1. IET 350 Engineering Economics. Learning Objectives Chapter 5. Learning Objectives Unit 1. Annual Amount and Gradient Functions

Now here is the important step

Research Method (I) --Knowledge on Sampling (Simple Random Sampling)

Normal Distribution.

Totally Corrective Boosting Algorithms that Maximize the Margin

Estimating Probability Distributions by Observing Betting Practices

BENEFIT-COST ANALYSIS Financial and Economic Appraisal using Spreadsheets

Multiplexers and Demultiplexers

The following example will help us understand The Sampling Distribution of the Mean. C1 C2 C3 C4 C5 50 miles 84 miles 38 miles 120 miles 48 miles

BINOMIAL EXPANSIONS In this section. Some Examples. Obtaining the Coefficients

INFINITE SERIES KEITH CONRAD

COMPARISON OF THE EFFICIENCY OF S-CONTROL CHART AND EWMA-S 2 CONTROL CHART FOR THE CHANGES IN A PROCESS

Our aim is to show that under reasonable assumptions a given 2π-periodic function f can be represented as convergent series

Lecture 7: Stationary Perturbation Theory

Institute of Actuaries of India Subject CT1 Financial Mathematics

5: Introduction to Estimation

Bond Valuation I. What is a bond? Cash Flows of A Typical Bond. Bond Valuation. Coupon Rate and Current Yield. Cash Flows of A Typical Bond

Class Meeting # 16: The Fourier Transform on R n

The Stable Marriage Problem

Discrete Mathematics and Probability Theory Spring 2014 Anant Sahai Note 13

Present Value Factor To bring one dollar in the future back to present, one uses the Present Value Factor (PVF): Concept 9: Present Value

Transcription:

Fidig the circle that best fits a set of poits L. MAISONOBE October 5 th 007 Cotets 1 Itroductio Solvig the problem.1 Priciples............................... Iitializatio............................. 3.3 Issues................................ 4.4 Iterative improvemet........................ 4.4.1 Problem statemet..................... 4.4. Direct solvig........................ 5.4.3 Leveberg-Marquardt................... 5.4.4 Cojugate gradiet..................... 5 3 Numerical example 7 A Algorithms 10 luc@spaceroots.org 1

1 Itroductio We cosider the followig D problem: give a set of poits P i (x i,y i ) (i = 1...) fid the ceter C(x c,y c ) ad the radius r of the circle that pass closest to all the poits. Figure 1: closest circle problem y P 5 P1 r C P 4 P P 3 x For the latest versio of this documet, please check the dowloads page of the spaceroots site at http://www.spaceroots.org/dowloads.html. The paper ca be browsed o-lie or retrieved as a PDF, compressed PostScript or LaTeX source file. A implemetatio i the Java laguage of the algorithms preseted here is also available i source form as a stad-aloe file at http:// www.spaceroots.org/documets/circle/circlefitter.java. Solvig the problem.1 Priciples The uderlyig priciples of the proposed fittig method are to first compute a iitial guess by averagig all the circles that ca be built usig all triplets of o-

aliged poits, ad the to iteratively reduce the distace betwee the circle ad the complete set of poits usig a miimizatio method.. Iitializatio For ay give triplet of o-aliged poits, there is a sigle circle passig through all three poits: the triagle circumcircle. We will use this property to build a iitial circle. Let P i (x i,y i ), P j (x j,y j ) ad P k (x k,y k ) be three poits. The triagle circumceter is at the itersectio of the perpedicular bisectors of the triagle sides. Equatio (1) holds as the circumceter belogs to the perpedicular bisector of side (P i,p j ) ad equatio () holds it also belogs to the perpedicular bisector of side (P j,p k ): (1) () (3) x Ci, j,k = (x i + x j ) + α i, j (y j y i ) y Ci, j,k = (y i + y j ) α i, j (x j x i ) x Ci, j,k = (x j + x k ) + α j,k (y k y j ) y Ci, j,k = (y j + y k ) α j,k (x k x j ) Solvig this set of liear equatios is straightforward: α i, j = (x k x i )(x k x j ) + (y k y i )(y k y j ) α j,k = (x k x i )(x j x i ) + (y k y i )(y j y i ) where = (x k x j )(y j y i ) (x j x i )(y k y j ) (4) Hece the circumceter coordiates are: x Ci, j,k = (y k y j )(xi + y i ) + (y i y k )(x j + y j ) + (y j y i )(xk + y k ) y Ci, j,k = (x k x j )(xi + y i ) + (x i x k )(x j + y j ) + (x j x i )(xk + y k ) These coordiates ca be computed as log as the determiat is o-ull, which meas the three poits are ot aliged. Sice the methos iteded to be geeral, we do ot make ay assumptios o the poits. Some of them may have small (or eve large) errors, some may be aliged with other oes, some may appear several times i the set. We caot reliably select oe triplet amog the other oes. We build the iitial guess of the fittig circle by averagig the coordiates of the circumceters of all triplets of o aliged poits. This etire iitializatio process is implemete algorithm 1 (page 10). 3

.3 Issues The iitializatio process described above may be iadequate i some cases. If the umber of poits is very large, the umber of triplets will be overwhelmigly large as it grows i 3. I this case, oly a subset of the complete triplets set must be used. Selectig the subset implies kowig the distributio of the poits, i order to avoid usig oly poits i the same area for iitializatio. If the poits sample cotais really far outliers i additio to regular poits, the iitial ceter may be offset by a large amout. This is due to the fact the mea is ot a robust statistic. This ca be circumveted by either usig a media rather tha a mea or by droppig outliers (either before or after circumceter determiatio). If the poits distributio is kow to cover exactly oe circle with a cosistet step betwee the poits ad o outliers, a much simpler iitializatio process is simply to use the mea of the x ad y coordiates for all poits..4 Iterative improvemet.4.1 Problem statemet Oce we have a iitial guess for the circle ceter, we wat to improve it for some defiitio of best fit agaist the poits set. Usig a least squares estimator based o the euclidea distace betwee the poits ad the circle is a commo choice. We try to miimize the cost fuctio J: J = ( r) where = (x i x) + (y i y) i=1 is the euclidea distace betwee the poit P i (x i,y i ) ad the circle ceter C(x,y) ad r is the circle radius. For a give circle ceter, we compute the optimum circle radius ˆr by solvig: J (5) r = 0 ˆr = i=1 r=ˆr This meas that both ad ˆr ca be cosidered as fuctios of the circle ceter coordiates x ad y which from ow o will be the free parameters of our model. Usig the choice r = ˆr, the cost fuctio ca be rewritte: (6) J = i=1 ( ˆr) = i=1 d i ( i=1 ) from this expressio we ca compute the gradiet of the cost fuctio with respect to the free parameters: J x = (x x i )( ˆr) (7) J J y = (y y i )( ˆr) 4

.4. Direct solvig Equatio (7) ca easily be solved aalytically. However experiece shows that eve for small errors with the iitial guess, this leads to a solutio C(x,y) that is very far from the validity domai of the partial derivatives values. This sesitivity to the iitial guess is a commo issue with GAUSS-NEWTON based least squares solvers. Iteratig as i a fixed poit method does ot help either, iteratios diverge oce we are too far. So we have to refrai from usig this easy but wrog solutio ad use a more robust approach..4.3 Leveberg-Marquardt The LEVENBERG-MARQUARDT methos a combiatio of the GAUSS-NEWTON ad steepest descet methods. It beefits from the stregth of both methods ad is both robust eve for startig poits far from the solutio ad efficiet ear the solutio. It is a sure bet as highly recommeded. This methos however quite complex to implemet, so it should be used oly if a validatemplemetatio of the methos easily available. The MINPACK implemetatio 1 i fortra is widely used. Our ow Matissa Java library also provides a Java implemetatio based o the MINPACK oe as of versio 6.0. May other implemetatios are available i various laguages. For cost fuctio J = i=1 ( ˆr), the LEVENBERG-MARQUARDT method eeds the jacobia matrix of the deviatios ˆr. The two elemets of row i of this matrix is give by equatio (8): ( 1 k=0 d ) k x ( ˆr) = ( d i 1 k=0 d ) k y (8) = x x i y y i 1 1 k=0 k=0 x x k d k y y k d k This solver is far more efficiet tha the simple oe we will preset i the followig sectio (by several orders of magitude). The drawbacks are the implemetatio complexity..4.4 Cojugate gradiet If o LEVENBERG-MARQUARDT based solver are available, we ca still fid the values of the free parameters that miimize the cost fuctio J usig the simpler 1 http://www.etlib.org/mipack/lmder.f http://www.spaceroots.org/software/matissa/idex.html 5

cojugate gradiet method with POLAK ad RIBIÈRE factor. This will be less efficiet tha usig LEVENBERG-MARQUARDT especially whe the poits are far from a real circle, but is very simple to do. The cojugate gradiet methos also a iterative oe, usig two embedded loops. The outer loop computes a ew search directio by combiig the cost fuctio gradiet at the curret step ad the previous search directio. The ier loop roughly miimizes the cost fuctio i the search directio. This methos very easy to implemet ad allows to have a self-cotaied algorithm. The rough miimizatio of the cost fuctio alog the search directio ca be doe by performig a few steps of a NEWTON solver o the derivative of the cost fuctio J(x + λu,y + λv) with respect to the step λ. The followig equatios are the exact derivatives used for this rough ier miimizatio (we use J u,v (λ) = J(x + λu,y + λv), u,v (λ) = (x + λu,y + λv) ad ˆr u,v (λ) = ˆr(x + λu,y + λv) as a way to simplify the equatio): [ dj u,v (λ) (x + λu xi )u + (y + λv y i )v ][ u,v (λ) ˆr u,v (λ) ] = dλ u,v (λ) d J u,v (λ) dλ = (u + v u,v (λ) ˆr u,v (λ) ) u,v (λ) J u,v (λ) = u,v (λ) 1 ( ( +ˆr u,v (λ) u,v (λ) ) ) (x + λu x i )u + (y + λv y i )v u,v (λ) ( (x + λu xi )u + (y + λv y i )v ) 3 u,v (λ) hece (9) ad (10) dj u,v (λ) dλ d J u,v (λ) dλ = λ=0 = (u + v ) λ=0 + ˆr [ (x xi )u + (y y i )v ][ ˆr ] ( ˆr (x x i )u + (y y i )v ( (x xi )u + (y y i )v ) d 3 i ) 6

The precedig equatios are use a traditioal cojugate gradiet method, assumig x ad y have bee iitialized, as show i algorithm (page 11). The parameters of the algorithms are the maximal umber of iteratios i max, ad the two covergece thresholds ε ier ad ε outer. Their values deped o the problem at had (umber of poits, expected error at each poits, required accuracy). Fidig the values for a give problem is a matter of trial ad errors. As always with the cojugate gradiet method, there is o real eed to have a accurate miimum alog the search directio, hece ε ier may be quite large (I used values betwee 0.0 ad 0.1). It is eve possible to remove completely the covergece check ad replace it with a arbitrary small umber of NEWTON steps. 3 Numerical example This sectio shows a example applicatio of the algorithms describe this ote. It is based o a simple case with oly five poits ad a order of magitude of about 1% of the circle radius for the errors i the poits locatios. We start with the followig set of five poits: poit x y P 1 30 68 P 50-6 P 3 110-0 P 4 35 15 P 5 45 97 Sice there are five poits i the set, there are te differet triplets, oe of them have aliged poits: circumceter x y circumceter x y C 1,,3 93.650 45.500 C 1,4,5 103.768 48.3 C 1,,4 103.704 48.17 C,3,4 9.400 40.14 C 1,,5 103.753 48.30 C,3,5 94.178 47.765 C 1,3,4 95.81 47.473 C,4,5 103.70 48.9 C 1,3,5 99.8 50.571 C 3,4,5 96.580 49.100 we observe that with this data set, four circumceters (C 1,,4, C 1,,5, C 1,4,5 ad C,4,5 ) are very close to each other. This is oly a coicidece. This explais why few poits show up i figure : the four rightmost poits are almost superimposed. Averagig these circumceters gives the iitial value for the circle ceter: C iit (98.680,47.345) The iitial value of the cost fuctio is 13.407. Usig the LEVENBERG-MARQUARDT method with very striget covergece thresholds (10 10 for all tolerace settigs: relative cost, relative parameters ad 7

Figure : iitializatio P 5 y P1 circumceters C iit C P 4 x P P 3 orthogoality), covergece is reached after oly 4 cost fuctio evaluatios ad 4 jacobias evaluatios. Usig the cojugate gradiet method with a loose covergece settig for the ier loop ad a tight oe for the outer loop (ε ier = 0.1 ad ε outer = 10 1 ), covergece is reached after 7 iteratios. Both methods give the same results 3. The miimal value foud for the cost fuctio is 3.17. The parameters for the best fittig circle ad the correspodig residuals are: d 1 r = 0.963 { C(96.076,48.135) d r = 1.19 d 3 r = 0.417 r = 69.960 d 4 r = 0.475 d 5 r = 0.75 This example is oly oe example, o coclusios should be draw from the similar results ateratio umbers. Some key features that deped o the problems ad are ot addresse this paper are the followig oes: umber of poits: this example uses 5 poits, other may have hudreds of poits, error level: errors rage to about 1% of the circle radius, I have ecoutered real life applicatios were errors were aroud 0.001%, other were errors were about 30%, 3 a previous versio of this paper foud slight differeces betwee the results ad a large differece i the umber of iteratios, this was due to a implemetatio bug i the cojugate gradiet method 8

error distributio is homogeeous: but i some applicatio errors may be highly correlated (deted or squizzed circles), circle coverage: the example poits all belog to the same left half of the circle, i some cases poits will be regularly distributed over the circle, a some cases there will be some strage distributio like 3.5 turs. 9

A Algorithms σ x 0 σ y 0 q 0 loop for i = 1 to i = loop for j = i + 1 to j = 1 loop for k = j + 1 to k = compute usig equatio (3) if > ε the // we kow the poits are ot aliged compute C i, j,k usig equatio (4) σ x σ x + x Ci, j,k σ y σ y + y Ci, j,k q q + 1 ef ed loop ed loop ed loop if q = 0 the error all poits are aliged ef retur circle ceter C(σ x /q,σ y /q) Algorithm 1: iitializatio 10

compute ˆr usig equatio (5) compute J usig equatio (6) compute J usig equatio (7) if J < ε 1 or J < ε the retur // we cosider we already have the miimum ef J prev J J prev J u prev 0 loop from i = 1 to i = i max // search directio u J if i > 1 the β J T ( J J prev )/ J prev // Polak-Ribiere coefficiet u u + β u prev ef J prev J u prev u // rough miimizatio alog the search directio (a few Newto steps) loop J ier J compute dj/dλ usig equatio (9) compute d J/dλ usig equatio (10) λ (dj/dλ)/(d J/dλ ) C C + λ u compute ˆr usig equatio (5) compute J usig equatio (6) compute J usig equatio (7) while i i max ad J J ier /J ε ier if J J prev /J < ε outer retur // covergece reached ef ed loop error uable to coverge i i max iteratios Algorithm : cojugate gradiet 11