# Perspective-1-Ellipsoid: Formulation, Analysis and Solutions of the Camera Pose Estimation Problem from One Ellipse-Ellipsoid Correspondence

Vincent Gaudillière, Gilles Simon, Marie-Odile Berger

► To cite this version:

Vincent Gaudillière, Gilles Simon, Marie-Odile Berger. Perspective-1-Ellipsoid: Formulation, Analysis and Solutions of the Camera Pose Estimation Problem from One Ellipse-Ellipsoid Correspondence. International Journal of Computer Vision, 2023, pp.24. 10.1007/s11263-023-01794-x. http://dx.doi.org/10.1007/s11263-023-01794-x

HAL Id: hal-04132261

https://inria.hal.science/hal-04132261

Submitted on 18 Jun 2023

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Perspective-1-Ellipsoid: Formulation, Analysis and Solutions of the Camera Pose Estimation Problem from One Ellipse-Ellipsoid Correspondence

Vincent Gaudillière¹,²*, Gilles Simon¹ and Marie-Odile Berger¹

¹Université de Lorraine, CNRS, Inria, LORIA, F-54000, Nancy, France.

²SnT - Interdisciplinary Centre for Security, Reliability and Trust, University of Luxembourg, 29 Avenue John F. Kennedy, L-1855, Luxembourg, Luxembourg.

*Corresponding author(s). E-mail(s): vincent.gaudilliere@uni.lu;

Contributing authors: gilles.simon@loria.fr; marie-odile.berger@inria.fr;

## Abstract

In computer vision, camera pose estimation from correspondences between 3D geometric entities and their projections into the image has been a widely investigated problem. Although most state-of-the-art methods exploit low-level primitives such as points or lines, the emergence of very effective CNN-based object detectors in the recent years has paved the way to the use of higher-level features carrying semantically meaningful information. Pioneering works in that direction have shown that modelling 3D objects by ellipsoids and 2D detections by ellipses offers a convenient manner to link 2D and 3D data. However, the mathematical formalism most often used in the related literature does not enable to easily distinguish ellipsoids and ellipses from other quadrics and conics, leading to a loss of specificity potentially detrimental in some developments. Moreover, the linearization process of the projection equation creates an over-representation of the camera parameters, also possibly causing an efficiency loss. In this paper, we therefore introduce an ellipsoid-specific theoretical framework and demonstrate its beneficial properties in the context of pose estimation. More precisely, we first show that the proposed formalism enables to reduce the pose estimation problem to a position or orientation-only estimation problem in which the remaining unknowns can be derived in closed-form. Then, we demonstrate that it can be further reduced to a 1 Degree-of-Freedom (1DoF) problem and provide the analytical derivations of the pose as a function of that unique scalar unknown. We illustrate our theoretical considerations by visual examples and include a discussion on the practical aspects. Finally, we release this paper along with the corresponding source code in order to contribute towards more efficient resolutions of ellipsoid-related pose estimation problems. The source code is available here: https://gitlab.inria.fr/vgaudill/p1e.

**Keywords:** Pose estimation, Object modeling, Ellipsoid, Ellipse

## 1 Introduction

Estimating the relative pose between a camera and a scene has been representing a core aspect

of computer vision for many years. Indeed, this task is at the root of many applications, from robot navigation (Bonin-Font et al., 2008) to Augmented Reality (Marchand et al., 2016).
<figure><img src="image_2.png" /><figcaption>**Fig. 1** The *Perspective-1-Ellipsoid* (P1E) problem aims at estimating the locus of solutions (c) to the camera pose estimation problem from one ellipse-ellipsoid correspondence (a,b).</figcaption></figure>

Historically, pose estimation has been addressed by leveraging 2D-3D correspondences between low-level geometric features such as points (PnP: Perspective-n-Point) (Lepetit et al., 2009; Hartley and Zisserman, 2004) or lines (PnL: Perspective-n-Line) (Xu et al., 2017). More recently, the field has been significantly impacted by the raise of deep learning and pose estimation is now widely addressed by end-to-end trainable methods (Hoque et al., 2021). However, while deep learning has proven to be indispensable in solving the problem of perception, it is still not the best choice in terms of accuracy throughout all steps of a pose estimation pipeline, as figured out in recent object pose estimation challenges (Kisantal et al., 2020; Park et al., 2023). In short, most accurate methods were *hybrid* approaches in which keypoints are located by deep regression models then used as inputs to a PnP solver.

Following the same proven hybrid approach, the appearance of very effective object detectors in the recent years (Redmon et al., 2016; Redmon and Farhadi, 2017, 2018; Liu et al., 2016; Girshick et al., 2014; Girshick, 2015) has been enabling the substitution of low-level primitives (e.g. points, lines), often extracted in droves and carrying limited semantic information, by object-level features providing a deeper scene understanding at a lower computational matching cost. Therefore, the choice of object representation has become crucial.

While modeling 3D objects by cuboids along with their 2D projections by bounding boxes has been investigated in the context of pose computation in unknown scenes (Li et al., 2017, 2018, 2019), it appears that the ellipse-ellipsoid modeling paradigm has the unparalleled advantage of analytically linking 2D and 3D models (Hartley and Zisserman, 2004; Eberly, 2007). In other words, ellipsoids always project onto planes in the form of ellipses, and the underlying closed-form projection equation can be leveraged to efficiently solve the pose estimation problem (Crocco et al., 2016; Rubino et al., 2018; Gaudillière et al., 2019a,b, 2020a,b). As an indicator of that increasingly attractive research direction, more and more object detectors have been modeling object projections by ellipses instead of traditional bounding boxes aligned with image axes (Li, 2019; Pan et al., 2021; Zhao et al., 2021; Zins et al., 2020; Dong et al., 2021; Dong and Isler, 2021).

However, performing pose estimation at the level of objects through ellipse/ellipsoid-modeling has mainly been formulated under the standard projective geometry formalism (Hartley and Zisserman, 2004) (Crocco et al., 2016; Gay et al., 2017; Rubino et al., 2018; Nicholson et al., 2019; Garg et al., 2020; Liao et al., 2020; Tian et al., 2021), and mostly through Least Squares estimations where the unknowns are general quadric surfaces. This framework may present limitations since ellipses (resp. ellipsoids) are specific categories of conics (quadrics) and since the linearization of the projection equation increases the numbers of apparent unknowns (see Section 2). In addition, these papers do not address the case of a small number of ellipse-ellipsoid correspondences, which is of high practical importance when a few
objects are observed or when computing the solutions with minimal sampling size in RANSAC-like algorithms (Fischler and Bolles, 1981).

In this paper, we address the fundamental problem of camera pose estimation from one ellipse-ellipsoid correspondence (see Fig. 1), referred to as Perspective-1-Ellipsoid (P1E) in what follows. Conversely, it consists in estimating the pose of an ellipsoid of known size from its projected ellipse. We assume that the camera intrinsic parameters are known, and rely on an ellipsoid-specific Euclidean formalism.

There are several interests in solving the P1E problem. First, on the theoretical side, and except in the case of a spherical object, we demonstrate that the solutions are a variety of dimension 1 and provide an effective way to compute the camera locus (i.e. set of solutions). This problem has been addressed in Wokes and Palmer (2010) in the particular case of a spheroid (specific ellipsoid having an axis of revolution) but was never considered for general ellipsoids. To the best of our knowledge, we are the first to propose a constructive solution to the P1E problem without resorting to any additional approximation nor prior knowledge.

In this study, we also consider two particular cases of important practical interest: (i) computing the camera position when the orientation is known (ii) computing the orientation when the position is known.

Besides the theoretical aspects, solving the P1E problem opens the way towards automatic positioning solutions in texture-less or low-textured environments, for instance leveraging several ellipse-ellipsoid correspondences or one with several point pairs. Industrial or other indoor scenes, in which objects would be approximated by ellipsoids, represent concrete places that could take advantage of these results.

The paper is organized as follows: In Section 2, we discuss the State-of-the-Art ellipsoid-based pose estimation methods and the limits of the homogeneous representation of ellipses and ellipsoids, justifying investigating another representation. In Section 3, we present the Euclidean formulation of the relative ellipse-ellipsoid pose estimation problem, previously introduced in Eberly (2007). Sections 4 and 5 combine some results already introduced in our previous papers with novel ones, while Section 6 contains the core contribution of this paper. More precisely:

* In Section 4, we exhibit several mathematical properties of the P1E solutions needed in the demonstrations of Sections 5 and 6. Results 3, 4 and 5 have never been introduced before and represent contributions of this work.

* Section 5 is dedicated to the specific case of P1E where either the relative position or orientation is known. We recall that the problem formalism induces an inherent decoupling between orientation and position, i.e. one of which can be inferred in closed-form from the other one. This decoupling property and the two sub-cases derivations have already been introduced and leveraged in practical settings in our previous work (position from orientation: Gaudillière et al. (2019a,b, 2020a,b), orientation from position: Rathinam et al. (2022)).

* The general P1E problem is solved in Section 6. We demonstrate that the 6DoF pose estimation problem can be reduced to a 1DoF problem, and present a complete characterization of the solutions according to the type of ellipsoid under consideration. These results are all unpublished to date, and represent the core contribution of this paper.

* Section 7 discusses how these theoretical results can be leveraged in practice.

## 2 Related Work

Most methods dealing with pose estimation at the level of objects and using ellipsoidal models are based on the projective geometry formalism. Under this framework, any quadric $Q \in \mathbb{R}^{4 \times 4}$ is linked to its projected conic $C \in \mathbb{R}^{3 \times 3}$ by the Equation

$$C^* = PQ^*P^T$$

where $P \in \mathbb{R}^{3 \times 4}$ is the camera projection matrix and $Q^* = Q^{-1}$, $C^* = C^{-1}$ (up to scale factors) are the adjugate matrices of $Q$ and $C$ (Hartley and Zisserman, 2004) (Result 8.9, page 201). It is important noting that, under that formalism, ellipses and ellipsoids can be distinguished from other conics and quadrics only by certain algebraic conditions on $C$ and $Q$ entries, these conditions being difficult to leverage in practice.

Quadric-modeling of objects has been implemented in the context of Semantic SLAM (Garg et al., 2020) for improving the process accuracy through multi-objective optimization (Nicholson
et al., 2019; Tian et al., 2021; Liao et al., 2020). On a theoretical level, Crocco et al. (2016) addresses the object-based Structure-from-Motion (SfM) problem and introduces an analytical solution to reconstruct both quadrics and affine camera poses. The problem is solved in a Least Squares sense with a matrix P over-represented by a 6 × 10 Kronecker product P ⊗ P. This work is extended with CAD model priors in Gay et al. (2017), while Rubino et al. (2018) present a closed-form solution to the problem of reconstructing a quadric from three calibrated pinhole camera views in which the object projections are detected. However, in this method, nothing ensures that the reconstructed quadric is an ellipsoid, forcing the authors to add a costly post-processing non-linear optimization of the results.

Another limitation while using homogeneous quadrics and over-representation of P appears in Gaudillière et al. (2019c). In this method, the so-called gold-standard algorithm (Hartley and Zisserman, 2004) initially used to retrieve the camera projection matrix from 2D-3D point correspondences is adapted to conic-quadric correspondences. To compute P, 12 conic-quadric pairs are required whereas only 6 point pairs are sufficient under the same conditions.

We argue that these limitations may be due in part to the fact that ellipse and ellipsoid homogeneous formulations are not clearly enough distinguished from other members of their geometric families, and also to a non-minimal representation of the projection matrix. To overcome these difficulties, we therefore propose an ellipsoid-specific theoretical framework and highlight its advantages.

# 3 Formulation of the P1E Problem

This section aims at providing the fundamental equation of the P1E problem, i.e. the relation between an ellipsoid and its projected ellipse, given the projection parameters. The way followed consists in formulating, on the one hand, the equation of the projection cone associated with the ellipsoid and, on the other hand, the equation of the backprojection cone associated with the ellipse. The P1E equation is then obtained by stating that the two cones are aligned.

## 3.1 Problem Statement

Following the notations introduced in Eberly (2007) and presented in Fig. 2, we consider an ellipsoid (C, A) defined by Equation

$$ (X - C)^{\top} A (X - C) = 1, $$

where C ∈ R³ is the center of the ellipsoid, A is a real positive definite 3 × 3 matrix characterizing its orientation and size, and X ∈ R³ is any point on it.

Given a center of projection E ∈ R³ and a projection plane with normal N ∈ R³ which does not contain E, the projection of the ellipsoid is an ellipse with center K ∈ R³ and semi-diameters a, b ∈ R⁺. Its principal directions are represented by unit vectors U, V ∈ R³ such that {U, V, N} is an orthonormal set.

<figure><img src="image_3.png" /><figcaption>**Fig. 2** Illustrating the image plane, camera center, ellipsoid and projected ellipse.</figcaption></figure>

### 3.1.1 Projection Cone

The projection cone (E, B) refers to the cone of vertex E tangent to the ellipsoid. According to Eberly (2007), it is characterized by matrix

$$ B \stackrel{def}{=} A\Delta\Delta^{\top}A - (\Delta^{\top}A\Delta - 1)A, $$

where Δ = E - C ∈ R³ is the vector going from the ellipsoid center C to the camera center E. The points X ∈ R³ belonging to the projection cone are those who satisfy the Equation
$(X - E)^{\top}B(X - E) = 0$. Note that $B$ is a real, symmetric and invertible $3 \times 3$ matrix which has two eigenvalues of the same sign and the third one of the opposite sign, since a reduced-form cone equation is by definition

$$ \frac{x^2}{x_0^2} + \frac{y^2}{y_0^2} - \frac{z^2}{z_0^2} = 0, $$

where $x, y, z \in \mathbb{R}$ are the 3D coordinates of any 3D point and $x_0, y_0, z_0 \in \mathbb{R}$ are characteristic dimensions of the cone.

### 3.1.2 Backprojection Cone

