Curve Recognition Using B-Spline Representation Finish

download Curve Recognition Using B-Spline Representation Finish

of 8

Transcript of Curve Recognition Using B-Spline Representation Finish

  • 8/13/2019 Curve Recognition Using B-Spline Representation Finish

    1/8

    Curve Recognition Using B-spline Representation?Femand S.Cohen, Zhaohui Huang, and Zhengwei Yang

    DepartmentofElectrical and Computer EngineeringDrexel UniversityPhiladelphia,PA 19104Abstract

    The B-spline stands a s one of the most eflcient curve(surface) representation, and possess es very attractiveproperties such as spatial uniqueness, boundedness andcontinuity, local shape controllability, and invariance toafFne transformations. These properties made them veryattractivefor curve representation in computer aided &signand computer graphics. Very little work , however, hasbeen devoted to them for recognition purpose. Onepossible reason might be due to the fact that the B-splinecurve is not uniquely described by a single set of controlpoints, which made the curve matching (recognition)process ot a simple comparison between the respectiveparameters of the curves to be m atched. This paper is anattempt tofind matching solutions despite this limitationand addresses the problems of invariant matching andclassifcation of 2 - 0 closed curves with application inidentificationof aircrafr types based o n image silhouettes,and writer-identificationbased on hand written text.I. Introduction

    A number of different approaches have been proposedfor curve modeling such as Fourier Descriptors [ll; ChainCodes [2]; Polygonal Approximation [3]; CurvaturePrimal Sketch [4 ] ; Medial Axis Transform [51;Autoregressive models 161; moments [7-81; parametricalgebraic curves [91; curvature invariant [IO]; stochastictransformation [111; implicit polynomial functions [ 2];bounded polynomials [13]; and B-splines [14]; amongothers. The B-spline has good properties that made themvery attractive for curve representation, and consequentlythey have been extensively used in computer aided designand computer graphics. Very little work, however, hasbeen devoted to them for recognition purposes.In this paper, we deal with the problem of matchingand recognizing planar curves and which are modeled asB-splines, independently of possible transformations that theoriginal curve has been subjected to (e.g., rotation,translation, change in scale, and orthographic or semi-

    t This work was suppofled by the Federal Bureau of Investigationunder gran1 number J-FB I-91-35 2

    perspective projection transformations), and possiblyocclusion. This work is used in the development of anautomated or a semi-automated system that allocates ahand-written text to one of a set of possible C writersbased on the style of the written message rather than itscontent. This has direct applications in the bankingsystem for automatic signature identification, and inaiding an expert in hand-writing concentrate on analyzinga manageable set of possible writers (out of a big database of prior offenders) udiciously chosen by our systemfor expert witness in court cases. The second applicationis that of identifying airplane types given images of planesilhouettes taken at different viewing position orientationand scale than the training prototype samples.This paper is organized as follows. The structure ofthe B-spline and the reasons for using it as an appropriatemodel for curve representation are introduced in section 11.Section 111 deals with the problem of estimating theparameters of the B-spline from image curve data. Aminimum mean square error (MMSE) procedure isadopted, and the problem for the appropriate assignmentsof the t parameter is addressed. Section IV introduces thecurve matching problem, and sections V through VI1present three different methods for matching andclassifying curves. In section VIII, we inuoduce the twoapplications we have concentrated on, and presents theexperimental results. Conclusions are presented in sectionIX.11. Projective-invariant curve modelsII.1 Uniform Cubic B-Splines

    In this paper, we deal with closed curves of C2continuous, Le, the closed curves which have both theirslopes and curvatures continuous which are modeled bycubic B-splines. A closed cubic B-spline with n + lparameters CO, ,, ..,Cn, (control points) consists of n+ 1 connected curve segments rJt) = (xi(t), yJt)). each ofwhich is a linear combination of four cubic polynomialsin the parameter t, where t is normalized for each suchsegment between 0 and 1 (0I I ) , .e.,

    = Ci-,Qoft)+ c i Q l f t )+ Ci+lQ2(f)+ C i +zQ j i t ) 2.1)

    2130-8186-2840-5192503.00 1992 IEEE

  • 8/13/2019 Curve Recognition Using B-Spline Representation Finish

    2/8

    QJ t ) ak0? + aH? + ak2 + akl , k = O,I,2,3 (2.2)Using the continuity constraints in position, slope,and curvature on the connection points between segments,

    and the invariance property tocoordinate transformations(the Cauchy condition [14]) leads to 16 constraintequations from which the polynomial parameters in (2.2)are found. The connection points between curve segments(see figure 1) are called the knot points : (where : = 0)= ri-l l)), = 0, 1,...,n. Let t' be a variable assuming thevalues between 0 and n + 1, then the whole curve r(t') canbe expressedas

    n n + 3

    where ri(t'- i) is only nonzero for i ' +l, andQ,,,(t'), (i = 0, 1, ...,n), are called the normalized cubicB-spline bases, and are related to each other by horizontaltranslation see igure 2).

    Ml)-G+1* i C 3 - C d )qt / r l)-;(cl+2-ci)*-)tci+l-ci . l ) I t

    Figure 2The amplitudes of Q,4(t') are in the range of 0, l),

    and the regions of support of Q t') are compact andnonzero for t' E (i, i+4). The values of Ti, i = 0. 1.2, ...,n + 7, are called knots where the B-spline bases are tiedtogether. They take the values of [-3, -2, ....,n+4]. Underuniform placement of the knots Ti, i = 0, 1,2, ...,n + 7given the set C = (Co. C , , ..., Cn),we can uniquelydetermine the knot points r = (ro, rl , .. r ) nd vice versa.The relationship is given asA 1 2 1r i = ;C , , + ? C i + ; ?C , + ] ,

    1.4

    A A A A

    for i = 0, .., nc - , = cn , CO=Cn+ ] (2 .4)(2.3) and (2.4) combined, unfortunately, mean that a B-spline curve is not uniquely described by a single set of

    control points, since with each different choice for theplacement of the knot points, we can induce a different setof control points that still describe the same curve. Thisis of great consequence in the curve matching problem aswe are not able to directly compare between theirrespective parameters.I 4Why B-Splines?In light of the above underlying structure of the B-splines, the following attractive properties make themsuitable for shape representation and analysis. These are:(i) smoothness and continuity which allows any curve toconsist of a concatenation of curve segments, yet betreated as a single unit; (ii) built-in boundedness, aproperty which lacking in both the implicit or explicitpolynomial representation whose zero set can shoot toinfinity [13]. The B-spline on the other hand is boundedby the polygon that join the B-spline parameters; (iii)ease of specifying the range of a multi-valued curve; (iv)the decoupling of the x and y coordinates, with eachhaving its parametric representation, is treated separately;(v) shape invariance under transformation (affine andprojective transformations), which means that theprojected or transformed curve is still a B-spline whosecontrol points are related to the object control pointsthrough the transformation; and (vi) local controllabilitywhich implies that local changes in shape are confined tothe B-spline parameters local to that change.111. B-spline parameter estimation

    We are given a set of m (m > n+l) ordered curve datapoints r = ( r , , r2, ...,rm)= ((x,. y,), (x2, y& .... (x,,y,)) = x, y). The goal is to fit a real-valued B-spline tothe observed curve data. There exist two obvious ways ofachieving that. The fitst approach uses a B-spline whichinterpolates between the sampled data points. The secondone mes to find an approximate B-spline such that theerror measure between the observed data and theircorresponding B-spline curve values are small. Thisapproach, unlike the previous one, does not require asmany parameters, and is more resilient to noise, and istherefore the one adopted here. There are two main pointsthat need to be specified for adopting the latter approach.These are : i) the error distancebetween the curve data andtheir corresponding B-spline points should be specified;and (ii) appropriate values of t' should be allocated to thecurve data. In this section bothpointsare addressed.m 1Minimum Mean Square Error Estimation

    Since the B-spline is factorizable into its differentcomponents, estimates for the control points based on the2-D curve data can be addressed for each componentsseparately. Let f stands for either the x-component or they-component. Then the MMSE stimates are obtained by

    214

  • 8/13/2019 Curve Recognition Using B-Spline Representation Finish

    3/8

    minimizing the sum d2 in (3.1) of the square residualerrors between the data point r . and its correspondingpoint on the B-spline r(t'.), j = 1, 2, ...,m, with respectto the control points i.e..

    JJ

    v m n 3

    If the values of the ti's in (3.1) are known, the MMSEsolution can be readily obtained.III.2 Iterative B-spline Parameter EstimationIn order to arrive at the solutions, appropriate valuesfor the t'.'s should be determined. This section deals withthat problem. One possibility is to treat them asunknown parameters to be estimated along with thecontrol points. The problem with such an approach istwofold: (i) the parameter space is bigger than the dataspace; and (ii) the minimization problem is highlynonlinear and computationally very intensive. To bypassthese two problems w e adopt an iterative proceduresimilar in spirit to the EM algorithm in maximumlikelihood estimation. The steps in this iterativeminimization process are as follows:1. Choose an initial values for the t'.(initial)'s;2.,Compute the MMSE for the control point parametersC (initial) based on the assigned t'.(initial) values,compute the sum of the residual errors d (initial)in (3.1).3. Update the values of t'.(new) by minimizing d2 nJ(3;l) with the control point pafameters fixed toC (initial). Based on t'.(new), find C (new) and computed2(newj.4. If d (new) c d2(initial) and Id2(new) - d2(initial)l>threshold then set new to initial and go back to 3.otherwise go to 5 .5 . stop, the MMSE estimates are C*(initial) in step 3.

    This iterative minimization is guaranteed to convergeto at least a local minimum of d2 in (3.1). An initialassignment for the t'. values can be made according to thechord length method in [16] which was shown to be agood non-iterative, simple, and fast approach for controlpoint estimation [16]. Here, the t'. values are assignedaccording to the length of the chord relative to the totalchord length. The update for the values of t'. for a fixed setof control points is achieved according to the following.Let t'.(old) be the value of t i before the update. First weconfine the search region to the interval I =

    J

    J

    1

    J

    J

    J

    J

    J

    [Integer( '.(old)] - 1 Integer(t'.(old)) + 13. This intervalcorresponds to the three B-spline curve segments confinedby the knots k - 1, k, k + 1, and k + 2, where k =integer ( '.(old)]. The best value t'.(new) for ti thatminimizes d2 in (3.1) confined to the interval is foundusing a golden section search. 'Ihe update for the next t'value t'. is obtained in a similar fashion except that it isnot allowed to assume a value which is smaller thant'.(new), i.e., the search imposes the order constraint tI1et'* < ... t'm . The improvement of this iterativeoptimization over the M M S E stimation with the chordlength assignment is illustrated in section VIII.1.IV. Invariant matching of curves

    The goal here is to match and recognize planar curveswhich are modeled asB-splines, independently of possibleaffine transformations that the original curve has beensubjected to, and possible occlusion. The scenariodiscussed here is one where we have a set of P prototypeobject planar curves modeled as B-splines, and stored instandard positions. It is assumed here that the differentobject curves are not related to each other through anaffine transformation. We are presented with a set ofsampled curve data points from the transformed objectcurve, and are asked to recognize (classify) the objectcurve from the sample curve data points. As pointed insection 11.1, because of the non-uniqueness of the controlpoints in describing any of the prototype curves, we cannot directly use the estimated control points in thematching process. Three different solutions to thatproblem are presented.

    The first method is based on differential geometrythrough the use of curvature K (and torsion z in the caseof nonplanar curves) measures derived from theapproximating B-spline. K and z are intrinsic propertiesof the curve shape, which by the Fundamental theorem ofcurves [15] completely determine the curve shape up toposition. The curvature has a parametric representation interms of t' (or arc length s), is continuous as aconsequence of the C2 continuity of the B-spline, and hasa closed-form analytic expression. Moreover, whenconsidering the parametric representation of the curvaturein terms of arc length s, K(S) becomes invariant totranslation and rotation, and could be made invariant toscale. It can also be used in the occlusion case. It is,however, variant to affine and projective transformationsand sensitive to noise since the curvature involves takingsecond derivative of the curve.

    The second method is based on relating the controlpoints (or equivalently the knot points) of the prototypecurve to the estimated control points of the sample curveafter a judicious reassignment (displacement) of the knot

    J

    J

    J+1

    J

    215

  • 8/13/2019 Curve Recognition Using B-Spline Representation Finish

    4/8

    points associated with the sample curve in accordancewith the placement of the knot points for the prototypecurve. This method can be made invariant to affinetransformation. Being a global comparison rather than alocal one, i.e., a comparison between parameters ratherthan points, it is more robust than the curvature-basedmethod as it is more resilient to noise. It, however, cannot handle the occlusion caseThe third method is a residual error-based methodwhich compare the sum of the residual error between thesample and the different prototype curves. It is the mostgeneral of the three methods. It is invariant to affinetransformations, and c nhandle occlusion.This invarianceis achieved by adjusting the control points by multiplyingthem with the best affine transformation that makes theresidual error between the sample curve and each of theprototype curves the smallest.

    These three methods are described in details insections V, VI, and VII, respectively.V. Curvature-based matching

    We start the discussion by introducing the curvaturemeasure. From now on, the dot@) over a variable meansits derivative(s) with respect to its argument. Let r(t') be aB-spline (a parametric regular curve) that resides on aplane in R3 .e.. r : (a, b) + R3 The spline curve is C2continuous. Let v(t') = i (t') be the velocity vector field,. Thend let T(t') be the tangent vectorcurvature K(t') which measures the degree of bending ofthe curve on the surface is given by [151

    Iv (t') I

    ( 5 . 1 )Since the length of a curve is a geometric property,we reparametrize it in terms of arc length. We concentrateon any one of the curve segment ri(t) with t E [O,lI. Let

    Ri(s) be the reparametrization of ri(t) in terms of arclength s, i.e., RJs) = ri(t = h-l(s)). If ri(t) is viewed as thepath of a particle moving in space, then Ilvi(t)ll= i$t') isits speed, and the integral of speed gives the distance suavelled by the particle in the time interval t, i.e.,

    Is= htt) = / l v{ t ) l / d t (5.2)

    0s = h(t) is the arc length along ri(t). It is 1-1 mapping ofthe interval 0, 1) onto some interval (0, Li>.The velocityfield Ti( = (s) is a unit vector. The curvature of Ri(s) isKi( , = l q S N l (5.3)

    In order to evaluate K~(s)n (5.3)we have to computethe integral in 5.2). The integrand in 5.2) has the form.\I at4 + bt3 + ct2 + dt + e .For a closed curve with n + l curve segments, let 4,= Li, k = 1, ..., n, with do = 0. be the distancetravelled on the curve from the starting knot point ro untilthe knot point +k, and let s' be a variable assuming thevalues between 0 and d = dn+l= dn+ Ln (total distancetravelled on the curve to go back to the starting point),then the curvature function K(s') for the whole curve canbe expressedas

    k-1

    i = O A

    ni = ONs ) = K{s'- di) (5.4)

    where K s'- di) is nonzero only for diI ' I i+l.K(s') iscontinuous and periodic in s ' with period d, and isinvariant to shift and rotation, but variant to the choice ofthe starting point and to change in scale. Forclassification,w e use a set of sampled curvature points( ~ ( j ) , = 0, 1. 2 ..., N-1) obtained by uniformlysampling the continuous curvature function K(s'), whered~ ( j ) K(S' = j As'), j = 0, 1, 2, ...,N-1, with As' =chosen so that the curvature is almost constant within theAs' interval (i.e., IK( (~+ ~)As')~ ( jAS )^ cc K ~ s')I, for0 5 6 ). For a curve which is scaled by a factor p withrespect to the original curve, if we impose the samenumber of points N on the scaled curve as for the unscaledcurve, we can achieve the invariance to scale, i.e.,

    (5.5)where K (.) is the curvature of the scaled curve. Finally,to alleviate the variance of the curvature measure due tothe starting point, we find the shift 1 that matches theobserved curvature K&) to the prototype curvature K 6).The classifier is based on the Euclidean distance and isgiven by

    N-I 2min { min { C KotO+j)modW - ~ ~ ( j ) ]11 * 9 099v Iwhere P is the total number of different prototype curves.~ ~ ( j )s obtained from the sample curve by firstestimating the control points from the curve as describedin section 111, then computing K~(s ') sing 5.3) anduniformly sampling the range of s' (0I ' I o) to obtainK~U).= 0, 1, ...,N-1.

    K ( j ) = K P ( j ) , j = 0,1 2, ...,N -1B

    P

    (5.6)j = O

    V.l Matching in the Presence of Occlusion216

  • 8/13/2019 Curve Recognition Using B-Spline Representation Finish

    5/8

    In the casewhere we are presented with only a part ofthe sample curve due for example to occlusion, we firstestimate the control points for now the open curve, thenwe compute the curvature as in (5.3). and sample it usingthe sampling rate used for the prototype curves. Here forthe observed curve we wind up with a smaller number ofsample curvaturepoints say M (Me N .We can then usethe classifier in (5.6) with the upper limit in thesummation sign replaced by M-1. If we alsoallow scalingas well as occlusion, then the classifier should bemodified tomin {m in {m in { j go K 0 ( ( l + j ~ m o d V- ~ ~ 111 5.7)l*sP ds' 0 9 9 - 1

    2&.-l

    Where As' is sampling interval, M AS, s its samplenumber.VI. Matching using knot pointsThe main question that this section attempts toanswer is : how can we match two curves based oncomparing their control points when a curve could bedescribed by more than a single set of control points aspointed out in section II.l? Towards that end, let usconsider a set of P different curves r (t'). p = 1 . 2,..., P,whose centroids coincide and is taken as the origin of thecurve coordinate system. For each curve, a set of n controlpoints C = (CO@), l@), ...,Cn-l@))is stored and usedas a descriptor for the curve. Mother nature picks one ofthe curve, a set of sample ordered curve points (r 1 2 '..'rM) hen is chosen. From this data a set of control pointsC = (Co. C , , ...,C n - , ) , is estimated as described insection 11. Let this curve be denoted by r(t'). As pointedout in section 11.1, we can not directly compare C withthe different C s, as there are no guarantees that they

    Pcorrespond. In light of that fact, the problem is now offinding that set C (or equivalently the set of knot pointsr ) that is guaranteed to correspond to C if the curve thatmother nature picked up were he p* curve. The setC* sdetermined from the knowledge of C nd C as follows.Since the knot points and control points are 1-1, wecompute the set rp=,l@), ..:n-l@)) from the setC using 2.4). Let r (t ) be he point on he p* B-splinethat intersects the positive x-axis, and let d@)be the totaldistance traveled on the p* B-spline. Moving in an anti-clockwise direction, we compute the fraction of thedistance traveled from the point r (t ) to the first knotpoint we encounter, relative to the total distance d(p), thento the second, and so on until we have considered the nknot points. Let fo(p), f,@), ..., fn-,@).be these fractiondistances. We renumber the knot points in order of first

    P

    P

    h

    P

    PA A A

    P P

    P

    encounter. Let themrdered setbe denoted asCO@),rib),..,?n-l(p)). Next for the curve r(t'), we compute the totaldistance d traveled on the curve, and find the point r( t2 onthe curve that intersects the positive x-axis.Moving againin an anti-clockwise direction, we place the first knotpoint @) on the curve r(t') such that the fraction of thedistance traveled from the point r(t2 to '&) relative tothe totaldistance d is the same as fo(p). The rests of theknots q@), r2@), ..., rn-l@),are placed similarly. so asA * A * A *the fraction of their distances from r(t,) relative to thetotal distance d coincide with the rest of the fractionsf,@), .... fn-,(p). The classifier based on the knot pointsisaccording to

    Remark:If the curve isan affine transformation of the prototype,the affine transformation parameters are fnst found asexplained for example in 1171 using the continuous curve

    moments (or weighted moments). We then undo thetransformation, and follow the procedure above in theabsence of transformation. This can also be used in theresidualerror method presentednextVII. Residual error-based matching

    For the residual error-based method, we form the s u mof the residual errors of the data to to the p* B-splineusing the invariance property to the affine transformation

    M n=z lrO -,E{P /RICimOd(,+,,(p) bJ Qik0 )l? 7.1)j = l , L =Any one of the t'. values is computed as described in

    section III.2. In order to compute (7.1). the transformationparameters 8, bx, b ,and have to be known. These areestimated using MMSE estimation obtained byminimizing (7.1) with respect to these parameters. Thetransformation parameters are com uted under each class passumption, and the different d ' s are computed. Thesample is allocated to the class with the smallest d

    J

    Y

    PP

    217

  • 8/13/2019 Curve Recognition Using B-Spline Representation Finish

    6/8

    value. For a more general affine transformation matrix[A], the MMSE rocedure will beperformed with respectto the four elements of the matrix [A].VIII. Applicat ionsVIII.l B-spline parameter estimation based onthe iterative t' value assignment

    We use the iterative procedure described in 011.2) toassign t'j value of the cubic B-spline which approximatesthe given data. The data is obtained by uniformlysampling a known B-spline curve parametrized by 20control points (see igure 3a). The first case is noiseless.The second case is when the data is contaminated by aGaussian noise with Mean = 0.0.Variance = 0.680. Themaximum squared e m was found to be 5.740. As in thenoiseless case we also used a 20 control points cubic B-spline to approximate the given data. The results ofnoiselesscaseare shown in figures 3b and 3c. The averageand maximum squared errors for the two methods aregiven in table 1.

    1 7 n ,n

    L a d v(a) Original B-spline @) Chord-Lmgth (c) Optimal100 iterations

    Figure 3Squared error of recovered B-spline to original B-spline data (withoutand with noise

    Reconstructed

    Table 1The iterative algorithm of (I11.2) improves on theerror. For both cases, we recovered original B-spline withvery high accruracy.Remarks

    (i) In our experiment, we found that the errormonotonically decreases as iteration grows and convergesafter about 100 (without noise) and 30 (with noise)iterations;(ii) On the average the time per iteration (t' valuesassignments and control point estimation) was about 5

    seconds.

    prototype curves (which are silhouettes of 9 planes) withabout 500 curve points each are shown in Figure 4.A setof 100 control points is computed for each prototypecurve and is stored.

    We are given 6 test curves (planes) which were:rotation, translation, scale of the prototypes for the firsttwo test curves; orthographic transformation of theprototype for the third, semi-perspective for the fourth,perspective for the fifth, and occlusion for the sixth,respectively (see igure 5).n n n

    Plane 1 P h Plane 3

    Plane 4 Plane 5 Plane 6

    Plane7 Plane 8 Plane 9Figure 4 Nine Prototype curves (planes)

    Test plane 1 Test plane2 Test plane 3

    r i iTest plane 6est plane 4

    We used the classifier 5.6) 5.7) in the occlusioncase ) and obtained the following classification resultsdisplayed in table 2:

    Test plane 5Figure 5 Test aw e s @lanes)

    Vm.2 Identification of Aircraft TypesCurvature-BasedMethodThe first application is the identification of objectslike planes based on their extracted silhouettes.A set of 9

    Table 2The classifier properly allocated the fvst two and the lasttested samples, i.e., test plane 1 to prototype 1, test plane2 to prototype 4, and test plane 6 (which is occluded) toprototype 4. The classification for the other three tested

    218

  • 8/13/2019 Curve Recognition Using B-Spline Representation Finish

    7/8

    samples were as expected not correct, due to the varianceof the curvature to orthographic, semi-perpsective andperspective projections (only the test 3 and test 4 resultsare listed in table 2). Finally, the computational costs arearound 8 seconds.Knot-Based MethodThe experiment has been repeated using the knotpoint method. The classification results are shown intable 3for the first 5 cases. For the perspective case case5 we have used the semi-perspective projection as if itwere the true projection model. All the five cases havebeen properly classified.

    Table 3Residual Error-Based Method

    Finally, the experiments are run on the six casesbased on he residual error-based method and yielded theclassification results shown in table 4. For the perspectivecasewe have used the semi-perspective projection as if itwere the true projection model.

    The classifier properly allocated the tested samples.The reconstructed curves are almost identical to thoseshown in figure 4.VIII.3 W ri ter-Screening Iden ifica tion

    The second application aims at the allocation of ahand-written text to one of a set of possible P writersbased on the style of the written message rather than itscontent. A written text is allocated to a writer by firstisolating and identifying the letters, then using eachwriter's characteristic shape of the letters, we allocate themessage to the most likely writer. This is an intrinsicpart in a system whose aims are: (i) to allocate a givenhandwritten message to a reduced set of writers out of amuch larger set of possible writers in a data base, and ii)to have quantitative measures that reflect the confidencelevel (likelihood) of the association of the given messagewith each writer in the reduced set. The experimentconsisted of ten writers, each of which has written theletters of the alphabet ten times.

    Nine of these samples were used for training. Foreach letter and writer, these nine training samples wereused to estimate the control points which represent theparticular letter and writer. The rest of the samples (260samples) were used for classification. A set ofexperiments were run on single letters as well ascombination of letters from the same writer (see igure 6for an example) to test the classification method. Theexperimental results obtained using the residual-baseddecision rule outlined in section VI1 are summarized in theTables5 and 6.

    Table 5. Single Lcaer Recognitim RateThe entries in Table 5show the mognition rate (for

    each letter) which indicates the number of writers (notincluding the correct wnter) that had their residual errorshigher than the one associated with the correct writer.This number is divided by 9 and is displayed in the tableas a classification rate with 1being the highest and 0 thelowest. As shown in Table 5, the recognition rate isdifferent for the different writers and the different letters.We found that the more consistent the handwriting was,the higher was the recognition rate. e.g., writer1 andwriter7. Obviously, the classification based on onlysingle letter is neither reliable nor reasonable, and hencewe consider theclassification based on a number of lettersjointly. The classification was based on a majority ruledecision which allocates the sample to the writer forwhom the single letters have been allocated to the most(i.e., the one with the highest frequency of occurrence)To illustrate this majority rule, we consider the exampleshown in Table 6 for a sample of combination of letters

    2 9

  • 8/13/2019 Curve Recognition Using B-Spline Representation Finish

    8/8

    from writer2. The tested sample from writer2 is shown infigure 6, and for comparison we also display the samplefrom writer9 in figure 7.

    L L L L L h i + + k L nn L r o p f w h t k . J r I w a c 4

    Figure 6 Teated Sample fmn writer2Q ~ E ~ ~ / p ~ & k A ~ a w- + p I j t - u / K * & W p

    Figure 7 Sample from write19As shown in table 6, we can not recognize the singleletter a correctly because the residual of writer9 issmaller than that of writer2. When a and b areconsidered jointly, the recognition rate is still in favor of

    writer9. For the letters a,b,and c jointly, we cansee that the decision is still in favor of writer9 since twoout of the three letters were classified as writer9. As weconsider more and more letters, more and more lettersareproperly classified, and the decision tilts in favor ofwriter2.

    I ..... ...a -- z 23126 correctTable 6. Joint Leaen Classification

    We used this majority rule for classifying tensamples each consisting of the 26 letters that were notused in the training. A 100 classification rate wasachieved. The computing time for estimating the controlpoints and evaluating the residual is around 1second.Finally, note that the results obtained using the curvaturemethod were inferior to that obtained using the residualerror method, and were comparable to the knot pointsmatching method.IX. Conclusions

    Three curve matching and identification methods,which exploited different aspects of the B-spline, werepresented, and were useful in shedding light on how canthe nice properties associated with the B-spline facilitateand robustify the curve recognition process. By and large,

    each method by itself had merit, and could be used inconjunction with the other two. The approach was medon real problems with real data, and the results wereencouraging and promising.References[ l] E. Persoon and K. S. Fu. Shape Discrimination UsingFourier Descriptors, IEEE Trans. Pattern and Mach. Intell.,vol. PAMI-8. May, 1986. pp. 388 - 397.[2] J. A. Saghri andH. reeman. Analysis of the Precision ofGeneralized Chain Codes for the Representation of PlanarCurves. IEEE Trans. Pattem and Mach. Intell.. vol. PAMI-3,[3] T. Pavlidis and F. Ali. Computer Recognition ofHandwriten Numerals by Polygonal Approximations, IEEETrans. Systems, Man. Cybem.. vol. SMC-6. Nov., 1975, pp.610 - 614.[4] H. Asada and M. Brady, The Curvature R i a l Sketch,IEEE Trans. Pattern and Mach. Intell.. vol. PAMI-8, Jan.[ 5 ] 0 Philbrick, Shape Description with the Medial AxisTransformation, in Pictorial Pattern Recognition, G . C.Cheng. Ed. Washington, D. C.: Thompson, 1968. pp. 395 -407.[6] R. L. Kashyap and R. Chellappa, Stochastic Models forClosed Boundary Analysis: Represen tation andReconstruction, IEEE Trans. Inform. Theory, vol. IT-27,Sep. 1981. pp. 627 - 637.[7] M-K Hu. Visual Pattern Recognition by MomentInvariant, IRE Trans. on Information Theory. Vol. 8, pp.Vol. PAMI-13, No. 11. pp. 1115- 1138. Nov. 1991.[8] G. Taubin and D. Cooper, 2D and 3D Object Recognitionand Positioning System Based on Moment Invariant.Proceedings of the DARPA-ESPRIT Workshop on GeometricInvariant, Rikjavik. Iceland, May 1992.[9] J. Ponce and D. J. Kriegman. On Recognizing andPositioning Curved 3D Objects from Image Contours,Proceedings of the IEEE Workshop on Interpretation of 3DScenes, Nov. 1989.[lo] P. J. Besl and R. C. Jain. 3D Object Recognition,Computer Surveys, Vol. 17, No. 1. March 1985.[ l l ] U. Grenander and D. M. Keenan, Towards AutomatedImage Understanding. Applied Statistics, Vol. 16. pp. 207-221, 1989.[12] D. Forsyth. J. Mundy, A. Zisserman, and C. Brown,Projective Invariant Representation using ImplicitAlgebraic Curves, Proceedings of the European Conferenceon Computer Vision, 1990.[13] D. Keren, D. Cooper. and J. Subrahmonia. DescribingComplicated Objects by Implicit Polynomials. Reprint,LEMS Tech. Report, Brown University, Oct. 1991.[14] C. de Boor, A Practical Guide to Splines. Springer-Verlag, 1978.[15] R. S.Millman and G . D. Parher, Elements of DifferentialGeometry, Prentice Hall Inc., Englewood Cliffs, NJ, 1977.[16] F. S. Cohen and J.-Y.Wang. 3-D Recognition andShape Estimation from Image Contours. Proceedings of1992 IEEE Conference on Computer Vision and PatternRecognition, Urbana Champaign, Illinois, June 1992.(171 F. S. Cohen, Z. Huang, and Z. Yang, InvariantMatching and Identification of Curves Using B-spline CurveRepresentation. Under review for journal publication.

    S q . 1981. pp. 533 - 539.

    1986, pp. 2 - 14.

    179-187. 1962.

    220