# Geometric Moments and Their Invariants

## Authors

- First Online:

DOI: 10.1007/s10851-011-0323-x

- Cite this article as:
- Hickman, M.S. J Math Imaging Vis (2012) 44: 223. doi:10.1007/s10851-011-0323-x

- 2 Citations
- 642 Views

## Abstract

Moments and their invariants have been extensively used in computer vision and pattern recognition. There is an extensive and sometimes confusing literature on the computation of a basis of functionally independent moments up to a given order. Many approaches have been used to solve this problem albeit not entirely successfully. In this paper we present a (purely) matrix algebra approach to compute both orthogonal and affine invariants for planar objects that is ideally suited to both symbolic and numerical computation of the invariants. Furthermore we generate bases for both systems of invariants and, in addition, our approach generalises to higher dimensional cases.

### Keywords

Orthogonal and affine transformationsMomentsInvariantsCovariantsImage recognition## 1 Introduction

*ρ*:ℝ

^{n}→ℝ

^{m}; that is a vector-valued function defined on ℝ

^{n}. We define a

*geometric*moment of

*ρ*by

**a**=(

*a*

_{1},

*a*

_{2},…,

*a*

_{n}) is a multi-index (with non-negative components),

^{n}. The

*order*of the moment is given by

*ρ*has compact support

*D*and is bounded so that the moments (1) are finite.

*n*=2 and

*ρ*is usually a scalar valued function (grey scale image) or takes values in ℝ

^{3}(RGB image). Thus

*a*+

*b*. It has a single component in the case of a grey scale image. For RGB images we will consider that there are three separate moments. Thus, for example, the red component is given by

*scalar*quantity.

These moments were introduce to pattern recognition by the seminal paper of Hu [7]. In this paper he consider planar images and introduced the a set of 7 rotational *invariants* that were constructed from moments up to order 3. This set has had a rather checkered history (see [5] for a brief account of the history of Hu’s invariants).

*G*with a linear action on ℝ

^{n}; that is the group acts on ℝ

^{n}via a matrix

*A*

*O*(2) and affine

*GL*(2) groups on ℝ

^{2}are linear (they are also linear in higher dimensions). By contrast, the projective action of

*GL*(3) on ℝ

^{2}is not. The choice of a linear action may seem to be excessively restrictive in that it does not allow translations. However as we will see in Sect. 5, translations may be invariantly normalised.

There has been a number of approaches in the literature to the construction of orthogonal (rotational) and affine moment invariants. The methods employed have ranged from the use of Fourier-Mellin transforms [11, 22] to algebraic invariants [9, 19, 20, 23], orthogonal polynomials [2, 12, 16, 17, 21], complex moments [1, 3, 4] and graphical methods [14]. In this paper, inspired by the theory of binary invariants [6, 13], we develop a purely matrix algebraic approach to obtain both orthogonal and affine invariants.

In Sect. 2 we will examine the transformation of the monomials **x**^{a} under the action (2). In the following section, the action on moments is discussed. In Sect. 4 moment covariants and invariants are introduced. Invariants for the orthogonal group (and its conformal generalisation) are constructed in Sect. 6. The affine case is examined in Sect. 7. In the final section we make some concluding remarks.

## 2 Monomials

Given a group *G* with a linear action on ℝ^{2}; that is the group acts via a matrix *A* we wish to compute the induced action on the monomial *x*^{a}*y*^{b}. Our analysis is valid in any dimension and so for this and the next section we work in ℝ^{n}. We begin with a definition of the Kronecker product [18, p. 1867] (see [10, Chap. 13] for a recent discussion).

### Definition 1

*R*be

*m*×

*n*matrix and

*S*be an arbitrary matrix. The Kronecker (or direct or tensor) product of

*R*and

*S*is the matrix given by

The importance of this construction lies in the following observation.

### Proposition 1

*Let*

*A*,

*B*,

*X*

*and*

*Y*

*be matrices such that*

*AX*

*and*

*BY*

*are defined*.

*Then*

*In addition*

*and*

*whenever the inverses exist*.

### Proof

Thus there is an induced action on *X*⊗*Y* given by *A*⊗*B*.

**x**

_{(1)}=

**x**be the monomials of degree 1 in ℝ

^{n}. Define

^{2},

### Proposition 2

*Let*

*G*

*act linearly on*ℝ

^{n}.

*Then the action of*

*A*∈

*G*

*on the monomials of degree*

*d*

*is given by*

*that is*

### Proof

