James L Crowley

Romain Brégier

Frédéric Devernay

Laetitia Leyrit

Defining the Pose of any 3D Rigid Object and an Associated Distance

Keywords: pose, 3D rigid object, symmetry, distance, metric, average, rotation, SE(3), SO(3), object recognition

ou non, émanant des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Introduction

Rigid body models play an important role in many technical and scientific fields, including physics, mechanical engineering, computer vision or 3D animation. Under the rigid body assumption, the static state of an object is referred to as a pose, and is often described in term of a position and an orientation.

Poses of a 3D rigid object are in general regarded as rigid transformations and the set of poses is identified with the set of rigid transformations SE(3), the special Euclidean group. The Lie group structure of SE(3) makes the relative displacement of the object between two poses explicit and thus enables the definition of a distance between poses as the length of a shortest motion performing this displacement. This identification is particularly meaningful for applications where the motion of a rigid body is consideredsuch as motion planning [START_REF] Sucan | The open motion planning library[END_REF] or object tracking [START_REF] Tjaden | Real-Time monocular segmentation and pose tracking of multiple objects[END_REF]. However while there already exists numerous works regarding SE(3) metrics, choosing how to deal with poses of an object still remains challenging, as practitioners face questions such as how to tune the relative importance of position and orientation, even in the current deep learning era [START_REF] Kendall | PoseNet: A convolutional network for real-time 6-DOF camera relocalization[END_REF].

There are applications in which motion considerations are irrelevant, and for which only a notion of similarity between poses is required. Pose estimation of instances of a rigid object based on a noisy set of votes is a good example of such a problem. While motion-based applications rely on local properties of the pose space which have been the subject of a large amount of research work, applications based on similarity have to deal with numerous poses at once, performing operations such as neighborhood queries -i.e. finding poses in a set of poses similar to a given one -or pose averaging and have not gathered as much theoretical interest. Consequently, similarity measures suffering from major flaws are still used in practical applications. Following the work of [START_REF] Fanelli | Real time head pose estimation with random regression forests[END_REF], [START_REF] Tejani | Latent-Class hough forests for 3D object detection and pose estimation[END_REF] use a Mean Shift procedure based on the Euclidean distance between Euler angles as a representation of poses in their state-ofthe-art object pose estimation method. Such a measure is fast to compute and enables the use of efficient tools developed for Euclidean spaces to perform the neighborhood queries and pose averaging required for Mean Shift, but it is not a distance. The parametrization of a rotation based on Euler angles notoriously suffers from border effects, singularities, and is dependent on the choice of frame. These issues may only have limited effects on the results announced by the authors, thanks to an appropriate choice of frames orientation and to the low variability of objects orientations within their datasets. Nonetheless, they cannot be avoided when dealing with the general case of poses having arbitrary orientations. Such an example expresses the lack of tools for dealing efficiently with large sets of poses.

Lastly, there are cases where the pose of a rigid object cannot be identified as a single rigid transformation and therefore, for which existing results cannot be applied. Such cases occur when dealing with objects showing symmetry properties such as revolution objects or cuboids, and are, in fact, common among manufactured objects. The existing literature on object pose estimation does not usually discuss how such objects are handled, and the most widespread validation method used for symmetrical objects [START_REF] Hinterstoisser | Model based training, detection and pose estimation of texture-less 3d objects in heavily cluttered scenes[END_REF] consists in a relaxed similarity measure that cannot distinguish between poses such as a cylindrical can being flipped up or down.

Our goal in this paper is to address those issues by providing a consistent and general framework for dealing with any kind of physically admissible rigid object in practical applications. To this end, we propose a pose definition valid for any bounded rigid object, equivalent to a set of rigid transformations (section 2). We then propose a physically meaningful distance over the pose space (section 4), and show how poses can be represented in a Euclidean space to enable fast distance computations and neighborhood queries (section 5). We show how the pose averaging problem can be solved quite efficiently (section 8) for this metric using a projection technique (section 7) and lastly we propose an example application for the problem of pose estimation of instances of a rigid object given a set of votes.

A definition for pose

While the notion of pose of a rigid object is widely used, e.g. in robotics or computer vision, we have not found in the literature a general definition. We therefore propose the following one:

Definition 1 A pose of a rigid object is a distinguishable static state of this object.

We will refer to the set of possible poses as a pose space which we will denote C for consistency with the notion of configuration space in robotics literature.

2.1 Link between the pose space and SE(3) A pose space is highly related to the group of rigid transformations SE(3). Let us consider a rigid object, and P 0 ∈ C an arbitrary reference pose for this object.

A rigid transformation applied to the object at its reference pose defines a static state of the object, i.e. a pose. In a similar way, a pose P ∈ C of the object can be reached through a rigid displacement from the reference pose P 0 , and therefore P can be described completely by the rigid transformation corresponding to this displacement.

We will denote P ∈ C and T = (R, t) ∈ SE(3) as a couple of pose and rigid transformation -with R ∈ SO(3) a rotation matrix and t ∈ R 3 a translation vector. The transformation considered here is such that each point x ∈ R 3 linked to an object instance at reference pose P 0 is transformed by T into the corresponding point T(x) of an instance at pose P as follows and such as depicted in figure 1:

T(x) = Rx + t (1)
However, the rigid transformation corresponding to a given pose is not necessarily unique and therefore the identification of SE(3) with the pose space is in the general case incorrect. Objects -and especially manufactured ones -may indeed show some proper symmetry properties that make them invariant to some rigid displacements.

Pose as equivalence class of SE(3)

Let M ⊂ SE(3) be the set of rigid transformations representing the same pose as a rigid transformation T. For the bunny object figure 1d, M typically consists in the singleton {T}. But M can also contain a continuum of poses in the case of a revolution object such as the candlestick figure 1a, or even be a discrete set, such as for the rocket object depicted figure 1e where the same pose can be represented by 3 different transformations.

By definition of M, G {T -1 • M, M ∈ M} is the set of rigid transformations that have no effect on the static state of the object. This set therefore does not depend on the arbitrary transformation T considered. It is moreover a subgroup of SE(3). Indeed, combinations and inversions of such transformations can be applied to the object while leaving it unchanged, and the identity transformation has obviously no effects on the pose of the object. We will refer to the elements of this group as the proper symmetries of the object and to G ⊂ SE(3) as the group of proper symmetries of the object.

Given a rigid transformation T defining a pose P, we can therefore identify P to the following equivalence class [T] ⊂ SE(3), consisting in the combination of T with any rigid transformation that has no effect on the pose of the object:

P = [T] {T • G, G ∈ G} .
(2)

The proper symmetry group

In the following, we propose a classification of the potential groups of proper symmetries for a physically meaningful bounded object. While models of infinite objects are commonly used e.g. for plane detection in 3D scene analysis, we do not consider those in this article as they do not correspond to actual physical objects and the definition of a suitable metric on the pose space of such objects is typically very dependent on the application. This classification will be helpful to derive the practical results associated with our proposed distance.

All proper symmetries of a bounded object necessarily have a common fixed point, thus we can consider the group of proper symmetries as a subgroup of the rotation group SO(3) by choosing such a point as the origin of the object frame. Subgroups of SO(3) are sometimes referred to as chiral point groups, and have been widely studied, notably in the context of crystallography. The interested reader is referred to [START_REF] Vainsthein | Fundamentals of Crystals[END_REF] for more insight on the theory of symmetry.

Ignoring the pathological case of infinite subgroups of SO(3) that are not closed under the usual topology as they do not make sense physically, the potential groups of proper symmetries for a bounded object can actually be classified in a few categories.

In the 2D case, a bounded object will either show a circular symmetry -i.e. an invariance by any 2D rotation -or a cyclic symmetry of order n ∈ N * -i.e. an invariance by rotation of 1/n turn. The special case n = 1 actually corresponds to a 2D object without any proper symmetry. Table 2 provides examples of such objects.

Similarly, we distinguish in the 3D case between five classes of proper symmetry groups, synthesized in table 1. A 3D bounded object can show a spherical symmetry -i.e. an invariance by any rotation -or a revolution symmetryi.e. an invariance by rotation along a given axis of any angle. This latter class can actually be split into two, depending on whether the object is also invariant under reflection across a plane that is orthogonal to the revolution axis or not. We respectively refer to these classes as revolution symmetry with or without rotoreflection invariance. In addition, we should also consider finite groups of proper symmetry, but there are an infinite number of them therefore they are considered in a general manner. We nevertheless distinguish the case of an object without proper symmetry (i.e. for which G contains only the identity transformation) from the other ones, because it is essential in our theoretical developments.

Note that potential indirect symmetries of the object such as reflection symmetries are not accounted for. This is due to the fact that we consider an oriented 3D space -e.g. through the right-hand rule -in which reflections are not physically feasible through rigid displacements. Revolution symmetry with rotoreflection invariance is nonetheless considered since it is a proper symmetry group: the reflection symmetry can indeed be generated by the introduction of a rotational invariance of 180°along an arbitrary axis orthogonal to the revolution axis.

Prior work on metrics over the pose space

We propose in this section a brief review of the recent work on metrics over the pose space of a rigid object. We consider only mathematical distances in our discussion -i.e. symmetric, positive-definite applications from C × C to R + satisfying triangle inequality. The existing literature does not take into account potential proper symmetries of the object, and therefore, in this review, the pose space can be identified to the group of rigid transformations SE(3).

Objectiveness

The identification of the pose space to SE(3) is based on the choice of two arbitrary frames: a frame linked to the object -to which we will refer to as object frame -and a fixed inertial frame such as the object frame coincides with the inertial frame when the object is in the reference pose P 0 . For a distance to be well-defined, it should not depend on an arbitrary choice of those frames, a notion that [START_REF] Lin | Objective and frame-invariant kinematic metric functions for rigid bodies[END_REF] formalize as objectiveness or frame invariance.

Among possible distances, geodesic distances have focused most interest and have been studied within the framework of Riemannian geometry on the Lie group SE(3). Geodesic distances are well-suited for applications dealing with motions as they represent the minimum length of a motion to bring the object from one pose to an other. [START_REF] Park | Distance metrics on the rigid-body motions with applications to mechanism design[END_REF] showed that there are no bi-invariant Riemannian metrics on SE(3) -that is, invariant to any change of inertial frame (left invariance) and of object frame (right invariance). [START_REF] Chirikjian | Partial Bi-Invariance of SE (3) metrics[END_REF] recently studied this question further and showed that while continuous bi-invariant metrics do not exist, there are continuous left-invariant distances that are invariant under right shifts by pure rotations.

Hyper-rotation approximation

Nonetheless, several authors have worked on an "approximate bi-invariant" metric [START_REF] Purwar | Reconciling distance metric methods for rigid body displacements[END_REF] for SE(3) through the mapping of rigid transformations to hyper-rotations of SO( 4), and the use of a bi-invariant metric on SO(4).

Techniques to perform such mapping have been proposed based on biquaternion representation [START_REF] Etzel | A metric for spatial displacement using biquaternions on so (4)[END_REF] and polar decomposition [START_REF] Larochelle | A distance metric for finite sets of rigid-body displacements via the polar decomposition[END_REF]. Such transformation unfortunately requires a scaling for the translation part, which has to be set empirically depending on the application [START_REF] Angeles | Is there a characteristic length of a rigid-body displacement?[END_REF].

