Recognition of Closed-Form and Free-Form Surfaces from ... - CiteSeerX

2 downloads 178 Views 393KB Size Report
starting at these points to register the tactile data onto the model. Recognition of the .... In touch sensing, the domain of object recognition has so far been limited ...
1

Recognition of Closed-Form and Free-Form Surfaces from Minimal Tactile Data Rinat Ibrayev and Yan-Bin Jia, Member, IEEE Abstract—This paper presents a method for recognition of 3D objects with curved surfaces from “one-dimensional” tactile data. For every surface model in a given database, a lookup table is constructed to store the principal curvatures pre-computed at points of discretization over the surface. To recognize an object, a robot hand with touch sensing capability obtains data points on its surface along three concurrent curves. At the curve intersection point, the two principal curvatures are estimated. They are used in a separate table lookup on every model to locate surface discretization points that have similar local geometries. Local searches are then performed starting at these points to register the tactile data onto the model. Recognition of the model depends on the quality of the registration in comparison with the results on other models. The presented method can recognize closed-form as well as free-form surfaces, as demonstrated through simulations and robot experiments. In the lookup table construction, principal curvatures are obtained through differentiation for closed-form surfaces and local fitting for free-form surfaces. Data registration is performed via nonlinear optimization and by a discrete greedy algorithm for the two shape classes, respectively. Index Terms—Model-based 3D object recognition, tactile data, closed-form surfaces, triangular meshes, curve registration, principal curvatures.

!

1

I NTRODUCTION

A

HUMAN can recognize an object with his eyes. However, this ability depends on the presence of light and on the appearance of the object in sight. When neither condition is satisfied, the human cannot see the object, but can still touch it by hands to feel its shape. The hands are complementary to the eyes in object recognition tasks. Analogously, integration of touch will make a vision-based recognition system more complete and applicable to manipulation tasks. 3D object recognition has traditionally been the subject of computer vision. The availability of high accuracy laser range scanners has enabled vision researchers to develop recognition strategies for a wide range of shapes. However, occlusion and clutter remain obstacles. For instance, in an in-hand manipulation task, most of the object may be occluded by the robot hand. If equipped with tactile sensors, the hand is then capable of recording the contact positions on the object’s surface. Such tactile data can replace range data for the recognition purpose. Because of hand movements, occlusion and clutter are much less of an issue with tactile data acquisition. Tactile data do not require expensive preprocessing such as scene image segmentation. Since they are local and often sparse, computation is more efficient than on dense range data. Past work on object recognition from tactile data has been limited to certain classes of surfaces including polyhedra [17], [18], convex objects [3], quadrics [25], and superquadrics [1]. In this paper, we present a novel method that can recognize 3D objects described by closed-form functions as well triangular meshes, using “one-dimensional” tactile data. The model of an object to be recognized is from a finite known set. Data points are acquired by a robot hand through • R. Ibrayev and Y.-B. Jia are with the Department of Computer Science, Iowa State University, Ames, IA, 50011. E-mail:{rinat, jia}@cs.iastate.edu

tracking along three concurrent curves on the object’s surface. The idea is to find the best superposition of these data points onto one in the model set. To achieve this, we make use of the estimated local geometry at the curve intersection point p, and combine table lookups with local optimizations. In the first phase, we estimate the two principal curvatures κ1 and κ2 at p using only curve data points in a small neighborhood as described in [23]. All data points are treated in a local frame at p whose z-axis is aligned with the surface normal and x-y plane with the tangent plane. A table has been constructed in advance for every model in the database to store pairs of principal curvatures evaluated at discretization points that cover the surface well. We look up the table with the pair of principal curvature estimates (κ1 , κ2 ) to find a set of candidate locations on the model that have similar local geometry to that of p. In the second phase of recognition, starting at each estimated location pi , a local search will walk along a path to reach some local minimum point p∗i that induces the best superposition of the data points onto the model in the neighborhood. This is illustrated in Fig. 1. Matching between the data points and the surface model is done by coinciding p with p∗i and aligning the two corresponding tangent planes, one of the data curves and the other of the model, and rotating the first one (along with the data curves) to yield the smallest total distance from the data points to the surface. The best match from all local searches is used for comparisons with those yielded on other models. The model that yields the best match against the data is then recognized. Section 2 overviews the related work. The recognition method is outlined in Section 3, and applied to closed-form and free-form surfaces in Sections 4 and 5, respectively. Section 6 presents the experimental results. Section 7 concludes the paper with some discussion.

2

object surface model

p registered location

tactile data candidate locations

Fig. 1. Registering three data curves on a surface. The grey (green) dots represent candidate locations of the curve intersection point p on the surface found after a table lookup. A search path leads from each of these locations to where the curves are “best” superposed onto the surface.

2

R ELATED W ORK

In this section, we give an overview of previous work on object recognition from 2D image contours, 3D range data, and tactile data, as well as on estimation of surface curvatures. 2.1 Recognition from Image Contours Recognition of a 3D object from 2D images can be carried out by constructing an implicit equation of the image contours and recovering the viewing parameters through fitting [26]. To achieve efficiency on a large model database, feature-based indexing with a kd-tree can be applied to select the most likely hypotheses for verification [4]. As the camera moves, the points of bitangents and parallel tangents on the image of a 3D object form a highdimensional vector that moves along a trajectory called “invariant curves” [42]. This is used to achieve modeling with no need to recover the viewing parameters, and recognition is performed through indexing the model database with attributes computed from a single image. A more prevalent recognition scheme is to develop geometric invariants with respect to Euclidean, affine, or projective transformations, or camera-dependent parameters [31], [43], [44]. In [46], images are mapped to points in a highdimensional manifold called the “shape space”. The mapping is invariant to viewing parameters so that recognition reduces to measuring the geodesic distances between these points on the manifold. 2.2 Recognition from Range Images Representation is a key in object recognition from range data. It should possess a number of qualities: invariance to rigid transformations, ability to represent free-form objects, ability to handle occlusion and clutter, robustness to noise, and efficiency in computation [29], [37]. A number of surface representation schemes have been developed in computer vision. They include splashes [37], spherical attribute images [20], COSMOS [10], point signatures [9], spin images [24], surface signatures [45], point