*A*on the monomials of degree

*d*is given by

In [15] higher order monomials are constructed as matrices from outer products of lower order monomials; that is order *c*+*d* monomials are initially given by \(\mathbf{x}_{(c)} \mathbf{x}_{(d)}^{T}\). However these authors rely on a specific variable ordering and normalisation of the monomials in order to obtain a transformation matrix that will be orthogonal if *A* is orthogonal.

The Kronecker product is implemented in both symbolic and numerical mathematical packages. For example, it is given by KroneckerProduct in both the LinearAlgebra package of Maple and in Mathematica, and by kron in Matlab.

## 3 Transformations of Moments

*A*, the zeroth order moment will transform

*q*. This will not happen unless

*ρ*has a very specific form. In particular, if

*ρ*is the

*characteristic*function then we get the desired transformation law (with

*q*=1). Of course

*ρ*=1 is not a particularly interesting case for pattern recognition. However we obtain a moment that transforms under a multiplier representation if we consider the parts of the image where the value of

*ρ*is in a chosen range.

### Definition 2

*α*>0, let

*threshold*moments based on

*ρ*

^{(k)}are given by

*D*

_{k}is the support of

*ρ*

^{(k)}.

*ρ*will take only a discrete range of values. For each of these values (fixing

*α*) we have a complete set of threshold moments. For example, if the image of interest is a 8-bit grey scale image and we choose

*α*=1 then each of the 256 threshold moments

*k*. All of these moments will transform under (3) with

*q*=1. Therefore any

*weighted sum*of these threshold invariants will also transform under (3) with

*q*=1.

### Remark

The level sets of *ρ* may not be closed curves. For example, consider the unit square with *ρ*(*x*,*y*)=*x*. The level sets of *ρ* are line segments *x*=*k*, 0≤*y*≤1. This is the reason why, from a theoretical point of view, we do not choose threshold moments based on *ρ*(**x**)=*k*.

*d*and moments of order

*d*where

*d*=|

**a**|. Let

^{2},

### Proposition 3

*Under a linear transformation*

*A*,

*we have*

*where the components of*\(\mathcal{M}_{(d)}\)

*are threshold moments*.

The proof of this proposition follows immediately from Proposition 2 and the discussion above. In the light of this result, all moments discussed in the rest of this paper will be understood to be threshold moments.

### Remark

*dΩ*rather than the volume “element”

*dx*

_{1}

*dx*

_{2}⋯

*dx*

_{n}; that is, we used the

*signed*volume rather than the unsigned volume. If the unsigned volume is used then Proposition 3 becomes

*special*orthogonal group

*SO*(

*n*) (that is, the group of rotations) or the special affine group

*SL*(

*n*), it does make a difference for the full orthogonal group

*O*(

*n*) (rotations plus reflections) and the general affine group

*GL*(

*n*).

## 4 Moment Invariants and Covariants

A moment invariant is a combination of moments that is unchanged under a group transformation. Formally we have

### Definition 3

*ι*of moments up to order

*d*is said to be an

*(rational) invariant*of order

*d*under a group action

*G*if

*A*∈

*G*.

*q*is called the

*weight*of the invariant

*ι*. In particular if

*q*=0 then

*ι*is called an

*absolute*invariant. If

*q*≠0 then

*ι*is called a

*relative*invariant.

*ι*

_{1},

*ι*

_{2}of weights

*q*

_{1}and

*q*

_{2}respectively by

*rational invariants*.

*m*

_{0}is trivially an invariant of weight 1. For the orthogonal group, a less trivial example is given by \(\mathcal{M}_{(d)}^{T} \mathcal{M}_{(d)}\) since

*A*is orthogonal then

*A*

_{d}is also orthogonal). This absolute invariant will be a quadratic polynomial in order

*d*moments.

We extend this definition to allow dependency of the variable **x** (see, for example, [6, 13]).

### Definition 4

*η*of

**x**and moments up to order

*d*is said to be a

*covariant*of order

*d*and weight

*q*under a group

*G*if

*A*∈

*G*.

For the orthogonal group, the simplest example of a covariant is **x**^{T}**x** (in other words the Euclidean length). Since both **x**_{(d)} and \(\mathcal{M}_{(d)}\) transform under *A*_{d} then \(\mathbf{x}_{(d)}^{T} \mathcal{M}_{(d)}\) will be a covariant of order *d*.

### Remark

If the unsigned volume element is used then |det *A*|^{d} replaces (det*A*)^{d} in Definitions 3 and 4.