Decomposition into translation and rotation

Hopefully, while inertial frame invariance is necessary for the objectiveness of a metric, object frame invariance is not. [START_REF] Lin | Objective and frame-invariant kinematic metric functions for rigid bodies[END_REF] indeed showed that a distance is objective if and only if it is independent of the choice of inertial frame, and transforms by a right shift in response to a change of object frame. Therefore, a method to define an objective metric consists in defining a left invariant distance considering a given object frame and always using this one, in order to avoid having to transform the distance expression.

For this technique, a frequent approach consists in splitting a pose into a position and an orientation part and to define a distance on SE(3) based on frame invariant metrics on both R 3 and the rotation group SO(3). Those metrics can then be fused in the form of a weighted generalized mean, here written with two strictly positive scaling factors a and b and for an exponent p ∈ [1, ∞]:

d(T 1 , T 2 ) = p a d rot (R 1 , R 2 ) p + b d trans (t 1 , t 2 ) p . ( 3
)
The Euclidean distance is the usual choice for measuring distances between different positions. Considering the usual Riemannian distance over SO(3), a Riemannian distance over SE(3) can be obtained by combining those together into [START_REF] Park | Distance metrics on the rigid-body motions with applications to mechanism design[END_REF]:

d(T 1 , T 2 ) = a log(R -1 1 R 2 ) 2 + b t 2 -t 1 2 . ( 4
)
This expression is particularly interesting in that the distance between orientations log(R -1 1 R 2 ) corresponds to the angle α of the relative rotation between the two, which can be evaluated quite easily e.g. from the following relations, using matrix or unit quaternion representations and respectively trace or inner product operators:

Tr(R -1 1 R 2 ) = 2 cos(α) + 1 (5) 1 -q 1 |q 2 2 = 1 2 (1 -cos(α)). ( 6
)
Without the Riemannian constraint, a large number of inertial-frame-invariant distances can be considered. [START_REF] Gupta | Measures of positional error for a rigid body[END_REF] notably proposed to consider a Froebenius distance for the rotation part, which also only depends on the angle of the relative rotation between the two poses:

R 2 -R 1 F = 2 √ 2| sin(α/2)|. (7)
Similar properties are obtained considering the Euclidean distance between representations of antipodal pairs of unit quaternions q 1 and q 2 :

min q 2 ± q 1 = 2| sin(α/4)|. ( 8
)
Merging position and orientation distances together requires setting the scaling factors a and b. The choice of those factors remains a heuristic issue, and the recent work of [START_REF] Kendall | PoseNet: A convolutional network for real-time 6-DOF camera relocalization[END_REF] on camera pose regression using a deep neural network notably showed that this setting may have a great impact on performances. A reasonable choice in the case of object poses consists in setting the position weight b to 1 and the orientation weight a as the square of the maximum radius of the object (Di Gregorio 2008) in equation ( 4), assuming an object frame at the center of the object in order to get an upper bound of the displacement of the object's points between two poses.

x T 1 (x) T 2 (x) S T 1 (S ) T 2 (S )
Fig. 1 Representation of corresponding points between instances at different poses of a rigid object without proper symmetries.

Geometric approaches

To avoid the need for arbitrary scaling factors, some distances are based only on geometric properties of the object.

A particularly interesting possibility is to define a metric based on the distance between corresponding 3D points of instances of the object at these poses, such as depicted figure 1. Let µ be a density distribution relative to the object and V = µ(x)dv its integral over the whole object, we can formulate such a distance the following way considering an L p norm:

d(T 1 , T 2 ) = 1 V µ(x) T 2 (x) -T 1 (x) p dv 1 p (9)
This expression has a strong physical meaning. It is by construction frame-invariant since its definition does not depend on a particular frame, and takes the shape of the object into account, without the need of arbitrary tuning. [START_REF] Martinez | On the metrics of rigid body displacements for infinite and finite bodies[END_REF] suggest the use of the maximum displacement (p = ∞), and Hinterstoisser et al (2012) used the average displacement (p = 1) for a pose estimation evaluation. For the sake of tractability, those authors suggest to limit consideration to only some vertices of an object model since the integral has to be evaluated explicitly. [START_REF] Kazerounian | Object norms: A class of coordinate and metric independent norms for displacements[END_REF] on the other hand proposed the use of integral of square displacements (p = 2) on the whole object, and showed that it could be evaluated efficiently given the inertia matrix of the object. [START_REF] Chirikjian | Metrics on motion and deformation of solid models[END_REF] later on improved this formulation and extended it for arbitrary affine transformations, showing that the distance could be evaluated as a weighted Froebenius norm. [START_REF] Zefran | Planning of smooth motions on SE (3)[END_REF] and [START_REF] Lin | Objective and frame-invariant kinematic metric functions for rigid bodies[END_REF] independently proposed a Riemannian tensor being linked to the notion of kinetic energy and therefore taking into account the object properties without the need for some arbitrary tuning. Their tensor can be seen as a local equivalent of the distance of [START_REF] Kazerounian | Object norms: A class of coordinate and metric independent norms for displacements[END_REF]. However, to the best of our knowledge there is no known closed-form expression for the resulting geodesic distance in the general case.

Local metric

Various others local parametrization methods exist which, by mapping locally the pose space to a Euclidean space enable to locally define distances. Those parametrizations are e.g. based on the representation of orientation with Euler angles, or the local stereographic projection of the pose space, identified to Study's quadric -an hypersurface embedded in R 7 [START_REF] Eberharter | Local metrics for rigid body displacements[END_REF]. In-depth discussion of this topic is out of the scope of this article as we are interested in global distances.

Proposed metric

In this section, we propose a distance over the pose space of a 3D rigid bounded object, valid even for symmetric ones. This distance can be considered as an extension of the work of [START_REF] Kazerounian | Object norms: A class of coordinate and metric independent norms for displacements[END_REF] and [START_REF] Chirikjian | Metrics on motion and deformation of solid models[END_REF] to arbitrary bounded objects. We also discuss some of its properties.

Formal definition

Let S be the set of points of the object at reference pose P 0 ∈ C , and µ a positive density distribution defined on S . In order to be meaningful, the set of points of the object and its density distribution are assumed to be compatible with the proper symmetry properties of the object and exhibit those symmetry properties. Formally, we assume they verify G(S ) = S and µ • G = µ for any proper symmetry G ∈ G.

Definition 2 Let P 1 , P 2 ∈ C be two poses and T 1 , T 2 ∈ SE(3) two rigid transformations whose equivalence classes are respectively identified to P 1 and P 2 given the reference pose, such as defined in (2). We define the distance between P 1 and P 2 as follows :

d(P 1 , P 2 ) min G 1 ,G 2 ∈G d no_sym (T 1 • G 1 , T 2 • G 2 ), with d no_sym (T 1 , T 2 ) 1 S S µ(x) T 2 (x) -T 1 (x) 2 ds
where S S µ(x)ds.

(

) 10
This expression is well defined. The minimum in definition (10) is reached because of the compactness of the proper symmetry group G -as a closed subgroup of SO(3) which itself is compact -and of the continuity of d no_sym . Moreover, this definition is by construction independent of the choice of the rigid transformations T 1 , T 2 identified to the poses considered. We verify easily that it satisfies the conditions of a distance definition: d is symmetric, positivedefinite, and triangle inequality derives from the triangle inequality satisfied by d no_sym , which is a direct consequence of Minkowski inequality. An equivalent formulation of this distance, involving a single minimization over G, is introduced in proposition 1.

In typical applications, one is particularly interested in the positioning of the surface of the object. Therefore in our experiments, we consider the surface of the object as set of points S . The density function µ can be used to modulate the importance of the positioning of specific areas, but without additional information it is natural to consider an uniform weight µ = 1.

Objectiveness

The proposed distance is independent by construction of the choice of some arbitrary frames as it admits a purely geometric interpretation, a point we discuss in subsection 4.3.

Definition 2 makes no assumption on the choice of object frame, and the use of a reference pose -i.e. an inertial frame -in our formulation is only here for the sake of writability. Indeed, the Euclidean distance between 3D points is invariant to isometries by definition of these, and in particular to any rigid transformation

T -1 3 ∈ SE(3): ∀x, y ∈ R 3 , x -y = T -1 3 (x) -T -1 3 (y) (11)
Therefore, an arbitrary new reference pose P 3 could be considered without any effect on the metric properties. Denoting T 3 a rigid transformation identified to P 3 relatively to the old reference pose P 0 , we verify the independence of d no_sym from the choice of reference pose

d no_sym (T 1 , T 2 ) = d no_sym (T -1 3 T 1 , T -1 3 T 2 ), (12)
and hence the independence of the general distance:

d([T 1 ], [T 2 ]) = d([T -1 3 T 1 ], [T -1 3 T 2 ]). (13)

Geometric interpretation

A picture being worth a thousand words, the reasoning we develop in this section is illustrated in figure 2 for the case of a 2D object with a rotation symmetry of 2π/3: a flower with three petals. As we discussed in section 2, a pose P i ∈ C can be identified to a set of rigid transformations {T i • G, G ∈ G}. Each of these transformations can themselves be identified with the pose of an object with identical characteristics to the considered one but with no proper symmetries -to which we will refer to as the equivalent object and which we depict on figure 2 with a grey petal (in order to break the symmetry of the initial object). A pose of the object can therefore be considered as a set of poses of the equivalent object -3 in our example. Points of the equivalent object can be unambiguously put in correspondence between different poses -correspondences we represent by dashed segments on the figure. Therefore it is legitimate to define a distance between poses of the equivalent object based on the distance between such corresponding points. In this paper, we consider the RMS distance d no_sym as it enables efficient computations (see section 5):

d 2 no_sym (T 1 , T 2 ) = 1 S S µ(x) T 2 (x) -T 1 (x) 2 ds. ( 14
)
The proposed distance between two poses of the object can then be defined as the minimum distance between each potential pair of poses for the equivalent object (3 × 3 combinations in our example):

d(P 1 , P 2 ) = min G 1 ,G 2 ∈G d no_sym (T 1 • G 1 , T 2 • G 2 ). ( 15
)
An other and more intuitive interpretation is to consider our distance as a measure of the smallest displacement from one pose to the other. A displacement from a pose P 1 to an other P 2 is a relative transformation from a pose of the equivalent object corresponding to P 1 to a pose of the equivalent object corresponding to P 2 , and the length of a displacement is measured via d no_sym . Different pairs of poses of the equivalent object are actually linked by the same displacement -as can be observed on figure 2 where pairs of poses of the equivalent object being linked by the same transformation are highlighted by identical boxes. All displacements from one pose P 1 to an other P 2 are in fact considered when choosing an arbitrary pose of the equivalent object T 1 for P 1 and considering rigid transformations from T 1 to the poses of the equivalent object corresponding to P 2 . Thanks to this, the distance between two poses can actually be computed considering the proper symmetries only for one pose: Proposition 1 For any poses P 1 , P 2 ∈ C and T 1 , T 2 ∈ SE(3) two rigid transformations whose equivalency classes are respectively identified to P 1 and P 2 given the reference pose,