fingerprints [39], regional point descriptors [15], and salient geometric features [16]. A survey of free-form object representation and recognition techniques is available in [6]. With the representation chosen, object recognition is typically performed in two steps [2]. A pointwise correspondence is first established between the model and the range data. Based on the correspondence, a geometrical transformation (i.e., rotation and translation) is then computed for the best superposition of the data onto the model. This latter step is referred to as 3D registration, which minimizes 6 degrees of freedom. If the correspondences between sensed and model data points are known, the optimal transformation has a closedform solution [13], [35], [21], [36]. Besl and McKay [5] have developed an iterative closest point (ICP) algorithm for 3D shape registration. ICP works with different data representations: point sets, polylines, implicit and parametric curves and surfaces, and triangular meshes. The algorithm iteratively computes an optimal transformation from sensor data to match the model. Since ICP always converges to a local minimum, the correct registration between model and data is not guaranteed. The work [8] selects three dispersed data points on a sensed surface. The estimated principal curvatures, Darboux frame and distance constraints are used to locate multiple triples of points. A heuristic search is then carried out to find the optimal transformation. Object recognition using a hash table [27], [30] typically consists of two phases: offline and online. During the offline phase, a hash table is constructed over certain features derived from all models in the database. During the online recognition phase, similar features are extracted from a scene and used to index a hash table which is used to cast votes on models. The models with the most votes are hypothesized to be present in the scene. The hypothesis are furthered verified by matching the models individually with the scene, and the best matching model is selected. 2.3 Tactile Shape Recognition In touch sensing, the domain of object recognition has so far been limited to polyhedra, convex object, quadrics, and superquadrics. Gaston and Lozano-Perez [17] recognize a polyhedron on a plane from tactile data. They use an interpretation tree which shows the range of possible pairings of contact points and the object’s facets. Distance, angle and model constraints are used to prune the tree, removing a significant number of interpretations that are inconsistent with input data. In case of ambiguities after the pruning, additional contact points are obtained. Grimson and Lozano-Perez [18] have later generalized this method to recognize polyhedra with 6 degrees of freedom. Path planning for a touch sensor on polygonal and polyhedral objects is addressed in [12] to obtain as much information as possible for recognition based on interpreting local and global geometric constraints. The exponential size of the interpretation tree makes the method computationally expensive for polyhedra with very large number of facets. This approach is inapplicable to freeform objects represented as triangular meshes.

3

In [3], internal and external volumetric approximations of a convex object are built over sparse tactile data. The internal volume is approximated by a convex hull of contact points. The external volume is initially a workspace box, and is reduced with each contact by removing the external semispace defined by the contact plane. As the number of contact points increases, the internal volume grows and the external volume shrinks, eventually approximating the volume of the object. The main disadvantage of this method is its applicability to convex objects only. Also, in order to get good volumetric representations, contact points need to be gathered from all over the surface, which is very hard to accomplish with touch sensing. In contrast, the method presented in this paper requires only local tactile data when applied to free-form objects. Allen and Roberts [1] fit a superquadric over sparse tactile data. The recovered parameters of the superquadric are matched against a set of model parameters. Keren et. al. [25] derive differential invariants for curves lying on surfaces of spheres, cylinders, cones, and tori. Though computable from tactile data, differential invariants are usually shape specific and not applicable for the recognition of general objects. To the best of our knowledge, there is no previous work on recognizing free-form objects from tactile data. 2.4

Curvature Estimation

Our proposed recognition strategy will rely on estimation of the principal curvatures at a reference point for tactile data acquisition. Also, a lookup table will be constructed for each model to store the principal curvatures at surface discretization points. Rusinkiewicz [34] estimates the principal curvatures as an average of the accumulated curvature tensor at a vertex, which is calculated using finite differences of estimated normals. The higher-order derivatives of the curvature can also be estimated in a similar way. Taubin [41] constructs a matrix through integration at a surface point. The principal curvatures are obtained from nonzero eigenvalues of the matrix. Chen and Schmitt [7] estimate normal curvatures at a surface point in three or more tangent directions. By Euler’s theorem, this gives a system of equations in terms of the two principal curvatures and an angle between the tangent and one of the principal directions. This system has a direct solution in the case of three equations or can be solved as least-squares when more than three equations exist. These two methods have later been modified to deal with real noisy range data [19]. In analytical approaches [14], [38], [28], [11], a local patch is fitted over a point on a surface and its geometric neighbors. Usually, a quadratic or cubic surface is used in the fitting. The principal curvatures are then derived from the closed-form description of the fitted patch. The works [38], [28] use an angle deficit which is the summation of all angles around a vertex subtracted from 2π. At the vertex, the ratio of the angle deficit to one-third of the sum of areas of all incident triangles approximates the Gaussian curvature. Since no information about the mean

Plane of α α

p γ

β

Fig. 2. Three data curves α, β, and γ intersect at one point p on a surface. Each data curve is sampled along the intersection of the surface and a different plane.

curvature can be derived, the angle deficit method cannot be used to estimate the principal curvatures. The paper [40] compares several methods, including Taubin’s [41], Chen and Schmitt’s [7] and angle deficit [38], [28], for estimating Gaussian and mean curvatures on triangular meshes. It points out that angle deficit and paraboloidal fitting are the two best methods in terms of estimating the Gaussian curvature. For mean curvature estimation, paraboloidal fitting is the best approach. Overall, paraboloidal fitting is the best method to estimate the two principal curvatures and will be used in the paper.

3

R ECOGNITION S CHEME

To recognize the shape of an object, a robot acquires a number of points on its surface. These data points will be registered onto each model from a database. The model yielding the best match is recognized as the shape of the object. To facilitate the matching process, the data points are acquired in a specific configuration which is described below. 3.1 Data Configuration The intersection of the object’s surface with a plane results in a curve. Data points are sampled along three such curves which intersect at one point, say, p. Fig. 2 displays an object with three sequences of sampled points on its surface. Without any ambiguity, these point sequences are called the data curves and denoted by α, β, and γ, respectively. The planes containing the data curves are called the sampling planes. To register three data curves onto a model, which may or may not be for the object, we use the surface normal and the two principal curvature estimates at the intersection point p. 3.1.1 Estimation of Surface Normal In the sampling plane of each data curve, we fit a parabola y = ax2 + bx + c over a few data points on the curve and around p, as shown in Fig. 3. The normal Nα , the tangent Tα and the curvature κα at p are estimated by differentiating the fitting parabola. Similarly, we estimate the normals Nβ and Nγ , the tangents Tβ and Tγ , and the curvatures κβ and κγ of the data curves β and γ at p, respectively.

4

3.2 Registration of Data Curves

Nα data points

p

Let M be a model to be matched against the data curves. We precompute the principal curvatures at a set of points on the surface of M . This calculation depends on the surface type of M and will be described separately later for closed-form and free-form surfaces. The curvature values are stored in a table.



quadratic fit

α

Fig. 3. Quadratic curve fitting over the neighborhood of p in the sampling plane of α.

The surface normal N at the intersection point p is orthogonal to the three tangents Tα , Tβ , and Tγ . The cross product of any two of these tangents should give us the normal N . To get a more reliable estimate, we solve the following least-squares formulation [23], min (N · Tα )2 + (N · Tβ )2 + (N · Tγ )2 .

||N ||=1

(1)