Whilst invariants are of primary interest in pattern recognition, covariants allow us to generate the invariants. The covariants will be the building blocks from which we obtain the invariants.

*∂*

_{(0)}

*P*=

*P*).

*∂*

_{(d)}is a vector of

*d*th order partial derivatives. Under a linear transformation

*A*,

*∂*will transform

Our strategy will be to construct a system of covariants and then use the derivative operator *∂*_{(d)} to generate the invariants. It is clear that invariants that are not “independent” will yield no new information. Specifically

### Definition 5

*ι*

_{k}:

*k*=1,…,

*m*} is said to be (functionally) dependent if there exists a non-trivial function

*F*such that

*ι*

_{k}are said to be independent.

If the invariants *ι*_{k} are dependent then, in principle at least, (6) may be solved to find one of the invariants in terms of the remaining *m*−1 invariants. Following [5], we define

### Definition 6

*basis*for invariants of order

*d*or less is a set of independent invariants {

*ι*

_{k}:

*k*=1,…,

*m*} such that for any invariant

*ι*of order

*d*or less, there exists a non-trivial function

*F*such that

This definition does not require that a basis *separates* the orbits; that is, the intersection of the level sets of all the basis elements is a single orbit of the group action. For example, an element in a separating basis *ι* could be replaced by *ι*^{2}. The elements would remain functionally independent and thus form a basis. However new basis may not separate the orbits since *ι*^{2}=*c*^{2} only implies *ι*=±*c*. The issue here is that there is no restriction on the function *F*. For the separation of the orbits, a basis must generate all rational invariants *rationally*. Thus

### Definition 7

*rational basis*for invariants of order

*d*is a basis such that for any rational invariant

*ι*of order

*d*or less, there exists a non-trivial rational function

*F*such that

The number of elements in a basis (rational or otherwise) will depend on *d* and the group *G*.

## 5 Translations

*G*includes translations (for example, the Euclidean group

*SE*(2) of rotations and translation on the plane) then the linear action (2) is replaced by an

*affine*action This action may be “converted” into a linear action on ℝ

^{n+1}via The analysis of the previous two sections may now be applied to this action. However

**x**

_{(d)}will be a vector of mixed degree. For example, for an affine planar action

*homogeneous*in the degree of the monomial or order of the moment.

*m*

_{0}, will still be an invariant of weight 1 (the volume form is invariant under translations). For a

*pure*translation (that is

*A*=

*I*) the first order moments transform

**e**

_{i}is the multi-index which is 1 in the

*i*th position and 0 everywhere else and

*ξ*

_{i}is the

*i*th component of

*. Choosing \(\overline{m}_{\mathbf{e}_{i}}=0\); that is,*

**ξ**^{n}. However, as we shall see, there is a cost in choosing this normalisation. In the literature the use of this normalisation is widespread and the resultant moments are called

*central*moments [5].

## 6 Moment Invariants of the (Conformal) Orthogonal Group

For the orthogonal group, invariants have either weight 0 or 1 (the so-called *pseudoinvariants* [5] that change sign under a reflection). If we restrict the group to the *special* orthogonal group (that is, rotations only) then all invariants are absolute. However, if we choose the unsigned volume element then all orthogonal invariants will be absolute. In this case the orthogonal case is identical to the special orthogonal case. On the other hand, if we add dilations, that is (uniform) scaling, to the orthogonal group we obtain the *conformal* orthogonal group also known as the *similarity* group. In this case invariants may have any weight.

*A*=

*λB*where

*B*is orthogonal. Thus

*n*dimensions.

### Lemma 1

*Let*

*A*=

*λB*

*be a conformal orthogonal matrix in*ℝ

^{n}.

*Then*

*A*

_{d}=

*λ*

^{d}

*B*

_{d}

*and*

*η*

_{0}is a covariant of weight 2/

*n*for the conformal orthogonal group (and of weight 0 for the orthogonal group). For

*d*>0, let

*η*

_{d}is a covariant of the conformal orthogonal group of weight 1+2

*d*/

*n*(and 1 in the orthogonal case).

Inspired by the theory of binary forms [6, 13] we have

### Definition 8

*r*th

*transvectant*of two (conformal) orthogonal covariants

*P*and

*Q*is given by

Note that *Λ*^{0}(*P*,*Q*)=*PQ* and *Λ*^{r}(*P*,*Q*)=*Λ*^{r}(*Q*,*P*).

### Proposition 4