d(P 1 , P 2 ) = min G∈G d no_sym (T 1 , T 2 • G) (16)
This formulation is simpler than the definition 2, however it breaks the symmetry of the roles of the two poses.

Proof Formally, expression ( 16) can be deduced from the distance definition (10) as follows. Given two proper symmetries G 1 , G 2 ∈ G, one can perform the change of variables

P 1 P 2 d(P 1 , P 2 ) = min • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • , , , , , , , , (a)
= min x ← G 1 (x) and G ← G 2 • G -1 1 to write the following equality:

• • • • • • • • • • • • • • • • • • , , (b)
d 2 no_sym (T 1 • G 1 , T 2 • G 2 ) = 1 S S µ(x) T 2 • G 2 (x) -T 1 • G 1 (x) 2 ds = 1 S G 1 (S ) µ(G -1 1 (x)) T 2 • G(x) -T 1 (x) 2 ds (17)
The symmetry of the object pointset and of its density ensures that G 1 (S ) = S and µ • G -1 1 = µ, leading to the following result from which the conclusion is straightforward:

d 2 no_sym (T 1 • G 1 , T 2 • G 2 ) = 1 S S µ(x) T 2 • G(x) -T 1 (x) 2 ds = d 2 no_sym (T 1 , T 2 • G).
(18)

Rotation anisotropy

In case of a pure rotational displacement around the center of mass of a non symmetric object, usual metrics are solely dependent on the angle of the relative rotation between the two poses. d no_sym on the other hand -and the proposed distance as well -accounts for the object's geometry and as such also depends on the considered axis. More precisely, the distance between two poses linked by such a displacement depends on the angle θ and on the inertia moment I k along the axis k of the relative rotation between the two poses, as follows:

d no_sym (T 1 , T 2 ) = 2 √ I k sin θ 2
where This result can be easily obtained by injecting Rodrigues' rotation formula in the expression of the proposed distance.

I k = 1 S µ(x) k × x 2 ds. (19)
We illustrate this property on figure 3 with an object consisting in a model of the Eiffel tower scaled to its actual dimensions, for two couples of poses linked by a smallest displacement consisting of a rotation of 15°around different axes. While the angle of the relative rotation is identical in both cases, displacements of surface points are quite different and we visually tend to consider poses in case (b) as being farther away one another than in case (a). Our framework formalizes this intuition, resulting in a distance between the poses in configuration (b) approximatively 2.1 times greater than the one between the poses in configuration (a).

Efficient distance computation

The distance definition 2 and the simpler expression of proposition 1 are of little practical use for actual applications as they contain a summation term over the set of points of the object and a minimization over its proper symmetry group, both sets being potentially infinite.

In this section, we show how our proposed distance can be evaluated efficiently. To this aim, we propose a representation of a pose P as a finite set of points R(P) of a Euclidean space R N of at most 12 dimensions, depending on the object's symmetries. We refer to an element of R(P) as a representative of P, since a representative completely defines a pose (see section 7).

Within this representation framework, the distance between a pair of poses P 1 , P 2 can be expressed as the minimum of Euclidean distance between their respective representatives,

d(P 1 , P 2 ) = min p 1 ∈R(P 1 ),p 2 ∈R(P 2 ) p 2 -p 1 (20)
or equivalently, as the minimum Euclidean distance between a given representative for one pose and the representatives of the other, thanks to a reasoning similar to the one developed in the proof of proposition 1:

∀p 1 ∈ R(P 1 ), d (P 1 , P 2 ) = min p 2 ∈R(P 2 ) p 2 -p 1 . ( 21
)
The cardinal of R(P) is independent of the pose considered, depending solely from the class of proper symmetries of the considered object. We therefore denote it |R(•)|. For most classes -objects with no proper symmetry, revolution objects without rotoreflection invariance and spherical objects -a pose admits a single representative and in that case we will refer to it as R(P) by an abuse of notation. R can be considered in such case as an isometric embedding of C into the Euclidean space R N , and the distance between two poses simply corresponds to the Euclidean distance between their respective representatives.

The expression of pose representatives will be derived later in this section for the different classes of objects, and a synthesis is proposed in table 3 for 3D objects, and in table 4 for 2D ones.

Neighborhood query

The distance formulation ( 21) is of great practical value as it enables to perform efficient radius search and exact or approximate k-nearest neighbors queries within a large set of poses through the use of any off-the-shelf neighborhood query algorithms designed for Euclidean spaces. Neighborhood queries are useful for numerous problems, and we provide an example in section 10 where radius search is heavily used. Existing methods for neighborhood queries enable fast neighborhood retrieval within a set of points of a vector space compared to a brute-force approach consisting in computing the distance to every points of the set. They make use of a specific search structure -such as a grid or a kD-tree for example -adapted to the specific properties of the considered metric space. A review of those algorithms is out of the scope of this work, and we will only refer the interested reader to the well-known FLANN library [START_REF] Muja | Fast approximate nearest neighbors with automatic algorithm configuration[END_REF] as a starting point.

Let S be a finite set of poses. We consider the pointset R consisting of the aggregation of all representatives of the poses of S: R = P∈S R(P).

(

) 22
From ( 21), given a query pose Q and one of its representatives q ∈ R(Q), the poses of S that are closer to Q than a given distance δ are the poses that have a representative closer to q than δ using the Euclidean distance.

Such representatives can be retrieved through a standard radius search operation around q in R. The search for nearest neighbors can be performed in a similar fashion.

One should nevertheless be careful of potential duplicates with those operations, as a pose may have several representatives depending on the proper symmetries of the object. Nonetheless, the absence of duplicates is locally guaranteed around the query point in an open ball of radius T /2, where T is a constant defined as follows: Definition 3 (Min. distance between representatives) We note T the minimum distance between different representatives of the same pose, with the convention T = +∞ if a pose admits a single representative:

∀P ∈ C , ∀p ∈ R(P), T min q∈R(P),q =p q -p . (23)
T can be computed considering an arbitrary pose P because of the invariance of our underlying metric to the choice of a reference pose (see section 4.2), and considering an arbitrary representative p ∈ R(P) because of the symmetry properties of representatives described in section 6.

Decomposition into translation and rotation parts

From this point on, we consider a direct orthonormal coordinates system (O, e x , e y , e z ). As in section 2.3 on the proper symmetry group, we assume that the origin O of the object frame is an invariant point of the object with respect to its proper symmetries. It is for example chosen at the center of the object for a spherical object, and on the revolution Assumptions Center of mass of the object as origin of the object frame. For revolution objects, revolution axis as e z axis of the object frame.

Notations

Λ Λ Λ 1 S S µ(x)xx ds 1/2
and λ λ 2 r + λ 2 z for revolution objects where Λ Λ Λ = diag(λ r , λ r , λ z ).

Proper symmetry class

Proper symmetry group G Pose representatives R(P) Spherical symmetry

SO(3) t ∈ R 3 Revolution symmetry without rotoreflection invariance R α z α ∈ R (λ (Re z ) , t ) ∈ R 6 Revolution symmetry with rotoreflection invariance R δ x R α z δ ∈ {0, π} , α ∈ R (±λ (Re z ) , t ) ⊂ R 6 No proper symmetry {I} (vec(RΛ Λ Λ ) , t ) ∈ R 12 Finite nontrivial Finite (vec(RGΛ Λ Λ ) , t ) |G ∈ G ⊂ R 12
(2) t ∈ R 2 No proper symmetry {I} (λ e iθ , t ) ∈ R 4 Cyclic symmetry (order n ∈ N * ) R 2kπ/n k ∈ 0, n (λ e i(θ +2kπ/n) , t ) k ∈ 0, n ⊂ R 4
axis for a revolution object. Doing so, the proper symmetry group of the object can be considered as a group of rotations around the origin, and we therefore assimilate proper symmetries to rotation matrices. We exploit this property to develop the inner term of the expression (10) of the square distance into:

(T 2 • G 2 )(x) -(T 1 • G 1 )(x) 2 = R 2 G 2 x + t 2 -(R 1 G 1 x + t 1 ) 2 = R 2 G 2 x -R 1 G 1 x 2 + t 2 -t 1 2 +2(t 2 -t 1 ) (R 2 G 2 -R 1 G 1 )x. (24)
We add the further constraint that the origin of the object frame is the center of mass of the object's surface, i.e.

S µ(x)xds = 0. This constraint is compatible with the previous one because the center of mass is unique, and therefore has to be left unchanged by the proper symmetries of the object. Thanks to this choice, the last term of (24) disappears during the integration, and the squared distance (10) can therefore be decomposed into a translation and a rota-tion part:

d 2 (P 1 , P 2 ) = t 2 -t 1 2 + min G 1 ,G 2 ∈G 1 S S µ(x) R 2 G 2 x -R 1 G 1 x 2 ds d 2 rot (R 1 ,R 2 ) . (25)
In the following subsections, we show how this rotation part can be simplified, and how it leads to the notion of pose representatives.

Object with no proper symmetries

Let us consider the case of an object showing no proper symmetries. The proper symmetry group of this object is reduced to the identity rotation: G = {I}, therefore the rotation part of the square distance (25) can be expressed as follows:

d 2 rot (P 1 , P 2 ) = S µ(x) R 2 x -R 1 x 2 ds (26)
Let us show how, for any given pose P ∈ C , one can define a representative R(P) ∈ R 12 such that the distance between two poses in C is the same as the distance between their representatives in R 12 . Our approach is inspired by the work of [START_REF] Kazerounian | Object norms: A class of coordinate and metric independent norms for displacements[END_REF] and [START_REF] Chirikjian | Metrics on motion and deformation of solid models[END_REF].

Let Λ Λ Λ be the symmetric positive semi-definite square root matrix of the covariance matrix of the object's weighted surface:

Λ Λ Λ 1 S S µ(x)xx ds 1/2 . ( 27
)
Λ Λ Λ does not depend on the considered pose and can therefore be estimated once and for all for a given rigid object in a preprocessing step. We provide in appendix C formulas to compute Λ Λ Λ when S is the surface of a triangular mesh.

Rewriting the inner part of ( 26) with a trace operator,

R 2 x -R 1 x 2 = Tr (R 2 -R 1 )xx (R 2 -R 1 ) ,
one can express the rotation part of the squared distance in a closed form as a weighted Frobenius square distance between the rotation matrices:

d 2 rot (P 1 , P 2 ) = Tr (R 2 -R 1 )Λ Λ Λ 2 (R 2 -R 1 ) = R 2 Λ Λ Λ -R 1 Λ Λ Λ 2 F . (28)
Therefore, denoting vec the operator vectorizing columnwise a matrix into a column vector, we can define an isometry R from the pose space into the 12-dimensional Euclidian space, such as Object without proper symmetry:

d 2 (P 1 , P 2 ) = R 2 Λ Λ Λ -R 1 Λ Λ Λ 2 F + t 2 -t 1 2 = R(P 2 ) -R(P 1 ) 2 with R(P) vec(RΛ Λ Λ ) , t ∈ R 12 . ( 29
)
The conversion from a pose represented in term of a rotation matrix R and a translation vector t to its representative in R 12 is direct, since it consists in a simple linear operation. If the object frame is moreover chosen aligned with the principal axes of the object, Λ Λ Λ is diagonal, making the computation of the pose representative even cheaper.