The normal N at p will be referred to as the data normal from now on. 3.1.2 Estimation of Principal Curvatures This is done at the curve intersection point p using a method from [23], which is reviewed below. In case the curve normal Nα coincides with the data normal N , the curvature of α at p is the normal curvature in the direction of Tα . If there is an angle between N and Nα , the (α) normal curvature is given [33, p. 128] as, κn = κα (Nα · N ). Similarly, the normal curvatures in the directions of Tβ and Tγ (β) (γ) are κn = κβ (Nβ · N ) and κn = κγ (Nγ · N ), respectively. By Euler’s theorem [33, p. 137], the three normal curvatures are written as linear combinations of the principal curvatures κ1 and κ2 : κ(α) n κ(β) n κ(γ) n

= = =

κ1 cos2 θ + κ2 sin2 θ, κ1 cos2 (θ + θ1 ) + κ2 sin2 (θ + θ1 ), κ1 cos2 (θ + θ2 ) + κ2 sin2 (θ + θ2 ),

(2) (3) (4)

where θ1 and θ2 are the angles from Tα to Tβ and Tγ , respectively, and θ is the angle between Tα and the principal direction corresponding to κ1 . Solve equations (2)-(4) for the three unknowns: ⎛ ⎞ ⎜ tan−1 ⎝ θ

=

κ1

=

κ2

=

⎟ sin(θ1 −θ2 ) ⎠ − θ2 (β) (κ(α) n −κn ) sin θ2 −cos(θ1 −θ2 ) (α) (γ) (κn −κn ) sin θ1 , 2 (α) (β) κn sin2 (θ + θ1 ) − κn sin2 θ , (5) cos2 θ sin2 (θ + θ1 ) − cos2 (θ + θ1 ) sin2 θ (β)

(α)

κn cos2 θ − κn cos2 (θ + θ1 ) . 2 cos θ sin2 (θ + θ1 ) − cos2 (θ + θ1 ) sin2 θ

(6)

3.2.1 Table Lookup We use the estimated principal curvature values at p to find the points with similar geometries on the model surface. Let κ1i and κ2i be the principal curvatures at the ith point in the table. We select points satisfying the following condition,  2 2 (κ1 − κ1 i ) + (κ2 − κ2 i ) < δ, (7) where δ is a tolerance constant. The selected points p1 , p2 , . . . , pm are called the candidate points. The next step is to conduct a local search, starting at each point pi , for the best superposition of α, β, and γ onto M . 3.2.2 Local Search We superpose the data curves α, β, and γ onto the model M by coinciding their intersection point p with a candidate point pj and aligning the data normal N at p with the model surface normal at pj . Let qi , 1 ≤ i ≤ n, be all the data points along α, β, and γ. Denote by d(qi , M ) the distance from qi to M . The superposition error E is defined as the average distance from the data points to M : n

E=

1 d(qi , M ). n i=1

(8)

The above definition depends on the current positions and orientations of the data curves. We minimize the superposition error by moving p on the model surface, aligning the data normal N with the corresponding model normal, and rotating α, β, and γ together about it. This minimization depends on M and will be discussed later for closed-form and free-form models separately. The registration error E(M ) is the minimum of E over all possible locations of p and all orientations of α, β, and γ about the surface normal at each location. To obtain this error, we minimize the superposition error in the neighborhood of p for each candidate point and select the minimum over the all such errors.

3.3 Recognition Let M1 , M2 , . . . , Mk be the models in the database. The model that yields the minimum registration error, namely, Emin = min{E(M1 ), E(M2 ), . . . , E(Mk )}, will be recognized as the shape of the object.

(9)

5

4

C LOSED -F ORM S URFACES

We have just discussed the recognition-by-registration scheme in general. This section describes how it applies to surfaces with closed-form descriptions. Specifically, we consider a model M bounded by a surface with a parameterization σ(u, v) and an implicit form f (x, y, z) = 0. The parametric form will be needed for domain discretization and principal curvature computation. The implicit form will be needed for estimating point distance to the surface.

E 0.0021 (0)

φj

0



φ

4.1 Lookup Table by Principal Curvatures

Fig. 4. Error (11) of superposing three data curves onto an ellipsoid (cos u sin v, 0.8 sin u sin v, 0.5 cos v) over [0, 2π] × [0, π]. The curves, each consisting of 61 points, were obtained from the ellipsoid with intersection at (u, v) = (1.02, 0.69). They are now placed at the point (0.31, 0.63) on the ellipsoid and rotated about its surface normal through 2π.

Let σ u and σ v denote the first order partial derivatives of σ(u, v) with respect to u and v, respectively. The surface normal is: σu × σv . (10) n= ||σ u × σ v ||

The distance from the transformed data point (xi , yi , zi ), 1 ≤ i ≤ n, to M has a first order approximation |f (xi ,yi ,zi )| ||f (x ,y  ,z  )|| . The superposition error (8) has the form:

We use two matrices [33, p. 132] which consist of the coefficients of the first and second fundamental forms, respectively:

σu · σu σu · σv , FI = σu · σv σv · σv

σ uu · n σ uv · n , FII = σ uv · n σ vv · n where σ uu , σ uv and σ vv are the second order partial derivatives of σ. The eigenvalues of FI−1 FII are the two principal curvatures. We uniformly discretize the domain of σ(u, v). The principal curvatures are calculated at all discretization points and their values are stored in a lookup table. 4.2 Registration Through Local Optimization The normal N at the intersection point p of the data curves α, β, and γ is estimated according to (1). The tangent plane at p is orthogonal to N . We arbitrarily pick two orthogonal tangent vectors t1 and t2 , to form a local frame with N at p. All data points (xi , yi , zi ), 1 ≤ i ≤ n, along α, β, and γ, are converted into the local coordinates, ⎛⎛ ⎞ ⎞ ⎛ ⎞ xi xi ⎝ yi ⎠ = (t1 t2 N )T ⎝⎝ yi ⎠ − p⎠ . zi zi Suppose p coincides with some point q on the model M in its body frame. We align the data normal N with the normal n at q determined according to (10). Let d1 and d2 be two arbitrarily selected tangent vectors at q such that d1 ×d2 = n, and φ the angle of rotation from d1 to t1 . Every data point (xi , yi , zi ) in the local coordinates at p is further transformed into some point (xi , yi , zi ) in the body frame of M : ⎛  ⎛  ⎞ ⎞ xi cos φ − yi sin φ xi ⎝ yi ⎠ = (d1 d2 n) ⎝ xi sin φ + yi cos φ ⎠ + q. zi zi This transformation depends on the parameter values u and v, which locate the point q on M , as well as on the angle φ.

i

i

i

n

E(u, v, φ) =

1 |f (xi , yi , zi )| . n i=1 ||∇f (xi , yi , zi )||

(11)