The backprojection cone ($\mathbf{E}, B'$) refers to the cone generated by the lines passing through $\mathbf{E}$ and any point on the ellipse. Eberly shows that it is characterized by matrix

$$ B' \stackrel{\text{def}}{=} S^{\top}MS - Q, $$

where

$$ M \stackrel{\text{def}}{=} \mathbf{U}\mathbf{U}^{\top}/a^2 + \mathbf{V}\mathbf{V}^{\top}/b^2, $$

$$ \mathbf{W} \stackrel{\text{def}}{=} \mathbf{N}/(\mathbf{N} \cdot (\mathbf{K} - \mathbf{E})), $$

$$ S \stackrel{\text{def}}{=} I - (\mathbf{K} - \mathbf{E})\mathbf{W}^{\top}, $$

$$ Q \stackrel{\text{def}}{=} \mathbf{W}\mathbf{W}^{\top}. $$

Here again, the points $\mathbf{X}$ on the backprojection cone are those who meet $(\mathbf{X} - \mathbf{E})^{\top}B'(\mathbf{X} - \mathbf{E}) = 0$, and $B'$ has the same properties as $B$ (i.e. real, symmetric, invertible $3 \times 3$ matrix with signature $(2,1)$ or $(1,2)$).

### 3.1.3 The Cone Alignment Equation

Given an ellipsoid, a central projection (center and plane) and an ellipse in the projection plane, the ellipse is the projection of the ellipsoid if and only if the projection and backprojection cones are aligned (Eberly, 2007), i.e. if and only if there is a non-zero scalar $\sigma \in \mathbb{R} \setminus \{0\}$ such that $B = \sigma B'$:

$$ A\Delta\Delta^{\top}A + \mu A = \sigma B', \quad (1) $$

where $\mu = 1 - \Delta^{\top}A\Delta \in \mathbb{R}$.

Note that $\mu$ encapsulates the relative configuration between the camera center $\mathbf{E}$ and the ellipsoid ($\mathbf{C}, A$). More precisely, it is negative if $\mathbf{E}$ is outside the ellipsoid, equal to zero if $\mathbf{E}$ belongs to the ellipsoid and positive otherwise.

Equation (1) therefore encodes the P1E problem. In what follows, we refer to it as the Cone Alignment Equation. An equivalent formulation is given by Equation (1') (see proof of equivalence in Appendix A):

$$ \Delta\Delta^{\top} = A^{-1} - \frac{\mu}{\sigma}B'^{-1}. \quad (1') $$

## 3.2 P1E Problem Analysis

### Reference frames

While Equation (1) has been established in the camera coordinate frame, it is also valid in the ellipsoid coordinate frame, where matrix $A$ is diagonal, and in the cone coordinate frame where $B'$ is diagonal. Indeed, since $A$ and $B'$ are real and symmetric, both can be diagonalized using an orthogonal matrix. For that reason, Equation (1) remains the same whatever the choice of the coordinate frame (camera, ellipsoid or cone) in which matrices and vectors are expressed. In the following, if there is no restriction on the coordinate frame, we will adopt notations without subscript. Otherwise, subscripts *cam*, *cone* or *ell* will be used to specify the reference frame in which elements are expressed.

### Camera or ellipsoid pose

One can theoretically distinguish between camera pose estimation, which consists in estimating the pose of the camera with respect to its environment, and its reference frame counterpart, i.e. object pose estimation, which consists in estimating the pose of an object with respect to the camera. Fundamentally, the sought transformations are the inverse of each other thus, in this paper, we may focus on estimating the pose of the ellipsoid or the pose of the camera, according to the most convenient setup for mathematical developments, without loss of generality.

### Knowns and unknowns

In the considered problem, the ellipse detected in the image, the camera intrinsic parameters and the ellipsoid size (i.e. lengths of its three radii) are known. Therefore, $B'_{\text{cone}}$ (diagonal), $B'_{\text{cam}}$ and $A_{\text{ell}}$ (diagonal) are known, as well as $\mathbf{E}_{\text{cone}} = \mathbf{E}_{\text{cam}} = \mathbf{C}_{\text{ell}} = \mathbf{0}$ (i.e. the null vector, since these points are the origins of their corresponding reference frames). Since expressions of $A$ and $B'$ in specific coordinate frames are known, their
eigenvalues are also known. In addition, matrix properties such as trace and determinant, that are fully constrained by the eigenvalues, are also known.

### Overview of solutions computation

In the paper, we sometimes solve the P1E problem in the camera frame. We thus aim at computing vector $\Delta_{cam} = E_{cam} - C_{cam}$ and matrix

$$ 
\begin{aligned}
A_{cam} &= \mathit{cam} R_{ell} A_{ell} \mathit{cam} R_{ell}^{\top} \\
&= \mathit{cam} R_{ell} \begin{pmatrix} 1/a^2 & 0 & 0 \\ 0 & 1/b^2 & 0 \\ 0 & 0 & 1/c^2 \end{pmatrix} \mathit{cam} R_{ell}^{\top},
\end{aligned}
$$

from which we then retrieve the ellipsoid position $C_{cam}$ and orientation $\mathit{cam} R_{ell}$.

In the other case, we aim at computing $\Delta_{ell}$ and $B'_{ell}$ to then derive the camera position $E_{ell}$ and orientation $\mathit{cam} R_{ell}^{\top}$.

It is important noting that vector $\Delta$ encodes the relative position between the ellipsoid and the camera, while couple $\{A, B'\}$ characterizes their relative orientation. In details, its expression in the camera frame is

$$ \{ \mathit{cam} R_{ell} A_{ell} \mathit{cam} R_{ell}^{\top}, B'_{cam} \}, $$

while its expression in the ellipsoid frame is

$$ \{ A_{ell}, \mathit{cam} R_{ell}^{\top} B'_{cam} \mathit{cam} R_{ell} \}, $$

recalling that $A_{ell}$ and $B'_{cam}$ are known.

Solving the P1E problem therefore consists in solving Equation (1), i.e. determining the possible value(s) of $\sigma$ and expressions of $A, B', \Delta$ in a common coordinate frame (camera or ellipsoid).

## 4 Properties of P1E Solutions

In this section, we demonstrate some properties of the solutions of Equation (1). Result 1 was presented in Eberly (2007) and exhibits the link between (1) and a generalized eigenvalue problem. Result 2 was introduced for the first time in Gaudillière et al. (2019a). Other results are novel. We especially show how $\sigma$ and $\mu$ (scalar parameters of Equation (1)) can be derived from A and B' once their expressions in a common coordinate frame are known. These results are used in

the following to solve for the camera solutions. It must be noted that the positive definite nature of matrix A, i.e. what differentiates an ellipsoid from any other quadric, plays a fundamental role in the demonstrations of these properties.

### 4.1 Link with a Generalized Eigenvalue Problem

Let $(A, B', \Delta, \sigma)$ be a set of solutions of Equation (1). Result 1 shows that they are also solutions of a generalized eigenvalue problem (Golub and Van Loan, 1996).

**Result 1.** If $A, B', \Delta$ and $\sigma$ satisfy

$$ A\Delta\Delta^{\top}A + (1 - \Delta^{\top}A\Delta)A = \sigma B', \quad (1) $$

they also satisfy

$$ A\Delta = \sigma B'\Delta. \quad (2) $$

**Proof** Let's right-multiply (1) by $\Delta$. Since $\Delta^{\top}A\Delta$ is a scalar, the right hand term can be simplified:

$$ 
\begin{aligned}
\sigma B' \Delta &= (A \Delta \Delta^{\top} A + (1 - \Delta^{\top} A \Delta) A) \Delta \\
&= (\Delta^{\top} A \Delta) A \Delta + A \Delta - \Delta^{\top} A \Delta A \Delta \\
&= A \Delta.
\end{aligned}
$$

□

Since $B'$ is invertible, the generalized eigenvectors and eigenvalues of pair $\{A, B'\}$ are the eigenvectors and eigenvalues of matrix $B'^{-1}A$.

### 4.2 Generalized Eigenvalues of $\{A, B'\}$ and characterisation of $\sigma$

In this section, we go one step further and provide an explicit mean to identify $\sigma$ among the eigenvalues of $\{A, B'\}$:

**Result 2.** The couple $\{A, B'\}$ has exactly two distinct generalized eigenvalues, $\sigma_1$ with multiplicity 1 and $\sigma_2$ with multiplicity 2, that are non-zero and of opposite signs.

$\sigma$ is the generalized eigenvalue with multiplicity 1:

$$ \sigma = \sigma_1 \quad (3) $$

The proof is given in appendix B.
A direct application of Result 2 is considered in Section 5.1 in the particular case where the relative camera-ellipsoid orientation is known. In that case, $\sigma$ and $\Delta$ can be uniquely inferred from $\{A, B'\}$. In the general P1E problem, we additionally use the characterization of $\mu$ as a function of $\{A, B'\}$ eigenvalues, presented in the next section, to infer the complete set of solutions.

## 4.3 Characterizations of $\mu$

We provide in this section two expressions of the secondary scalar variable $\mu = 1 - \Delta^\top A \Delta$. The first one (Result 3) shows that $\mu$ can be expressed as the ratio of the two $\{A, B'\}$ generalized eigenvalues, while Result 4 shows that $\mu$ can be expressed uniquely as a function of $\sigma$. Indeed, even if $A$ and $B'$ expressions are not known in a common coordinate frame, their determinants can be computed, thus allowing to define directly $\mu$ as a function of $\sigma$. The demonstration of these results are provided in Appendix D.

**Result 3.** $\mu$ is equal to the ratio between the two generalized eigenvalues of $\{A, B'\}$:

$$ \mu = \frac{\sigma_1}{\sigma_2}. \qquad (4) $$

Since $\sigma_1$ and $\sigma_2$ are of opposite signs, Equation (4) shows that $\mu < 0$.

Result 4 now highlights the connection between $\mu$ and $\sigma$.

**Result 4.** $\mu$ and $\sigma$ are linked through Equation (5):

$$ \mu = -\sqrt{\frac{\det(B')}{\det(A)}} \sigma^3. \qquad (5) $$

## 4.4 Link between $\sigma$ and $\|\Delta\|$

**Result 5.** The scalar $\sigma$ and the camera-ellipsoid distance $\|\Delta\|$ are linked through Equation (6):

$$ (\operatorname{tr}(B'^{-1}))^2 \sigma = \frac{\det(A)}{\det(B')} (\operatorname{tr}(A^{-1}) - \|\Delta\|^2)^2. \qquad (6) $$

*Proof Injecting Equations (3) and (4) into (1') leads to*

$$ \Delta\Delta^\top = A^{-1} - \frac{1}{\sigma_2} B'^{-1}. $$

Applying $\operatorname{tr}()$ then squaring:

$$ \frac{1}{\sigma_2^2} (\operatorname{tr}(B'^{-1}))^2 = (\operatorname{tr}(A^{-1}) - \|\Delta\|^2)^2. \qquad (7) $$

Furthermore, injecting (3) into (D2) leads to the following expression for $\frac{1}{\sigma_2^2}$:

$$ \frac{1}{\sigma_2^2} = \frac{\det(B')}{\det(A)} \sigma. \qquad (8) $$

Equation (6) is then obtained by injecting (8) into (7). □

# 5 Decoupling between Orientation and Position

In this section, we consider two sub-problems of significant practical interest: (i) computing the relative camera-ellipsoid position when the orientation is known and (ii) computing the orientation when the position is known. We demonstrate that the position can be inferred in closed-form from the orientation (Section 5.1, Result 6), while the latter can be analytically derived from the former up to the ellipsoid symmetries (Section 5.2, Result 7). We assimilate these properties to a decoupling phenomenon between orientation and position.

## 5.1 Position from Orientation

In this case, $A_{cam}$ or $B'_{ell}$ is known. Since $A_{ell}$ and $B'_{cam}$ are always known, eigenvalues of $\{A, B'\}$, $\sigma$ (using Result 2) and $\mu$ (Result 3) can be retrieved. Result 6 then provides that $\Delta$ is unique and fully determined.

**Result 6.** Assuming that the relative camera-ellipsoid orientation is known, their relative position is given by

$$ \Delta = k\delta_1, \qquad (9) $$

where

$$ \left\{ \begin{array}{l} \delta_1 \text{ is a unit generalized eigenvector of } \{A, B'\} \\ \text{corresponding to } \sigma_1, \\ \delta_1 \cdot \mathbf{N} < 0, \\ k = \sqrt{\operatorname{tr}(A^{-1}) - \frac{1}{\sigma_2} \operatorname{tr}(B'^{-1})}. \end{array} \right. $$
**Proof** Injecting Equations (3), (4) and $\Delta = k\delta_1$ into Equation (1') leads to

$$k^2 \delta_1 \delta_1^\top = A^{-1} - \frac{1}{\sigma_2} B'^{-1}.$$

Whence, by applying $tr()$,

$$k^2 \|\delta_1\|^2 = k^2 = tr(A^{-1}) - \frac{1}{\sigma_2} tr(B'^{-1}).$$

The two vectors $\pm\sqrt{k^2\delta_1}$ define ellipsoid centers $\mathbf{C}$ that are symmetric with respect to the camera center $\mathbf{E}$. The only one that satisfy the chirality constraint (ellipsoid located in front of the camera) is the one whose dot product with vector $\mathbf{N}$ is negative (see Fig. 2). □

Result 6 highlights the fact that solving Equation (1) may consist only in determining $A_{cam}$ or $B'_{ell}$. Indeed, $\sigma$ and $\Delta$ can then be derived uniquely. In other words, the relative position is fully constrained by the orientation.

The main steps allowing to retrieve the camera position in the ellipsoid frame or equivalently the ellipsoid centre in the camera frame are summarized in Algorithms 1 and 2.

**Algorithm 1** Position from orientation (camera centre expressed in the ellipsoid frame)

$$B'_{ell} \leftarrow \text{cam} R_{ell}^\top B'_{cam} \text{cam} R_{ell}$$

$\sigma_1 \leftarrow$ generalized eigenvalue of $\{A_{ell}, B'_{ell}\}$ with multiplicity 1

$\delta_1 \leftarrow$ generalized eigenvector of $\{A_{ell}, B'_{ell}\}$ associated to $\sigma_1$

$$k \leftarrow \sqrt{tr(A_{ell}^{-1}) - \frac{1}{\sigma_2} tr(B'_{ell}^{-1})}$$

$$\Delta_{ell} \leftarrow k\delta_1$$

$$\mathbf{E}_{ell} \leftarrow \Delta_{ell} + \mathbf{C}_{ell}$$

**Algorithm 2** Position from orientation (ellipsoid centre expressed in the camera frame)

$$A_{cam} \leftarrow \text{cam} R_{ell} A_{ell} \text{cam} R_{ell}^\top$$

$\sigma_1 \leftarrow$ generalized eigenvalue of $\{A_{cam}, B'_{cam}\}$ with multiplicity 1

$\delta_1 \leftarrow$ generalized eigenvector of $\{A_{cam}, B'_{cam}\}$ associated to $\sigma_1$

$$k \leftarrow \sqrt{tr(A_{cam}^{-1}) - \frac{1}{\sigma_2} tr(B'_{cam}^{-1})}$$

$$\Delta_{cam} \leftarrow k\delta_1$$

$$\mathbf{C}_{cam} \leftarrow \mathbf{E}_{cam} - \Delta_{cam}$$

As mentioned above, this result is of high practical interest. Indeed, getting the camera orientation, e.g. from physical sensors or image analysis, is usually easier than getting the camera position, and especially indoors where the GPS is unusable. In a multi-object scene, the fact that only one ellipse-ellipsoid association is needed to compute the pose allows using a RANSAC-like strategy with low combinatorial cost to match object detections with their corresponding 3D primitives.

A re-localization algorithm based on Result 6 and leveraging this strategy was presented in (Gaudillière et al., 2019b). The system operates in real time from YOLO detections (Redmon and Farhadi, 2018) and IMU data or vanishing points – both methods were assessed. Figure 3 shows a few qualitative results obtained with images from the standard RGB-D TUM dataset (Sturm et al., 2012). Quantitative results as well as a detailed analysis of the advantages and limitations of this algorithm can be found in (Gaudillière et al., 2019b). Other applications of Result 6 are presented in (Gaudillière et al., 2019a, 2020a,b).

## 5.2 Orientation from Position

In this case $\Delta_{cam}$ or $\Delta_{ell}$ is known. $A_{cam}$ and $B'_{ell}$ are unknown, but since their eigenvalues are known, $det(A)$, $tr(A^{-1})$, $det(B')$ and $tr(B'^{-1})$ are known. $\sigma$ can thus be computed from Result 5 and $\mu$ from Result 4. Result 7 then describes how to retrieve $A_{cam}$ or $B'_{ell}$ and how to derive the relative camera-ellipsoid orientation in closed-form, up to the cone or ellipsoid symmetries.

**Result 7.** Assuming that the relative camera-ellipsoid position is known, their relative orientation is given by eigenvectors of

$$B'_{ell} = \frac{1}{\sigma} (A_{ell} \Delta_{ell} \Delta_{ell}^{\top} A_{ell} + \mu A_{ell}) \quad (10)$$

in the ellipsoid reference frame, or of

$$A_{cam} = \frac{\sigma}{\mu} (B'_{cam} - \sigma B'_{cam} \Delta_{cam} \Delta_{cam}^{\top} B'_{cam}) \quad (11)$$

in the camera reference frame.

**Proof** Equation (10) is (1) expressed in the ellipsoid frame.
<figure><img src="image_4.png" /><figcaption>**Fig. 3** Camera relocalization based on the decoupling between orientation and position, here applied to images from the RGB-D TUM dataset (Gaudillière et al., 2019b). The first row shows the detected boxes, the inscribed ellipsoids (in yellow) and the outlines of the reprojected ellipsoids (in green), with the automatically generated labels. The blue ellipses correspond to the reprojected ellipsoids when the QuadricSLAM residual error is minimized (Nicholson et al., 2019). The second row shows the reprojected ellipsoids (in green the inliers, in white the outliers and undetected ellipsoids) when using the method in (Gaudillière et al., 2019b).</figcaption></figure>

Injecting (2) into (1) leads to

$$ \sigma^2 B' \Delta \Delta^\top B' + \mu A = \sigma B', $$

whence (11) by isolating A.

<figure><img src="image_5.png" /></figure>

Once for instance $A_{cam}$ is retrieved, one can compute its eigenvalue decomposition:

$$ A_{cam} = \mathrm{cam} R_{ell} \begin{pmatrix} 1/a^2 & 0 & 0 \\ 0 & 1/b^2 & 0 \\ 0 & 0 & 1/c^2 \end{pmatrix} \mathrm{cam} R_{ell}^\top. $$

For a triaxial ellipsoid ($a \neq b \neq c$), $\mathrm{cam}R_{ell}$ has 4 solutions. For a spheroid (e.g., $a = b \neq c$), any rotation preserving the symmetry axis (e.g., z-axis) is solution. For a sphere ($a = b = c$), any rotation is solution. Therefore, the ellipsoid orientation can be analytically derived from its position up to the ellipsoid symmetries

The main steps allowing to retrieve the camera orientation are summarized in algorithms 3 and 4.

<caption>**Algorithm 3** Orientation from position (Camera frame)</caption>

Δ<sub>cam</sub> ← E<sub>cam</sub> − C<sub>cam</sub>
σ ← Equation (6)
μ ← Equation (5)
A<sub>cam</sub> ← Equation (11)
<sup>cam</sup>R<sub>ell</sub> ← eigenvectors of A<sub>cam</sub>

<caption>**Algorithm 4** Orientation from position (Ellipsoid frame)</caption>

Δ<sub>ell</sub> ← E<sub>ell</sub> − C<sub>ell</sub>
σ ← Equation (6)
μ ← Equation (5)
B'<sub>ell</sub> ← Equation (10)
<sup>ell</sup>R<sub>cone</sub> ← eigenvectors of B'<sub>ell</sub>
<sup>cam</sup>R<sub>ell</sub> ← <sup>cam</sup>R<sub>cone</sub> <sup>ell</sup>R<sub>cone</sub><sup>T</sup>

# 6 Complete Set of P1E Solutions

In this section, we introduce the core contribution of the paper, that is closed-form solutions to the general P1E problem. Analytical 1DoF solutions are provided based on the fact that the ellipsoid is triaxial (all A eigenvalues are distinct) or not, and the cone is circular (two B' eigenvalues are equal) or not.

In Section 6.1, we first present the different types of ellipsoids and cones along with their possible co-occurences. An overview of the solutions is given in Section 6.2. In Section 6.3, we consider the case of a triaxial ellipsoid and present for the first time a *Necessary and Sufficient Condition* (NSC) on σ to be solution of Equation (1). Then we derive the analytical expressions of the other variables as functions of σ. In Section 6.4, we address the case of the spheroid (ellipsoid with an axis of revolution). That part enables to
retrieve, from another formalism, the results presented in Wokes and Palmer (2010). In Section 6.5, we finally present the solutions for the sphere.

In what follows, the problem is solved either in the ellipsoid or in the cone coordinate frame. In brief, the choice is linked to the ability to define a frame associated to the considered structure without ambiguities. The case of the triaxial ellipsoid can thus be addressed in both frames since the two structures are unambiguous. The case of the spheroid is different, and depending on the properties of the cone, solutions are derived in one or the other frame. To improve the readability of the paper, each considered case ends with a summary of the corresponding algorithm for pose recovery.

## 6.1 Preliminaries: Co-occurences of Ellipsoid and Cone Types

In this paper, we address the full ellipsoid pose estimation problem, i.e. we cover every possible types of ellipsoids and thus cones (see Appendix H). However, a specific type of ellipsoid cannot necessarily be tangent to any type of cone, what we refer to as possible or impossible co-occurence.

In brief, Table 1 summarizes the possible and impossible co-occurences between ellipsoid and cone types. The proofs are provided in Appendix E.

## 6.2 Overview of the Solutions

In the rest of this section, we determine the solutions of the Cone Alignment Equation (1) and derive the camera-ellipsoid relative poses. To this end, we distinguish between the three different types of ellipsoids (triaxial, spheroid, sphere). We demonstrate, in particular, that

* there is an infinite number of triaxial fixed-size ellipsoids that are tangent to a given backprojection cone (Fig. 4),

* as already demonstrated in Wokes and Palmer (2010), there are only two fixed-size spheroids solutions (see Fig. 5).

In the first case, the infinite number of ellipsoids tangent to the cone (or, conversely, the infinite number of cones tangent to the ellipsoid) explains the infinite number of camera solutions (see Fig. 6), and provides a parameterization of them. In the second case, the infinite number of

<figure><img src="image_6.png" /><figcaption>**Fig. 4** Loci of the centers (black) and principal axes endpoints (red, green, blue) of the ellipsoids solutions. The camera center **E** appears along with the image plane (grey) and ellipse (orange). A video is available <fnref n="1" />.</figcaption></figure>

change of basis matrices between the spheroid and the camera explains the infinite number of camera solutions (see Fig. 7). The mathematical developments leading to these results are presented below.

## 6.3 The Triaxial Ellipsoid

### 6.3.1 Solving for $\sigma$

In practice, not all $\sigma$ values give rise to a solution of the problem. When the ellipsoid has three distinct radii (triaxial), Theorem 1 provides a characterization of the scalars $\sigma$ solutions of (1).

**Theorem 1.** Let's denote $(\lambda_{A,1}, \lambda_{A,2}, \lambda_{A,3})$ the three distinct eigenvalues of $A$. Then $\sigma = dm^2$ is solution of Equation (1) if and only if the three entries of vector $M_A^{-1}V(m)$ are all non-negative:

$$M_A = \begin{pmatrix} 1 & 1 & 1 \\ \lambda_{A,1} & \lambda_{A,2} & \lambda_{A,3} \\ \lambda_{A,1}^2 & \lambda_{A,2}^2 & \lambda_{A,3}^2 \end{pmatrix}, \quad (12)$$

<footnote n="1">¹https://members.loria.fr/moberger/Documents/P1E.mp4</footnote>
<table><caption>**Table 1** Possible co-occurrences of ellipsoids and projection cones according to their types. ✓ indicates that ellipsoid and cone of the corresponding types may occur simultaneously. × indicates that they cannot.</caption><thead><tr><th rowspan="2"></th><th rowspan="2"></th><th colspan="3">Ellipsoid type</th></tr><tr><th>Triaxial</th><th>Spheroid</th><th>Sphere</th></tr></thead><tbody><tr><th rowspan="2">Projection cone type</th><th>Non-circular</th><td>✓<br>(Algo. 5,6)</td><td>✓<br>(Algo. 6)</td><td>×</td></tr><tr><th>Circular</th><td>×</td><td>✓<br>(Algo. 7)</td><td>✓<br>(Algo. 8)</td></tr></tbody></table>

<figure><img src="image_7.png" /><figcaption>**Fig. 5** The two spheroids solutions with a non-circular backprojection cone.</figcaption></figure>

$$V(m) = \begin{pmatrix} tr(A^{-1}) - \frac{tr(B'^{-1})}{1 - m^3} m \\ tr(B') dm^2 - tr(A)m^3 \end{pmatrix}, \quad (13)$$

with

$$d = \sqrt[3]{\frac{\det(A)}{\det(B')}}, \quad (14)$$

$$m = \sqrt[3]{\mu}. \quad (15)$$

It must be noted that *m* is the only unknown parameter of vector *V*(*m*) since all the other ones derive from *A* and *B'* eigenvalues.

**Proof** [>] Let's assume that Equation (1) is satisfied:

$$A\Delta\Delta^\top A + \mu A = \sigma B'. \quad (1)$$

<figure><img src="image_8.png" /><figcaption>**Fig. 6** Triaxial ellipsoid: locus of cone vertices i.e. camera centers.</figcaption></figure>

Therefore, equivalent Equation (1') is also satisfied:

$$\Delta\Delta^\top = A^{-1} - \frac{\mu}{\sigma} B'^{-1}. \quad (1')$$

Since the trace of a product of matrices does not depend on the order of the matrices, we have

$$\begin{aligned} tr(A\Delta\Delta^\top A) &= tr((\Delta^\top A)(A\Delta)) \\ &= tr(\Delta^\top A^2 \Delta) \\ &= \Delta^\top A^2 \Delta \quad (scalar), \end{aligned}$$

and, similarly

$$tr(\Delta\Delta^\top) = \Delta^\top\Delta.$$

Given, in addition, $\mu = 1 - \Delta^\top A\Delta$, applying tr() to Equations (1') and (1) leads to the following system:

$$\begin{cases} \Delta^\top \Delta = tr(A^{-1}) - \frac{\mu}{\sigma} tr(B'^{-1}) \\ \Delta^\top A \Delta = 1 - \mu \\ \Delta^\top A^2 \Delta = \sigma tr(B') - \mu tr(A). \end{cases}$$
<figure><img src="image_9.png" /><figcaption>**Fig. 7** Spheroid: locus of cone vertices i.e. camera centers.</figcaption></figure>

Although the two scalar unknowns $\mu$ and $\sigma$ appear in the right hand side, they can be expressed as functions of a third unknown. Indeed, denoting

$$m = \sqrt[3]{\mu} \quad (\text{unknown}),$$

and

$$d = \sqrt[3]{\frac{\det(A)}{\det(B')}} \quad (\text{known}),$$

Equation (5) can be rewritten

$$m^3 = -\sqrt{\frac{\sigma^3}{d^3}},$$

whence, by raising it to the power of 2/3,

$$\sigma = dm^2. \qquad (16)$$

Furthermore, given

$$\mu = m^3 \quad (\text{definition}),$$

we have

$$\frac{\mu}{\sigma} = \frac{m}{d}.$$

Therefore, $\Delta$ is solution of the following system with unknown $m$:

$$\left\{ \begin{array}{l} \Delta^{\top} \Delta = tr(A^{-1}) - \frac{tr(B'^{-1})}{d} m \\ \Delta^{\top} A \Delta = 1 - m^3 \\ \Delta^{\top} A^2 \Delta = tr(B')dm^2 - tr(A)m^3. \end{array} \right. \qquad (17)$$

The above equations are independent from the considered coordinate frame. Considering the ellipsoid

frame and denoting $(\Delta_{ell,x}, \Delta_{ell,y}, \Delta_{ell,z})^{\top}$ the corresponding expression of $\Delta$, the above system can be rewritten:

$$\begin{pmatrix} 1 & 1 & 1 \\ \lambda_{A,1}^2 & \lambda_{A,2}^2 & \lambda_{A,3}^2 \\ \lambda_{A,1}^2 & \lambda_{A,2}^2 & \lambda_{A,3}^2 \end{pmatrix} \begin{pmatrix} \Delta_{ell,x}^2 \\ \Delta_{ell,y}^2 \\ \Delta_{ell,z}^2 \end{pmatrix} = \begin{pmatrix} \frac{tr(A^{-1}) - \frac{tr(B'^{-1})}{d}m}{1 - m^3} \\ \frac{tr(B')dm^2 - tr(A)m^3}{tr(B')dm^2 - tr(A)m^3} \end{pmatrix},$$

i.e.

$$M_A \begin{pmatrix} \Delta_{ell,x}^2 \\ \Delta_{ell,y}^2 \\ \Delta_{ell,z}^2 \end{pmatrix} = V(m).$$

Since $A$ eigenvalues are all different (triaxial ellipsoid), Vandermonde matrix $M_A$ is not singular (cf Appendix F). Therefore, the system can be inverted:

$$\begin{pmatrix} \Delta_{ell,x}^2 \\ \Delta_{ell,y}^2 \\ \Delta_{ell,z}^2 \end{pmatrix} = M_A^{-1} V(m). \qquad (18)$$

Left hand side elements are all non-negative, whence the result.

Let's now assume that the three entries of $M_A^{-1}V(m)$ are all non-negative.

Let $\Delta_{ell} = (\Delta_{ell,x}, \Delta_{ell,y}, \Delta_{ell,z})^{\top}$ be a vector such that

$$\begin{pmatrix} \Delta_{ell,x}^2 \\ \Delta_{ell,y}^2 \\ \Delta_{ell,z}^2 \end{pmatrix} = M_A^{-1} V(m).$$

Such a definition is possible due to the positivity of the three entries.

One can therefore demonstrate, with the help of a formal calculus software (the corresponding Maple code is provided in Appendix I as reference), that, irrespective of the sign assumptions made for $\Delta_{ell}$ entries, the matrix

$$\frac{\sigma}{\mu} (A_{ell}^{-1} - \Delta_{ell} \Delta_{ell}^{\top}) = \frac{d}{m} (A_{ell}^{-1} - \Delta_{ell} \Delta_{ell}^{\top})$$

has the same eigenvalues with same multiplicities as $B'^{-1}$. Given that both matrices are diagonalizable (since symmetric), this amounts to say that they are similar, and thus that Equation (1') is satisfied. $\square$

### 6.3.2 Solving for Camera Poses

**Theorem 2.** *Considering a triaxial ellipsoid, each $\sigma$ solution of (1) gives rise to eight backprojection cones ($E, B'$) tangent to the ellipsoid. These cones are symmetric with respect to the three principal planes of the ellipsoid (see Fig. 8).*

In addition, each backprojection cone defines two camera solutions (see Fig. 9).
<figure><img src="image_10.png" /><figcaption>Fig. 8 Illustrating the eight backprojection cones tangent to the triaxial ellipsoid for a given σ value.</figcaption></figure>

Proof Theorem 1 provides a NSC on σ to be solution of (1). Moreover, its proof exhibits that vectors Δ solutions are expressed in the ellipsoid frame in the form

$$ \mathbf{\Delta}_{ell} = \begin{pmatrix} \pm\sqrt{\Delta_{ell,x}^2} \\ \pm\sqrt{\Delta_{ell,y}^2} \\ \pm\sqrt{\Delta_{ell,z}^2} \end{pmatrix} \qquad (19) $$

where

$$ \begin{pmatrix} \Delta_{ell,x}^2 \\ \Delta_{ell,y}^2 \\ \Delta_{ell,z}^2 \end{pmatrix} = M_A^{-1}V(m) $$

There are thus eight vectors $\mathbf{\Delta}_{ell}$ solutions for a given $m$ (thus $\sigma$), and they are symmetric with respect to the three principal planes of the ellipsoid.

The cone vertices (i.e. camera positions) can then be derived:

$$ \mathbf{E}_{ell} = \mathbf{C}_{ell} + \mathbf{\Delta}_{ell} = \mathbf{\Delta}_{ell}. $$

Let us now solve for camera orientations. Equation (1) provides the expression of $B'_{ell}$:

$$ B'_{ell} = \frac{1}{dm^2} A_{ell} \mathbf{\Delta}_{ell} \mathbf{\Delta}_{ell}^{\top} A_{ell} + \frac{m}{d} A_{ell} \qquad (20) $$

Orientations $^{cam}R_{ell}^{\top}$ of the cameras then verify:

$$ B'_{ell} = ^{cam}R_{ell}^{\top} B'_{cam} ^{cam}R_{ell}. $$

Since the cone is non-circular (see Section 6.1), $B'_{ell}$ and $B'_{cam}$ eigenvectors are defined with minimum ambiguity. By arbitrarily fixing the directions of $B'_{ell}$ eigenvectors for instance, it then remains four ways of

<figure><img src="image_11.png" /><figcaption>Fig. 9 Illustrating the two cameras compatible with each backprojection cone tangent to the triaxial ellipsoid.</figcaption></figure>

choosing the directions of $B'_{cam}$ eigenvectors so that the change of basis matrix $^{cam}R_{ell}$ is a rotation matrix. Yet, over the four resulting orientations, only two leads to an ellipsoid located in front of the camera. □

To summarize, to each $\sigma$ corresponds sixteen camera poses covering eight different positions (see Fig. 9).

**Algorithm 5** P1E solutions for the triaxial ellipsoid (expressed in the ellipsoid frame)

$$ \begin{array}{l} m \leftarrow \text{ solutions of polynomial inequality} \\ M_A^{-1}V(m) \geq 0 \text{ (Theorem 1)} \\ \mathbf{\Delta}_{ell} \leftarrow \text{ Equation (19)} \\ B'_{ell} \leftarrow \text{ Equation (20)} \\ \mathbf{E}_{ell} \leftarrow \mathbf{\Delta}_{ell} + \mathbf{C}_{ell} \\ \qquad^{ell}R_{cone} \leftarrow \text{ eigenvectors of } B'_{ell} \\ \qquad^{cam}R_{ell} \leftarrow ^{cam}R_{cone}^{ell}R_{cone}^{\top} \end{array} $$

## 6.4 The Spheroid

When the ellipsoid has a revolution axis (i.e. spheroid), we use a different approach since Vandermonde matrix $M_A$ is now singular and thus cannot be inverted. We then determine the set of spheroids tangent to the backprojection cone,
and distinguish between the two possible types of cone. It is worth noting that this problem has already been addressed in Wokes and Palmer (2010) using a different parameterization. The authors especially show that in the general case (non-circular elliptic cone), there are only two tangent spheroids, and we retrieve this result below.

### 6.4.1 The Non-circular Elliptic Cone

Let us first consider a non-circular elliptic cone. Expressing the Cone Alignment Equation in the cone coordinate frame, and given that the three B' eigenvalues are different, $\sigma$ solutions can be characterized in a similar way to Theorem 1.

**Result 8.** Let's denote $(\lambda_{B',1}, \lambda_{B',2}, \lambda_{B',3})$ the three distinct eigenvalues of B'. Then $\sigma = dm^2$ is solution of Equation (1) if and only if the three entries of vector $M_{B'}^{-1}V'(m)$ are all non-negative:

$$M_{B'} = \begin{pmatrix} 1 & 1 & 1 \\ \lambda_{B',1} & \lambda_{B',2} & \lambda_{B',3} \\ \lambda_{B',1}^2 & \lambda_{B',2}^2 & \lambda_{B',3}^2 \end{pmatrix}, \quad (21)$$

$$V'(m) = \begin{pmatrix} 1 & 0 & 0 \\ 0 & \frac{1}{dm^2} & 0 \\ 0 & 0 & \frac{1}{d^2m^4} \end{pmatrix} V(m). \quad (22)$$

*Proof* The proof is based on the exact same arguments as the proof of Theorem 1. In particular, $M_{B'}^{-1}V'(m)$ is related to the expression $\Delta_{cone}$ of $\Delta$ in the cone frame:

$$\begin{pmatrix} \Delta_{cone,x}^2 \\ \Delta_{cone,y}^2 \\ \Delta_{cone,z}^2 \end{pmatrix} = M_{B'}^{-1} V'(m) \quad (23)$$

<figure><img src="image_12.png" /></figure>

It is interesting noting that the above result is also valid in the case of a triaxial ellipsoid since the cone is then non-circular (Section 6.1). It can therefore be used to reconstruct the ellipsoids in the camera coordinate frame (see Fig. 4).

Unlike the triaxial ellipsoid for which there is an infinite number of $\sigma$ solutions, each one giving rise to a fixed number (16) of camera poses, we demonstrate in Theorem 3 that there is only one $\sigma$ solution for the spheroid, which gives rise to an infinite number of camera poses.

Let's consider $\lambda_{A,single}$ (multiplicity 1) and $\lambda_{A double}$ (multiplicity 2) the eigenvalues of A. Let's also consider $(\lambda_{B',1}, \lambda_{B',2}, \lambda_{B',3})$ the eigenvalues of B', where $\lambda_{B',1}$ and $\lambda_{B',2}$ have the same sign (opposed to the sign of $\lambda_{B',3}$). Finally, let's assume, even if it requires exchanging them, that $|\lambda_{B',1}| > |\lambda_{B',2}|$.

**Theorem 3.** Considering a spheroid along with a non-circular backprojection cone, there is only one $\sigma$ value solution of Equation (1):

$$\sigma = \begin{cases} \frac{\lambda_{A,single}\lambda_{B',1}}{\lambda_{B',2}\lambda_{B',3}} & \text{if } \lambda_{A,single} < \lambda_{A, double} \\ \frac{\lambda_{A,single}\lambda_{B',2}}{\lambda_{B',1}\lambda_{B',3}} & \text{if } \lambda_{A,single} > \lambda_{A, double} \end{cases} \quad (24)$$

That $\sigma$ value gives rise to two spheroids tangent to the cone, that are symmetric with respect to one of the cone principal planes (see Fig. 5).

*Proof* According to Theorem 8, $\sigma = dm^2$ is solution of (1) if and only if the three entries of the following vector are all non-negative:

$$\begin{pmatrix} \Delta_{cone,x}^2(m) \\ \Delta_{cone,y}^2(m) \\ \Delta_{cone,z}^2(m) \end{pmatrix} = M_{B'}^{-1}V'(m).$$

Yet, developing the right hand term leads to the following system:

$$\begin{cases} \Delta_{cone,x}^2(m) = \frac{1}{m^2} P_1(m) \\ \Delta_{cone,y}^2(m) = \frac{1}{m^2} P_2(m) \\ \Delta_{cone,z}^2(m) = \frac{1}{m^2} P_3(m) \end{cases}$$

where

$$\begin{cases} P_1(x) = k_1 \left(x - \frac{\lambda_{B',1}}{\lambda_{A,single}} d\right) \left(x - \frac{\lambda_{B',1}}{\lambda_{A, double}} d\right)^2 \\ P_2(x) = k_2 \left(x - \frac{\lambda_{B',2}}{\lambda_{A,single}} d\right) \left(x - \frac{\lambda_{B',2}}{\lambda_{A, double}} d\right)^2 \\ P_3(x) = k_3 \left(x - \frac{\lambda_{B',3}}{\lambda_{A,single}} d\right) \left(x - \frac{\lambda_{B',3}}{\lambda_{A, double}} d\right)^2 \end{cases}$$

and where

$$\begin{cases} k_1 = \frac{-\lambda_{B',2}\lambda_{B',3}}{\lambda_{B',1}(\lambda_{B',1}-\lambda_{B',2})(\lambda_{B',1}-\lambda_{B',3})d} \\ k_2 = \frac{-\lambda_{B',1}\lambda_{B',3}}{\lambda_{B',2}(\lambda_{B',2}-\lambda_{B',1})(\lambda_{B',2}-\lambda_{B',3})d} \\ k_3 = \frac{-\lambda_{B',1}\lambda_{B',2}}{\lambda_{B',3}(\lambda_{B',3}-\lambda_{B',1})(\lambda_{B',3}-\lambda_{B',2})d} \end{cases}$$
The locus of scalars $m$ solutions is the subset of $\mathbb{R}$ on which $P_1(x)$, $P_2(x)$ and $P_3(x)$ are all non-negative.

To study the variations of these three polynomials, four cases–described in Table 2 and depending on the relative order of $A$ and $B'$ eigenvalues–need to be considered. Only case #1 is addressed below, since other cases can be solved using a similar reasoning.

<table><caption>**Table 2** Configurations of the problem depending on $A$ and $B'$ eigenvalues.</caption><thead><tr><th></th><th>λ<sub>B',2</sub> &lt; 0</th><th>λ<sub>B',2</sub> &gt; 0</th></tr></thead><tbody><tr><td>λ<sub>A,single</sub> &lt; λ<sub>A double</sub></td><td>#1</td><td>#2</td></tr><tr><td>λ<sub>A,single</sub> &gt; λ<sub>A double</sub></td><td>#3</td><td>#4</td></tr></tbody></table>

Let's denote $S_i$ the root of $P_i(x)$ with multiplicity 1, and $D_i$ the root with multiplicity 2, such that

$$S_i = \frac{\lambda_{B',i}}{\lambda_{A,single}} \quad \text{and} \quad D_i = \frac{\lambda_{B',i}}{\lambda_{A,double}} d.$$

In configuration #1, studying the variations of every $P_i$ leads to only one solution to obtain simultaneous non-negative values, which is the root of $P_1$ with multiplicity 2: $x = D_1$ (the proof is given in Appendix K).

The unique $\sigma$ solution is then given by

$$\sigma = dD_1^2 = \frac{\lambda_{A,single}\lambda_{B',1}}{\lambda_{B',2}\lambda_{B',3}},$$

after replacing $d$ by its expression as a function of $A$ and $B'$ eigenvalues.

Furthermore, since $D_1$ is a root of $P_1(x)$, vectors $\Delta_{cone}$ expressed in the cone frame verify:

$$\left\{ \begin{array}{l} \Delta_{cone,x}^2 = 0 \\ \Delta_{cone,y}^2 = \frac{1}{D_1^2} P_2(D_1) \\ \Delta_{cone,z}^2 = \frac{1}{D_1^2} P_3(D_1). \end{array} \right.$$

Then

$$\Delta_{cone} = \begin{pmatrix} 0 \\ \pm\sqrt{\frac{1}{D_1^2} P_2(D_1)} \\ \pm\sqrt{\frac{1}{D_1^2} P_3(D_1)} \end{pmatrix}$$

Since the sign of the third entry $(\Delta_{cone,z})$ is fixed under the chirality constraint (ellipsoid located in front of the camera), there remains two possible expressions for $\Delta_{cone}$. The two resulting vectors are symmetric with respect to the cone principal plane whose normal is the eigenvector corresponding to eigenvalue $\lambda_{B',2}$.

Equation (11) then provides the expressions of $A$ in the cone coordinate frame:

$$A_{cone} = \frac{\sigma}{\mu} B'_{cone} - \frac{\sigma^2}{\mu} B'_{cone} \Delta_{cone} \Delta_{cone}^{\top} B'_{cone}.$$

One can therefore derive the expressions of $\Delta$ and $A$ in the camera frame using $^{cam}R_{cone}$ (known):

$$\begin{align*} \Delta_{cam} &= {}^{cam}R_{cone} \Delta_{cone}, \\ A_{cam} &= {}^{cam}R_{cone} A_{cone} {}^{cam}R_{cone}^{\top}, \end{align*}$$

then the spheroid centers are:

$$\mathbf{C}_{cam} = \mathbf{E}_{cam} - \Delta_{cam} = -\Delta_{cam} \quad \square$$

Now that the spheroid solutions have been determined in the camera coordinate frame, one can deduce the poses of camera solutions.

**Result 9.** Considering a spheroid along with a non-circular backprojection cone, the axial symmetry of the spheroid leads to an infinite number of camera solutions. The solutions belong to two planes orthogonal to the revolution axis of the spheroid and located at the same distance from its center (see Fig 7).

*Proof* Since there is only one possible value for $\sigma$, vectors $\Delta$ all have the same norm (cf. Result 5), i.e. the cameras are located at a fixed distance from the spheroid center.

Furthermore, orientations $^{cam}R_{ell}^{\top}$ of these cameras verify:

$$A_{cam} = {}^{cam}R_{ell} A_{ell} {}^{cam}R_{ell}^{\top}$$

Since the spheroid has a revolution axis, arbitrarily fixing $A_{ell}$ eigenvectors for instance leaves two choices for one of $A_{cam}$ eigenvectors (the one corresponding to the revolution axis) and an infinite number of choices for the other two. $\square$

**Algorithm 6** P1E solutions for the non-circular cone (expressed in camera frame)

$\sigma \leftarrow \text{Equation (24)}$

$\mu \leftarrow \text{Equation (5)}$

$m \leftarrow \text{Definition (15)}$

$\Delta_{cone} \leftarrow \text{Equation (23)}$

$\Delta_{cam} \leftarrow {}^{cam}R_{cone} \Delta_{cone} {}^{cam}R_{cone}^{\top}$

$A_{cam} \leftarrow \text{Equation (11)}$

$\mathbf{C}_{cam} \leftarrow \mathbf{E}_{cam} - \Delta_{cam}$

$^{cam}R_{ell} \leftarrow \text{eigenvectors of } A_{cam}$
<figure><img src="image_13.png" /><figcaption>Fig. 10 The spheroid solution with a circular backprojection cone.</figcaption></figure>

### 6.4.2 The Circular Cone

Considering the case of a circular cone (elliptic cone with a revolution axis), we are going to demonstrate that there is only one spheroid tangent to it (Result 10).

In this case, $B'$ has two distinct eigenvalues. Let's denote them $\lambda_{B',single}$ (multiplicity 1) and $\lambda_{B',double}$ (multiplicity 2).

**Result 10.** Considering a spheroid along with a circular backprojection cone, there is only one $\sigma$ value solution of Equation (1):

$$ \sigma = \frac{\lambda_{A,single}}{\lambda_{B',single}}. \qquad (25) $$

That $\sigma$ value gives rise to one spheroid tangent to the cone, and both revolution axes coincide (See Fig. 10). The distance between the cone vertex and the spheroid center is given by:

$$ \|\Delta\| = \sqrt{\frac{1}{\lambda_{A,single}} \left( 1 - \frac{\lambda_{A,single} \lambda_{B',double}}{\lambda_{A,double} \lambda_{B',single}} \right)}. \qquad (26) $$

Demonstration of Result 10 is provided in appendix G.

$A_{cone}$ can then be obtained from (11), then $A_{cam}$ and $C_{cam}$ using $\mathrm{cam}R_{cone}$ (known).

Now the spheroid solution has been determined in the camera frame, we can infer the corresponding camera poses.

**Result 11.** When considering a spheroid along with a circular backprojection cone, there are two solutions for camera position, that are located on the revolution axis of the spheroid and at the same distance from its center, and an infinite number of solutions for camera orientation.

*Proof* Equation (G4) gives the two possible solutions for $\Delta$. For reasons of symmetry, both of them are actual solutions.

Furthermore, orientations $\mathrm{cam}R_{ell}^{\top}$ of these cameras verify:

$$ A_{cam} = \mathrm{cam}R_{ell}A_{ell} \mathrm{cam}R_{ell}^{\top} $$

Just as when considering a non-circular elliptic cone (Result 9), we conclude on the infinite number of camera orientations. □

A summary of the method is provided in Algorithm 7.

**Algorithm 7** P1E solutions for the spheroid with circular cone (expressed in the ellipsoid frame)

$\sigma \leftarrow \text{Equation (25)}$

$\|\Delta\| \leftarrow \text{Equation (26)}$

$D_{ell} \leftarrow \text{Equation (G4)}$

$B'_{ell} \leftarrow \text{Equation (10)}$

$\mathbf{E}_{ell} \leftarrow \Delta_{ell} + \mathbf{C}_{ell}$

$\mathrm{cam}R_{ell} \leftarrow \text{left eigenvectors of } B'_{ell}$

## 6.5 The Sphere

When the ellipsoid is a sphere, the matrix $A$ has the same expression in every basis:

$$ A = \lambda_{A,triple}I, \qquad (27) $$

where $R = \frac{1}{\sqrt{\lambda_{A,triple}}}$ is the sphere radius.

Given its observation as a circle in the image, there is obviously an infinite number of camera solutions, that are located at the same distance from the sphere centre.

Using the formalism of our study, we can specify these properties with the following result:
**Result 12.** When considering a sphere, there is only one σ solution of Equation (1):

$$ \sigma = \frac{\lambda_{A,triple}}{\lambda_{B',single}}. \qquad (28) $$

That σ value defines a unique sphere tangent to the cone, whose center belongs the revolution axis of the cone. The distance from the cone vertex to the sphere center is given by:

$$ \|\Delta\| = \sqrt{\frac{1}{\lambda_{A,triple}} \left(1 - \frac{\lambda_{B',double}}{\lambda_{B',single}}\right)}. \qquad (29) $$

The locus of camera positions is then a sphere with radius $\|\Delta\|$ around the ellipsoid center.

Proof of Result 12 is provided in Appendix L. A summary of the method is provided in Algorithm 8.

**Algorithm 8** P1E solutions for the sphere (expressed in the camera frame)

$\sigma \leftarrow$ Equation (28)

$\|\Delta\| \leftarrow$ Equation (29)

$D_{cone} \leftarrow (0, 0, \|\Delta\|)^{\top}$ (assuming that the z-axis is the axis of revolution of the cone)

$\Delta_{cam} \leftarrow \mathrm{cam} R_{cone} \Delta_{cone} \mathrm{cam} R_{cone}^{\top}$

$A_{cam} \leftarrow$ Equation (11)

$\mathbf{C}_{cam} \leftarrow \mathbf{E}_{cam} - \Delta_{cam}$

$\mathrm{cam} R_{ell} \leftarrow$ eigenvectors of $A_{cam}$ (i.e. any rotation matrix)

## 6.6 Examples of Retrieved Poses

We provide in Fig. 11 a few examples of retrieved camera loci from several ellipse-ellipsoid correspondences on a real scene from the T-LESS dataset (Sturm et al., 2012). Ellipsoidal models of objects (all triaxial) were reconstructed using Rubino et al. (2018). Ellipsoids have then been reprojected into one image of the sequence using the groundtruth projection matrix. Finally, the loci of camera solutions were retrieved using our method (Section 6.3, Algo. 5). In the figure, ellipse and ellipsoid colors coincide with those of the loci. Naturally, all the loci intersect at the ground-truth camera position **E**. This example illustrates one

<figure><img src="image_14.png" /><figcaption>**Fig. 11** Examples of camera loci (i.e. solutions for position) corresponding to six different ellipse-ellipsoid pairs. Corresponding 2D ellipse (top), 3D ellipsoid (bottom) and 3D camera locus (bottom) use the same color. The groundtruth camera position **E** is at the unique intersection of the six loci. The image is extracted from the T-LESS dataset (Sturm et al., 2012).</figcaption></figure>

possible use of our results. Practical aspects are discussed in more details in Section 7.

## 7 P1E in Practice

This section aims at providing a discussion on how the theoretical results presented in this paper can be leveraged in practice (Section 7.1). We distinguish the general P1E case from the decoupling orientation and position case which do not have the same level of maturity for applications. We also explain why the triaxial ellipsoid case is in practice a significant improvement over the spheroid case in Section 7.2. Finally we give insights on the sensitivity of our methods to noise
in Section 7.3 and propose research tracks to
improve their robustness to noise in section 7.4.

## 7.1 Practical interests

The orientation-position decoupling (Section 5), and in particular the position-from-orientation derivation (Section 5.1), has already demonstrated great practical interest. More precisely, the constraint on the generalized eigenvalues of {$A, B'$} (Result 2) has been used to refine first estimates of the orientation, prior to computing the position (Gaudillière et al., 2019a). Considering camera orientations obtained either by IMU measurements or by vanishing point detection, camera positions have been computed from multiple ellipse-ellipsoid correspondences in a RANSAC algorithm with minimal sampling size of 1 correspondence using Result 6 (Gaudillière et al., 2019b). A 2-step method to compute the camera orientation from 2 ellipse-ellipsoid correspondences then derive the position using Result 6 has been designed and integrated in a RANSAC algorithm (Gaudillière et al., 2020a,b). All of these methods have been evaluated on standard camera pose estimation benchmarks. The opposite case (orientation from position, Section 5.2) has been investigated in (Rathinam et al., 2022), where a 2-step method is used to compute the position then derive the orientation (Result 7) of a spacecraft modeled by an ellipsoid. Applications are however less obvious because it is generally more practical to retrieve an orientation using a sensor carried by the subject than the subject's position in a world frame which, apart from vision-based methods, requires the use of external tracking sensors (e.g. motion capture cameras). Today's cell phones have both GPS and orientation sensors, but there are situations where only GPS is available – e.g. in a vehicle, for AR displayed on the windshield. Another consideration is that, just as some environments are GPS-denied, others can be hostile to IMU sensors whose magnetometers are sensitive to the presence of metallic objects.

The results and algorithms presented in Section 6 have not yet been leveraged in practice. A direct application, leveraging at least 2 ellipse-ellipsoid correspondences and suggested in Section 6.6, would be to compute the pose solutions from each correspondence then find the intersection. Moreover, the P1E constraints can

be used in combination with other primitives such
as points or lines to compute a unique solution.

## 7.2 Triaxial ellipsoid versus spheroid

One of the main contribution of this paper is the solution of P1E for the generic triaxial ellipsoid. This noticeably extends the results of Wokes and Palmer (2010) regarding spheroids and has several practical impacts. Indeed, in the context of localization from objects, ellipsoidal models are most of the time built in a Least Squares sense from a set of ellipses detected in a small number of images (Rubino et al., 2018). General triaxial ellipsoids are thus generally obtained, whereas spheroids are not likely to occur. In addition, our experiments have shown that the triaxial case is effective even when two eigenvalues are close, thus making the triaxial case useful for almost any case in practice. For instance, considering a camera with position [-1,-1,-4], orientation represented by Euler Angles [-45°,10°,10°] and distance to image plane equal to 1 on one side, and considering an ellipsoid with radii a=4, b=2 and c=1.999999 on the other side, the method still produces numerically stable results<fnref n="2" />.

In order that the reader has a better idea of the smooth transition between the triaxial and spheroid cases, a video has been created<fnref n="3" />. The loci of solutions for a triaxial ellipsoid with size axis [a=4,b=2,c=1] is first presented. Then, the third eigenvalue c is progressively moved from 1 to 2 to obtain the spheroid case. These loci are computed with the triaxial algorithm (5) in the ellipsoid coordinate frame until 1.99 and with the non-circular elliptic cone (Algo. 6) with c=2. In the camera frame, Algo. 5 is used for all c values. Two visualizations are provided: the locus of ellipsoid solutions is shown in the camera frame, either by representing only the center (in black) and radii endpoints (red,green,blue) or by representing the full ellipsoid.

<footnote n="2">²This experiment can be reproduced using our code (file main.m, experiment Xp=4)</footnote>

<footnote n="3">³https://members.loria.fr/moberger/Documents/P1E.mp4</footnote>
## 7.3 Sensitivity to noise

The work conducted in our previous publications provides insights on the sensibility of the P1E framework to noise. For instance, while only ellipses inscribed in bounding boxes were considered in Gaudillière et al. (2019a,b, 2020a,b), a sufficient level of pose accuracy was achieved due to the fact that camera orientations were determined using other methods. Subsequent work has nonetheless demonstrated that detecting more accurate ellipses can further improve the pose accuracy (Zins et al., 2020).

When the position is known (e.g., regressed by a ConvNet, or computed from the scalar unknowns as in methods of Section 6), preliminary results and analysis presented in Rathinam et al. (2022) suggest that the orientation-from-position derivation (Section 5.2) is highly sensitive to the noise on the ellipse detection, due to the mathematical details of the derivation. More precisely, one can observe that the norm of the relative position $||Δ||$ is raised to the power of 4 to obtain $σ$ (Equation (6)), which is itself raised to the power of 1.5 to compute $μ$ (Equation (5)). This drastically heightens the error resulting from the computation of $Δ$. Moreover, the matrix $ΔΔ^T$ is made of the pairwise products between $Δ$ elements, here again multiplying the errors.

## 7.4 Improving robustness to noise

In practice, we observe that the recovered camera positions are sensitive to the noise on the detected ellipse. Theoretically, one eigenvalue of {$A, B'$} with multiplicity 2 should be found. Due to the noisy ellipse detection, this is in practice not the case. We thus find among the eigenvalues the two which are the closest and identify the remaining one as $σ$. Though this process is effective when noise is small, we think that a method which explicitly take into account the constraints of an eigenvalue with multiplicity two should be considered. We have made progress in this direction in Gaudillière et al. (2019a) where we exploit the fact that the characteristic polynomial should have a double root which implies that the discriminant of this polynomial should be zero. However, such a solution does not really solve the problem which is due to an imperfect correspondence between the ellipse and the ellipsoid. A more promising research direction we want to investigate in the

future is to identify an ellipse close to the detected one which provides the smallest difference, ideally zero, between the two closest eigenvalues of {$A, B'$}. A synthetic formulation of the idea could be for instance $\hat{C} = \operatorname{argmin}_{||C-\hat{C}||<\epsilon} ||\lambda_1(AB'_{\hat{C}}) - \lambda_2(AB'_{\hat{C}})||$, where $C$ is the detected ellipse, $B'_{\hat{C}}$ is the cone build from ellipse $\hat{C}$, $\lambda_1(AB'_{\hat{C}})$ and $\lambda_2(AB'_{\hat{C}})$ are the two closest generalized eigenvalues of {$A, B'_{\hat{C}}$}, and $\epsilon$ denotes a small threshold between $C$ and $\hat{C}$ parameters. This should allow to recover better ellipse-ellipsoid correspondence and is likely to improve the stability of the pose solutions. Another solution based on machine learning could be to use 3D aware tracking (Zins et al., 2020) to detect the 2D ellipse. Though less generic than the previous solution, this may help to reach stability in the solutions.

## 8 Conclusion

We propose in this paper a complete characterization of the P1E problem and noticeably extend previous works that only partially addressed this problem. Besides its theoretical interests, this paper also proposes a constructive solution for the camera loci and discusses the potential practical applications. The closed-form solution provided for the position-from-orientation case has proven its practical interest. The orientation-from-position solution, even if not yet fully exploited, may also represent a convenient manner to simplify the pose estimation problem.

Future investigations concern numerical aspects and especially extending the sensitivity analysis of the methods to noise. Another important concern will be the joint use of the method with a minimal number of other image features, such as points or other ellipse-ellipsoid correspondences, to ensure the computation of a unique solution.

**Acknowledgements** The work presented in this paper was carried out at Université de Lorraine, CNRS, Inria, LORIA. The writing effort was partly funded by the Luxembourg National Research Fund (FNR) under the project reference BRIDGES2020/IS/14755859/MEET-A/Aouada.
# Declarations

The authors declare that they have no conflict of interest.

# Appendix A Equivalent Problem Formulations

To prove that Equations (1) and (1') are equivalent, we demonstrate below that (1) implies (1') then (1') implies (1).

[(1) ⇒ (1')] Multiply (1) on the right by $\Delta$ to obtain $A\Delta = \sigma B'\Delta$ (see Appendix B). Whence

$$A\Delta\Delta^\top A + \mu A = \sigma B' \implies \sigma B' - \sigma B'\Delta\Delta^\top A = \mu A$$

Left-multiplying by $B'^{-1}$

$$\sigma I - \sigma \Delta \Delta^\top A = \mu B'^{-1} A$$

Then right-multiplying by $A^{-1}$

$$\sigma A^{-1} - \sigma \Delta \Delta^\top = \mu B'^{-1}$$

Finally $(\sigma \neq 0)$

$$A^{-1} - \Delta \Delta^\top = \frac{\mu}{\sigma} B'^{-1}$$

[(1') ⇒ (1)] Multiply (1') on the right by A then on the left by $B'$ to obtain

$$B' - B' \Delta \Delta^\top A = \frac{\mu}{\sigma} A$$

Then right-multiply by $\Delta$ to obtain $\mu B' \Delta = \frac{\mu}{\sigma} A \Delta$, whence $(\mu \neq 0) A \Delta = \sigma B' \Delta$.

Injecting that result into the previous equation leads to

$$\sigma B' - A \Delta \Delta^\top A = \mu A$$

# Appendix B Proof of Result 2

Let us first prove that the couple {$A, B'$} has exactly two distinct generalized values, that are non zero and of opposite signs.

*Proof* The generalized eigenvalues of {$A, B'$} are non-zero because $B'^{-1}A$ is not singular.

We can then observe that

$$Q(x) = \mu x^2 - (\mu + 1)\sigma x + \sigma^2$$

is an annihilator polynomial of $B'^{-1}A$ (see proof in Appendix C):

$$\mu(B'^{-1}A)^2 - (\mu + 1)\sigma B'^{-1}A + \sigma^2 I = 0. \quad (B1)$$

In linear algebra, the minimal polynomial $\pi(.)$ is defined as the monic annihilator polynomial having the lowest possible degree. It can be shown (Lang, 2002) that (i) $\pi(.)$ divides any annihilator polynomial and (ii) the roots of $\pi(.)$ are identical to the roots of the characteristic polynomial. Since $Q$ is an annihilator polynomial of degree 2, we can thus infer that $B'^{-1}A$, and thus {$A, B'$}, has at most two distinct eigenvalues.

We are now going to prove by contradiction that {$A, B'$} has exactly two distinct eigenvalues. Let's thus assume that the couple has only one eigenvalue with multiplicity 3 denoted $\sigma_0$.

Since $A$ is positive definite and $B'$ is symmetric, the couple {$A, B'$} has the following properties (Golub and Van Loan, 1996) (Corollary 8.7.2, p. 462):

1. their generalized eigenvalues are real,

2. their reducing subspaces are of the same dimension as the multiplicity of the associated eigenvalues,

3. their generalized eigenvectors form a basis of $\mathbb{R}^3$, and those with distinct eigenvalues are A-orthogonal.

According to property 2. above, we have

$$\dim(Ker(A - \sigma_0 B')) = 3,$$

i.e.

$$A = \sigma_0 B'$$

which is impossible because $A$ represents an ellipsoid whereas $B'$ represents a cone. So {$A, B'$} has exactly two distinct generalized eigenvalues.

Let's then denote $\sigma_1$ (multiplicity 1) and $\sigma_2$ (multiplicity 2) these two eigenvalues. Observing that $\frac{1}{\sigma_1}$ and $\frac{1}{\sigma_2}$ are the generalized eigenvalues of {$B', A$}, we can write, according to Avron et al. (2008) (Theorem 3)

$$\forall \mathbf{X} \in \mathbb{R}^3 \setminus \{\mathbf{0}\}, \\ \min \left( \frac{1}{\sigma_1}, \frac{1}{\sigma_2} \right) \leq \frac{\mathbf{X}^{\top} B' \mathbf{X}}{\mathbf{X}^{\top} A \mathbf{X}} \leq \max \left( \frac{1}{\sigma_1}, \frac{1}{\sigma_2} \right)$$

If $\sigma_1$ and $\sigma_2$ were of the same sign, then $\forall \mathbf{X} \in \mathbb{R}^3 \setminus \{\mathbf{0}\}$, $\mathbf{X}^{\top} B' \mathbf{X}$ would be of that sign (since $\mathbf{X}^{\top} A \mathbf{X} > 0$). Yet, it is impossible since $B'$ is neither positive nor negative definite (cone). We thus conclude that the two distinct eigenvalues are of opposite signs. □

Let us now prove that $\sigma$ is the generalized eigenvalue of {$A, B'$} with multiplicity 1
Proof Let's consider $(\sigma_1, \delta_1)$ and $(\sigma_2, \delta_2)$ the generalized eigenvalues and eigenvectors of $\{A, B'\}$, such that $\|\delta_i\| = 1$.

We are going to prove (3) by contradiction.

Let's suppose that there is $k \in \mathbb{R}^*$ such that $(A, \sigma_2, k\delta_2)$ is solution of Equation (1).

By injecting these values into (1), we therefore have

$$B' - \frac{1}{\sigma_2}A = MA,$$

where

$$M = \frac{k^2}{\sigma_2}(A\delta_2\delta_2^\top - \delta_2^\top A\delta_2 I).$$

According to property 2 of the proof of Result 2,

$$\dim(\mathrm{Ker}(B' - \frac{1}{\sigma_2}A)) = 2,$$

whence, since A is invertible,

$$\dim(\mathrm{Ker}(MA)) = \dim(\mathrm{Ker}(M)) = 2.$$

However, defining

$$\delta_2^\perp = \{\mathbf{X} \in \mathbb{R}^3/\mathbf{X} \perp \delta_2\}$$

the subspace of dimension 2 orthogonal to $\delta_2$, we observe that, $\forall \mathbf{X} \in \delta_2^\perp$,

$$\begin{aligned}
M\mathbf{X} &= \frac{k^2}{\sigma_2}A\delta_2\delta_2^\top\mathbf{X} - \frac{k^2}{\sigma_2}\delta_2^\top A\delta_2\mathbf{X} \\
&= \frac{k^2}{\sigma_2}A\delta_2(\delta_2 \cdot \mathbf{X}) - \frac{k^2}{\sigma_2}\delta_2^\top A\delta_2\mathbf{X} \\
&= -\frac{k^2}{\sigma_2}\delta_2^\top A\delta_2\mathbf{X}.
\end{aligned}$$

Since A is positive definite, $\delta_2^\top A\delta_2 > 0$, whence it comes

$$\forall \mathbf{X} \in \delta_2^\perp \setminus \{\mathbf{0}\}, M\mathbf{X} \neq \mathbf{0}.$$

It means that

$$\delta_2^\perp \cap \mathrm{Ker}(M) = \{\mathbf{0}\},$$

whence the direct sum

$$\delta_2^\perp \bigoplus \mathrm{Ker}(M)$$

is a subspace of $\mathbb{R}^3$ with dimension

$$\dim(\delta_2^\perp) + \dim(\mathrm{Ker}(M)) = 2 + 2 = 4.$$

We end up with a contradiction since $4 > \dim(\mathbb{R}^3) = 3$.

As a result, triplets $(A, \sigma_2, k\delta_2)$ cannot be solutions of (1), thus solutions are necessarily in the form $(A, \sigma_1, k\delta_1)$, where $k \in \mathbb{R}^*$. $\square$

## Appendix C Proving that $Q(B'^{-1}A) = 0$

Replacing (2) into (1), we obtain:

$$\sigma^2 B' \Delta \Delta^\top B' - (\sigma \Delta^\top B' \Delta - 1) A = \sigma B'$$

We can then deduce the following expression for A:

$$A = \frac{\sigma}{1 - \sigma \Delta^\top B' \Delta}(B' - \sigma B' \Delta \Delta^\top B')$$

Whence, denoting $I$ the identity matrix and defining $f = \frac{\sigma}{1 - \sigma \Delta^\top B' \Delta}$, then left-multiplying by $B'^{-1}$, we obtain

$$B'^{-1}A = f(I - \sigma \Delta \Delta^\top B')$$

Squaring that expression leads to

$$\begin{aligned}
(B'^{-1}A)^2 &= f^2(I - \sigma \Delta \Delta^\top B')^2 \\
&= f^2(I - 2\sigma \Delta \Delta^\top B' + \sigma^2 \Delta(\Delta^\top B' \Delta)\Delta^\top B') \\
&= f^2(I - 2\sigma \Delta \Delta^\top B' + \sigma^2(\Delta^\top B' \Delta)\Delta \Delta^\top B') \\
&= f^2(I - \sigma(2 - \sigma \Delta^\top B' \Delta)\Delta \Delta^\top B')
\end{aligned}$$

Defining $\mu = 1 - \sigma \Delta^\top B' \Delta = 1 - \Delta^\top A \Delta$:

$$\begin{aligned}
(B'^{-1}A)^2 &= f^2(I - \sigma(\mu + 1)\Delta \Delta^\top B') \\
&= f^2((\mu + 1)(I - \sigma \Delta \Delta^\top B') - \mu I) \\
&= f(\mu + 1)B'^{-1}A - f^2\mu I \\
&= \frac{\sigma}{\mu}(\mu + 1)B'^{-1}A - \frac{\sigma^2}{\mu}I
\end{aligned}$$

Finally, we have

$$\mu(B'^{-1}A)^2 = \sigma(\mu + 1)B'^{-1}A - \sigma^2 I$$

Whence, denoting $Q(x) = \mu x^2 - (\mu + 1)\sigma x + \sigma^2$,

$$Q(B'^{-1}A) = 0$$

## Appendix D Characterizations of $\mu$

### Proof of result 3

*Proof* The trace of $B'^{-1}A$ is given by its eigenvalues:

$$\mathrm{tr}(B'^{-1}A) = \sigma_1 + 2\sigma_2.$$
Whence, by squaring the matrix,

$$tr((B'^{-1}A)^2) = \sigma_1^2 + 2\sigma_2^2.$$

Therefore, since $tr(I) = 3$ and $\sigma = \sigma_1$, applying the operator $tr()$ to Equation (B1) leads to

$$\mu(\sigma_1^2 + 2\sigma_2^2) - \sigma_1(\mu + 1)(\sigma_1 + 2\sigma_2) + 3\sigma_1^2 = 0,$$

which is equivalent to

$$\mu\sigma_2(\sigma_2 - \sigma_1) = \sigma_1(\sigma_2 - \sigma_1),$$

i.e.

$$\mu = \frac{\sigma_1}{\sigma_2}.$$

<figure><img src="image_15.png" /></figure>

**Proof of result 4**

*Proof* Determinant of $B'^{-1}A$ is given by its eigenvalues:

$$det(B'^{-1}A) = \sigma_1\sigma_2^2,$$

i.e.

$$\frac{det(A)}{det(B')} = \sigma_1\sigma_2^2. \qquad (D2)$$

We obtain (5) by injecting (3) (4) into (D2) and using $\mu < 0$. □

<figure><img src="image_16.png" /></figure>

**Appendix E Proof of co-occurences**

Obviously, only circular cones can be tangent to a sphere. Furthermore, we are going to prove that only a non-circular elliptic cone can be tangent to a triaxial ellipsoid.

Let's prove it by contradiction, and assume that the projection cone has a revolution axis (circular cone).

Let's also assume that the ellipsoid center C does not belong to that axis. Since the ellipsoid is tangent to the cone, any new ellipsoid obtained by rotating the original one around the cone revolution axis shall still be tangent to the cone, thus be solution of (1). Yet, in this case, the locus of ellipsoid centers would be a circle located in a plane orthogonal to that axis and whose center would belong to it. Every center would thus be at a fixed distance to the cone vertex E, whence there would be an infinite number of Δ solutions for the same $\sigma$, given (6). However, this contradicts Equation (18). Therefore, the ellipsoid center must belong to the revolution axis of the cone.

If the ellipsoid center belonged to the cone revolution axis, then Δ would be parallel to that axis, i.e. would be an eigenvector of $B'$, whence

an eigenvector of A given (1'). However, in such a case, the symmetries of the cone-ellipsoid pair would impose that the tangent ellipse (intersection between the ellipsoid and the polar plane derived from E (Wylie, 2008)) belongs to a plane orthogonal to the cone revolution axis, that is also a principal axis of the ellipsoid. Therefore, that tangent ellipse should be both a circle (orthogonal section of a circular cone) and a non-circular ellipse (section of an ellipsoid by a plane parallel to one of its principal planes), which is impossible. Therefore, the cone cannot have a revolution axis.

**Appendix F Vandermonde Matrix**

A Vandermonde matrix is a matrix with the terms of a geometric progression in each row or column:

$$V = \begin{pmatrix} 1 & 1 & 1 & \cdots & 1 \\ x_1 & x_2 & x_3 & \cdots & x_n \\ x_1^2 & x_2^2 & x_3^2 & \cdots & x_n^2 \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ x_1^{m-1} & x_2^{m-1} & x_3^{m-1} & \cdots & x_n^{m-1} \end{pmatrix}.$$

The determinant of a square Vandermonde matrix (when $m = n$) is given by

$$det(V) = \prod_{1 \le i < j \le n} (x_j - x_i).$$

Therefore, $V$ is not singular (i.e. $det(V) \neq 0$) if and only if all $x_i$ are distinct.

**Appendix G Demonstration of result 10**

*Proof* Given that A has two distinct eigenvalues, its minimal polynomial is

$$\pi_A(x) = (x - \lambda_{A,single})(x - \lambda_{A double}).$$

$\pi_A$ being an annihilator polynomial of A, evaluating $\pi_A(A)$ gives

$$A^2 = \alpha A + \beta I,$$

where

$$\alpha = \lambda_{A,single} + \lambda_{A double},$$

$$\beta = -\lambda_{A,single}\lambda_{A double}.$$

Left-multiplying by $\Delta^\top$ and right-multiplying by $\Delta$ gives

$$\Delta^\top A^2 \Delta = \alpha \Delta^\top A \Delta + \beta \Delta^\top \Delta. \qquad (G3)$$
Injecting the expressions of $\Delta^\top A^2 \Delta$, $\Delta^\top A \Delta$ and $\Delta^\top \Delta$ as functions of $m$ from (17) into (G3) and observing that

$$tr(A) = \lambda_{A,single} + 2\lambda_{A,double}$$

and that

$$tr(A^{-1}) = \frac{1}{\lambda_{A,single}} + \frac{2}{\lambda_{A,double}},$$

we obtain, after simplification

$$m^3 = \frac{tr(B')d}{\lambda_{A,double}}m^2 + \frac{\lambda_{A,single}tr(B'^{-1})}{d}m - \frac{\lambda_{A,single}}{\lambda_{A,double}}$$

Let's call $P_{spheroid}(x)$ the above polynomial whose $m$ is root:

$$P_{spheroid}(x) = x^3 - \frac{tr(B')d}{\lambda_{A,double}}x^2 - \frac{\lambda_{A,single}tr(B'^{-1})}{d}x + \frac{\lambda_{A,single}}{\lambda_{A,double}}$$

Developing $tr(B')$ and $tr(B'^{-1})$, one can observe that it can be rewritten

$$P_{spheroid}(x) = \left(x - \frac{\lambda_{B',single}}{\lambda_{A,double}}\right)d \left(x - \frac{\lambda_{B',double}}{\lambda_{A,double}}\right)^2$$

At this stage, one can note that the sign of $d$ is the sign of $\lambda_{B',simple}$:

$$d = \sqrt[3]{\frac{\det(A)}{\det(B')}} = \sqrt[3]{\frac{\lambda_{A,single}\lambda_{A,double}^2}{\lambda_{B',single}\lambda_{B',double}^2}}$$

Thus the signs of the roots of $P_{spheroid}(x)$ are:

$$\frac{\lambda_{B',single}}{\lambda_{A,double}} d > 0 \quad \text{and} \quad \frac{\lambda_{B',double}}{\lambda_{A,double}} d < 0.$$

Since $m < 0$, the only possible value for it is the second one. Therefore, $\sigma$ is given by:

$$\sigma = d \left( \frac{\lambda_{B',double}}{\lambda_{A,double}} d \right)^2 = \frac{\lambda_{A,single}}{\lambda_{B',single}}$$

Let's now focus on $\Delta$, and consider the first two equations of System 17:

$$\left\{ \begin{array}{l} \Delta^\top \Delta = tr(A^{-1}) - \frac{tr(B'^{-1})}{d}m \\ \Delta^\top A \Delta = 1 - m^3 \end{array} \right.$$

Considering the ellipsoid frame, its left hand side can be rewritten in a matrix form:

$$\begin{pmatrix} 1 & 1 \\ \lambda_{A,single} & \lambda_{A,double} \end{pmatrix} \begin{pmatrix} \Delta_{ell,x}^2 \\ \Delta_{ell,y}^2 + \Delta_{ell,z}^2 \end{pmatrix}$$

That Vandermonde matrix is not singular given that $\lambda_{A,single} \neq \lambda_{A,double}$, thus the system can be inverted.

After developing the right hand side, we finally obtain

$$\Delta_{ell,x}^2 = \frac{1}{\lambda_{A,single}} \left( 1 - \frac{\lambda_{A,single}\lambda_{B',double}}{\lambda_{A,double}\lambda_{B',single}} \right),$$

and

$$\Delta_{ell,y}^2 + \Delta_{ell,z}^2 = 0.$$

Therefore,

$$\Delta_{ell} = \left( \pm \sqrt{\frac{1}{\lambda_{A,single}} \left( 1 - \frac{\lambda_{A,single}\lambda_{B',double}}{\lambda_{A,double}\lambda_{B',simple}} \right)} \begin{pmatrix} 0 \\ 0 \end{pmatrix} \right). \quad (G4)$$

$\Delta$ is thus an eigenvector of $A$ corresponding to eigenvalue $\lambda_{A,single}$, i.e. coincides with the revolution axis of the spheroid.

Equation (2) then requires that $\Delta$ is also an eigenvector of $B'$. It must be the one corresponding to the revolution axis of the cone since, if not, the ellipsoid center would be located outside of the cone. In that respect, both axes of revolutions (cone and spheroid) coincide, and $||\Delta||$ is given by:

$$\|\Delta\| = \sqrt{\frac{1}{\lambda_{A,single}} \left( 1 - \frac{\lambda_{A,single}\lambda_{B',double}}{\lambda_{A,double}\lambda_{B',single}} \right)}.$$

# Appendix H Ellipsoid and Cone types

See Tables H1 and H2.

# Appendix I Theorem 1: Maple code

> with(linspace);

> A:=matrix([[1A1,0,0],[0,1A2,0],[0,0,1A3]]);

> B:=matrix([[1B1,0,0],[0,1B2,0],[0,0,1B3]]);

> M.A:=transpose(vandermonde([1A1,1A2,1A3)));

> d:=(det(A)/det(B))^(1/3);

> V:=transpose matrix([[trace(inverse(A))-trace(inverse(B))*m/d,1-m^3,trace(B)*d*m^2-trace(A)*m^3]]);

> Delta2:=multiply(inverse(M.A);V);

> Delta:=transpose matrix([[sqrt(Delta2 [1,1]),sqrt(Delta2 [2,1]),sqrt(Delta2 [3,1])]]);

> inv.B:=evalm(d/m*(inverse(A)-multiply(Delta,transpose(Delta)));

> eigenvalues inv.B;

# Appendix J Theorem 8: Maple code
<table><thead><tr><th></th><th>Triaxial ellipsoid</th><th>Spheroid</th><th>Sphere</th></tr></thead><tbody><tr><th scope="row">Illustration</th><td></td><td></td><td></td></tr><tr><th scope="row">Lengths of principal axes</th><td>a, b, c</td><td>a, b</td><td>r</td></tr><tr><th scope="row">Eigenvalues of A</th><td><sup>1</sup>&frasl;<sub>a<sup>2</sup></sub>, <sup>1</sup>&frasl;<sub>b<sup>2</sup></sub>, <sup>1</sup>&frasl;<sub>c<sup>2</sup></sub></td><td><sup>1</sup>&frasl;<sub>a<sup>2</sup></sub>, <sup>1</sup>&frasl;<sub>b<sup>2</sup></sub>, <sup>1</sup>&frasl;<sub>b<sup>2</sup></sub></td><td><sup>1</sup>&frasl;<sub>r<sup>2</sup></sub>, <sup>1</sup>&frasl;<sub>r<sup>2</sup></sub>, <sup>1</sup>&frasl;<sub>r<sup>2</sup></sub></td></tr><tr><th scope="row">Signs of eigenvalues</th><td>+, +, +</td><td>+, +, +</td><td>+, +, +</td></tr><tr><th scope="row">Characteristic polynomial of A</th><td>P<sub>A</sub>(x) = (x - a)(x - b)(x - c)</td><td>P<sub>A</sub>(x) = (x - a)(x - b)<sup>2</sup></td><td>P<sub>A</sub>(x) = (x - r)<sup>3</sup></td></tr><tr><th scope="row">Minimal polynomial of A</th><td>&pi;<sub>A</sub>(x) = (x - a)(x - b)(x - c)</td><td>&pi;<sub>A</sub>(x) = (x - a)(x - b)</td><td>&pi;<sub>A</sub>(x) = (x - r)</td></tr></tbody></table>

<figure><img src="image_17.png" /></figure>

<figure><img src="image_18.png" /></figure>

<figure><img src="image_19.png" /><figcaption>**Table H1** The different types of ellipsoids.</figcaption></figure>

<table><thead><tr><th></th><th>Non-circular elliptic cone</th><th>Circular cone</th></tr></thead><tbody><tr><th scope="row">Illustration</th><td></td><td></td></tr><tr><th scope="row">Eigenvalues of B</th><td>&lambda;<sub>1</sub>, &lambda;<sub>2</sub>, &lambda;<sub>3</sub></td><td>&lambda;<sub>1</sub>, &lambda;<sub>2</sub>, &lambda;<sub>2</sub></td></tr><tr><th scope="row">Signs of eigenvalues</th><td>-, +, +<br>or<br>+,-,-</td><td>-, +, +<br>or<br>+,-,-</td></tr><tr><th scope="row">Characteristic polynomial of B</th><td>P<sub>B</sub>(x) = (x - &lambda;<sub>1</sub>)(x - &lambda;<sub>2</sub>)(x - &lambda;<sub>3</sub>)</td><td>P<sub>B</sub>(x) = (x - &lambda;<sub>1</sub>)(x - &lambda;<sub>2</sub>)<sup>2</sup></td></tr><tr><th scope="row">Minimal polynomial of B</th><td>&pi;<sub>B</sub>(x) = (x - &lambda;<sub>1</sub>)(x - &lambda;<sub>2</sub>)(x - &lambda;<sub>3</sub>)</td><td>&pi;<sub>B</sub>(x) = (x - &lambda;<sub>1</sub>)(x - &lambda;<sub>2</sub>)</td></tr></tbody></table>

<figure><img src="image_20.png" /></figure>

<figure><img src="image_21.png" /><figcaption>**Table H2** The different types of elliptic cones.</figcaption></figure>
> with (linalg);

> A:=matrix([[1A1,0,0],[0,1A2,0],[0,0,1A2]]);

> B:=matrix([[1B1,0,0],[0,1B2,0],[0,0,1B3]]);

> M_B:=transpose(vandermonde([1B1,1B2,1B3)));

> d:=(det(A)/det(B))^1/(3);

> V:=transpose matrix ([(trace (inverse (A))-trace (inverse (B))*m/d,1-m^3,trace (B)*d*m^2-trace (A)*m^3)]);

> V:=multiply (inverse (matrix ([[1,0,0],[0,d*m^2,0],[0,0,d^2*m^4]])),V_-);

> Delta2:=multiply (inverse (M_B),V);

> Delta:=transpose (matrix ([[sqrt (Delta2 [1, 1]),sqrt (Delta2 [2, 1]),sqrt (Delta2 [3, 1])]]));

> inv_A:=evalm (multiply (Delta, transpose (Delta))+evalm (m/d*inverse (B)));

> eigenvalues (inv_A);

# Appendix K Solving the Polynomial Equation in Theorem 3

In case #1, the signs of $B'$ eigenvalues ensure that

$$d = \sqrt[3]{\frac{\lambda_{A,single} \lambda_{A, double}^2}{\lambda_{B',1} \lambda_{B',2} \lambda_{B',3}}} > 0,$$

then that

$$k_1 < 0, k_2 > 0 \text{ and } k_3 < 0.$$

Let's denote $S_i$ the root of $P_i(x)$ with multiplicity 1, and $D_i$ the root with multiplicity 2, such that

$$S_i = \frac{\lambda_{B',i}}{\lambda_{A,single}} d \quad \text{and} \quad D_i = \frac{\lambda_{B',i}}{\lambda_{A, double}} d.$$

Considering the signs of $\lambda_{B',i}$ and the fact that $\lambda_{A,simple} < \lambda_{A, double}$, it comes

$$S_1 < D_1 < 0,$$

$$S_2 < D_2 < 0,$$

$$0 < D_3 < S_3.$$

One can therefore note that the roots of $P_1(x)$ and $P_2(x)$ are negative, while those of $P_3(x)$ are positive. Since, in addition, $k_3 < 0$, we have

$$\forall x \le 0, P_3(x) > 0.$$

Let's now focus on the signs of $P_1(x)$ and $P_2(x)$ to determine the locus of possible $m$ values. Since

$\lambda_{B',1} < \lambda_{B',2}$, their roots verify

$$S_1 < S_2,$$

$$D_1 < D_2.$$

Therefore, one can distinguish between two configurations regarding the roots order:

$$S_1 < D_1 < S_2 < D_2,$$

or

$$S_1 < S_2 < D_1 < D_2.$$

For the first case, the variations of the three polynomials are presented in Table K3.

One can observe that the three polynomials are never all non-negative, thus this configuration is impossible. For the second case, however, there is one value for which all three polynomials are non-negative: $D_1$ (see Table K4).

# Appendix L Proof of Result 12

*Proof* Left-multiplying $A = \lambda_{A,triple}I$ by $\Delta^\top$ right-multiplying it by $\Delta$, we obtain

$$\Delta^\top A \Delta = \lambda_{A,triple} \Delta^\top \Delta.$$

Injecting the first two equations of System (17), we then have

$$1 - m^3 = \lambda_{A,triple} \left( \text{tr}(A^{-1}) - \frac{\text{tr}(B'^{-1})}{d} m \right).$$

Developing $\text{tr}(A^{-1})$ and $\text{tr}(B'^{-1})$ leads to

$$1 - m^3 = 3 - \frac{\lambda_{A,triple}}{d} \frac{\lambda_{B',double} + 2\lambda_{B',simple}}{\lambda_{B',simple}\lambda_{B',double}} m$$

Furthermore, one can observe that

$$d = \sqrt[3]{\frac{\det(A)}{\det(B')}} = \frac{\lambda_{A,triple}}{\lambda_{B',simple}^{1/3} \lambda_{B',double}^{2/3}}.$$

Whence, injecting this into the former equation:

$$\begin{aligned} 0 &= m^3 - \frac{\lambda_{B',double} + 2\lambda_{B',simple}}{\lambda_{B',simple}^{2/3} \lambda_{B',double}^{1/3}} m + 2 \\ &= m^3 - \left( \frac{\lambda_{B',double}^{2/3}}{\lambda_{B',simple}^{2/3}} + 2 \frac{\lambda_{B',simple}^{1/3}}{\lambda_{B',double}^{1/3}} \right) m + 2 \end{aligned}$$

Denoting

$$R = \sqrt[3]{\frac{\lambda_{B',double}}{\lambda_{B',simple}}}.$$
<table><caption>**Table K3** Signs of $P_i(x)$ when $S_1 < D_1 < S_2 < D_2$.</caption><tr><td>x</td><td>-∞</td><td>S<sub>1</sub></td><td>D<sub>1</sub></td><td>S<sub>2</sub></td><td>D<sub>2</sub></td><td>0</td></tr><tr><td>P<sub>1</sub>(x)</td><td>+</td><td>0</td><td>-</td><td>0</td><td>-</td><td>-</td></tr><tr><td>P<sub>2</sub>(x)</td><td>-</td><td>-</td><td>-</td><td>0</td><td>+</td><td>0</td></tr><tr><td>P<sub>3</sub>(x)</td><td>-</td><td>-</td><td>-</td><td>-</td><td>0</td><td>+</td></tr><tr><td></td><td></td><td></td><td></td><td>+</td><td></td><td></td></tr></table>

<table><caption>**Table K4** Signs of $P_i(x)$ when $S_1 < S_2 < D_1 < D_2$.</caption><tr><td>x</td><td>-∞</td><td>S<sub>1</sub></td><td>S<sub>2</sub></td><td>D<sub>1</sub></td><td>D<sub>2</sub></td><td>0</td></tr><tr><td>P<sub>1</sub>(x)</td><td>+</td><td>0</td><td>-</td><td>0</td><td>-</td><td>-</td></tr><tr><td>P<sub>2</sub>(x)</td><td>-</td><td>-</td><td>0</td><td>+</td><td>0</td><td>+</td></tr><tr><td>P<sub>3</sub>(x)</td><td>-</td><td>-</td><td>-</td><td>-</td><td>0</td><td>+</td></tr><tr><td></td><td></td><td></td><td></td><td>+</td><td></td><td></td></tr></table>

the last equation means that $m$ is root of the polynomial

$$P_{sphere}(x) = x^3 - \left(R^2 + \frac{2}{R}\right) x + 2.$$

Yet, $R$ is an obvious root of this polynomial:

$$P_{sphere}(x) = (x - R) \left(x^2 + Rx - \frac{2}{R}\right)$$

Even if obtaining a formal expression of the two other roots is not straightforward, Vieta's formulas provide the following constraints:

$$\begin{cases} x_1 + x_2 + R = 0, \\ x_1 x_2 R = -2. \end{cases}$$

If roots $x_1$ and $x_2$ complex, then $R$ is the only possible value for $m$. If they are real, then, since $R < 0$ ($B'$ eigenvalues are of opposite signs), the second formula requires that $x_1$ and $x_2$ are of the same sign, and the first formula requires that they are positive. Finally,

$$m = R.$$

Corresponding $\sigma$ value is:

$$\begin{aligned} \sigma &= dR^2 \\ &= \frac{\lambda_{A, triple}}{\lambda_{B', single}^{1/3} \lambda_{B', double}^{2/3}} \frac{\lambda_{B', double}^{2/3}}{\lambda_{B', single}^{2/3}} \\ &= \frac{\lambda_{A, triple}}{\lambda_{B', single}}. \end{aligned}$$

Applying $tr()$ to Equation (1') gives the value of $||\Delta||^2$:

$$||\Delta||^2 = \frac{3}{\lambda_{A, triple}} - \frac{\mu}{\sigma} \left( \frac{1}{\lambda_{B', single}} + \frac{2}{\lambda_{B', double}} \right).$$

Given

$$\sigma = \frac{\lambda_{A, triple}}{\lambda_{B', simple}},$$

and

$$\mu = m^3 = \frac{\lambda_{B', double}}{\lambda_{B', simple}},$$

the right hand side can be rewritten

$$\frac{3}{\lambda_{A, triple}} - \frac{\lambda_{B', double}}{\lambda_{A, triple}} \left( \frac{1}{\lambda_{B', simple}} + \frac{2}{\lambda_{B', double}} \right), \quad \text{i.e.}$$

$$\begin{aligned} ||\Delta||^2 &= \frac{3}{\lambda_{A, triple}} - \frac{\lambda_{B', double}}{\lambda_{B', simple}} \frac{1}{\lambda_{A, triple}} - \frac{2}{\lambda_{A, triple}} \\ &= \left(1 - \frac{\lambda_{B', double}}{\lambda_{B', simple}}\right) \frac{1}{\lambda_{A, triple}}. \end{aligned}$$

□

## References

Avron, H., E. Ng, and S. Toledo. 2008, Aug. A generalized courant-fischer minimax theorem. https://escholarship.org/uc/item/4gb4t762.

Bonin-Font, F., A. Ortiz, and G. Oliver. 2008. Visual navigation for mobile robots: A survey. *J. Intell. Robotic Syst.* 53(3): 263–296.

Crocco, M., C. Rubino, and A. Del Bue 2016, June. Structure from motion with objects. In *Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR).*

Dong, W. and V. Isler. 2021. Ellipse regression with predicted uncertainties for accurate multi-view 3d object estimation. *CoRR* abs/2101.05212.

Dong, W., P. Roy, C. Peng, and V. Isler. 2021. Ellipse R-CNN: learning to infer elliptical object from clustering and occlusion. *IEEE Trans. Image Process.* 30: 2193–2206.

Eberly, D. 2007, May. Reconstructing an ellipsoid from its perspective projection onto a plane.
https://www.geometrictools.com/. Updated version: March 1, 2008.

Fischler, M.A. and R.C. Bolles. 1981. Random sample consensus: A paradigm for model fitting with applications to image analysis and automated cartography. *Commun. ACM* 24(6): 381–395.

Garg, S., N. Sünderhauf, F. Dayoub, D. Morrison, A. Cosgun, G. Carneiro, Q. Wu, T.J. Chin, I. Reid, S. Gould, P. Corke, and M. Milford. 2020. Semantics for robotic mapping, perception and interaction: A survey. *Foundations and Trends in Robotics* 8(1-2): 1–224.

Gaudillière, V., G. Simon, and M.O. Berger. 2019a, November. Camera Pose Estimation with Semantic 3D Model. In *IROS 2019 - 2019 IEEE/RSJ International Conference on Intelligent Robots and Systems*, Macau, Macau SAR China.

Gaudillière, V., G. Simon, and M.O. Berger. 2019b, October. Camera Relocalization with Ellipsoidal Abstraction of Objects. In *ISMAR 2019 - 18th IEEE International Symposium on Mixed and Augmented Reality*, Beijing, China.

Gaudillière, V., G. Simon, and M.O. Berger. 2019c, Mar. Perspective-12-Quadric: An analytical solution to the camera pose estimation problem from conic - quadric correspondences.

Gaudillière, V., G. Simon, and M.O. Berger. 2020a, October. Perspective-2-Ellipsoid: Bridging the Gap Between Object Detections and 6-DoF Camera Pose. In *IROS 2020 - 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems*, Las Vegas, United States.

Gaudillière, V., G. Simon, and M.O. Berger. 2020b. Perspective-2-Ellipsoid: Bridging the Gap Between Object Detections and 6-DoF Camera Pose. *IEEE Robotics and Automation Letters*: 5189–5196.

Gay, P., C. Rubino, V. Bansal, and A. Del Bue 2017, Oct. Probabilistic structure from motion with objects (psfmo). In *Proceedings of the IEEE International Conference on Computer Vision (ICCV)*.

Girshick, R. 2015, December. Fast r-cnn. In *Proceedings of the IEEE International Conference on Computer Vision (ICCV)*.

Girshick, R., J. Donahue, T. Darrell, and J. Malik 2014, June. Rich feature hierarchies for accurate object detection and semantic segmentation. In *Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)*.

Golub, G.H. and C.F. Van Loan. 1996. *Matrix Computations* (Third ed.). The Johns Hopkins University Press.

Hartley, R.I. and A. Zisserman. 2004. *Multiple View Geometry in Computer Vision* (Second ed.). Cambridge University Press.

Hoque, S., M.Y. Arafat, S. Xu, A. Maiti, and Y. Wei. 2021. A comprehensive review on 3d object detection and 6d pose estimation with deep learning. *IEEE Access* 9: 143746–143770.

Kisantal, M., S. Sharma, T.H. Park, D. Izzo, M. Märtens, and S. D'Amico. 2020. Satellite pose estimation challenge: Dataset, competition design, and results. *IEEE Trans. Aerosp. Electron. Syst.* 56(5): 4083–4098.

Lang, S. 2002. *Algebra*. Graduate Texts in Mathematics, vol. 211 (Revised third ed.).

Lepetit, V., F. Moreno-Noguer, and P. Fua. 2009. Epnp: An accurate $O(n)$ solution to the pnp problem. *Int. J. Comput. Vis.* 81(2): 155–166.

Li, J., D. Meger, and G. Dudek 2017. Context-coherent scenes of objects for camera pose estimation. In *2017 IEEE/RSJ International Conference on Intelligent Robots and Systems, IROS 2017, Vancouver, BC, Canada, September 24-28, 2017*, pp. 655–660. IEEE.

Li, J., D. Meger, and G. Dudek 2019. Semantic mapping for view-invariant relocalization. In *International Conference on Robotics and Automation, ICRA 2019, Montreal, QC, Canada, May 20-24, 2019*, pp. 7108–7115. IEEE.
Li, J., Z. Xu, D. Meger, and G. Dudek 2018, May. Semantic scene models for visual localization under large viewpoint changes. In *15th Conference on Computer and Robot Vision (CRV)*, Toronto, Canada.

Li, Y. 2019. Detecting lesion bounding ellipses with gaussian proposal networks. In *Machine Learning in Medical Imaging - 10th International Workshop, MLMI 2019, Held in Conjunction with MICCAI 2019, Shenzhen, China, October 13, 2019, Proceedings*, Volume 11861 of *Lecture Notes in Computer Science*, pp. 337-344. Springer.

Liao, Z., W. Wang, X. Qi, X. Zhang, L. Xue, J. Jiao, and R. Wei. 2020. Object-oriented SLAM using quadrics and symmetry properties for indoor environments. *CoRR* abs/2004.05303 .

Liu, W., D. Anguelov, D. Erhan, C. Szegedy, S.E. Reed, C. Fu, and A.C. Berg 2016. SSD: single shot multibox detector. In *Computer Vision - ECCV 2016 - 14th European Conference, Amsterdam, The Netherlands, October 11-14, 2016, Proceedings, Part I*, Volume 9905 of *Lecture Notes in Computer Science*, pp. 21-37. Springer.

Marchand, É., H. Uchiyama, and F. Spindler. 2016. Pose estimation for augmented reality: A hands-on survey. *IEEE Trans. Vis. Comput. Graph.* 22(12): 2633-2651.

Nicholson, L., M. Milford, and N. Sünderhauf. 2019, Jan. Quadricslam: Dual quadrics from object detections as landmarks in object-oriented slam. *IEEE Robotics and Automation Letters* 4(1): 1-8.

Pan, S., S. Fan, S.W.K. Wong, J.V. Zidek, and H. Rhodin 2021. Ellipse detection and localization with applications to knots in sawn lumber images. In *IEEE Winter Conference on Applications of Computer Vision, WACV 2021, Waikoloa, HI, USA, January 3-8, 2021*, pp. 3891-3900. IEEE.

Park, T.H., M. Märtens, M. Jawaid, Z. Wang, B. Chen, T.J. Chin, D. Izzo, and S. D'Amico. 2023. Satellite pose estimation competition

2021: Results and analyses. *Acta Astronautica*. https://doi.org/10.1016/j.actaastro.2023.01.002.

Rathinam, A., V. Gaudillière, L. Pauly, and D. Aouada 2022, September. Pose estimation of a known texture-less space target using convolutional neural networks. In *73rd International Astronautical Congress (IAC), Paris, France, 18-22 September 2022*.

Redmon, J., S. Divvala, R. Girshick, and A. Farhadi 2016, June. You only look once: Unified, real-time object detection. In *Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)*.

Redmon, J. and A. Farhadi 2017, July. Yolo9000: Better, faster, stronger. In *Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)*.

Redmon, J. and A. Farhadi. 2018. Yolov3: An incremental improvement. http://arxiv.org/ abs/1804.02767.

Rubino, C., M. Crocco, and A.D. Bue. 2018, Jun. 3d object localisation from multi-view image detections. *IEEE Transactions on Pattern Analysis and Machine Intelligence* 40(6): 1281-1294.

Sturm, J., N. Engelhard, F. Endres, W. Burgard, and D. Cremers 2012. A benchmark for the evaluation of RGB-D SLAM systems. In *2012 IEEE/RSJ International Conference on Intelligent Robots and Systems, IROS 2012, Vilamoura, Algarve, Portugal, October 7-12, 2012*, pp. 573-580. IEEE.

Tian, R., Y. Zhang, Y. Feng, L. Yang, Z. Cao, S. Coleman, and D. Kerr. 2021. Accurate and robust object-oriented SLAM with 3d quadric landmark construction in outdoor environment. *CoRR* abs/2110.08977.

Wokes, D.S. and P.L. Palmer. 2010. Perspective reconstruction of a spheroid from an image plane ellipse. *International Journal of Computer Vision* 90(3): 369-379.
Wylie, C.R. 2008. *Introduction to projective geometry*. New York, NY: Dover.

Xu, C., L. Zhang, L. Cheng, and R. Koch. 2017. Pose estimation from line correspondences: A complete analysis and a series of solutions. *IEEE Trans. Pattern Anal. Mach. Intell.* 39(6): 1209–1222.

Zhao, M., X. Jia, L. Fan, Y. Liang, and D. Yan. 2021. Robust ellipse fitting using hierarchical gaussian mixture models. *IEEE Trans. Image Process.* 30: 3828–3843.

Zins, M., G. Simon, and M.O. Berger 2020. 3d- aware ellipse prediction for object-based camera pose estimation. In *8th International Conference on 3D Vision, 3DV 2020, Virtual Event, Japan, November 25-28, 2020*, pp. 281–290. IEEE.