Revolution object without rotoreflection invariance

We now consider the case of a revolution object without rotoreflection invariance. As stated in section 5.2, we assume that the origin of the object frame corresponds to the center of mass of the object. Without loss of generality, we moreover assume that the axis e z of the object frame is aligned with the revolution axis. A pose P is thus defined up to a rotation R φ z along the e z axis, where φ is the angle of the considered rotation, and the proper symmetry group of the object consists in

G = R φ z φ ∈ R .
The simplification to get rid of the integral within the distance expression thanks to the introduction of the matrix Λ Λ Λ in section 5.3 is also valid here. Moreover, because (O, e z ) is the revolution axis of the object, Λ Λ Λ is necessarily diagonal and of the form

Λ Λ Λ =   λ r 0 0 0 λ r 0 0 0 λ z   ( 30
)
with λ r , λ z ∈ R + . This enables us to express the rotation part of the distance as a simple scaled distance between the revolution axes seen as 3D vectors:

d 2 rot (P 1 , P 2 ) = λ 2 R 2 e z -R 1 e z 2 ( 31
)
with λ λ 2 r + λ 2 z . The reader is referred to appendix A for a proof of this result.

Therefore, similarly to what we proposed for an object without proper symmetry, we can consider a simple isometry R which associates to a pose of a revolution object without rotoreflection invariance, a 6D vector, consisting of the concatenation of the coordinates of its scaled revolution axis and of its position, in order to efficiently evaluate distances:

Revolution object without rotoreflection invariance:

d 2 (P 1 , P 2 ) = t 2 -t 1 2 + λ 2 R 2 e z -R 1 e z 2 = R(P 2 ) -R(P 1 ) 2 with R(P) λ (Re z ) , t ∈ R 6
where λ = λ 2 r + λ 2 z .

(32)

Spherical object

We now consider the simpler case of an object with spherical symmetry. Choosing the center of the object as origin of the object frame, the proper symmetry group of the object is the whole rotation group SO(3). The rotation part of the distance (25) can thus be rewritten as follows:

d 2 rot (P 1 , P 2 ) = min R 1 ,R 2 1 S S µ(x) R 2 x -R 1 x 2 ds . ( 33
)
This term is null, the minimum being reached for R 1 = R 2 . Therefore, the pose space of a spherical object can be also isometrically embedded into a R 3 by representing a pose by the position of its center:

Spherical object:

d 2 (P 1 , P 2 ) = t 2 -t 1 2 = R(P 2 ) -R(P 1 ) 2 With R(P) = t ∈ R 3 .
(34)

Revolution object with rotoreflection invariance

Let us consider the case of a revolution object with rotoreflection invariance, i.e. having a reflection symmetry with respect to a plane orthogonal to the revolution axis. With the same constraints on the choice of the object frame as for a revolution object without rotoreflection invariance, the proper symmetry group of such object can be written as follows:

G = R δ x R α z | α ∈ R, δ ∈ {0, π} . (35)
Therefore, the distance between two poses P 1 , P 2 can be expressed as:

min δ 1 ,δ 2 ,φ 1 ,φ 2 d no_sym (R 1 R δ 1 x R φ 1 z , t 1 ), (R 2 R δ 2 x R φ 2 z , t 2 ) . ( 36
)
We discussed in section 5.4 how to compute such an expression relatively to the symmetries along the revolution axis. Therefore using result (32), our distance can be rewritten as the minimum Euclidean distance between 6D points, two being assigned to each pose:

d(P 1 , P 2 ) = min δ 1 ,δ 2 ∈{0,π} p δ 2 2 -p δ 1 1 (37) with p δ i = λ (R i R δ x e z ) , t ∈ R 6 the representatives of pose P i , for δ = 0, π and i = 1, 2.
Simplifying the representative expression a little given that R 0

x e z = e z and R π x e z = -e z , we see that a pose of a revolution object with rotoreflection invariance can be represented by two 6D vectors consisting of the concatenation of the coordinates of its scaled revolution axis and of its position, each potential orientation of the axis being taken into account by one representative:

Revolution object with rotoreflection invariance:

d(P 1 , P 2 ) = min p 1 ∈R(P 1 ),p 2 ∈R(P 2 ) p 2 -p 1 With R(P) ±λ (Re z ) , t ⊂ R 6 . (38)

Object with a nontrivial finite proper symmetry group

The last type of 3D object to deal with is the case of an object with a finite proper symmetry group G different from the identity, such as the object depicted in table 1e. The proposed distance between two poses of such an object can be written as:

min

G 1 ,G 2 ∈G d no_sym ((R 1 G 1 , t 1 ), (R 2 G 2 , t 2 )). (39)
We showed in section 5.3 that the pose of an object without proper symmetry can be represented as a 12D point, such that the distance between two poses of such object corresponds to the Euclidean distance between their respective representatives. Therefore, it is straightforward to conclude that the pose of an object with a finite proper symmetry group can be represented by a finite set of 12D representative points, such that the distance between two poses corresponds to the minimum Euclidean distance between their respective representatives:

Object with a nontrivial finite proper symmetry group:

d(P 1 , P 2 ) = min p 1 ∈R(P 1 ),p 2 ∈R(P 2 ) p 2 -p 1 With R(P) vec(RGΛ Λ Λ ) , t G ∈ G ⊂ R 12 .
(40)

2D object

The notion of pose representative can be applied to 2D objects as well. For the sake of conciseness, we will only discuss the case of a 2D object with no proper symmetry, as the reasoning is very similar to the one performed for 3D objects. The full list of proposed representatives is given in table 4. The decomposition of the square distance between two poses in a translation and rotation terms (25) and the expression of the rotation part as a Frobenius norm (28) are still valid in the 2D case, but they can be even further simplified. Indeed, a 2D rotation matrix can be parametrized by an angle θ as follows:

R θ = cos(θ ) -sin(θ ) sin(θ ) cos(θ ) . ( 41
)
Introducing the elements of the covariance matrix

Λ Λ Λ 2 = λ 2 xx λ 2 xy λ 2 xy λ 2 yy , (42)
the rotation part can be simplified into

d 2 rot (P 1 , P 2 ) = Tr (R θ 2 -R θ 1 )Λ Λ Λ 2 (R θ 2 -R θ 1 ) = (λ 2 xx + λ 2 yy ) e iθ 2 -e iθ 1 2 (43)
where e iθ (cos(θ ), sin(θ )). Therefore, we can include in our framework a 2D object without proper symmetry, and represent a pose of such object by a 4D vector, consisting of the concatenation of the coordinates of its scaled complex orientation and of its position:

2D object without proper symmetry:

d(P 1 , P 2 ) = min p 1 ∈R(P 1 ),p 2 ∈R(P 2 ) p 2 -p 1 with R(P) λ e iθ , t ∈ R 4 where λ = 1 S S µ(x) x 2 ds 1/2 . ( 44
)
6 Symmetry within representatives

Objects with finite non trivial symmetry groups and revolution objects with rotoreflection invariance admit several representatives per pose. This multiplicity of representatives expresses the proper symmetries of the object that are not accounted for in the expression of a representative, and leads to some symmetry properties within the set of representatives itself. Formally, for a given object, we define a finite group of symmetry operations G R on the ambient space R N . This group consists in the identity singleton in the case of objects admitting a single representative per pose, and is defined in table 5 for the other objects classes. In this section we discuss some properties of this group. Those will be used in order to propose a method to properly average poses, in section 8.2. First, we ensure that the proposed group is well defined:

Proposition 2 G R is a group for the composition operation.

Proof This property derives directly from the group properties of G, {1, -1} and {e i2kπ/n |k ∈ 0, n } for multiplication operations.

Then, we introduce the following lemma, which somehow expresses the fact that the geometry of the object is consistent with the object's symmetries:

Lemma 1 For any proper symmetry G ∈ G, G and Λ Λ Λ com- mute, i.e. GΛ Λ Λ = Λ Λ Λ G. Proof Let G be a proper symmetry in G. By definition of Λ Λ Λ 2 , GΛ Λ Λ 2 = 1 S S µ(x)Gxx ds. ( 45
)
Performing the change of variable x ← Gx enables to rewrite this expression into:

1 S G(S ) µ(G -1 x)x(G -1 x) ds. ( 46
)
Thanks to the invariance of S and µ to the proper symmetries of the object, we exhibit back Λ Λ Λ 2 as follows:

GΛ Λ Λ 2 = 1 S S µ(x)xx G -ds = Λ Λ Λ 2 G -. (47)
G being a rotation, G -= G, and therefore G and Λ Λ Λ 2 commute, i.e.

GΛ Λ Λ 2 = Λ Λ Λ 2 G. (48)
Moreover, as a positive semi-definite symmetric matrix, Λ Λ Λ 2 admits an eigenvalue decomposition Λ Λ Λ 2 = UDU , where U ∈ SO(3) and D is a positive semi-definite diagonal matrix. Injecting this decomposition into the right hand side of equation 48, we observe that G U is also an eigenbasis of Λ Λ Λ 2 :

Λ Λ Λ 2 = (G U)D(G U) . ( 49
)
Λ Λ Λ being the principal square root of Λ Λ Λ 2 , both share the same eigenspaces, thus:

Λ Λ Λ = UD 1/2 U Λ Λ Λ = (G U)D 1/2 (G U) . (50)
Therefore, injecting the first equality into the second one, we proved that

Λ Λ Λ = G Λ Λ Λ G (51)
i.e., that G and Λ Λ Λ commute:

GΛ Λ Λ = Λ Λ Λ G.
Thanks to this lemma, it is now possible to exhibit the three following properties of those symmetries within the ambient space: Proposition 3 G R contains |R(•)| elements, and given a pose P and one of its representative p ∈ R(P), the set of elements symmetric to p (including itself) is the whole set of representatives of the pose, i.e.

{s(p)|s ∈

G R } = R(P). ( 52
)
Proof This proposition is easily verified thanks to the expression of pose representatives tables 3 and 4. The only subtlety is the case of a 3D object with a finite proper symmetry group. In this case for any G ∈ G, the symmetric by s G of a pose representative (vec(RΛ Λ Λ ) , t ) , where R ∈ M 3,3 (R) and t ∈ R 3 , can be expressed as

s G (vec(RΛ Λ Λ ) , t ) = (vec(RΛ Λ Λ G) , t ) , (53)
which according to lemma 1 is equal to (vec(RGΛ Λ Λ ) , t ) . By definition of representatives for such object, it is therefore a representative of the same pose P.

Table 5 Proposed symmetry operations on the ambient space for objects with multiple representatives per pose.

Notations

We decompose a point of the ambient space R N into two parts as follows, depending on the dimension N of the space:

-(vec(M) , t ) for a 12D space, with M ∈ M 3,3 (R), and t ∈ R 3 .

-(a , t ) for a 6D space, with a, t ∈ R 3 .

-(a , t ) for a 4D space, with a, t ∈ R 2 . a. In the 4D case, we use the complex multiplication notation, assimilating a to a complex number.