4.2.1 Error Minimization Starting at every candidate point pj = σ(uj , vj ), we search for a local minimum of the function E(u, v, φ) using the steepest descent method [32, p. 318]. It uses the gradient ∇E(u, v, φ) = (Eu , Ev , Eφ ) obtained through differentiation of (11). (0) (0) We set the initial estimate by letting pj = pj , with uj = (0) (0) (0) uj and vj = vj . Since uj and vj are known, the error E depends on φ only. Fig. 4 shows how it changes with φ as three (synthetic) data curves are rotated around the normal at a point on an ellipsoid. (0) To compute φj , we discretize the domain [0, 2π) of φ. Within each bracket, bisection is performed to find a local (0) minimum. Then φj assumes the value that yields the smallest of these minima. 4.2.2 Registration Algorithm Below is the pseudocode for the local search starting at the (0) candidate point pj . (0)

1 φj ← initial estimate of φ 2 k←0 3 repeat (k+1) (k) ← steepest descent 4 pj on M from pj (k) (k) (k) along −∇E uj , vj , φj 5 k ←k+1 6 until E no longer decreases (k−1) 7 p∗j ← pj Each candidate point pj will converge to some point p∗j at which the superposition error (11) achieves a local minimum Ej∗ , as illustrated in Fig. 5. The registration error is approximated as: ∗ }. E(M ) = min{E1∗ , E2∗ , . . . , Em

(12)

6

n p* j d2

pj

d1

(a) Fig. 5. Translating and rotating three concurrent data curves (as dotted lines) locally on the model M to find the best superposition. The point pj is an initial estimate of the location of the data curve intersection from the table lookup, while the point p∗j is the location found through optimization. TABLE 1 Four surface families used in the simulation. Implicit form x2 a2

y2 b2

x2 a2

2

+ + (ellipsoid)

z2 c2

+ yb2 = z (elliptic paraboloid) x3 − 3xy 2 = z (monkey saddle) x2 y 2 = z (crossed trough)

(a cos u sin v, b sin u sin v, c cos v) (u, v) ∈ [0, 2π] × [0, π] (av cos u, bv sin u, v 2 ) (u, v) ∈ [0, 2π] × [−1, 1] (u, v, u3 − 3uv 2 ) (u, v) ∈ [−1, 1] × [−1, 1] (u, v, u2 v 2 ) (u, v) ∈ [−1, 1] × [−1, 1]

Fig. 6. Three data curves (black) vs. their registered configurations (white) on an elliptic paraboloid described y2 x2 by z = 1.5 2 + 1.12 . And the point p∗ = p∗k at which E(M ) is achieved is the estimated location of p on the model M . 4.3 Simulation Table 1 lists four families of surfaces, in both implicit and parametric forms, which are used in our simulation. 4.3.1 Curve Registration Results Consider the elliptic paraboloid displayed in Fig. 6. We select a point p, say, with parameter values (u, v) = (1.21, 0.43). Intersect the elliptic paraboloid with three arbitrary planes through p, and generate 61 data points along each of the three

(c)

Fig. 7. Three other surfaces in the simulation: (a) an ellipsoid with a = 1, b = 0.8, and c = 0.5; (b) the monkey saddle; and (c) the crossed trough. TABLE 2 Minimum, maximum, and mean Euclidean distance p − p∗  between the real and estimated locations of the curve intersection calculated over the 40 registration instances in Fig. 8.

Parametric form =1

(b)

ellipsoid min max mean

0.0169 0.0408 0.0288

elliptic paraboloid 0.0148 0.0448 0.0297

monkey saddle 0.0053 0.0433 0.0234

crossed trough 0.0171 0.0396 0.0265

intersection curves. Random noises within the range of ±0.001 are added to the generated data points. The normal and the two principal curvatures at p are ˜ = (0.1611, 0.5764, 0.8011), κ estimated as N ˜ 1 = 0.9548, and κ ˜ 2 = 0.6370.1 A table lookup finds three candidate points: p1 = (1.26, 0.4), p2 = (1.41, 0.4), and p3 = (0.63, 0.5), all in parameter values. The superposition errors (11) at these points are respectively E1 = 0.000888, E2 = 0.000961, and E3 = 0.001654. Local searches at the candidate points yields locations p∗1 = (1.26, 0.44), p∗2 = (1.27, 0.44), and p∗3 = (1.17, 0.44). The corresponding superposition errors are E1∗ = 0.000662, E2∗ = 0.000666, and E3∗ = 0.000686. The location of p is thus estimated to be p∗ = (1.26, 0.44), which is very close to its real location (1.21, 0.43). The three curves are well registered onto the elliptic paraboloid, as shown in Fig. 6. More registration tests are conducted on the same elliptic paraboloid as well as on three other shapes including an ellipsoid, the monkey saddle, and the crossed trough (see Fig. 7). The results are displayed in Fig. 8. On each of the four surfaces, ten registration instances are performed with randomly generated locations of the intersection point p and three sampling planes through each location. In every instance, the real location of p is drawn as a circular dot and its estimated location p∗ as a cross. In Fig. 8, every real location p and its estimate p∗ lie the closest to each other. Table 2 summarizes the Euclidean distances p−p∗  computed from these registration instances in Fig. 8. 1. To verify, we also compute their values using the surface equation: N = (0.1612, 0.5827, 0.7966), κ1 = 0.9074, and κ2 = 0.6519, respectively.

7

v

v

π 2

v2

f2 v 1

f

v1

f f1

(a) π

u

π

(a)

v

u

2

2

(b) v

1

1

u

u 1

(c)

(d)

Fig. 8. Instances of curve registration on the four shapes displayed in Figs. 6 and 7: (a) an ellipsoid; (b) an elliptic paraboloid; (c) the monkey saddle; (d) the crossed trough. In each instance, the real location of the intersection point p of three data curves is represented by a circular dot and its estimated location p∗ by the closest cross. TABLE 3 Summary of recognition tests, ten on each shape. successes table lookup local search

ellipsoid 2 8

elliptic paraboloid 1 9

monkey saddle 9 1

crossed trough 0 10

4.3.2 Recognition Tests In a recognition instance, we generate three data curves through a randomly selected intersection point on the crossed trough, and register them onto the four surfaces. The registration error (12) on the crossed trough itself is 0.000393. Using the estimated principal curvatures values, we find no candidate curve intersection points on the ellipsoid and elliptic paraboloid after table lookups. The error on the monkey saddle is 0.001020, 159% higher than that on the crossed trough. For each surface in Figs. 6 and 7, ten recognition instances, each with a different curve intersection point, were carried out. The results are displayed in Table 3. In total, 12 out of 40 tests succeeded since table lookups had yielded no candidate points on the wrong models. The other 28 successes involved both table lookups and local optimizations. In these tests, the registration errors on the wrong models exceeded those on the right models by an average of 180%.

v3

(b)

Fig. 9. Connectivity of a triangular mesh: (a) each vertex has a pointer to one of its incident triangles; (b) each triangle has pointers to its three vertices as well as three adjacent triangles.

5

1

f3

F REE -F ORM S URFACES

Unlike closed-form surfaces, free-form ones usually do not have implicit or parametric forms. More specifically, the surface of a free-form object cannot be easily described by a single function. Since most of the real world objects are free-form, it is important for a robot to be able to recognize them. The general recognition scheme in Section 3 will be applicable. However, compared to recognition of shapes with closed-form description, the differences lie in the lookup table construction and the registration of data curves onto a model. Let us begin with a brief introduction to the modeling of freeform objects.

5.1 Triangular Mesh Models Free-form objects are often represented as triangular meshes. A triangular mesh model M = (V, F ) consists of a set V of vertices, and a set F of faces. A vertex v ∈ V is given in 3D coordinates. A face f ∈ F is represented by the indices of its three vertices. The model M can be obtained by scanning a free-form object with a laser range sensor. The connectivity information of neighboring vertices and faces on M is not explicit. Finding a face incident on a vertex or adjacent to another face takes O(|F |) time. Such operations will be frequently performed during the lookup table construction and curve registration processes later. 5.1.1 Triangular Mesh Connectivity For efficiency, each vertex v ∈ V stores its coordinates and a pointer to one of its incident faces. Each face f ∈ F has pointers to its three vertices and to the three adjacent faces, as shown in Fig. 9. Since all faces in F are triangles, we will refer to them as such from now on. A k-ring neighborhood of a vertex v is a set of all vertices that lie at most k edges away from v. Fig. 9(a) shows an example of the 1-ring neighborhood of v. Using the connectivity information illustrated in Fig. 9, the k-ring neighborhood of a vertex can be efficiently computed. Next, we describe how to construct a lookup table.

8

5.2 Look Table Construction In contrast to a closed-form surface, the principal curvatures on a triangular mesh do not have closed forms. They are estimated through fitting. A typical triangular mesh model of an object consists of a large number of vertices. Estimating the principal curvatures at every vertex is inefficient and often unnecessary for the purpose of object recognition. Instead, computation is carried out only at some sample vertices on the model. 5.2.1 Vertex Coverage The triangular mesh is sampled densely in high curvature regions and sparsely in low curvature regions. Since the principal curvatures measure the rate of geometric change of a surface, the sampling density should be adjusted according to the change rate of the surface normal. The surface normal n at v is estimated as, k ni , (13) n = 1k  1 ni  where k is the total number of triangles in the 1-ring neighborhood of v, and ni is the normal of the ith such triangle. We randomly select an unmarked vertex v ∈ V and compute its 6-ring neighborhood N . Then, the angles between the normal at v and the normals of all triangles in N are calculated. If any of these angles is greater than some specified value θ, we reduce the ring size of N by one. The size reduction is repeated until all angles are less than θ, or N becomes a 2-ring neighborhood of v. Then, if all the vertices in N are unmarked, we mark them and add v to a list L. The pseudocode of the sampling procedure is given below. 1 2 3 4 5 5 6 7 8 9 10 11 12 13

L←∅ repeat randomly select an unmarked vertex v ∈ V N ← 6-ring neighborhood of v n ← normal at v repeat φ ← maximum angle between n and the normals of all triangles in N if φ > θ ring(N ) ← ring(N ) − 1 until φ ≤ θ or ring(N ) = 2 if all vertices in N are unmarked mark all vertices in N add v to the list L until half of all vertices in V are marked

The procedure exits when half of the vertices in V are marked, for two reasons. Firstly, we want to make sure that the procedure halts. Secondly, the surface of the model presumably is well covered by L when half of the vertices in V are marked. The list L is the sample set of vertices at which the principal curvatures will be estimated. We have empirically found the optimal value of θ to be π8 .

(a)

(b)

Fig. 10. Vertex sampling on a cat model: front (a) and back (b) views of the model with a total of 550 sample vertices displayed as black dots.

Fig. 10 shows the model of a cat object with 64821 vertices and 129638 faces, generated by NextEngine’s desktop 3D scanner. The sampling procedure selects 550 vertices (displayed as black dots). 5.2.2 Estimation of Principal Curvatures The product and half of the sum of the two principal curvatures are the Gaussian and mean curvatures, respectively. A number of methods for estimating the Gaussian and mean curvatures on triangular meshes were compared in [40] where paraboloid fitting was found to be the best one. This method fits paraboloids in the form of z = ax2 +bxy +cy 2 in the local neighborhoods of vertices on synthetic triangular mesh models that represent the tesselations of NURBS surfaces. Since the models used in our experiments were generated over range data, we can obtain more robust curvature estimation by fitting a paraboloid that includes linear and constant terms: z = ax2 + bxy + cy 2 + dx + ey + f.

(14)

The normal n at a vertex v is estimated according to (13). In the local frame formed by n and two orthogonal tangents, all the vertices in the 6-ring neighborhood are sorted by their Euclidean distances to v. We fit the paraboloid in (14) over five local neighborhoods consisting of the 30, 40, 50, 60, and 70 closest vertices to v (by the Euclidean distance), respectively. Each resulting paraboloid yields a pair of the principal curvatures via closed-form evaluation. The median values are selected as the estimates for the principal curvatures at v.2 The principal curvatures are estimated for all the vertices in L and stored in a lookup table used for recognition. 5.3 Registration on a Triangular Mesh Model It is time for us to describe how the three data curves α, β, and γ are superposed onto a triangular mesh model. 2. The selected values are independent of each other in the sense that they might have been obtained from different paraboloids.

9

5.3.1 Superposing Data Curves Let v be a vertex on a triangular mesh model M . The normal n at v is estimated according to (13) and the normal N at the intersection point p of α, β and γ is obtained from (1). To superpose α, β, and γ onto M at v, we coincide p with v and align N with n. Consequently, all data points along α, β, and γ are converted into the coordinate system of M . The alignment eliminates all degrees of freedom except the rotation φ of α, β, and γ about n. For a value of φ, we find the corresponding points (xi , yi , zi )T on M to the data points (xi , yi , zi )T along α, β, and γ. To do so, we first fit three planes to α, β, and γ, respectively. Then, we sample points along the intersections of the three planes and M with the same separations between points as in α, β, and γ, respectively. Note that the points (xi , yi , zi )T on M are not necessarily vertices. They can be points on the boundaries or in the interiors of triangles. From (8), the superposition error is then n  1 (xi − xi )2 + (yi − yi )2 + (zi − zi )2 . (15) E(v) = n i=1

93 88

success rate (%)

78

59s

69

5.3.2 Local Search The superposition error E is further minimized in the neighborhood of a candidate vertex vj using a greedy approach. We calculate E at each unvisited vertex of a 1-ring neighborhood N of vj . Then, we mark all unvisited vertices in N as visited and move from vj to a vertex in N with the smallest value of E. This movement is repeated until E achieves a local minimum. Let v1 , v2 , . . . , vm be the candidate vertices found by the table lookup discussed in Section 3.2.1. Perform a local search starting at every candidate vertex vi and let vi be the local minimum vertex. The registration error on the model M is  )}. E (M ) = min{E(v1 ), E(v2 ), . . . , E(vm

(16)

The vertex vk which yields the registration error E is the estimated location of the intersection point p of α, β, and γ on M . 5.4 Simulations Fig. 14 shows the images as well as the triangular mesh models of 10 objects generated by a NextEngine’s 3D desktop scanner. The descriptions of the models are given in Table 4. On each model M , we randomly select 10 vertices to be the curve intersection points for data generation. To ensure that these vertices are rather spread out on the model surface, none of the selected vertices lies in the 15-ring neighborhood of another. To generate the data curves intersecting at a selected vertex v on M , we intersect three planes passing through v with M .

success rate (%)

37

97s

80s

48s

56 50

115s 63s

68

35s

35s

16s 4s

δ (1/mm)

l (mm)

0.005 0.01 0.015 0.02 0.025 0.03

9

12

(a) 93 91 85 83 75 63

15

18

21

24

(b) success rate (%) 115s 111s 103s

107s

104s 97s

φ (o) 10

To minimize E at v over the orientation φ, we can no longer apply the bisection method due to the expense of computation. Instead, we discretize the domain [0, 2π) of φ and calculate π π , 9 , . . . , 35π E at every value of φ ∈ {0, 18 18 }. The minimum value is chosen.

93 87 85 83

115s 85s

20

30

40

50

60

(c) Fig. 11. Recognition success rates and time (seconds) versus (a) tolerance, (b) lengths of data curves, and (c) angle between sampling planes. The control parameters are set as follows: l = 24mm and φ = 60◦ in (a); δ = 0.03mm−1 and φ = 60◦ in (b); and δ = 0.03mm−1 and l = 24 in (c). On each intersection curve, data points are sampled around v with spacing d. The data points may lie in the interiors or on the boundaries of some triangles. With data generated at 100 selected vertices over the 10 models, 100 recognition instances are performed. We look at how the time and success rate of recognition depend on the following parameters: 1) tolerance δ in (7) for principal curvature comparison, 2) length l of a data curve, 3) angle φ between the sampling planes. The length of a data curve of n points is l = (n − 1)d, where d is the distance between two neighboring points. In the data generation, all three sampling planes are perpendicular to the tangent plane at v, and the angle between any two adjacent planes is φ. Fig. 11 plots the recognition success rate and recognition time versus δ, l, and φ. We set d = 0.3mm. From Fig. 11(a) we see that the larger the tolerance, the more candidate vertices are selected in a table lookup, and the more likely the object can be recognized. On the other hand, the more candidate vertices, the longer the recognition time. Fig. 11(b) displays the success rate and time versus the length of a data curve. Longer data curves provide more information about the shape of the object than shorter ones. In other words, it is easier to embed shorter data curves onto a different object than longer ones. So, the recognition