*Let**P**and**Q**be conformal orthogonal covariants of weight**p**and**q**respectively*. *Then**Λ*^{r}(*P*,*Q*) *is a covariant of weight**p*+*q*−2*r*/*n*. *For the orthogonal group*, *its weight is* (*p*+*q*)mod 2.

### Proof

*A*,

*Λ*

^{r}(

*P*,

*Q*) will transform

*p*+

*q*−2

*r*/

*n*. □

### Lemma 2

*Let*ζ

*be a moment*.

*Then*

### Proof

Since the transvectant is a matrix product and derivatives commute the result follows immediately. □

*P*and

*Q*have degree

*r*(in the variables

**x**

_{(1)}) then

*Λ*

^{r}(

*P*,

*Q*) will be an

*invariant*. For example, for

*n*=3, are invariants. Our strategy will be the choose invariants that depend on order

*d*moments and, if possible, on only one other order. This choice will facilitate the proof of independence. Moreover we wish to construct a complete set of invariants in the

*n*=2 case.

*i*and

*d*are relatively prime. In that case the invariant with be a polynomial of degree 2

*d*−

*i*. The following choice has the advantage that the degree of the elements does not grow and is, in fact, bounded by 3. This choice is also motivated by the strategy of using order 1 invariants to normalise translations. Instead we make the following choice.

### Proposition 5

*Let*

*G*

*be the*(

*conformal*)

*orthogonal group and let*

*For*

*d*=2

*q*,

*let*

*with*

*and*

*For*

*d*=2

*q*+1,

*let*

*and*

*Finally let*

*For*

*d*>1,

*Σ*

_{d}

*is a functionally independent set of invariants*.

### Proof

*Σ*

_{d}is functionally independent for

*d*≤3. Let

*d*>3 and suppose

*Σ*

_{d}is not functionally independent. Thus there exists

*F*such that

*i*>3 with

*i*≠

*d*moment. Note that

*F*=

*F*(

*σ*

_{0d},

*σ*

_{1d},

*σ*

_{2d},

*σ*

_{3d},

*σ*

_{dd}).

**e**

_{1}is the unit vector with 1 in the first position and

**e**

_{−1}is the unit vector with 1 is the last position.

*d*even, since only

*σ*

_{3d}depends on order 3 moments,

*F*cannot depend on

*σ*

_{3d}. By Lemma 2, we have

*k*=1,2. Also note that

*m*

_{d,0}. Similarly

*d*!

^{2})

*σ*

_{0d},

*σ*

_{1d},

*σ*

_{2d},

*σ*

_{dd}are functionally independent. Therefore

*F*=0 and

*Σ*

_{d}is functionally independent for

*d*even.

*d*odd, differentiating (10) with respect to

*M*

_{2,0}and

*m*

_{0,2}yields the system

*m*

_{1,d−1}whereas

*m*

_{1,d−1}. Similarly \(\frac{\partial \sigma_{1d}}{\partial m_{0,2}}\) will have a term that depends on

*m*

_{d−1,1}whereas \(\frac{\partial \sigma_{2d}}{\partial m_{0,2}}\) will not. Therefore the coefficient matrix is non-singular and so

*F*cannot depend on

*σ*

_{3d}. Finally a similar argument shows that

*F*=0. Therefore

*Σ*

_{d}is functionally independent. □

*n*=2, it is a complete set. For convenience, let

*m*

_{0}is an invariant of weight 1).

### Lemma 3

*Let*

*and suppose that*

*for all order*

*d*

*moments*ζ.

*Then*

*σ*=0.

### Proof

*ξ*be a order

*i*moment with

*i*≠2,3,

*d*. Note that

*m*

_{2,0},

*m*

_{d,0}and with respect to

*m*

_{0,2},

*m*

_{0,d}yields the set of equations

*d*even, the coefficient matrix is

*d*odd, note that

*σ*=0 as required. □

### Theorem 1

*The set*

*is functionally independent*.

### Proof