Object type

Proper symmetry class Symmetry group G R Symmetry definition

3D Finite {s G |G ∈ G} s G : R 12 → R 12 (vec(M) , t ) → (vec(MG) , t )
Revolution with rotoreflection invariance

s rev,δ δ = ±1 s rev,δ : R 6 → R 6 (a , t ) → (δ a , t ) 2D Cyclic (order n ∈ N * ) s 2D,n,k k ∈ 0, n s 2D,n,k : R 4 → R 4 (a , t ) → (e i2kπ/n • a, t ) .
Proposition 4 Elements of G R are linear transformations of the ambient space, i.e. for s ∈ G R , and for any x 1 , x 2 ∈ R N , and α ∈ R,

s(x 1 + αx 2 ) = s(x 1 ) + αs(x 2 ). ( 54
)
This proposition is a direct consequence of the definition of symmetries described table 5.

Proposition 5 Elements of G R are automorphisms of the ambient space: for any s ∈ G R , s is bijective, and for any

x 1 , x 2 ∈ R N , s(x 2 ) -s(x 1 ) = x 2 -x 1 . ( 55
)
Proof Bijectivity is straightforward since

-(s G ) -1 = s G -1 for any G ∈ G. -(s rev,δ ) -1 = s rev,δ for any δ ∈ {-1, 1}. -(s 2D,n,k ) -1 = s 2D,n,-k for any k ∈ N.
The morphism property comes from the linearity of those symmetry operations (proposition 4) and the fact they preserve the norm, since elements of G, {1, -1} and {e i2kπ/n |k ∈ 0, n } are themselves of unit norm.

Projection onto the pose space

In section 5, we discussed how a pose P can be identified to a finite pointset R(P) of an Euclidean space of finite dimension R N and how elements of R(P) can be computed easily from any rigid transformation (R, t) associated to the pose. The backward mapping is possible, and for any element of R(P) we can compute a rigid transformation fully describing the pose P. Hence we consider an element of R(P) as a representative of P. This computation is actually straightforward given the expressions of poses representatives (see tables 3 and 4), thus we choose to discuss this assertion in the more general framework of projection onto the pose space: given an arbitrary N-D vector x, find out what pose has the most similar representative to x. The results of this section will be useful in section 8 to propose a method for pose averaging.

Definition 4 We define as projections of x ∈ R N the poses: proj(x) argmin

P min p∈R(P) p -x 2 (56)
In nondegenerate cases, the projection is unique, and we propose in the next subsections its expression for the different classes of bounded objects, based on the computation of the closest pose representative to the query point.

Spherical object

Projection is trivial in the case of a spherical object, since all points of R 3 are valid representatives of poses. A point x ∈ R 3 therefore projects onto the pose having x for representative, namely the pose in which the center of the object admits x for 3D coordinates.

Object of revolution

In the case of a revolution object without rotoreflection invariance, the position of the center of mass and the oriented revolution axis of the object are well defined at any given pose. Reciprocally, a pose can be defined by the position of its center of mass t and its oriented revolution axis, that we represent by a normalized vector a ∈ R 3 . The unique representative of such a pose is (λ a , t ) as we defined in 5.4. Let x ∈ R 6 be a point to project onto the pose space. Without loss of generality, x can be split into two parts:

x = (x r , x t ) with x r , x t ∈ R 3 . The projection problem can therefore be reformulated into:

proj(x) = argmin P x -R(P) 2 = argmin a,t∈R 3 / a =1 x r -λ a 2 + x t -t 2 (57)
This problem admits an unique solution as long as x r = 0, and in that case the projection of x is the pose of center of mass t = x t and of axis â = x r / x r . This result holds true in the case of an object of revolution with rotoreflection invariance, since (λ â , t ) is the closest pose representative to x.

Object with a finite proper symmetry group

The representative of a pose of an object without proper symmetry is a 12D vector, the first 9 dimensions representing the orientation in the form of a vectorized matrix and the 3 others the position of the object. Therefore, and without loss of generality, we can split a point x ∈ R 12 to project in a similar fashion: x = (vec(X r ) , x t ) with x t ∈ R 3 and X r ∈ M 3,3 (R). The projection problem for such a point x -in the case of an object without proper symmetry -thus consists in:

proj(x) = argmin P x -R(P) 2 = argmin R,t X r -RΛ Λ Λ 2 F + x t -t 2 (58)
The two terms being independent, we conclude again that the position of the center of mass of the object for a projection of x is t = x t . The minimization problem regarding the orientation part is in the form of the so-called constrained orthogonal Procrustes problem [START_REF] Schönemann | A generalized solution of the orthogonal procrustes problem[END_REF][START_REF] Umeyama | Least-squares estimation of transformation parameters between two point patterns[END_REF]) and admits the solution R = USV , where UDV is a singular value decomposition of X r Λ Λ Λ such as

D = diag(α 1 , α 2 , α 3 ), (59)
with α 1 ≥ α 2 ≥ α 3 ≥ 0 and

S = I if det(U) det(V) > 0 diag(1, 1, -1) otherwise. ( 60
)
The projection is unique if rank(X r Λ Λ Λ ) ≥ 2 (Umeyama 1991), a condition that is fulfilled in most practical cases. This result also holds true in the general case of an object with a finite proper symmetry group, as (vec( RΛ Λ Λ ) , t ) is the closest pose representative to x.

2D object

The projection problem for a 2D object is similar to the 3D case.

In the case of a circular object, any point of x ∈ R 2 is a valid representative of a pose and therefore projects onto the pose of center x.

Regarding an object with cyclic symmetry, we conclude by the same reasoning as in the case of a 3D revolution object that a 4D vector x = (a , t ) , where a, t ∈ R 2 , admits an unique projection as long as a = 0. The projection admits a representative (λ / a • a , t ) , and consists of the pose defined by a translation t and a rotation of angle arg(a), where arg(a) is the argument of a seen as a complex number.

Averaging poses

Pose averaging is of great use for applications such as denoising, modes detection or interpolation. Definition of the average is not obvious in non-vector spaces such as ours, and we therefore consider a generalization of the average to arbitrary metric spaces, known as the Fréchet mean.

Let us consider a finite set of poses S = {P i } i=1..n and a set of strictly positive weights {w i } i=1..n assigned to each of those. The weighted mean of poses S is by definition the pose which minimizes the corresponding Fréchet variance:

mean(S) argmin P∈C Φ(P), (61)
the Fréchet variance at a pose P ∈ C being expressed as follows:

Φ(P) n ∑ i=1 w i d 2 (P i , P). ( 62
)
This mean is not necessarily well defined, since the minimum of Fréchet variance is not necessarily reached at a unique pose. However, such cases typically occur in configurations where the average would actually be meaningless, e.g. when averaging two poses of opposite axes for a revolution object without rotoreflection invariance.

The problem of pose averaging has already been studied for objects without proper symmetry with various metrics. [START_REF] Sharf | Arithmetic and geometric solutions for average rigid-body rotation[END_REF] notably compare different averaging techniques for the rotation part of a pose, using common metrics. While there is no known closed-form solution for the Riemannian metric (4), it can be computed iteratively, and admits closed form approximations which are "good enough" for practical applications [START_REF] Gramkow | On averaging rotations[END_REF]. A good approximation, when dealing with more than two poses, is based on computing the average of rotation matrices, and actually corresponds to the exact average when considering the distance (7) [START_REF] Curtis | A note on averaging rotations[END_REF].

In the case of our proposed distance, the expression of the Fréchet variance can be developed into:

Φ(P) = n ∑ i=1 w i min p i ∈R(P i ), p∈R(P) p i -p 2 . ( 63
)
Considering a given tuple P = (p i ) i=1...n ∈ ∏ i R(P i ) of representatives of the poses to average, the weighted sum of square distances from a pose representative p to elements of P can be split into two terms, through the introduction of the arithmetic mean m P of the elements of P:

n ∑ i=1 w i p i -p 2 = ∑ i w i p i -m P 2 + ∑ i w i p -m P 2 , ( 64
)
with the arithmetic mean

m P ∑ i w i p i ∑ i w i . ( 65
)
The first term of ( 64) is independent of p. Therefore, the problem of minimizing (64) for a given tuple P is reduced to the problem of finding a pose P which minimizes min p∈R(P) pm P 2 . This corresponds to the projection problem we discussed and solved in section 7. The average pose, if well defined, is thus the projection of the arithmetic average of a combination of representatives of the poses to average, or more formally:

mean(S) = argmin P∈A Φ(P), (66)
where

A proj (m P ) P ∈ ∏ i R(P i ) . (67)

Objects with a single representative per pose

Because the projection is unique in nondegenerate cases, the conclusion is straightforward for spherical objects, objects of revolution without rotoreflection invariance, and objects without proper symmetry. Since poses of such objects admit only one representative, a single tuple of representatives has to be considered. For those objects, the average pose exists and corresponds simply to the projection of the arithmetic average of their representatives:

mean(S) = proj ∑ i w i R(P i ) ∑ i w i (68)

Objects with multiple representatives per pose

In the other cases, a pose admits several representatives and one should consider the different combinations of representatives to find the exact average -assuming its existence and uniqueness in nonpathological cases. This problem is not specific to our method and is similar to the issue encountered when averaging orientations of an object without proper symmetries through the arithmetic mean of their quaternions representatives, each orientation admitting two antipodal quaternions as representatives. Because the number of combinations of representatives is exponential in the number of considered poses, the exact computation of the average might easily become expensive.

A common practice to circumvent this issue when averaging orientations based on a quaternion representation is to compute the arithmetic mean of a "consistent" combination of representatives and consider its projection as the average. Such a combination is usually built by choosing a representative for an arbitrary initial pose, and then picking for each pose the nearest representative to the initial one [START_REF] Gramkow | On averaging rotations[END_REF]). This approach is simple, but is in the general case ill-defined. Indeed, the chosen combination -and hence the estimated average -are in general dependent of the initial choice. We depict an illustration on figure 4 of such a case, where three different choices for the initial pose lead to three different choices of "consistent" representatives combinations and therefore three different estimations of the average.

In this subsection, we propose an stricter definition of the consistency of a combination of representatives and prove that it enables an unambiguous estimation of the mean.

Definition 5 (Consistency

) A tuple (p i ) i=1...n ∈ ∏ i R(P i ) is said consistent if and only if ∀(i, j) ∈ 1, n 2 , ∀q j ∈ R(P j ) \ p j , p j -p i < q j -p i . (69)
In other words, a consistent tuple is a set of pose representatives closer one another than to any other representatives.

Proposition 6 (Uniqueness of a consistent tuple, up to symmetry)

If (p i ) i=1...n ∈ ∏ i R(P i ) is consistent, then the set of consistent tuples of ∏ i R(P i )
is the set composed of (p i ) i=1...n and its symmetric tuples

{(s(p i )) i=1...n |s ∈ G R } . ( 70
)
Proof Let (p i ) i=1...n , (q i ) i=1...n ∈ ∏ i R(P i ) be two different consistent tuples. There exists j ∈ 1, n such as p j = q j , and we know from the consistency definition of (p i ) i=1...n and