10

TABLE 4 Description of each model in the database. Model Pear Stone Monkey Bird Dog Frog Cat Snail Fish Elephant

Number of vertices 84656 42777 75443 63323 67101 91970 64821 101268 71490 72665

Number of triangles 169308 85550 150882 126642 134198 183936 129638 202532 142976 145326

Bounding box (mm) 83.9 × 62.6 × 62.4 62.7 × 56.3 × 43.5 80.0 × 71.9 × 51.5 78.6 × 61.4 × 55.9 90.3 × 62.5 × 43.2 79.4 × 78.9 × 58.5 71.9 × 67.2 × 53.5 94.8 × 89.6 × 52.2 90.5 × 71.5 × 61.4 92.0 × 62.1 × 61.5

Surface area (mm2 ) 15169 9131 14488 12258 13654 17023 12681 18257 14103 13308

Sample vertices 400 250 500 400 450 600 550 650 570 650

Sampling time (sec) 4.857 4.446 2.654 9.234 1.593 4.657 3.415 5.709 4.216 5.398

Lookup table construction time (sec) 5.017 3.195 6.389 5.077 5.748 7.511 7.030 8.271 7.341 8.462

Adept Robot

Joystick Sensor

Needle Pin

Fig. 12. Adept Cobra 600 (end-effector shown only) tracking on a dog-shaped object with a joystick sensor.