*F*=0 exists between the elements of \(\mathcal{E}'\). Now for every order

*d*moment ζ

*F*does not depend on

*σ*or, by Lemma 3,

*σ*=0. Either case contradicts the assumption that \(\mathcal{E}_{d-1}\) is functionally independent. Thus \(\mathcal{E}_{d}\) is functionally independent. □

*σ*

_{ij}is an absolute invariant. For the orthogonal group, let

*w*

_{ij}is the weight of

*σ*

_{ij}. Clearly \(\sigma_{ij}'\) and \(\sigma_{ij}^{*}\) are absolute invariants with respect to their group actions. Moreover, let

We now restrict our attention to the *n*=2 case. The dimension of *O*(2) is 1 (and its conformal extension has dimension 2). There are *d*+1 moments of order *d*. Thus there are \(\frac{1}{2}(d+1)(d+2)\) moments of order up to *d*. Hence the orbits of the action of the orthogonal group on these moments have codimension \(\frac{1}{2}(d+1)(d+2)-1\). In the conformal case, the orbits have codimension \(\frac{1}{2}(d+1)(d+2)-2\). The orbits lie in the level sets of the absolute invariants and so their codimension gives the number of independent absolute invariants. In particular this shows that the set given in Proposition 5 is a complete set.

### Theorem 2

*Let*

*G*

*act on moments of order up to*

*d*.

- 1.
*For**G*=*SO*(2), \(\{m_{0,0}\}\cup \mathcal{E}_{d}\)*is a basis for the absolute invariants*. - 2.
*For**G*=*O*(2), \(\{m_{0,0}^{2}\}\cup \mathcal{E}'_{d}\)*is a basis for the absolute invariants*. - 3.
*For the conformal orthogonal group*, \(\mathcal{E}_{d}^{*}\)*is a basis for the absolute invariants*.

### Proof

If translations are normalised via (8) then the order 1 moments are zero and *σ*_{01}=*σ*_{12}=0. \(\mathcal{E}_{d}\) loses 2 elements. However orbit codimension is also reduced by 2. Therefore \(\mathcal{E}_{d}\) (with *σ*_{01} and *σ*_{12} removed) remains a basis.

*i*=3,

*d*=4 case of (9) has 119 terms (the equivalent basis element in this choice has 12 terms).

Computations using the Maple package implementing the Hubert-Kogan algorithm [8] shows that this is not a rational basis. For *d*=3 (with translations normalised) there are two elements in the rational basis which cannot be expressed *rationally* in terms of the above basis. Their squares have rational expressions in this basis. However the rational basis generated by the Hubert-Kogan algorithm has a linear element, a quadratic element and two elements each of degree 4 and 5 with up to 41 terms in each element. In contrast, the above basis \(\mathcal{E}_{3}\) (with translations normalised) has a linear element, 3 quadratic elements and two cubic elements and up to 15 terms in each element. By comparison, the invariants derived by Hu [7] have degree at most 4 and have up to 29 terms. It is well known that the Hu invariants are not functionally independent. The basis given by Flusser *et al.* [5] has degree at most 4 and each element has up to 16 terms.

*d*is

Order | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|

Max # of terms | 34 | 30 | 50 | 60 | 66 | 105 |

## 7 Affine Actions on the Plane

*GL*(2) and the special affine group

*SL*(2) on ℝ

^{2}. Let

*symplectic*matrix,

*J*

^{2}=−

*I*.

*A*∈

*GL*(2) is characterised [18, p. 2925] by

*A*∈

*GL*(2). We immediately see that

*GL*(2) action. Since

*J*is skew-symmetric,

**x**

^{T}

*J*

**x**=0 and so we have

*d*covariants in the moments up to order

*d*.

The definition of the orthogonal transvectant is modified to give

### Definition 9

*d*th

*transvectant*of two

*GL*(2) covariants

*P*and

*Q*is given by

### Proposition 6

*Let*

*P*

*and*

*Q*

*be*

*GL*(2)

*covariants of weight*

*p*

*and*

*q*

*respectively*.

*Then*

*Λ*

^{d}(

*P*,

*Q*)

*is a covariant of weight*

*p*+

*q*−

*d*.

*Furthermore*

- 1.
*Λ*^{d}(*P*,*Q*)=(−1)^{d}*Λ*^{d}(*Q*,*P*), - 2.
*Λ*^{2d+1}(*P*,*P*)=0.

*J*

_{d}for

*d*odd. The skew symmetry of odd order transvectants implies that

*σ*

_{dd}=0, for

*d*odd, if we choose to define the invariants in the same manner as the orthogonal case. For convenience, let

*i*moments (and degree 2(

*i*−

*r*) in

*x*and

*y*) if

*r*≤

*i*is even.

*d*=2

*q*≥4 be even. Define

*d*=2

*q*+1≥5, define

### Lemma 4

*For*

*d*>2,

*let*

*with*

*Θ*

_{d}

*is a functionally independent set of*

*GL*(2)

*invariants*.

### Proof

We first must show that *θ*_{id} are not constants. There is a potential that cancellation may occur. Note that, since *J*_{2s} is symmetric and non-degenerate, *Λ*^{2s}(*P*,*P*) is not zero for any covariant, *P* of degree ≥2*s*. Furthermore *Λ*^{j}(*P*,*Q*) will be non-zero if *P* depends on order *i* invariants but *Q* does not (and both *P* and *Q* have degrees ≥*j*). Thus *θ*_{id}≠0.

*d*=2

*q*>6, even. Assume, on the contrary, that there exists a non-trivial

*F*such that

*d*−1 moments only occur in

*θ*

_{d−1,d},

*F*cannot depend on

*θ*

_{d−1,d}. Next consider the terms depending on order moments

*d*−2; that is

*θ*

_{2d}and

*θ*

_{d−2,d}. Differentiating with respect to

*m*

_{d−2,0}and

*m*

_{0,d−2}we obtain

*F*cannot depend on

*θ*

_{2d}or

*θ*

_{d−2,d}. In a similar manner, we see that

*F*cannot depend on

*θ*

_{i,d}or

*θ*

_{d−i,d}for

*i*=3,4,…,

*q*with the exception of the case

*i*=4,

*d*=8. Thus, apart from this exceptional case, we have

*θ*

_{0d},

*θ*

_{1d}and

*θ*

_{dd}are clearly independent and so

*F*=0. In the exceptional case (

*d*=8), we have

*F*=0. Thus

*Θ*

_{d}is functionally independent for

*d*even. A similar set of arguments may be used in the case for

*d*odd. □

### Theorem 3

*The set*

*is functionally independent*.

The proof of this result follows exactly the same arguments as used in Theorem 1.

*SL*(2) all the elements of \(\mathcal{T}_{d}\) absolute invariants. In the case of

*GL*(2) we normalise these relative invariants using

*m*

_{0,0}to obtain absolute invariants \(\mathcal{T}_{d}^{*}\). The dimension of

*SL*(2) is 3 while that of

*GL*(2) is 4. Therefore the codimension of orbits of their action on moments up to order

*d*is \(\frac{1}{2}(d+1)(d+2)-3\) and \(\frac{1}{2}(d+1)(d+2)-4\) respectively. We see that \(\mathcal{T}_{d}\) has

### Theorem 4

*Let*

*G*

*act on the moments of order up to*

*d*.

- 1.
*For**G*=*SL*(2), \(\{m_{0,0}\}\cup \mathcal{T}_{d}\)*is a basis for the absolute invariants* - 2.
*For**G*=*GL*(2), \(\mathcal{T}_{d}^{*}\)*is a basis for the absolute invariants*.

*θ*

_{12}=

*θ*

_{13}=0 and the dimension of \(\mathcal{T}_{d}\) reduces by 2. However the orbit codimension also reduces by 2 and so we still have a maximal functionally independent set. In this case remaining the elements of \(\mathcal{T}_{3}\) are

## 8 Conclusions

*η*

_{i}may be applied in any dimension. In higher dimensions the issue is whether one can generate enough functionally independent invariants to match the codimension of the group orbits. For example the orbits of the group

*SO*(3) have codimension

*d*or less. Thus the number of independent invariants grows as

*d*

^{3}rather than as

*d*

^{2}in the planar case. Whether a maximal independent set of invariants can be constructed from the covariants

*η*

_{i}remains open.

A more subtle question is whether a rational basis; that is, a set of invariants that separate the orbits of the group action, may be constructed from the covariants *η*_{i}. As noted above, the basis constructed in Sect. 6 does *not* separate the orbits. The computation work for the *d*=3 case suggest that a rational basis has significantly greater complexity that the basis given here. From a operational viewpoint, this added complexity may outweigh any benefits that a basis which separates the orbits may give.

In the case of the affine invariants, the move to higher dimensions will only work in *even* dimensions since there is no matrix *J* such that *J*^{2}=−*I* in odd dimensions. The identification of matrices that satisfy (12) with the general affine group is *only* valid for *n*=2. In general, matrices that satisfy (12) form a subgroup of *GL*(*n*) known as the *symplectic group*. Thus the invariants generated in the even dimensional case will be invariants of the symplectic group.

## Acknowledgements

I would like to thank the Galaad group at INRIA Sophia Antipolis for hosting me while this work was completed. In particular, I would like to thank Evelyne Hubert for fruitful discussions on this material and for running her code and comparing its output with the basis given in this paper.