(q i ) i=1...n that ∀i ∈ 1, n , p j -p i < q j -p i q j -q i < p j -q i . ( 71
) • • • • (a) • • • • (b) • • • • (c) T /2 T • • • • (d)
Fig. 4 Estimating the average of poses with multiple representatives: illustration with the orientation of a 2D object with a 180°rotation symmetry, that can be represented by a point on a circle, or the antipodal point. We consider three poses to average (triangle, star and disk shapes). (a, b, c) The choice of a "consistent" combination of poses representatives (blue clusters) in the sense of [START_REF] Gramkow | On averaging rotations[END_REF]) is dependent of the initial choice (circled, first row), resulting potentially in different estimations of the average pose (second row). (d) We propose a definition of consistency -which is in particular satisfied when the considered representatives are close enough one an other -ensuring an unambiguous estimation of the average pose.

If there existed i ∈ 1, n such as p i = q i , it would lead to the inequality p j -p i < p j -p i which is a contradiction. The tuples (p i ) i=1...n and (q i ) i=1...n are thus pairwise disjoint, and there exists therefore at most |R(•)| consistent tuples.

There are moreover exactly |R(•)| different representative combinations symmetric to (p i ) i=1...n -including itself (proposition 3):

{(s(p i )) i=1...n |s ∈ G R } . ( 72
)
Those combinations are consistent as much as (p i ) i=1...n , since symmetry operations are morphisms (proposition 5).

Hence the uniqueness up to symmetry of a consistent tuple of representatives.

Proposition 7 (Invariance of the projection under symmetry of representatives) Let x ∈ R N be a point of the ambient space, and s ∈ G R . The projection of x and its symmetric s(x) correspond to the same pose:

proj(s(x)) = proj(x). ( 73
)
Proof This result can be easily verified in the case of a revolution object with rotoreflection symmetry or a 2D cyclic object. Therefore, we only discuss the case of an object with a finite proper symmetry group. Let x ∈ R 12 be a point of the ambient space, and s G ∈ G R , where G ∈ G. We split x into two parts M ∈ M 3,3 (R) and t ∈ R 3 such as x = (vec(M) , t ) .

(74)

The symmetric of x can thus by definition be written as

s G (x) = (vec(MG) , t ) . (75)
The projection of x onto the pose space consists in the pose [ R, t], with R = USV , considering a SVD decomposition MΛ Λ Λ = UDV and using the same conventions for U, V, S and D than in subsection 7.3 in which we detailed this result.

Similarly, the projection of s G (x) can be deduced from a SVD decomposition of MGΛ Λ Λ . We know from lemma 1 that this latter term can be rearranged into

MGΛ Λ Λ = MΛ Λ Λ G. (76)
Thus, injecting the previous decomposition into this expression enables us to exhibit a SVD decomposition of MGΛ Λ Λ :

MGΛ Λ Λ = UDV G = UD Ṽ (77)
where Ṽ = G V. Because G is a rotation matrix,

det( Ṽ) = det(G) det(V) = det(V) (78)
and the projection of

s G (x) is therefore proj(s G (x)) = [US Ṽ , t] = [ RG, t]. (79)
Since G is a proper symmetry of the object,

[ RG, t] = [ R, t] (80)
which concludes the proof.

Based on those properties, it is possible to propose an unambiguous estimation of the mean, as follows:

Definition 6 (Mean estimation) Given a consistent tuple (p i ) i=1...n ∈ ∏ i R(P i ) of representatives of the poses S = {P i } i=1...n , we define as estimation of the mean of those poses mean(S) proj

∑ i w i p i ∑ i w i . ( 81
)
Proof We show here that this expression is well-defined, i.e. that it does depends on the consistent tuple of representatives considered. Let (p i ) i=1...n ∈ ∏ i R(P i ) be a consistent tuple of representatives. The consistent tuples are the tuples symmetric to this one (proposition 6):

{(s(p i )) i=1...n |s ∈ G R } . (82)
Let us therefore consider an arbitrary consistent tuple (s(p i )) i=1...n , with s ∈ G R and show that it leads to the same estimation M of the average pose than an estimation performed with (p i ) i=1...n .

By definition,

M = proj ∑ i w i s(p i ) ∑ i w i . ( 83
)
Because of the linearity of symmetries (proposition 4), the arithmetic mean of (s(p i )) i=1...n corresponds to the symmetric of the arithmetic mean of (p i ) i=1...n :

∑ i w i s(p i ) ∑ i w i = s ∑ i w i p i ∑ i w i , (84)
hence this expression of M :

M = proj s ∑ i w i p i ∑ i w i . (85)
Invariance of the projection under symmetry of representatives (proposition 7) enables to conclude this proof, since

M = proj ∑ i w i p i ∑ i w i . ( 86
)
Such estimation corresponds most likely to the actual mean (61), unfortunately we do not have a proof of this conjecture.

Sufficient conditions of consistency

While the average of poses can be easily estimated given a consistent combination of representatives, there are however cases where no such combination exist, e.g. when trying to average poses spread out over the set of orientations such as illustrated on figure 4abc. In such a case, one might have to perform an exhaustive evaluation of the Fréchet variance for the different combinations in order to pick the one corresponding to the actual mean. Fortunately, this case is of limited practical interest, as the mean makes little sense.

Consistency is nonetheless not trivial to establish in the general case, and therefore in this section, we provide simple sufficient conditions for a combination of representatives to be consistent. Consistency is in particular satisfied when the considered representatives are close enough one an other, relatively to the distance between their representatives: Proposition 8 (Close-enough representatives) Let (p i ) i=1...n ∈ ∏ i R(P i ) be a tuple of pose representatives. If its elements are closer one another than T /2, i.e. if

∀(i, j) ∈ 1, n 2 , p i -p j < T /2, (87)
then this tuple is consistent.

Proof Let us consider a tuple (p i ) i=1...n ∈ ∏ i R(P i ) that satisfies the condition (87). For any (i, j) ∈ 1, n 2 and q j ∈ R(P j ) \ p j , the below properties hold true:

     q j -p j ≤ p j -p i + q j -p i (triangle inequality) q j -p j ≥ T (definition 3) p j -p i < T /2.
(condition ( 87))

From those inequalities, we deduce that

p j -p i < q j -p i , (89)
hence the consistency of (p i ) i=1...n .

A special case of practical value of this criterion is obtained when the considered representatives are included in a ball small enough. It is illustrated on figure 4d, and is exploited in our application example section 10.

Proposition 9 (Representatives within a ball) Let (p i ) i=1...n ∈ ∏ i R(P i ) be a tuple of pose representatives. If those representatives lie in a ball of radius T /4, i.e. if

∃c ∈ R N /∀i ∈ 1, n 2 , p i -c < T /4, (90)
then this tuple is consistent.

Proof A tuple satisfying this condition also satisfies the one of proposition 8 because of the triangle inequality, since for any (i, j) ∈ 1, n 2 ,

p i -p j ≤ p i -c + p j -c < T /4 + T /4. (91)
These sufficient conditions can easily be generalized by considering that only the orientation parts of poses representatives have actually to be close enough one an other. This is a direct consequence to the fact that the pose space can be decomposed into a Cartesian product of a position and an orientation space, and that symmetry considerations only affect orientation for a bounded object.

Local properties

While we focus in this article on global metric properties, the proposed distance can be shown locally equivalent to a Riemannian metric over the pose space manifold. We therefore briefly discuss in this section those aspects.

Object with finite proper symmetry group In the case of a 3D object of finite proper symmetry group, the pose space can be seen as a manifold of dimension 6 (3 for translation, and 3 for rotation). Let us consider two poses of such an object, and T 1 and T 2 ∈ SE(3) two associated rigid transformations, such as

d([T 1 ], [T 2 ]) = d no_sym (T 1 , T 2 ), (92)
i.e. such as

T -1 1 • T 2 to be a shortest displacement from pose [T 1 ] to pose [T 2 ].
If the angle of the relative rotation between T 1 and T 2 is small, the corresponding displacement of a point x ∈ R 3 of the object between those two poses can be approximated by introducing the displacement vector v ∈ R 3 and the rotation vector ω ∈ R 3 between T 1 and T 2 as follows:

(T -1 1 • T 2 )(x) ∼ θ →0 x + ω × x + v. (93)
The distance between the two poses can then be approximated by

d([T 1 ], [T 2 ]) ∼ θ →0 1 S S µ(x) ω × x + v 2 ds. (94)
When considering an infinitesimal displacement between T 1 and T 2 , and assimilating v and ω to translational and angular velocities, this expression corresponds to the notion of kinetic energy (up to a factor 2/S).

It is also a quadratic form, and therefore the proposed distance is locally equivalent to a Riemannian distance associated with the following metric tensor g, defined for any two tangent vectors

(v 1 , ω 1 ) , (v 2 , ω 2 ) ∈ R 3 × R 3 by g (v 1 , ω 1 ) , (v 2 , ω 2 ) 1 S S µ(x)(ω 1 × x + v 1 ) (ω 2 × x + v 2 )ds. ( 95
)
This Riemannian metric was already described in the litterature [START_REF] Zefran | Planning of smooth motions on SE (3)[END_REF][START_REF] Lin | Objective and frame-invariant kinematic metric functions for rigid bodies[END_REF], and [START_REF] Belta | An SVD-based projection method for interpolation on SE (3). Robotics and Automation[END_REF] notably suggested its use for interpolation on SE(3). If the covariance matrix considered for the object is isotropic -i.e. Λ Λ Λ = λ I, with λ ∈ R + * , which is the case e.g. for an object of spherical or cubic shape -, the proposed distance is moreover locally equivalent to the usual Riemannian distance (4) over SE(3).

Other objects classes Similarly, the pose space of a 3D revolution object can be seen as a 5D manifold. The proposed distance for such an object is indeed locally equivalent to a Riemannian distance over S 2 × R 3 induced by embedding S 2 as a sphere in a 3D Euclidean space, and considering the usual Euclidean distance regarding the translation part.

Poses of a 2D object with a finite proper symmetry group lie likewise on a 3D manifold, and the proposed distance is locally equivalent to a Riemannian distance over S 1 × R 2 induced by embedding S 1 as a circle in a 2D Euclidean space, i.e. by considering as distance between two infinitesimally close orientations the angle of the relative rotation between those two (up to a scaling factor).

Finally, pose spaces of spherical 3D objects and circular 2D ones are respectively equivalent to R 3 and R 2 , associated with the Euclidean distance.

Remarks Despite this local equivalence, the proposed pose spaces can be topologically different from the manifolds evoked above, because of the discrete symmetries of the object. As an example, the proposed pose space for a revolution object with rotoreflection invariance is actually homeomorphic with RP 2 ×R 3 , where RP 2 is the real projective plane -i.e. a sphere with antipodal points associated -instead of S 2 × R 3 .

Moreover, except for 3D spherical or 2D circular objects, the distance ( 10) is globally different from these Riemannian metrics. Compared to the proposed distance, those latter have several drawbacks.