success rate is higher for longer data curves. Meanwhile, the recognition time increases with the length of the data curve. Fig. 11(c) shows that for φ ≤ 60◦ the success rate increases with φ. It is intuitive because data curves span the object’s surface better when they are more separated from each other. Consequently, they possess more information about the shape of the object and thus result in a higher recognition rate. The recognition time is, however, not affected by the angle φ. Note that the angle between first and second sampling planes does not have to be the same as the angle between the second and third sampling planes. We used the same angles for simplicity.

6

E XPERIMENTS

In this section, we present experimental results on objects bounded by algebraic and free-form surfaces. 6.1 Data Acquisition Data points were obtained through tracking with a push pin by an Adept robot guided by a joystick sensor as displayed in Fig. 12. The detailed description of the tracking device is given in [23]. By constraining the robot movement in three different planes the sensor sampled points along their intersection curves with an object’s surface. The angle between any two planes was set to be π3 .

Fig. 13. Objects with algebraic surfaces in the experiment: two regular cylinders with diameters 50.4mm and 94mm, respectively, an elliptic cylinder with semimajor axis 50.8mm and semiminor axis 31.75mm, and a sphere with radius 33mm. TABLE 5 Registration errors (mm) for data acquired from the four objects shown in Fig. 13 onto their models. model

object

cylinder 1 cylinder 2 elliptic cylinder sphere

cylin. 1

cylin. 2

ell. cylin.

sphere

0.033 0.182 0.230 0.271

0.155 0.072 0.224 0.306

0.446 0.195 0.156 0.929

0.296 1.056 0.254 0.055

6.2 Results on Closed-Form Objects Fig. 13 displays four objects bounded by (piecewise) algebraic surfaces used in our experiments. For data curve sampling, we used n = 41 points on each curve and a spacing of d = 0.05mm between the points. Due to symmetry, curve registration results on the sphere and cylinders were meaningless. But the minimum registration error Emin defined by (9) was still useful for recognition of these shapes. In Table 5, each column records the error (12) for registering three data curves acquired from the same object onto all four models. The diagonal cells in the table correspond to registrations onto the correct models, while the non-diagonal cells correspond to registrations onto incorrect models. It is seen that every diagonal cell has the smallest value in its column. As a result, all four objects were correctly recognized. 6.3 Results on Free-form Objects Fig. 14 shows the results from an experiment with ten freeform objects, which are displayed in the first and third

11

columns. On every object, we selected a point (white dot) and let the robot sample three data curves passing through it. The number n of points per data curve was 21 and the spacing d between points was 1.2mm. The tolerance δ was set to be 0.01mm−1 . On the model surfaces in the 2nd and 4th columns in the figure, the registered data curves are displayed in red color. The found intersection points lied very close to the original locations. Table 6 shows the results on recognizing ten objects by registering the tactile data curves in Fig. 14. Each cell aij in the table records the registration error (16) of three data curves, obtained on the object in the jth column, onto the model in the ith row. An NC entry in the table means the table lookup operation found no candidate vertices on the mesh model. In such a case, the mesh model was immediately rejected. Within each column the minimum registration error (9) is found on a diagonal cell aii , which corresponds to registration onto the correct model. As a result, all ten objects were correctly identified.

7

C ONCLUSION

We have presented an approach for robot recognition of a 3D object with curved surface from a finite set of models using “one-dimensional” tactile data. More specifically, data points are sampled by a touch sensor on the object’s surface along three concurrent curves. The problem of recognition turns into finding the model that yields the best matching result with these “data curves”. The special configuration of the three data curves intersecting at one point p achieves efficiency computationally and mechanically, as discussed below. • This configuration allows us to estimate the principal curvatures at p reliably, and to use a lookup table to find a small number of surface locations with similar local geometry. This dramatically reduces the search space for the location of p. Next, the span of the data curves acts as a “global” constraint to eliminate the neighborhoods of those locations that do not match. • The configuration also ensures the data points to be acquired efficiently through finger tracking. To recognize a model, the robot hand need only drag three of its fingers across a surface region on the model. A grid of points generated by mechanical probing may be more robust for the recognition purpose. However, probing repeatedly is much slower than tracking since most of the time is spent on the up-and-down movements of the robot hand between the probes. The correctness of recognition is affected by how evenly the surface is discretized according to the change rate of its geometry in constructing the lookup table. Dynamic discretization based on principal curvatures is carried out on mesh models. For closed-form surfaces, uniform domain discretization is implemented. No recognition failure was observed on this type of surfaces in our simulation and experiments. This was likely due to the low geometric complexity of the surfaces we tested on. Nevertheless, dynamic discretization can easily be implemented on closed-form surfaces.

In the experiment reported in Table 6, all objects were successfully recognized. It could happen that two models have similar surface regions, and the tactile data were obtained from such a region on the real object. In this case, the two models cannot be distinguished. The robot hand can track a different region on the object’s surface and perform registration of the new data curves. This procedure will repeat until one model is recognized. The same strategy can also be employed when tracking in a high curvature region does not yield reliable data for curvature estimation due to sensor vibrations. The length and separation of the three data curves affect the recognition success rate. Using longer data curves that are widely spread from each other provides the most information about the local shape of the object, and thus results in more robust recognition. Geometric hashing over the principal curvatures can be used to cut down the time spent on table lookups. Although the recognition method is presented using tactile data, it is not limited to a certain sensing modality. The method can be used with any type of sensor as long as it is able to generate data of similar or denser configuration. Especially, in the case of range sensors, our recognition method would be robust to occlusion because it is based on local data. A promising research direction in the future is to combine model-based recognition from range data with our tactile data based method, in tasks such as robot home assistance and dexterous manipulation.

ACKNOWLEDGMENT Support for this research has been provided in part by Iowa State University, and in part by the National Science Foundation through a CAREER award IIS-0133681. We thank Jiang Tian for generating the tactile data used in our experiments and providing Fig. 12. Section 4 of this paper was revised from the conference paper [22], on which the feedback from the anonymous reviewers is very appreciated.

R EFERENCES [1] P. K. Allen and K. S. Roberts. Haptic object recognition using a multifingered dexterous hand. Proc. IEEE Int. Conf. Robot. Automat., pp. 342–347, 1989. [2] Farshid Arman and J. K. Aggarwal. Model-based object recognition in dense-range images — a review. ACM Computing Surveys, 25(1):5–43, 1993. [3] G. Beccari, S. Caselli, and F. Zanichelli. Pose-independent recognition of convex objects from sparse tactile data. Proc. IEEE Int. Conf. Robot. Automat., pp. 3397–3402, 1997. [4] J. S. Beis and D. G. Lowe. Indexing without invariants in 3D object recognition. IEEE Trans. Pattern Anal. Mach. Intell., 21(10):1000–1014, 1999. [5] P. J. Besl and N. D. McKay. A method for registration of 3-D shapes. IEEE Trans. Pattern Anal. Mach. Intell., 14(2):239–256, 1992. [6] R. J. Campbell and P. J. Flynn. A survey of free-form object representation and recognition techniques. Comp. Vision and Image Understanding, 81:166–210, 2001. [7] X. Chen and F. Schmitt. Intrinsic surface properties from surface triangulation. Proc. Eur. Conf. Comp. Vis., pp. 739–743, 1992. [8] C. S. Chua and R. Jarvis. 3D free-form surface registration and object recognition. Int. J. of Comp. Vision, 17:77–99, 1996. [9] C. S. Chua and R. Jarvis. Point Signatures: a new representation for 3D object recognition. Int. J. of Comp. Vision, 25(1):63–85, 1997.

12

Intersection point of three data curves

candidate vertices

Fig. 14. Curve registrations on ten objects. Each model is displayed next to the original object, where the white dot on the object indicates the reference point through which the robot sampled along three concurrent curves, and the black dots on the model are the candidate vertices found after a table lookup. All data curves displayed in red color were successfully registered on all models.

13

TABLE 6 Registration errors (mm) involving ten objects. Every cell aij displays the registration error of three data curves obtained on the object in the jth column onto the model in the ith row. An NC entry means that no candidate vertices were found on the model after a table lookup. The last row shows the total time (seconds) of registration onto all ten models.

M o d e l s

Pear Stone Monkey Bird Dog Frog Cat Snail Fish Elephant Recognition time (s)

Pear 0.0724 0.2523 0.4520 0.2856 0.2940 0.2026 0.3429 0.1907 0.2355 0.3875 11 .118

Stone 0.1314 0.0741 0.1027 0.1430 0.1340 0.1273 0.1863 0.1557 0.1083 0.2998 17 .914

Monkey 0.8347 0.5507 0.1304 0.1661 0.3131 0.4004 0.5486 0.4128 0.3370 0.4680 4 .567

Bird 0.1411 0.4308 0.2228 0.0933 0.2250 0.1575 0.3981 0.2308 0.2562 0.2754 11 .486