They are indeed more expensive to estimate since they include trigonometric computations (e.g. for distance (4)). There is even no known closed-form expression for such distance in the case of an arbitrary 3D object of finite proper symmetry group. Moreover, they do not benefit from the same nice computational properties than the proposed distance regarding the problem of pose averaging, for which they may require iterative approaches [START_REF] Pennec | Computing the Mean of Geometric Features Application to the Mean Rotation[END_REF]. But more fundamentally, and as discussed in the introduction, our distance was proposed to quantify the similarity between poses at a global scale. The notion of motion between two poses, expressed in a Riemannian distance, is therefore irrelevant to the kind of applications we are interested in.

Application example

In this section, we illustrate the use of our metric on the problem of rigid object instances detection and pose estimation. Given an input depth image of a scene containing potentially multiple instances of a rigid object, our goal consists in recovering the poses of these instances. We perform experiments with three different objects of different symmetry classes among those shown in table 1 to illustrate the versatility of our approach:

the Stanford bunny -an object without proper symmetry.

a candlestick -considered as a revolution object without rotoreflection invariance. a cartoon-like space rocket -which is invariant by rotation of 120°along its axis.

For practical reasons, our example is based on synthetic 3D data, depicted in figure 5b. It was produced using an offthe-shelf stereo matching algorithm, on a pair of images of a virtual scene lit by a pseudo-random pattern projector (figure 5a). Those were synthesized with the rendering engine Blender Cycles (Blender Online Community 2016).

The reader is referred to the work of [START_REF] Brégier | Symmetry aware evaluation of 3d object detection and pose estimation in scenes of many parts in bulk[END_REF] for a more quantitative analysis of the interest of the proposed distance for pose estimation.

10.1 Mean Shift for pose recovery Among the existing work adapted for a depth image input, some popular approaches [START_REF] Drost | Model globally, match locally: Efficient and robust 3D object recognition[END_REF][START_REF] Fanelli | Real time head pose estimation with random regression forests[END_REF][START_REF] Tejani | Latent-Class hough forests for 3D object detection and pose estimation[END_REF] process in a bottom-up approach, generating votes for poses candidates in a Hough-like manner and, identifying those votes to the sampling of a pose distribution, look for its main modes which hopefully correspond to the actual poses of object instances. We place ourselves within such a modes-seeking framework.

Modes detection in a distribution on the pose space is not an easy problem. Grid-based accumulation techniques traditionally used in Hough-like methods are unpractical due to the high dimension of the pose space, except through the use of a sparse structure [START_REF] Rodrigues | 6D pose estimation of textureless shiny objects using random ferns for bin-picking[END_REF] or solely as a preprocessing technique used on a few dimensions [START_REF] Drost | Model globally, match locally: Efficient and robust 3D object recognition[END_REF][START_REF] Rodrigues | 6D pose estimation of textureless shiny objects using random ferns for bin-picking[END_REF][START_REF] Tejani | Latent-Class hough forests for 3D object detection and pose estimation[END_REF]. A popular approach for modes detection more adapted to high dimensional problems is Mean-Shift, a local and non parametric iterative method based on a kernel density estimation of the probability distribution. Unfortunately, this method is designed for vector spaces, which the pose space is not. [START_REF] Fanelli | Real time head pose estimation with random regression forests[END_REF] and [START_REF] Tejani | Latent-Class hough forests for 3D object detection and pose estimation[END_REF] used nonetheless Mean Shift with a global parametrization of the pose space, but such approach suffers from the intrinsic drawbacks we evoked in the introduction. [START_REF] Tuzel | Simultaneous multiple 3D motion estimation via mode finding on lie groups[END_REF] and later [START_REF] Subbarao | Nonlinear mean shift for clustering over analytic manifolds[END_REF] proposed versions of Mean Shift for Lie groups and Riemannian manifolds that might circumvent those issues, but their approach is computationally expensive as it requires at each iteration to map the samples to the local tangent plane of the point to shift, compute the shift vector through the classical Mean Shift procedure and map it back to get the updated point.

In this example, we show how standard Mean Shift algorithm can be adapted to perform modes detection on the pose space quite efficiently through the use of our distance, even for objects showing proper symmetries properties.

Given an input depth map, we generate a set of votes for object poses {P i } i=1,...,n thanks to our own implementation of the method of [START_REF] Drost | Model globally, match locally: Efficient and robust 3D object recognition[END_REF]. It is based on a local aggregation scheme, and is performed by matching geometric features extracted from the input data with those extracted from a model of the object. We use a sampling rate of τ d = 0.025 and consider every samples as reference points -the interested reader is referred to the original description of [START_REF] Drost | Model globally, match locally: Efficient and robust 3D object recognition[END_REF] regarding the meaning of those parameters. This initial pose distribution is quite spread, as can be observed from the blurred effect of the representation figure 5c, column 1.

We then consider each of those votes as a starting pose for Mean Shift. A usual practice to speed up drastically computations when seeking modes is to consider only a subset taken from the votes as starting points e.g. by random sampling, but we do not use such approach here to avoid the introduction of additional parameters. For each of the poses to shift, we process iteratively following the usual Mean Shift procedure. Considering a flat Mean Shift kernel of radius r, we find the poses within the set of votes that are within a radius r of the current pose, compute their mean, shift the current pose to this mean and repeat until convergence.

We choose arbitrarily the radius r of our kernel to correspond to 1.5 times the smallest eigenvalue of the matrix Λ Λ Λ for the bunny and the candlestick -that is roughly 75% of the smallest typical dimension of the object.

For the rocket, we use a smaller radius of √ 3/2 times this eigenvalue, which is the greatest value that satisfies the condition of proposition 9 (see appendix B). A bigger radius value may also experimentally give good results, but does not provide the same theoretical guarantees.

Indeed, such choices of radii satisfy to the condition r < T /4, where T is the minimum distance between representatives of the same pose (see definition 3). We know from section 5.1 that given a representative p of the pose P to shift, poses closer than r from P are the poses who have one representative within a ball of radius r around p. These representatives can be retrieved efficiently through an offthe-shelf radius search method. Moreover, because r is chosen strictly smaller than T /2, the representatives retrieved by such query necessarily correspond to different poses and there are therefore no duplicates. Furthermore, these representatives lie in a ball of radius T /4, therefore we have the insurance from proposition 9 that we can unambiguously estimate the average of the corresponding poses as the projection on the pose space of the arithmetic mean of these representatives.

As a consequence, adapting the Mean Shift procedure to our pose space given the chosen radius only requires an additional step compared to the usual procedure in a vector space. This step consists in projecting the arithmetic mean of the retrieved representatives on the pose space, which can (c) From left to right: Pose distribution generated from the input 3D data using the method of [START_REF] Drost | Model globally, match locally: Efficient and robust 3D object recognition[END_REF]. Shifted poses using Mean Shift. Shifted poses weighted by the density of the initial distribution. Recovered poses of object instances. A pose distribution is represented by accumulating the 2D silhouettes on the image plane of the object at its different poses (the more silhouettes a pixel belongs to, the darker it is).

The process is performed independently for the three different objects. be performed as described in section 7. Pseudo-code of the adapted Mean Shift algorithm is proposed in algorithm 1.

The projection of the mean at each iteration is actually not required for the poses to shift towards meaningful modes in practice, and therefore we perform it only once after convergence. The pose distribution obtained after Mean Shift is sharper than the original one, as can be seen on figure 5c column 2 where the silhouettes of object instances emerge.

We then estimate the probability density (up to a scaling factor) at a mode M by kernel density estimation:

s(M ) = ∑ i H d(M , P i ) r (96)
with H the Epanechnikov kernel to which is associated the flat Mean Shift kernel [START_REF] Fukunaga | The estimation of the gradient of a density function, with applications in pattern recognition. Information Theory[END_REF]: The most significant modes based on this estimate can then be extracted. Those poses are assumed to be good pose hypotheses for the object instances of the scene, and typically stand up from the weighted distribution (figure 5c column 3). We refine them further through e.g. the ICP procedure [START_REF] Besl | A method for registration of 3-D shapes[END_REF], and filter them by checking their consistency with the actual data in order to avoid false postives, to hopefully retrieve the poses of object instances in the 3D scene (figure 5c column 4).