[10] C. Dorai and A. K. Jain. COSMOS — A representation scheme for 3D free-form objects. IEEE Trans. Pattern Anal. Mach. Intell., 19(10):1115– 1130, 1995. [11] I. Douros and B. F. Buxton. Three-dimensional surface curvature estimation using quadric surface patches. Proc. Scanning., 2002. [12] R. E. Ellis. Planning tactile recognition paths in two and three dimensions. Int. J. Robot. Res., 11(2):87–111, 1992. [13] O. D. Faugeras and M. Hebert. The representation, recognition, and locating of 3-D objects. Int. J. Robot. Res., 5(3):27–52, 1986. [14] P. J. Flynn and A. K. Jain. On reliable curvature estimation. Proc. IEEE Conf. Comp. Vis. Pattern Recog., pp. 110–116, 1989. [15] A. Frome, D. Huber, R. Kolluri, T. Bulow, and J. Malik. Recognizing objects in range data using regional point descriptors. Proc. Eur. Conf. Comp. Vis., 2004. [16] R. Gal and D. Cohen-Or. Salient geometric features for partial shape matching and similarity. ACM Transactions on Graphics, 25(1):130–150, 2006. [17] P. C. Gaston and T. Lozano-P´erez. Tactile recognition and localization using object models: The case of polyhedra on a plane. IEEE Trans. Pattern Anal. Mach. Intell., 6(3):257–266, 1984. [18] W. E. L. Grimson and T. Lozano-P´erez. Model-based recognition and localization from sparse range or tactile data. Int. J. Robot. Res., 3(3):3– 35, 1984. [19] E. Hameiri and I. Shimshoni. Estimating the principal curvatures and the Darboux frame from real 3-D range data. IEEE Trans. Sys., Man, and Cyber., 33(4):626–637, 2003. [20] M. Hebert, K. Ikeuchi, and H. Delingette. A spherical representation for recognition of free-form surfaces. IEEE Trans. Pattern Anal. Mach. Intell., 17(7):681–690, 1995. [21] B. K. P. Horn. Closed-form solution of absolute orientation using unit quaternions. J. Opt. Soc. Amer. A, 4(4):629–642, 1987. [22] R. Ibrayev and Y.-B. Jia. Surface recognition by registering data curves from touch. Proc. IEEE/RSJ Int. Conf. Intell. Robot. System., pp. 55–60, 2006. [23] Y.-B. Jia, L. Mi, and J. Tian. Surface patch reconstruction via curve sampling. Proc. IEEE Int. Conf. on Robot. Automat., pp. 1371–1377, 2006. [24] A. E. Johnson and M. Hebert. Using spin images for efficient object recognition in cluttered 3D scenes. IEEE Trans. Pattern Anal. Mach. Intell., 21(5):433–449, 1999. [25] D. Keren, E. Rivlin, I. Shimshoni, and I. Weiss. Recognizing 3D objects using tactile sensing and curve invariants. J. Math. Imaging and Vision, 12(1):5–23, 2000. [26] David J. Kriegman and Jean Ponce. On recognizing and positioning curved 3-D objects from image contours. IEEE Trans. Pattern Anal. Mach. Intell., 12(12):1127–1137, 1990. [27] Y. Lamdan and H. J. Wolfson. Geometric hashing: a general and efficient model-based recognition scheme. Proc. Second Int. Conf. Comp. Vision, pp. 238–249, 1988. [28] D. S. Meek and D. J. Walton. On surface normal and Gaussian curvature approximations given data sampled from a smooth surface. Computer Aided Geometric Design, 17(6):521–543, 2000. [29] A. S. Mian, M. Bennamoun and R. Owens. Automated 3D model-based free-form object recognition. Sensor Review, 24(2):206–215, 2004.

Objects Dog NC NC 0.3403 0.4341 0.1420 0.3011 0.3741 0.2552 0.3386 0.7291 5 .459

Frog NC NC 0.6033 0.6639 0.3675 0.2494 0.5384 0.6508 0.6460 0.7552 3 .435

Cat 0.3803 NC 0.3908 0.5049 0.2131 0.4869 0.1569 0.4575 0.4270 0.4427 6 .118

Snail 0.4146 0.5157 0.2057 0.4089 0.3328 1.2953 0.4772 0.1312 0.2692 0.3568 8 .821

Fish 0.1607 0.2306 0.2816 0.2617 0.2283 0.1766 0.2640 0.2162 0.0762 0.2475 19 .308

Elephant 0.6271 NC 0.7358 0.9158 0.8359 0.8584 1.0529 NC 0.3796 0.1844 6 .091

[30] A. S. Mian, M. Bennamoun and R. A. Owens. A novel algorithm for automatic 3D model-based free-form object recognition. Proc. IEEE Int. Conf. Sys. Man Cyber., pp. 6348–6353, 2004. [31] Joseph L. Mundy and Andrew Zisserman. Introduction — towards a new framework for vision. In J. L. Mundy and A. Zisserman, editors, Geometric Invariance in Computer Vision, pages 1–39. The MIT Press, 1992. [32] W. H. Press, B. P. Flannery, S. A. Teukolsky, and W. T Vetterling. Numerical Recipes in C. Cambridge University Press, 1988. [33] A. Pressley. Elementary Differential Geometry. Springer-Verlag, 2001. [34] S. Rusinkiewicz. Estimating curvatures and their derivatives on triangle meshes Symp. on 3D Data Processing, Visualization, and Transmission., pp. 486–493, 2004. [35] Jacob T. Schwartz and Micha Sharir. Identification of partially obscured objects in two and three dimensions by matching noisy characteristic curves. Int. J. Robot. Res., 6(2):29–44, 1987. [36] Q. Shi, N. Xi, Y. Chen and W. Sheng. Registration of point clouds for 3D shape inspection. Proc. IEEE/RSJ Int. Conf. Intell. Robot. System., pp. 235–240, 2006. [37] F. Stein and G. Medioni. Structural indexing: efficient 3-D object recognition. IEEE Trans. Pattern Anal. Mach. Intell., 14(2):125–145, 1992. [38] E. M. Stokely and S. Y. Wu. Surface parameterization and curvature measurement of arbitrary 3-D objects: five practical methods. IEEE Trans. Pattern Anal. Mach. Intell., 14(8):833–840, 1992. [39] Y. Sun, J. Paik, A. Koschan, D. L. Page, and M. A. Abidi. Point fingerprint: a new 3D object representation scheme. IEEE Trans. Sys., Man, and Cyber., 33(4):712–717,2003. [40] T. Surazhsky, E. Magid, O. Soldea, G. Elber, and E. Rivlin. A comparison of gaussian and mean curvatures estimation methods on triangular meshes. Proc. IEEE Int. Conf. on Robot. Automat., pp. 1021– 1026, 2003. [41] G. Taubin. Estimating the tensor of curvature of a surface from a polyhedral approximation. Proc. Int. Conf. Comp. Vis., pp. 902–907, 1995. [42] B. Vijayakumar, David Kriegman, and Jean Ponce. Invariant-based recognition of complex curved 3D objects from image contours. Comp. Vision and Image Understanding, 72(3):287–303, 1998. [43] Isaac Weiss. Geometric invariants and object recognition. Int. J. of Comp. Vision, 10(3):207–231, 1993. [44] Isaac Weiss. Model-based recognition of 3D objects from single images. IEEE Trans. Pattern Anal. Mach. Intell., 23(2):116–128, 2001. [45] S. M. Yamany and A. A. Farag. Surface signatures: an orientation independent free-form surface representation scheme for the purpose of objects registration and matching. IEEE Trans. Pattern Anal. Mach. Intell., 24(8):1105–1120, 2002. [46] J. Zhang, X. Zhang, H. Krim, and G. G. Walter. Object representation and recognition in shape spaces. Pattern Recognition, 36(1143-1154), 2003.