H(d) =    3 4 (1 -d 2 ) if |d| ≤ 1 0 otherwise. ( 97

Theoretical limitation

The probabilistic interpretation used here is abusive and should only be considered as a way to give the intuition of the Mean Shift approach. Kernel density estimation over a Riemannian manifold has been mathematically studied by [START_REF] Pelletier | Kernel density estimation on riemannian manifolds[END_REF], but our approach does not enter into such framework as we do not consider a Riemannian distance. Some theoretical results might nonetheless be obtained, since our metric is equivalent to a Riemannian metric for small Mean Shift radii (see section 9). Such considerations however, are out of the scope of this work, and s(M ) can simply be considered as a score for the pose M .

Comparison with a SE(3) metric

We compare these experimental results with those obtained using a more usual distance adapted to SE(3)

d(T 1 , T 2 ) = t 2 -t 1 2 + r 2 R 2 -R 1 2 . ( 98
)
We chose this particular distance because the Mean Shift approach depends on the ability to average multiple poses, and a Frobenius norm over the rotation space is quite suited for this task [START_REF] Curtis | A note on averaging rotations[END_REF]. To limit the comparison bias, we choose the scaling factor r between the rotation and translation parts to be

r = λ 2 1 + λ 2 2 + λ 2 3 3 , (99)
where λ 1 ≤ λ 2 ≤ λ 3 are the eigenvalues of Λ Λ Λ . This choice is indeed consistent with our proposed metric, in that the rotational part of the distance between two poses of an object without proper symmetry corresponds respectively to 2 √ 2r sin(θ /2) for distance (98), and 2 √ I k sin(θ /2) for the proposed one, where θ is the angle of the relative rotation between the two poses, and I k is the inertia moment of the corresponding axis k (see section 4.4). Considering a typical value of 2/3(λ 2 1 + λ 2 2 + λ 2 3 ) for I k enables to identify those two terms.

As illustrated on figure 6, we do not observe much differences between the two approaches for the bunny object. This is actually not surprising because the two distances are in this case very similar, since the bunny is not symmetric, and has a limited anisotropy.

However, the benefit of our metric appears for the candlestick and the rocket, that both are symmetric. Initial votes for poses are indeed spread out over the space of rigid transformations SE(3), and considering the SE(3) distance ( 98) therefore leads to the detection of multiple modes corresponding to the same instance, because of the symmetries. One would have to filter out these duplicated poses hypotheses prior to any practical application, and because of these, it is required to check numerous modes to find every instance of the scene. In our example (figure 6b) we had to test up to respectively the 4th and 8th mode to recover the poses of the 3 rockets and candlesticks present in the scene.

On the other hand, the proposed distance enables to account for the proper symmetries of the object, and thus to better exploit the information contained in the initial set of votes than the SE(3) distance. In our example, the 3 first modes extracted indeed correspond to the 3 actual instances for each object, without any duplicates. Moreover, these modes have more support from the initial set of votes and therefore stand out more clearly from the noise, which is important for the robustness of the method. The pose distribution obtained after Mean Shift is indeed visually sharper (figure 6, left), and spurious modes for the rocket and the candlestick have a score below respectively 59% and 66% of the ones of the modes corresponding to actual object instances, compared to 89% and 98% when using the distance (98).

Summary and discussion

In this paper, we address issues of the commonly used notion of pose of a rigid object, both in the 2D and 3D case. Modes are supposed to be good hypotheses regarding the poses of actual instances, and are classified as true positives (blue), duplicates (green, strikethrough) and false positives (yellow, double strikethrough). Both distances perform similarly well for the bunny object, which has no proper symmetry, and the first modes extracted correspond to the different object instances. However, the SE(3) distance does not account for symmetries of the rocket and candlestick objects, and therefore leads to the generation of duplicated pose hypotheses, requiring to consider many of them to recover the pose of every instances. The proposed distance better exploit the information contained in the initial pose distribution, leading to a generation of poses hypotheses with no duplicates, and with a greater relative score gap between modes corresponding to actual instances and spurrious ones.

While pose is usually assumed to be equivalent to a rigid transformation, this is not true in general due to potential symmetries of the object. We therefore propose a broader definition of the notion of pose, consisting in a distinguishable static state of the object. We show that with this definition, a pose can be considered as an equivalence class of the space of rigid transformations, thanks to the introduction of a proper symmetry group specific to the object. We believe this notion to be essential, as many of manufactured objects actually show some symmetry properties and could not be represented properly previously.

Based on this definition, we propose a metric over the pose space as a measure of the smallest displacement between two poses, the length of a displacement consisting in the RMS displacement distance of surface points of the object. Besides being defined for any physical rigid object, such metric is interesting in that it does not depend on some arbitrary choice of frames or of scaling factors, while accounting for the geometry of the object.

With computation efficiency in mind, we propose a coherent framework to represent poses in a Euclidean space of at most 12 dimensions, so as to enable efficient distance computations, neighborhood queries, and pose averaging, while providing theoretical proofs for those results.

Those developments enable the use of our metric for high level tasks such as pose estimation based on a set of votes, where it appears to provide better results than a metric suited for SE(3).

A Distance simplification for a revolution object without rotoreflection invariance

Using the same definition of Λ Λ Λ as in section 5.3, the rotation part of the proposed distance for a revolution object without rotoreflection invariance can be rewritten in the following way:

d 2 rot (P 1 , P 2 ) = min φ 1 ,φ 2 1 S S µ(x) R 2 R φ 2 z x -R 1 R φ 1 z x 2 ds = min φ 1 ,φ 2 R 2 R φ 2 z Λ Λ Λ -R 1 R φ 1 z Λ Λ Λ 2 F . (100)
Frobenius norm being invariant under rotations, this expression can be rewritten with the relative rotation R R -1 1 R 2 :

d 2 rot (P 1 , P 2 ) = min

φ 1 ,φ 2 R -φ 1 z RR φ 2 z Λ Λ Λ -Λ Λ Λ 2 F . (101)
We parametrize R using Euler angles ( ψ, θ , φ ) ∈ R 3 such as R = R ψ z R θ x R φ z , considering the following elementary rotations: .

(102)

Injecting this parametrization into the previous expression and performing the changes of variables ψ ← ψφ 1 and φ ← φ + φ 2 leads us to the following expression:

d 2 rot (P 1 , P 2 ) = min φ 1 ,φ 2 R -φ 1 z R ψ z R θ x R φ z R φ 2 z Λ Λ Λ -Λ Λ Λ 2 F = min ψ,φ R ψ z R θ x R φ z Λ Λ Λ -Λ Λ Λ 2 F . (103)
Because of the specific shape of Λ Λ Λ (equation 30), the term to minimize can be decomposed into two parts:

R ψ z R θ x R φ z Λ Λ Λ -Λ Λ Λ 2 F = λ 2 z R ψ z R θ x R φ z e z -e z 2 a ψ,φ +λ 2 r ( R ψ z R θ x R φ z e x -e x 2 + R ψ z R θ x R φ z e y -e y 2 ) b ψ,φ . (104)
Developing this expression thanks to the definition of the elementary rotations (102), we evaluate those terms into:

a ψ,φ = 2(1 -cos(θ )) b ψ,φ = 4 -2 cos(ψ + φ )(1 + cos(θ ))). (105)
The first term is independent of ψ and φ . The second one can be minimized easily relatively to those two parameters, and admits a minimum that appears to be equal to the first term:

This result enables us to estimate the distance between the two poses in a closed form. However, having to refer to a relative rotation between the two poses and perform an Euler decomposition is cumbersome and would not enable to propose a representation of a pose efficient for neighborhood queries. We prefer instead to use the following property 2(1cos(θ )) = Re z -e z 2 = R 2 e z -R 1 e z 2 (107) in order to express the rotation part of the square distance as a function of the distance between the revolution axes of the object at the two poses:

d 2 rot (P 1 , P 2 ) = (λ 2 r + λ 2 z ) R 2 e z -R 1 e z 2 . (108)

B Minimum distance between representatives of the same pose

In this appendix, we show how to compute the minimum distance T between representatives of the same pose (see the definition 3) for the objects of our application example.

The bunny and the candlestick admit one representative per pose, hence T = +∞ for those by convention.

The case of the rocket requires some calculus. For the sake of simplicity we consider an object frame whose z axis corresponds to the symmetry axis of the rocket. In this frame, the proper symmetry group of the rocket can be expressed as

G = I, R 2π/3 z , R -2π/3 z (109)
and the square root of the covariance matrix as Λ Λ Λ = diag(λ r , λ r , λ z ).

(110)

We choose to consider the reference pose P 0 and one of its representatives p (underbraced below) for the computation of T as it makes the computation simpler. Representatives R(P 0 ) of this pose are

         vec(Λ Λ Λ ) 0 3 p , vec(R 2π/3 z Λ Λ Λ ) 0 3
, vec(R

-2π/3 z Λ Λ Λ ) 0 3          . ( 111
)
Thanks to those choices, we can evaluate T into:

T = min q∈R(P 0 ),q =p q -p = min R ±2π/3 z Λ Λ Λ -Λ Λ Λ F = √ 6λ r . (112)
The threshold T 4 of proposition 9 therefore corresponds for the rocket to the value

√ 3 2 λ r .
C Numerical recipes for a triangular mesh

From those results, we deduce the expression of the surface area of the mesh:

S = ∑ i S a i ,b i ,c i , (116)
its center of mass:

o = ∑ i S a i ,b i ,c i o a i ,b i ,c i ,
and its normalized covariance matrix, if the center of mass of the mesh is chosen as origin of the object frame: (118)

Λ Λ Λ 2 = 1 S ∑ i σ σ σ a i ,b i ,c i .

  Spherical symmetry (d) No proper symmetry (e) Finite non trivial

Fig. 2

 2 Fig.2Illustration of our proposed distance for a 2D object with a rotation symmetry of 2π/3. (a) The distance between two poses consists in the minimum distance between two poses of an equivalent object without proper symmetry -here there are 3 possible poses of the equivalent object for each pose of the original object. The distance between poses of an object without proper symmetry corresponds to the RMS distance between corresponding object points (dashed segments). (b) Equivalently, the proposed distance can be considered as a measure of the smallest displacement from one pose to an other -here there are actually only 3 different displacements between those two poses (solid, dotted and dashed boxes).

Fig. 3

 3 Fig.3Usual metrics would consider the distances between the two poses in cases (a) and in (b) equal -as in both cases the two poses are linked by a rotation of 15°around the center of mass of the object. Our distance accounts for the object geometry and discriminates these two configurations.

  (a) Stereo pair used for 3D reconstruction. (b) Reconstructed 3D range data (RGB channel solely for visualization purposes).

Fig. 5

 5 Fig. 5 Application example: object instances detection and pose estimation via a Mean Shift procedure to extract the main modes of an initial pose distribution. Illustration with three different objects of various symmetry properties.

Fig. 6

 6 Fig.6Comparison of the proposed distance and a SE(3) distance for pose estimation. Left: shifted poses weighted by the density of the initial pose distribution. Right: first modes retrieved from the pose distribution, sorted by descending score (with the contours of the actual poses of object instances superimposed). Modes are supposed to be good hypotheses regarding the poses of actual instances, and are classified as true positives (blue), duplicates (green, strikethrough) and false positives (yellow, double strikethrough). Both distances perform similarly well for the bunny object, which has no proper symmetry, and the first modes extracted correspond to the different object instances. However, the SE(3) distance does not account for symmetries of the rocket and candlestick objects, and therefore leads to the generation of duplicated pose hypotheses, requiring to consider many of them to recover the pose of every instances. The proposed distance better exploit the information contained in the initial pose distribution, leading to a generation of poses hypotheses with no duplicates, and with a greater relative score gap between modes corresponding to actual instances and spurrious ones.

  φ = 2(1cos(θ )).

  Center of mass, area and covariance matrix of the surface of a triangular mesh S = i T (a i , b i , c i ) -where T (a, b, c) is a triangle defined by three vertices a, b, c ∈ R 3 -can be computed easily through the contributions of its triangles.Let T (a, b, c) be a given triangle. Its area can be computed thanks to a cross product: S a,b,c = (b -a) × (c -a) covariance matrix via: σ σ σ a,b,c = S a,b,c 12 9o a,b,c o a,b,c + aa + bb + cc .

Table 1

 1 Classification of the potential groups of proper symmetries for a 3D bounded physical object.

Table 2

 2 Classification of the potential groups of proper symmetries for a 2D bounded physical object.

	No proper symmetry	Cyclic symmetry (finite non trivial)	Circular symmetry

Table 3

 3 Proposed representatives for a pose P = [(R ∈ SO(3), t ∈ R 3 )] of a 3D object depending on its proper symmetries.

Table 4

 4 Proposed representatives for a pose P = [(θ ∈ R, t ∈ R 2 )] of a 2D object depending on its proper symmetries.AssumptionsCenter of mass of the object as origin of the object frame.

	1/2
	.

Notations

∀α ∈ R, e iα = (cos(α), sin(α)), and λ 1 S S µ(x) x 2 ds

)

  Algorithm 1 Mean Shift algorithm within the pose spaceInput: {P i } i=1,...,n a set of poses, p in a representative of the pose to shift, r the Mean Shift radius.

	Output: A representative of the shifted pose.
	1: R ← GetRepresentatives({P i } i=1,...,n )
		# Preprocessing step independent of p in .
		# R contains all poses representatives:
		# ∀i ∈ 1, n , {R[i, j]} j=1,...,|R(•)| = R(P i ).
	2: p ← p in
	3: repeat
	4:	p old ← p
	5:	N ← RadiusSearch(R, p, r)
	6:	if N = / 0 then
	7:	m ← ∑ (i, j)∈N R[i, j] /|N |
	8:	p ← ClosestRepresentative(proj(m))
	9:	end if
	10: until p = p old
	11: return p

Acknowledgements We would like to thank the anonymous reviewers for their insightful comments and suggestions that greatly helped to improve this article. Some of our illustrations are based on the following mesh models: "Stanford bunny", from the Stanford University Computer Graphics Laboratory; "Eiffel Tower" created by Pranav Panchal; and " Şamdan 2" (candlestick), from Metin N. Those were respectively available online at http://graphics.stanford.edu/data/ 3Dscanrep, and the GrabCAD and 3D Warehouse plateforms on May 2016.