Abstract
In order to detect salient lines in spherical images, we consider the problem of minimizing the functional \(\int \limits _0^l \mathfrak {C}(\gamma (s)) \sqrt{\xi ^2 + k_g^2(s)} \, \mathrm{d}s\) for a curve \(\gamma \) on a sphere with fixed boundary points and directions. The total length l is free, s denotes the spherical arclength, and \(k_g\) denotes the geodesic curvature of \(\gamma \). Here the smooth external cost \(\mathfrak {C}\ge \delta >0\) is obtained from spherical data. We lift this problem to the sub-Riemannian (SR) problem in Lie group \({\text {SO(3)}}\) and show that the spherical projection of certain SR geodesics provides a solution to our curve optimization problem. In fact, this holds only for the geodesics whose spherical projection does not exhibit a cusp. The problem is a spherical extension of a well-known contour perception model, where we extend the model by Boscain and Rossi to the general case \(\xi > 0, \mathfrak {C} \ne 1\). For \(\mathfrak {C}=1\), we derive SR geodesics and evaluate the first cusp time. We show that these curves have a simpler expression when they are parameterized by spherical arclength rather than by sub-Riemannian arclength. For case \(\mathfrak {C} \ne 1\) (data-driven SR geodesics), we solve via a SR Fast Marching method. Finally, we show an experiment of vessel tracking in a spherical image of the retina and study the effect of including the spherical geometry in analysis of vessels curvature.
Similar content being viewed by others
Avoid common mistakes on your manuscript.
1 Introduction
In computer vision, it is common to extract salient curves in flat images via data-driven minimal paths or geodesics [1,2,3,4,5]. The minimizing geodesic is defined as the curve that minimizes the length functional, which is typically weighted by a cost function with high values at image locations with high curve saliency.
Another set of geodesic methods, partially inspired by the psychology of vision, was developed in [13, 14]. In these articles, sub-Riemannian (SR) geodesics in respectively the Heisenberg \({\text {H(3)}}\) and the Euclidean motion group \({\text {SE(2)}}\) are proposed as a model for contour perception and contour integration.
The combination of such contour perception models with data-driven geodesic methods has been presented in [40]. There, a computational framework for tracking of lines via globally optimal data-driven sub-Riemannian geodesics on the Euclidean motion group \({\text {SE(2)}}\) has been presented with comparisons to exact solutions [28].
In this work, we extend this framework for tracking of lines in spherical images (e.g., images of the retina, cf. Fig. 1). This requires a sub-Riemannian manifold structure in a different Lie group, namely the group \({\text {SO(3)}}\) (consisting of 3D rotations) acting transitively on the 2-sphere \(S^2\).
Here we study the problem \(\mathbf{P_{curve}}(\mathbf{S^2})\) of finding a smooth curve \(\mathbf {n}(\cdot )\) on a unit sphere \(S^2\) that satisfies given boundary conditions (both positions and velocities)
and minimizes the functional
where \(k_g(\cdot )\) denotes the geodesic curvature of \(\mathbf {n}(\cdot ), s\) denotes the spherical arclength, and total length l is free, see Fig. 2. Furthermore, we include a curve-stiffness parameter \(\xi >0\). In the optimization functional, we also include an external cost factor \(\mathfrak {C}: S^2 \rightarrow {{\mathbb {R}}}^+\) adding for adaptation to a given spherical image data. We state this problem \(\mathbf{P_{curve}}(\mathbf{S^2})\) more explicitly in Sect. 2.2.
The problem \(\mathbf{P_{curve}}(\mathbf{S^2})\) is a spherical analog of a well-known problem \(\mathbf{P_{curve}}({{\mathbb {R}}}^2)\) [30, 31] (cf. Fig. 2) of finding a smooth curve \(\mathbf {x}(\cdot )\) on a plane \({{\mathbb {R}}}^2\) that satisfies given boundary conditions
and minimizes the functional
where k(s) denotes the curvature, l denotes the total length, and curve stiffness is regulated by \(\xi >0\). The external cost factor \(\mathfrak {c}: {{\mathbb {R}}}^2 \rightarrow {{\mathbb {R}}}^+\) is added for adaptation to a given flat image data (see [40]).
There are three motivations for our study. The first motivation comes from a medical image analysis application, where automatic extraction of the vascular retinal tree on images is helpful for early detection of many diseases, such as diabetic retinopathy, glaucoma, atherosclerosis, and others (see, e.g., [6, 18]). Optical retinal images are mostly acquired by flat cameras, and as a result, distortion appears. Such distortion could lead to questionable (distorted) geometrical features (vessel curvature, thickness, etc.) that are used as biomarkers [6, 10, 11] for different diseases. We will show that the distortion that appears near the boundary of a flat image can play a significant role in the quantitative analysis of the vascular structure and its curvature. As the retina itself is not flat, we should include the spherical geometry both in image processing and in image representation in order to avoid distortion. Such distortion comes from the central projection of the physical retinal surface to the image plane. It is illustrated in Fig. 1, where (X, Y) denote Cartesian camera coordinates and \(({\bar{x}},{\bar{y}})\) denote spherical object coordinates. This motivates us to study data-driven SR geodesics on the rigid body rotation group \({\text {SO(3)}}\) and their spherical projections; likewise, it was done (see [39, 40]) for flat images and lifting to the roto-translation group \({\text {SE(2)}}\).
The second motivation comes from models of the visual system of mammals. As mentioned by Boscain and Rossi [15], the problem \(\mathbf{P_{curve}}(\mathbf{S^2})\) can be considered as a spherical extension of a (flat) cortical-based model \(\mathbf{P_{curve}}({{\mathbb {R}}}^2)\) for perceptual completion, proposed by Citti and Sarti [14], and Petitot [13]. Such a spherical extension is again motivated by the fact that the retina is not flat. By the same argument, cuspless SR geodesics in \({\text {SO(3)}}\) could provide a model of association fields in the psychology of vision (see [31]). Note that nonuniform distribution of photoreceptors on the retina can be included in our model by putting an external cost \(\mathfrak {C}\) on a hemisphere.
The third motivation for this study is that in geometric control theory optimal synthesis for the SR problem in \({\text {SO(3)}}\) has not been achieved in the general case (not even for the case of uniform cost \(\mathfrak {C}=1\)), despite many strong efforts in this direction [15, 19,20,21,22,23, 44, 45]. In this paper, we will not provide optimal synthesis analytically, but instead we do provide a HJB theory for computing globally optimal (data-driven) geodesics. In previous works [39, 40], we achieved this for SR geodesics in \({\text {SE(2)}}\), used for tracking of blood vessels in flat 2D images.
In view of these three motivations, we lift the problem \(\mathbf{P_{curve}}\) on the set \(S^2\) to a SR problem on the group \({\text {SO(3)}}\), which we will call \(\mathbf{P_{mec}}\), and we provide explicit formulas for SR geodesics. This allows us to describe the set of endpoints in \({\text {SO(3)}}\) reachable by geodesics whose spherical projections do not contain cusps. Furthermore, we present a Hamilton–Jacobi–Bellman PDE theory that allows us to numerically compute the SR distance map, from which a steepest descent backtracking (via the Pontryagin maximum principle) provides only the globally optimal geodesics for general external cost and general \(\xi >0\). We verify our numerical solution, by comparison with exact geodesics in the case \(\mathfrak {C}=1\). Finally, we use these results in a vessel tracking algorithm in spherical images of the retina, without central projection distortion.
The main contributions of this article are:
-
New formulas for the geodesics of \(\mathbf{P_{curve}}(\mathbf{S^2})\) for the uniform cost case \(\mathfrak {C}=1\).
-
Analysis and parametrization of cusp points arising in spherical projections of geodesics of \(\mathbf{P_{mec}}({\text {SO(3)}})\).
-
A new HJB-PDE theory for the numeric computation of globally optimal geodesics of \(\mathbf{P_{curve}}(\mathbf{S^2})\) and \(\mathbf{P_{mec}}({\text {SO(3)}})\) for the general external cost case, with verification for \(\mathfrak {C}=1\).
-
Tracking of lines in spherical image data (e.g., retinal images) without central projection distortion, with comparison to tracking of lines in flat image data.
1.1 Vessel Tracking in Spherical Images of the Retina
In this subsection, we first describe the mapping from object coordinates on the retina to camera coordinates, and then we discuss the relevance of considering spherical images of the retina rather than flat images, which are commonly used in the medical application (see Fig. 1). We show that distortion appears inevitably on flat images, with a significant relative error (up to 7%) in length measures. Even larger relative errors (over 20%) appear in the application of differential operators (used for vessel detection).
We base our computations on the reduced schematic eye model (see Fig. 3), which is commonly used in clinical ophthalmology (see, e.g., [42]). Let R be the radius of an eyeball, a be the distance from the nodal point N to the center C, and \(\psi \) be the angle between visual axis and a light ray passing through N. Here we consider a simplified model, where the optical axis (the best approximation of a line passing through the optical center of the cornea, lens, and fovea) coincides with the visual axis (the line connecting fixation point and the fovea).Footnote 1 The average radius of a human eye is \(R \approx 10.5\) mm, and the maximum distance between nodal point N and the central point C is \(a_\mathrm{max} = 17\, \text {mm} - 10.5\,\text {mm} = 6.5\,\text {mm}\).
Now we switch to mathematical object coordinates of the retina where we use the eyeball radius to express lengths, i.e., we have \(R=1\) and \(a_\mathrm{max} = \frac{6.5\, \text {mm}}{10.5 \,\text {mm}}\cdot R = \frac{13}{21}\) in dimensionless coordinates.
In order to compute the maximum absolute angle \({\bar{y}}_\mathrm{max}\), let us express the angle \(|{\bar{y}}|\) with respect to center of the eyeball (see right Fig. 3). Expressing the squared length of segment NQ yields
Solving this equation with respect to \(\cos |{\bar{y}}|\), we obtain unique nonnegative solution:
A standard fundus camera used for producing of the retinal images has the angular range \(\psi \in [-\frac{\pi }{8}, \frac{\pi }{8}]\). Thus, substitution \(R = 1, a = \frac{13}{21}\), and \(\psi = \frac{\pi }{8}\) in Eq. (1) gives the maximum angle
We rely on the following parameterization of the image sphere \(S^2\) and the retinal sphere \({\bar{S}}^2\) (see Fig. 4):
with \(x, {\bar{x}} \in [-\frac{\pi }{2}, \frac{\pi }{2}]\) and \(y, {\bar{y}} \in [-\pi , \pi ]\).
Next we present the explicit relation between the object coordinates \(({\bar{x}},{\bar{y}})\)—spherical coordinates on a unit sphere \({\bar{S}}^2\) representing the surface of the eyeball; flat photo coordinates (X, Y)—Cartesian coordinates on the image plane and the spherical coordinates (x, y) on the image sphere, see Figs. 1 and 4.
To take into account the distance from the eyeball to the camera in our model, we introduce a parameter \(\eta >0\). In Fig. 4, by setting \(\eta =1\) we fix the distance equal to \((a + c)\) radiuses of the eyeball. This corresponds to the case when the image sphere \(S^2\) is obtained by reflection of the physical retinal sphere \({\bar{S}}^2\) through the point \((-a,0,0)^T \in {{\mathbb {R}}}^3\). In this case, we have
and we will always rely on this identification in the sequel. The general case \(\eta >0\) can be taken into account by congruency and scaling \(X \mapsto \eta R X, Y \mapsto \eta R Y\).
The central projection \({\varPi }\) (cf. Fig. 1) from (x, y) to (X, Y) including the scaling factor \(\eta >0\) (with physical dimension length in units of R) is given by
The inverse mapping \({\varPi }^{-1}\) from (X, Y) to (x, y) for \(\eta =1\) is given by
where
with \({\varXi }_{a,c}(X,Y) = \sqrt{(X^2+Y^2)(1-a^2) + (a+c)^2}\).
In these formulas, we need to substitute \(a = a_\mathrm{max} = \frac{13}{21}\) and \(c=\frac{4}{5}<R=1\), depicted in Fig. 4, where we work in dimensionless coordinates.
1.1.1 Quantification of Local and Global Deformation
The local deformation from spherical photo coordinates (x, y) to planar photo coordinates (X, Y) is now given by the Jacobian
In mathematical analysis, we can set \(\eta =1\); however, in experiments \(\eta \) is to be taken into consideration. Note that for \(\eta =1\) we have
showing that local deformation plays a considerable role and varies in (x, y).
Next we consider the global distortion along the line \(x=0\). It is defined as \({\mathcal {GD}}(y) = \frac{|y-Y(0,y)|}{|y|}\), and it has a maximum when \(y = y_\mathrm{max}\). We have
and we see the distortion up to 7% along the line \(x=0\). The same holds along the line \(y=0\).
We conclude that it makes a considerable difference to study \(\mathbf{P_{curve}}(\mathbf{S^2})\) or \(\mathbf{P_{curve}}({{\mathbb {R}}}^2)\) in the retinal imaging application. In the sequel, we will write \(\mathbf{P_{curve}}\) instead of \(\mathbf{P_{curve}}(\mathbf{S^2})\) as we will always be concerned with the case where the base manifold equals \(S^2\).
2 Problem \(\mathbf{P_{curve}}\) on \(S^2\) and \(\mathbf{P_{mec}}\) in \({\text {SO(3)}}\)
In this section, we first provide preliminaries on group theoretical tools and notation, and then we show that the spherical projection of certain SR geodesics \(\gamma (\cdot )\) on the Lie group \({\text {SO(3)}}\) provides solution curves to the problem \(\mathbf{P_{curve}}\) on \(S^2\), which we formulate next.
2.1 Mathematical Foundation and Notations
The Lie group \({\text {SO(3)}}\) is the group of all rotations about the origin in \({{\mathbb {R}}}^3\). We shall denote a counterclockwise rotation around axis \(\mathbf {a} \in S^{2}\) with angle \(\varphi \) via \(R_{\mathbf {a},\varphi }\), in particular for rotations around standard axes
We use representation of \({\text {SO(3)}}\) by \(3 \times 3\) matrices
where we denote \(cx = \cos x, cy = \cos y, c{\theta }= \cos {\theta }, sx = \sin x, sy = \sin y, {{\text {s}}\theta }= \sin {\theta }\), and where
The Lie group \({\text {SO(3)}}\) defines an associated Lie algebra
where \(T_{{\text {Id}}}({\text {SO(3)}})\) denotes the tangent space at the unity element \(e \in {\text {SO(3)}}\), represented by identity matrix \({\text {Id}}\), which corresponds to the origin in the parameter space
Remark 1
The formula for \(A_i\) follows by
The nonzero Lie brackets are given by
There is a natural isomorphism between \({\text {so(3)}}\) and the Lie algebra \({\text {L}}\) of left-invariant vector fields in \({\text {SO(3)}}\), where commutators of the vector fields in \({\text {L}}\) correspond to the matrix commutators in \({\text {so(3)}}\)
We express \({\text {L}}\) in matrix form as
Remark 2
Note that at the unity one has
The formulas for \(X_i\) in (10) follow by (cf. Remark 1)
We also use the isomorphism between \({\text {so(3)}}\) and \({{\mathbb {R}}}^3\)
where \(A_i \in {\text {so(3)}}, R \in {\text {SO(3)}}, \mathbf {e}_i \in {{\mathbb {R}}}^3, \, i = 1,2,3.\)
Note that (6) is a product of matrix exponentials:
We choose to rely on this parameterization to keep the analogy with previous \({\text {SE(2)}}\) models [28, 31, 40] mentioned in introduction.
2.2 Statement of the Problem \(\mathbf{P_{curve}}\)
Let \(S^{2} = \{\mathbf {n} \in {{\mathbb {R}}}^3 \, \big | \, \Vert \mathbf {n}\Vert = 1\}\) be a sphere of unit radius. We consider the problem \(\mathbf{P_{curve}}\) (see Fig. 2), which is for given boundary points \(\mathbf {n}_0, \mathbf {n}_1 \in S^2\) and directions \(\mathbf {n}_0' \in T_{\mathbf {n}_0}(S^2), \mathbf {n}_1' \in T_{\mathbf {n}_1}(S^2), \Vert \mathbf {n}_0'\Vert = \Vert \mathbf {n}_1'\Vert =1\) to find a smooth curve \(\mathbf {n}(\cdot ):[0,l]\rightarrow S^2\) that satisfies the boundary conditions
and for given \(\xi >0\) minimizes the functional
where \(k_g(s)\) denotes the geodesic curvature on \(S^{2}\) of \(\mathbf {n}(\cdot )\) evaluated in time s, and \(\mathfrak {C}: S^2 \rightarrow [\delta ,+\infty ), \delta >0\), is a smooth function that we call “external cost.”
Here the total length l is free and \(s=\int _0^s 1 \, \mathrm{d} \sigma = \int _0^s \Vert \mathbf {n}'(\sigma )\Vert \, \mathrm{d} \sigma \) denotes the spherical arclength. Thus, we have \(\Vert \mathbf {n}'(s)\Vert =1\) and the Gauss–Bonnet formula
Remark 3
In introduction, we provided two motivations for this problem, where the external cost \(\mathfrak {C}\) plays a different role. Firstly, there is a motivation coming from retinal images, where \(\mathfrak {C}\) is adapted to spherical image data. Secondly, there is a motivation from the modeling of human vision, where the nonuniform distribution of photoreceptors can be modeled by the external cost.
Remark 4
Without loss of generality, we can fix the boundary conditions as
since the problem is left-invariant w.r.t. the natural left action of \({\text {SO(3)}}\) onto \(S^{2}\) for \(\mathfrak {C}=1\). But also for \(\mathfrak {C}\ne 1\) we can fix these boundary conditions by shifting the external cost. This boundary value convention is used throughout this article for \(\mathbf{P_{curve}}\).
Remark 5
Following the previous works [30, 31] in \({\text {SE(2)}}\) group, we do not expect existence of minimizers for the problem \(\mathbf{P_{curve}}(\mathbf{S^2})\) in general.
2.3 Statement of \(\mathbf{P_{mec}}\) Problem in \({\text {SO(3)}}\)
We call \(\mathbf{P_{mec}}\) the following SR problem in \({\text {SO(3)}}\):
with \(T>0\) free.
The external cost \(C:{\text {SO(3)}}\rightarrow [\delta , +\infty ), \delta >0\), is a smooth function that is typically obtained by lifting the external cost \(\mathfrak {C}\) from the sphere \(S^2\) to the group \({\text {SO(3)}}\), i.e., \(C(R) = \mathfrak {C}(R \, \mathbf {e}_1)\).
We study the problem \(\mathbf{P_{mec}}\) for \(C=1\) (case of uniform external cost) in Sect. 3, but let us first consider some preliminaries.
Remark 6
In \(\mathbf{P_{mec}}\), we only have two velocity controls \(u_1\) and \(u_2\) in a 3D tangent space \(T_{R(t)}({\text {SO(3)}})\) (cf. Fig. 5).
Remark 7
The existence of minimizers for the problem \(\mathbf{P_{mec}}\) is guaranteed by Chow-Rashevskii and Filippov theorems on sub-Riemannian manifolds [37]. Moreover, the geodesics of \(\mathbf{P_{mec}}\) are smooth, since there are no abnormal extremals (see Example 1.3.13 in [49]).
Remark 8
Sub-Riemannian manifolds are commonly defined by a triplet \(({\mathcal {M}}, {\varDelta }, {\mathcal {G}})\), with manifold \({\mathcal {M}}\), distribution \({\varDelta } \subset T({\mathcal {M}})\) and metric tensor \({\mathcal {G}}\). In our case
where the controls \(u_1\) and \(u_2\) are components of velocity vector w.r.t. moving frame of reference, see (17). The choice of the sub-Riemannian structure (21) is determined by the initial conditions \(n(0) = e_1\) and \(n'(0) = e_3\) in (16).
Remark 9
By virtue of Cauchy–Schwarz inequality, the problem of minimizing the sub-Riemannian length \({\mathcal {L}}\) is equivalent to the problem of minimizing the action functional
with T fixed (see, e.g., [33]).
Remark 10
In analogy with the SR problem \(\mathbf{P_{mec}}\) in \({\text {SE(2)}}\), cf. [30, 31], we sometimes call \(X_{1}=-R A_{2}\) the “spatial generator” and \(X_{2}=R A_{1}\) the “angular generator”, despite the fact that \(X_{1}\) and \(X_{2}\) are both angular generators on \(S^{2}\). The problem \(\mathbf{P_{mec}}({\text {SO(3)}})\) can be seen as a model of the Reeds-Shepp car on a sphere. The Reeds-Shepp car can move forward and backward and rotate on a place. The input \(u_1\) controls the motion along \(X_1\), and the input \(u_2\) controls the motion along \(X_2\), see Fig. 5.
2.4 Relation Between the Problems \(\mathbf{P_{curve}}\) and \(\mathbf{P_{mec}}\)
We call a spherical projection the following projection map from \({\text {SO(3)}}\) onto \(S^{2}\) (see Fig. 6):
In coordinates \((x,y,\theta )\) defined by (6), we have
So we see that (x, y) are spherical coordinates on \(S^2\).
In problem \(\mathbf{P_{curve}}\), one is interested in a curve \(\mathbf {n}(s) = R(t(s)) \, \mathbf {e}_1\), which satisfies (13) and minimizes (14). Here \(R(t) = R(x(t),y(t),\theta (t))\), and
Next we show that the spherical projection (23) of certain minimizers of \(\mathbf{P_{mec}}\) provides solution of problem \(\mathbf{P_{curve}}\). More precisely, this only holds for the minimizers whose spherical projection does not have a cusp.
Definition 1
The spherical projection of a minimizer of \(\mathbf{P_{mec}}\) is said to have a cusp at \(t=t^n_\mathrm{cusp}\) if there exists \(\epsilon >0\), s.t. \(u_{1}(a) u_{1}(b)<0\) for all \(a \in (t^n_\mathrm{cusp}-\epsilon , t^n_\mathrm{cusp})\) and \(b \in (t^n_\mathrm{cusp},t^n_\mathrm{cusp}+\epsilon )\). That is, if the control in front of the “spatial” generator \(X_{1}\) switches sign locally. We are interested in the first cusp time \(t_\mathrm{cusp} = \min \limits _{n \in {{\mathbb {N}}}} \{t^n_\mathrm{cusp}>0\}\), and we call \(s_\mathrm{max}\) the corresponding value of spherical arclength, s.t. \(t_\mathrm{cusp} = t(s_\mathrm{max})\) via (25).
Notice that if \(u_1 \equiv 0\) then the trajectory of \(\mathbf{P_{mec}}\) is projected at a single point on \(S^2\) which does not provide a solution to \(\mathbf{P_{curve}}\). This allows us to define \(s_\mathrm{max}\) as
so that \(t_\mathrm{cusp}=t(s_\mathrm{max})\).
The following theorem states that minimizers \(\mathbf {n}(s)\) of \(\mathbf{P_{curve}}\) for \(s\in [0,s_\mathrm{max})\) are given by spherical projection of the minimizers R(t) of \(\mathbf{P_{mec}}\) for \(t \in [0, t_{cusp})\). Here s denotes the spherical arclength parameter, defined by \(\Vert \frac{\hbox {d}}{{\hbox {d}} s} \mathbf {n}(s)\Vert \equiv 1\), and t denotes the SR arclength, defined by \(C(R(t))\sqrt{\xi ^2 u_1^2(t) + u_2^2(t)} \equiv 1\).
Theorem 1
Let \(R(t), t \in [0,T]\) be a minimizer of \(\mathbf{P_{mec}}\) parameterized by SR arclength, and let the corresponding optimal control \((u_1(t),u_2(t))\) satisfy the inequality \(u_1(t)>0\) for all \(t\in [0,T]\). Set
Then for such boundary conditions, \(\mathbf{P_{curve}}\) has a minimizer \(\mathbf {n}(s)\), along which we have
for \(0\le s\le l< s_\mathrm{max}\), and \(T = t(l)\).
Proof
See Appendix 1. \(\square \)
3 The Sub-Riemannian Problem \(\mathbf{P^{1}_{mec}}\) in \({\text {SO(3)}}\)
In this section, we study the problem \(\mathbf{P_{mec}}\) in the special case of uniform external cost \(C=1\), which we call \(\mathbf{P_{mec}^1}\). This problem can be seen as a left-invariant SR problem in Lie group \({\text {SO(3)}}\), and it was tackled by many authors (see [15, 20,21,22,23, 44, 45]) in different contexts. It is remarkable that the statement of the problem is very simple, but due to the high complexity of the formulas describing geodesics, the minimizers are still unknown for general \(\xi >0\). The case \(\xi =1\) corresponds to a symmetric SR structure in \({\text {SO(3)}}\), and it was completely solved in [15, 20, 30, 44, 45]. In this section, we consider the general case \(\xi >0\) and derive analytic formulas for the geodesics using the parametrization (6) for \({\text {SO(3)}}\). Further, in Sect. 5 these formulas allow us to verify our numerical approach to compute the global minimizers of \(\mathbf{P_{mec}}\), presented for the first time by knowledge of the authors.
In our analytical study, first we introduce a coordinate chart in \({\text {SO(3)}}\) and write the optimal control problem \(\mathbf{P_{mec}^1}\) in this chart. Then we apply Pontryagin maximum principle (PMP), which is the first-order necessary condition for optimality [37], and we derive the explicit formulas for the sub-Riemannian geodesics. Afterward we explain the notion of sub-Riemannian wavefront and sphere. Finally, we discuss what is known about optimality of the geodesics.
3.1 \(\mathbf{P_{mec}^1}\) as Optimal Control Problem on \(S^2 \times S^1\)
In this section, we introduce the chart in \({\text {SO(3)}}\) and formulate problem \(\mathbf{P_{mec}^1}\) given by (17)–(20), see Sect. 2.3, as an optimal control problem on \({\mathcal {M}}=S^2_{x,y}\times S^1_{\theta }\), where \((x,y) \in [-\frac{\pi }{2},\frac{\pi }{2}] \times {{\mathbb {R}}}/\{2 \pi {{\mathbb {Z}}}\}\) are the spherical coordinates, cf. (24), and \(\theta \in {{\mathbb {R}}}/\{2 \pi {{\mathbb {Z}}}\}\). We use this specific chart to stress the analogy with the closely related problem in \({\text {SE(2)}}\) group (see [30, 31]).
Consider a smooth curve \(\gamma (\cdot ) = (x (\cdot ),y (\cdot ),\theta (\cdot )) \in C^{\infty }({{\mathbb {R}}}, S^2_{x,y} \times S^1_{\theta })\) departing from the origin, i.e., \(\gamma (0) = e= (0,0,0)\). In Sect. 2.1, we parameterized the group \({\text {SO(3)}}\) by the angles \(x, y, \theta \), recall (6). A smooth curve \(\gamma (\cdot )\) corresponds to a smooth curve \(R(\cdot )\) in \({\text {SO(3)}}\) defined by the one-parameter family of matrices
depending smoothly on the parameter \(t\in {{\mathbb {R}}}\) and satisfying the initial condition \(R(0) = {\text {Id}}\). A tangent vector of \(R(t) = R(x(t),y(t),\theta (t))\) is expressed as
Therefore, the control system (17) can be rewritten as
Vector fields near the controls \(u_i\) are two of three of the basis left-invariant vector fields in \({\text {SO(3)}}\) expressed in our chart. We denote them by \(X_1, X_2\), and the third basis left-invariant vector field is given by their commutator \(X_3 = [X_1,X_2]\). Thus we have
Then problem \(\mathbf{P_{mec}^1}\) given by (17)–(20) for \(C=1\), taking into account Remark 9, is equivalent to the following optimal control problem:
Remark 11
A projective version of problem \(\mathbf{P^1_{mec}}\) with \(\xi =1\) is studied in [16]. It is obtained by identification of antipodal directions \(\theta \) and \(\theta + \pi \); thus, its solution is given by minimum between two geodesics with terminal configurations \(h = (x_1,y_1,\theta _1)\) and \({\bar{h}} = (x_1,y_1,\theta _1 +\pi )\). The associated SR distance is given by
The model in [16] is connected to problem \(\mathbf{P_{mec}^1}\) via right shift \(g \mapsto g\cdot e^{\pi A_3}e^{-\frac{\pi }{2} A_2}\). The local chart is obtained by linear transformation \(a = \frac{\pi }{2} - x, b = y, \theta = \xi + \pi \). The existence of optimal trajectories whose spherical projection contains a cusp is mentioned in [16].
3.2 Application of the Pontryagin Maximum Principle
In this subsection, we apply the Pontryagin maximum principle (PMP) to problem \(\mathbf{P_{mec}^1}\) given by (33)–(35) and derive the Hamiltonian system of PMP. Here we follow standard geometric control theory (see, e.g., [37]).
Due to the absence of abnormal extremals (see Remark 7), we consider only the normal case, where the control-dependent Hamiltonian of PMP reads as
Here \(\nu = (x,y,\theta ), X_i\) are given by (32), \(\langle \cdot ,\cdot \rangle \) denotes the action of a covector on a vector, and \((\mathrm{d} \, \nu ^1, \mathrm{d} \, \nu ^2, \mathrm{d} \, \nu ^3) = (\mathrm{d} \, x, \mathrm{d} \, y, \mathrm{d} \, \theta )\) are basis one forms.
The maximization condition of PMP reads as
where u(t) denotes an extremal control and \((\lambda (t),\gamma (t))\) is an extremal.
Introduce left-invariant Hamiltonians \(h_i = \langle \lambda ,X_i \rangle , i = 1,2,3\). The maximization condition gives the expression for the extremal controls
Then the maximized Hamiltonian, which we call “the Hamiltonian”, reads as
The vertical part (for momentum components \(h_i\)) of the Hamiltonian system of PMP is given by
where \(\{\cdot ,\cdot \}\) denotes the Poisson bracket (see [37]).
Using the standard relation between Poisson and Lie brackets \(\{h_i,h_j\} = \langle \lambda ,[X_i,X_j]\rangle \), we get
Thus the Hamiltonian system with the Hamiltonian H follows by the last three identities and (38):
with the boundary conditions
In (39), the horizontal part follows from (36) and (31).
It is known that the Hamiltonian system (39) is Liouville integrable [25, 27], and it was explicitly integrated in [19, 22]. In the next subsections, we classify the possible solutions by values of the parameter \(\xi \), and we adapt the explicit solution to our coordinate chart \((x,y,\theta ) \in {\mathcal {M}}\), where we follow the analogy to the closely related problem in \({\text {SE(2)}}\). This allows us to obtain simpler formulas than in [19, 22].
3.3 Classification of Different Types of Solutions
Here we describe the domains of parameter \(\xi >0\), which correspond to different dynamics of the Hamiltonian system (39). It is well known (see, e.g., [22]) that this system has two integrals of motion that depend only on momentum components \(h_i\) (see illustration in Fig. 7)
Different values of the Hamiltonian H correspond to different speed along extremal trajectories \(\gamma (\cdot )\). By fixing the value \(H = \frac{1}{2}\) in (41), we use SR arclength parameter
along extremal trajectories. The momentum trajectory h(t) can be seen as the curve formed by intersection of the cylinder \(H=\frac{1}{2}\) and the sphere \(M = \text {const}\) (see the yellow line in Fig. 7).
Elimination of \(h_1\) from (41) and (42) yields
Since \(h^2_2\le 1\), there exist the following types of solution of the vertical part of (39):
-
1)
Elliptic for \(\xi <1, M^2>\xi ^2\);
-
2)
Linear for \(\xi =1, M^2>\xi ^2\);
-
3)
Hyperbolic for \(\xi>1, M^2\ne \xi ^2, M>1\);
-
4)
A point (0,0) for \(\xi <1, M^2=\xi ^2\);
-
5)
A segment of a straight line for \(\xi = 1, M=1\);
-
6)
Two crossing segments of straight lines for \(\xi >1, M^2=\xi ^2\);
-
7)
No solution otherwise.
According to this classification, we will refer to the case \(\xi <1\) as the elliptic case, \(\xi =1\) as the linear case, and \(\xi >1\) as the hyperbolic case.
3.4 Geodesics in SR Arclength Parametrization
In this subsection, we provide explicit formulas for the SR geodesics, where we reexamine results from [19, 22].
In the coordinates \((\beta , c) \in {{\mathbb {R}}}/\{4\pi {{\mathbb {Z}}}\} \times {{\mathbb {R}}}\), defined by
the vertical part of (39) becomes a system of mathematical pendulum
where \(r = \frac{1}{\xi ^2} -1 \in (-1, +\infty )\). Thus \(r \in (-1, 0)\) corresponds to the elliptic, \(r = 0\) to the linear, and \(r \in (0,+\infty )\) to the hyperbolic case.
The system (44) has a symmetry \((\tilde{\beta }(t) = \beta (t) + \pi , \; {\tilde{r}} = -r)\), which allows us to study the elliptic case and obtain the hyperbolic case by symmetry observations. Note also that the linear case should be treated separately, but the equations in this case are much simpler. Therefore, in the remainder of this manuscript we restrict ourselves to the case \(r\ge 0 \Leftrightarrow 0<\xi \le 1\).
In the following theorem, we provide explicit formulas for SR geodesics in SR arclength parametrization.
Theorem 2
A solution of the system (39) reads as
where \((\beta (t), c(t))\) is a trajectory of (44), and
Proof
See Appendix 2. \(\square \)
Note that \((\beta (t), c(t))\), and \({\tilde{y}}(t)\) admit explicit expression in Jacobi elliptic functions and elliptic integrals of the first, second, and third kind [19]. We present plots of spherical projections (23) of extremal trajectories in Fig. 8. Here it is remarkable that the spherical projections of SR geodesics in \({\text {SO(3)}}\) can represent cusps, which can be undesirable for image analysis applications. This motivates us to study SR geodesics before the first cusp in their spherical projections. For short, we call such curves “cuspless geodesics.” In Sect. 4, we describe the possible end conditions, which can be connected by a cuspless geodesic, and in Sect. 5, we provide PDE-based approach for solving the boundary value problem (BVP) for data-driven SR geodesics, where we reformulate the problem as a solution to the SR-eikonal equation.
3.5 Sub-Riemannian Wavefronts and Spheres
A useful tool for studying geodesics in left-invariant optimal control problems is the exponential map Footnote 2 that maps an initial momentum h(0) and a time t to the endpoint of corresponding geodesic \(\gamma (\cdot )\) [i.e., the exponential map integrates the Hamiltonian system (39)]:
Now we explain the notion of wavefront. By definition, the wavefront consists of endpoints of all the geodesics of the same length T:
The outer surface of a wavefront forms a sub-Riemannian sphere, which is a set of endpoints equidistant from e:
where \(d(q_1,q_2)\) denotes the sub-Riemannian distance between \(q_1\) and \(q_2\) and \(t_{cut}\) denotes the cut time, i.e., an instance of time, when a geodesic loses its optimality.
3.5.1 What Is Known About Optimality?
In the previous subsection, we computed SR geodesics or in other words extremal trajectories. It is known (see, e.g., [33, 37]) that sufficiently short arcs of SR geodesics are SR length minimizers (optimal trajectories). It is also known that in general a geodesic loses its optimality after a cut point. The corresponding instance of time is called cut time, and the set of all cut points in configuration space forms the so-called cut locus. In general, it is complicated to derive cut loci [37].
Remark 12
There are two reasons for a geodesic to lose optimality:
-
1)
Local optimality is lost at a conjugate point (critical point of exponential map that integrates the Hamiltonian system);
-
2)
Global optimality is lost at a first Maxwell point (when two geodesics meet with the same length for the first time).
In problem \(\mathbf{P_{mec}^1}\), both the Maxwell set and the conjugate locus are not known. The estimation of the first Maxwell time was given in [19], but still neither the cut locus, nor the SR length minimizers are known yet for general \(\xi >0\). The cut locus in a special case of the bi-invariant metric (for \(\xi =1\)) was obtained in [15]. In [22], conjugate locus in the Riemannian case was constructed, and by considering a SR metric as a limiting case of the Riemannian metric, the corresponding formulas for the conjugate locus in SR case could be obtained.
Here we do not provide such a limiting procedure. Instead, motivated by applications, in Sect. 5 we propose a numerical solution to compute the SR length minimizers and spheres. In Sect. 4, motivated by the study [31], we also give some statements on optimality of cuspless geodesics. We show that in contrast to \({\text {SE(2)}}\) case [30, 31] there exist nonoptimal cuspless SR geodesics.
4 Sub-Riemannian Geodesics in \({\text {SO(3)}}\) with Cuspless Spherical Projection
In this section, we study cuspless SR geodesics. Such geodesics allow parametrization by spherical arclength, which leads to simpler formulas than using SR arclength parametrization (see Sect. 3). Spherical arclength parameterization breaks down, when the spherical projection of a geodesic exhibits a cusp for the first time. So a natural question arises to characterize the set of end conditions \({\mathcal {R}} \subset {\text {SO(3)}}\) reachable by cuspless geodesics, similar to the \({\text {SE(2)}}\) case studied in [31].
The cuspless SR geodesics are projections in \({\text {SO(3)}}\) of the trajectories of the Hamiltonian system (39) that are going in positive direction of \(X_1\) (i.e., \(u_1(t)>0\)) before the first cusp time \(t<t_\mathrm{cusp}\). Thus, by virtue of (36) the cuspless constraint is given by
We shall often rely on short notation \(h_{i}(s):=h_{i}(t(s))\), where we stress our notations
in order to avoid confusion with the chain law for differentiation. Recall (26) and note that \(s_\mathrm{max}\) for a given geodesics is determined by its initial momentum. We write \(s_\mathrm{max}(h(0))\) when we want to stress this dependence. We derive an explicit formula for \(s_\mathrm{max}(h(0))\) in Sect. 4.1.
Theorem 3
For any \(s \in [0,s_\mathrm{max}(h(0))), h_1(0)>0\) the system (39) is equivalent to the following system (see corresponding vector flow in Fig. 7):
with the boundary conditions
Proof
Express the dynamics (39) in the spherical arclength parameter s. We have
Here we recall that \(u_{1} = \frac{{\hbox {d}} s}{{\hbox {d}} t}\), see (28), and \(h_1 = \xi ^2 u_1\), see (36). Thus we obtained the vertical part of (49). Doing the same for the horizontal part in (39), we obtain the full system (49), where the Hamiltonian \(H(s) = \frac{\xi ^{-2}h_1^2(s) + h_2^2(s)}{2} = \frac{1}{2}\) together with the cuspless constraint \(h_1(s)>0\) allows us to write \(h_1(s) = \xi \sqrt{1- h_2^2(s)}\).
Finally, the boundary conditions (50) follow from (40), since \(t = 0 \Leftrightarrow s =0\). \(\square \)
Note that in contrast to the mathematical pendulum ODEs (44) expressed in SR arclength t, where the Jacobi elliptic functions appear, the vertical part in s parameterization now is a simple linear system of ODEs integrated in elementary functions. To obtain simpler formulas, we define the parameter \(\chi \in {{\mathbb {C}}}\) (where one should take principal square root):
Theorem 4
The general solution of the vertical part in (49) for all \(\xi \ne 1\) is given by
and for the case \(\xi =1\), we find straight lines parallel to \(h_2\) axis in the \((h_2,h_3)\)-phase portrait:
Proof
The solution to the system of ODEs is unique and it is readily checked (52) is a solution of the vertical part of (49) for all \(\xi \ne 1\). For \(\xi <1\), we take main values for the complex square root and complex \(\sinh \) and \(\cosh \). For both \(\xi =1\) and \(\xi \downarrow 1\) and \(\xi \uparrow 1\), we have \(h_2(s) = h_2^0+h_3^0 s\) and \(h_3(s) = h_3^0\). \(\square \)
4.1 Computation of the First Cusp Time
To analyze the cusp points in problem \(\mathbf{P_{curve}}\), we need to determine \(s_\mathrm{max}(h(0))\). It is given, recall (26) and (36), by the minimal positive root of equation \(h_1(s) = 0\):
Theorem 5
When moving along a SR geodesic \(t \mapsto \gamma (t)\), the first cusp time is computed as \(t_{cusp}(h(0)) = t(s_\mathrm{max}(h(0))\), recall (25), where
with \(s_1 = {\text {sgn}}\left( {\text {Re}}\left( h_2^0 \chi +h_3^0\right) \right) \) and \(\kappa = (h_3^0)^2+\left( 1-(h_2^0)^2\right) \chi ^2 \in {{\mathbb {R}}}.\)
As a result, in the SR manifold \(({\text {SO(3)}}, {\varDelta }, {\mathcal {G}})\), recall (21), there do exist nonoptimal cuspless geodesics.
Proof
See Appendix 3. \(\square \)
The presence of nonoptimal cuspless geodesics is remarkable, as in the \({\text {SE(2)}}\) group every cuspless geodesic is globally optimal [31].
4.2 Geodesics in Spherical Arclength Parametrization
In this subsection, we derive the formulas for cuspless SR geodesics in s parameterization.
Theorem 6
The unique solution of (49) is defined for \(s \in [0, s_\mathrm{max}(h(0))]\), where \(s_\mathrm{max}(h(0))\) is given by (54). The solution to the vertical part is given by Theorem 4, and the solution to the horizontal part is given by
where
Proof
It follows from Theoremes 2, 3, and 4. Momentum component \(h_{1}\) is expressed in \(h_{2}\) via the Hamiltonian (37) which equals to \(\frac{1}{2}\) along SR geodesics. The sign of \(h_{1}(0)\) is equal to the sign of \(u_{1}(0)=\frac{ds}{dt}(0)\) and therefore nonnegative.
Regarding the integration constraints, we note that \(M^2=h^2_{1}+h^2_{2}+h^2_{3}\) and \(0\le h_{1}=\xi \sqrt{1-h^2_{2}}\) and
from which the result follows. \(\square \)
Remark 13
In contrast to general SR geodesics in \({\text {SO(3)}}\) given in t parameterization, where Jacobi elliptic functions appear, the cuspless SR geodesics in \({\text {SO(3)}}\) given in s parameterization involve only a single elliptic integral \(\int \limits _{0}^{s} \frac{\sqrt{1- h^2_{2}(\sigma )}}{M^{2}-h^2_{2}(\sigma )}\mathrm{d}\sigma \). This integral can be expressed in terms of standard elliptic integrals. For example, in the elliptic case \(\xi <1, M^2>\xi ^2\) we have
where \(\rho =\sqrt{\frac{M^{2}-\xi ^2}{1-\xi ^2}}, {\varPsi }(s)= s\sqrt{1-\xi ^2} + {\varPsi }_0\), with \({\varPsi }_0=\arg ( \frac{h_{3}(0)}{\sqrt{1-\xi ^2}} + \mathrm {i}\,h_{2}(0))\), which yields
where F denotes an elliptic integral of the first kind and \({\varPi }\) denotes an elliptic integral of the third kind.
See plots of projected cuspless geodesics \(\mathbf {n}(s) = R(s)\, \mathbf {e}_1\) for \(s \in (0,s_\mathrm{max})\) in Fig. 9.
5 PDE Approach for Data-Driven SR Geodesics in \({\text {SO(3)}}\)
In this section, we adapt the PDE approach for data-driven SR geodesics in \({\text {SE(2)}}\) [39, 40] to the \({\text {SO(3)}}\) group. Here we consider the basis left-invariant vector fields \(X_i\) as differential operators of the first order, and we write \(X_i({\mathcal {W}})\) for the derivative of a function \({\mathcal {W}}:{\text {SO(3)}}\rightarrow {{\mathbb {R}}}\) along \(X_i\).
We aim to solve the following optimal control problem:
Here the terminal time T is free; and \(C : {\text {SO(3)}}\rightarrow [\delta , +\infty ), \delta > 0\) is the external cost.
By rescaling of time \(\tau = \frac{t}{T} \in [0,1]\) simultaneously with controls \({\bar{u}}_i(\tau ) = T u_i(T \tau )\), we write down the explicit solutions as
Here the sub-Riemannian metric tensor
is defined only on the distribution \({\varDelta }\), recall Remark 8.
5.1 Sub-Riemannian Fast Marching in \({\text {SO(3)}}\)
Here we propose a SR-FM method (sub-Riemannian fast marching) for the computation of data-driven SR length minimizers (not necessarily cuspless) in \({\text {SO(3)}}\) group, as a solution to the SR-eikonal system (62). This method was successfully used in [41] for the computation of data-driven SR length minimizers in \({\text {SE(2)}}\) group. The method is based on a Riemannian approximation of sub-Riemannian manifold, and computing Riemannian geodesics in highly anisotropic space, which becomes the SR manifold in the limiting case as anisotropy tends to infinity.
Here we follow the explanation in [41], where we work now in new settings of the \({\text {SO(3)}}\) group and use the coordinate chart \((x,y,\theta )\) defined in Sect. 3.1. Recall that the basis left-invariant vector fieldsFootnote 3 \(X_i\) in \({\text {SO(3)}}\) are given by the following differential operators:
and corresponding basis left-invariant one forms \(\omega ^i\), satisfying \(\langle \omega ^i, X_j \rangle = \delta _i^j\), are expressed as
We approximate the sub-Riemannian manifold by a Riemannian manifold by fixing a small \(\varepsilon > 0\). Moreover, the SR-eikonal equation (62) is well defined and it can be derived as a limiting case of the eikonal equation on a Riemannian manifold via the inverse metric tensor, see Appendix 4. Let us denote the Riemannian distance as follows:
with Riemannian metric tensor \({\mathcal {G}}_{\varepsilon }\) given by
Remark 14
In our approach, we shall rely on standard notion of viscosity solution [7, 8, 12] of the Riemannian eikonal equation, which admits a generalization to the sub-Riemannian case. See details in Appendix 4.
The following theorem summarizes our approach for the computation of data-driven sub-Riemannian length minimizers in \({\text {SO(3)}}\).
Theorem 7
Let \(g \ne e \in {\text {SO(3)}}\) be chosen such that there exists a unique minimizer \(\gamma _{\varepsilon }^*:[0,1] \rightarrow {\text {SO(3)}}\) of \(d_{{\text {SO(3)}}}^{\varepsilon }(g,e)\) such that \(\gamma _{\varepsilon }^*(\tau )\) is not a conjugate point for all \(\tau \in [0,1]\) and all \(\varepsilon \ge 0\) sufficiently small.
Then \(\tau \mapsto d_{{\text {SO(3)}}}^{0}(e,\gamma ^*_0(\tau ))\) is smooth and the minimizer \(\gamma _{0}^*(\tau )\) is given by \(\gamma _{0}^*(\tau )=\gamma _{b}^*(1-\tau )\), with
with
and with \({\mathcal {W}}(g)\) denoting the viscosity solution of the following boundary value problem:
For an outline of the proof, see Appendix 4, where we rely on a similar approximation approach as in [48, ch. 5, app. A] for an elastica functional and in [36, Thm. 2, Cor. 2, app. A] for a SR problem on SE(2).
Remark 15
The approach in Theorem 7 can be adapted for producing only the cuspless minimizers. See Appendix 4.
Remark 16
The SR spheres of radius t centered at e are given by \({\mathcal {S}}_{t}= \{g \in {\text {SO(3)}}\,|\, {\mathcal {W}}(g)=t \}\).
Remark 17
Recall that conjugate points are points where local optimality is lost. For a formal definition and characterization, see [35, def. 8.4.3, cor. 8.4.5]. We would conjecture that the assumption on the conjugate points in the above theorem is not really needed, as even the conjugate points that are limits of first Maxwell points do not seem to cause problems in the backtracking procedure, akin to the SE(2) case [40, App. D], but nevertheless our proof in Appendix 4 does rely on this assumption.
From the derivations above Theorem 7, we see that the fast marching approach for computing SR geodesics in \({\text {SE(2)}}\), cf. [41], is easily generalized to the \({\text {SO(3)}}\) case. To this end, we replace the matrix representation for \({\mathcal {G}}_{\varepsilon }\) expressed in the fixed \((x,y,\theta )\) Cartesian coordinate frame. In the \({\text {SO(3)}}\) case, it equals
with
Here the diagonal matrix in the middle encodes the anisotropy between the \(X_i\) directions, while the matrix \(\mathfrak {R}\) is the basis transformation from the moving coframe \(\{\omega ^1,\, \omega ^2,\, \omega ^3\}\) to the fixed coframe \(\{\mathrm{d} x,\, \mathrm{d} y,\, \mathrm{d} \theta \}\), recall (58), in which the fast marching implementation via special anisotropic stencils [5] is used.
In Sect. 6.1, we will show that the thereby obtained fast marching approach already presents reasonable precision for \(\varepsilon =0.1\). Experiments in Sect. 6.3 show the application of the method (with data-adaptive nonuniform cost) to tracking of blood vessels in retinal images.
6 Experiments
In Sect. 6.1, we verify the SR-FM method by comparison of SR length minimizers/spheres obtained via SR-FM with the exact SR geodesics/wavefronts (cf. Sect. 3) for the case of uniform external cost (i.e., \(C=1\)). In Sect. 6.2, we compare SR geodesics and wavefronts in the groups \({\text {SE(2)}}\) and \({\text {SO(3)}}\) (Sect. 6.2.1) for the uniform external cost case. In Sect. 6.3, we provide experiments of vessel tracking by SR geodesics in \({\text {SO(3)}}\) when the external cost C is induced by spherical data, and compare them to the result of vessel tracking on the corresponding flat image by SR geodesics in \({\text {SE(2)}}\).
6.1 Verification of the Fast Marching Method in the Case of Uniform External Cost
In this subsection, we perform the experiments to validate the SR Fast Marching (SR-FM) method proposed in Sect. 5.1. The goal of the experiments is to check that the method produces an accurate approximate solution to the SR problem in \({\text {SO(3)}}\) group in the case of uniform external cost \(C = 1\). In all the experiments, we fixed the anisotropy parameter of the Riemannian approximation as \(\varepsilon = 0.1\).
In the first experiment, we compare the geodesics \(\gamma ^{FM}(\cdot )\) obtained via SR-FM with the exact cuspless geodesics \(\gamma (\cdot )\) computed via analytic formulas in Theorem 6. We perform the comparison as follows:
-
1)
Fix \(\xi >0\) and the initial momenta h(0).
-
2)
Compute the first cusp time \(s_{max}(h(0))\) corresponding to h(0), and set \(s_\mathrm{end} = \min \{s_{max}(h(0)),\frac{\pi }{2}\}\).
-
3)
Compute the geodesic \(\gamma (s), s\in [0,s_\mathrm{end}]\) via Thm. 6.
-
4)
Compute the distance function \({\mathcal {W}}(g)\) in the domain \(g = (x,y,\theta ) \in [-\frac{\pi }{2},\frac{\pi }{2}]\times [-\pi ,\pi ]\times [-\pi ,\pi ]\) via SR-FM. Here we compute the distance function in the grid of \(201 \times 401 \times 401\) points and then interpolate it using third-order Hermite interpolation.
-
5)
Compute the geodesic \(\gamma ^{FM}(t), t \in [0,{\mathcal {W}}(g_\mathrm{end})]\) via backtracking (61) from the endpoint \(g_{1} = \gamma (s_\mathrm{end})\).
-
6)
Plot the spherical projections of \(\gamma (s)\) and \(\gamma ^{FM}(t)\) and compare them.
A typical result of the comparison is shown in Fig. 10, where we set \(\xi = 1.5, h_3(0) = 0\) for all the curves and varied initial momentum \(h_2(0) \in \{-0.99, -0.81, -0.63, -0.45, -0.27, -0.09, 0.09, 0.27, 0.45, 0.63, 0.81, 0.99\}\). As a result, we see that the geodesics computed numerically via SR-FM accurately follow the exact geodesics.
We have performed a series of such experiments and always obtained similar results when the geodesics \(\gamma ^i(s)\) were optimal for \(s \in [0, s^i_\mathrm{end}]\). It was also remarkable that SR-FM resulted into different curves (length minimizers) when the geodesic \(\gamma ^i(s)\) was not optimal for \(s \in [0, s^i_\mathrm{end}]\). Such an example is illustrated in Fig. 10 (bottom). The question of optimality of SR geodesics in \({\text {SO(3)}}\) in the general case \(\xi >0\) is an open important problem, recall Sect. 3.5. Here we provide a numerical SR-FM method for computing only the optimal geodesics. In analogy with how it was done in [40], it is possible to compute Maxwell sets numerically. We have a strong conjecture that optimality is lost at the first Maxwell point induced by reflectional symmetries along the geodesic. We leave the computation of Maxwell points and analysis of optimality of the geodesics as a direction for future work.
To verify the SR-FM method we also perform experiments with comparison of the geodesics obtained via SR-FM and the general geodesics (not necessarily cuspless) given by Theorem 2. A typical result is presented in Fig. 11 (top). Here we again observe an accurate result of SR-FM, but now for the geodesics whose spherical projections have cusps.
To conclude this section, we provide one more experiment, where we compare the exact sub-Riemannian wavefronts and SR spheres computed via SR-FM. We show that the SR-FM method provides a distance function \({\mathcal {W}}(g)\) that closely approximates the SR distance \(d(e,g)\approx {\mathcal {W}}(g)\). In Fig. 11, we show the comparison of the exact wavefront \({{\mathrm{WF}}}(\frac{15}{32}\pi )\) and isosurface \({\mathcal {S}}^{FM}(\frac{15}{32}\pi ) = \{g \in {\text {SO(3)}}|{\mathcal {W}}(g) = \frac{15}{32}\pi \}\). Here we see that the isosurface computed via SR-FM accurately follows the outer surface of the exact wavefront (i.e., exact SR sphere). A similar picture was obtained for different radii T.
6.2 Comparison of SR Geodesics and Wavefronts in \({\text {SE(2)}}\) and \({\text {SO(3)}}\) for \(C=1\)
In this subsection, we compare SR geodesics and wavefronts in \({\text {SE(2)}}\) and \({\text {SO(3)}}\) and analyze their applicability in image processing. We also include a short discussion about optimality of geodesics, which is closely related to the analysis of self-intersections of wavefronts and the study of cut loci. To this end, we provide accurate plot of the wavefronts near their singularities.
6.2.1 Comparison of SR Wavefronts in \({\text {SO(3)}}\) and \({\text {SE(2)}}\) for \(C=1\)
In this subsection, we show a comparison of the SR wavefronts in \({\text {SO(3)}}\) and \({\text {SE(2)}}\) in the case of uniform external cost \(C=1\). Here we employ the fact that the coordinate chart \((x,y,\theta )\) in \(S^2_{x,y} \times S^1_{\theta }\) was chosen in the way to obtain the analogy with \((X,Y,{\varTheta }) \in {{\mathbb {R}}}^2 \times S^1\). This allows us to plot SR wavefronts of \({\text {SO(3)}}\) and \({\text {SE(2)}}\) in the same 3D plot.
In this comparison, we use the SR arclength parameterization t, where the geodesic \(\gamma ^{{\text {SO(3)}}}(\cdot )\) is given by exponential map \({{\mathrm{Exp}}}(h^0,\cdot )\), recall (47), i.e., by the projection in \({\text {SO(3)}}\) of the solution of the Hamiltonian system (39), with initial condition \(h(0) = h^0, \gamma ^{{\text {SO(3)}}}(0) = e = (0,0,0)\). To establish the comparison of wavefronts we switch to polar coordinates \((\beta , c)\), recall (43), where the Hamiltonian system in \({\text {SO(3)}}\) reads as:
A solution to this system is given by Theorem 2.
The Hamiltonian system for SR geodesics in \({\text {SE(2)}}\) (see, e.g., [29] ) reads as:
A solution to this system is given in [29]. Indeed, we observe a clear similarity between the \({\text {SO(3)}}\) and \({\text {SE(2)}}\) case, when using parametrization (6).
In Fig. 12, we plot the SR wavefronts in \({\text {SO(3)}}\) and \({\text {SE(2)}}\) for several values of end time T. In these plots, we identify \((x,y,\theta )\) and \((X,Y,{\varTheta })\), so that the red surfaces \({{\mathrm{WF}}}^{{\text {SE(2)}}}\) are the SR wavefronts of \({\text {SE(2)}}\) and the green surfaces \({{\mathrm{WF}}}^{{\text {SO(3)}}}\) are the SR wavefronts of \({\text {SO(3)}}\). We see a very similar shape of \({{\mathrm{WF}}}^{{\text {SO(3)}}}\) and \({{\mathrm{WF}}}^{{\text {SE(2)}}}\) for small radii T, but the difference increases when T increases. Thus, we conclude that the SR geodesics in \({\text {SO(3)}}\) can be locally approximated by the SR geodesics in \({\text {SE(2)}}\), but globally they are considerably different.
One can also observe that the singular pointsFootnote 4 of \({{\mathrm{WF}}}^{{\text {SO(3)}}}\) are located near singular points of \({{\mathrm{WF}}}^{{\text {SE(2)}}}\). This leads us to a conjecture that the location of conjugate points (open problem) can be estimated by the location of conjugate points of \({{\mathrm{WF}}}^{{\text {SE(2)}}}\). Note also that in the general case \(\xi >0\) the set of singular points has a complicated shape. In Fig. 13, we present more detailed plot of the singularities, with the depicted Maxwell set and special cases of conjugate points, which are limit points of the Maxwell set on SR sphere (outer part of wavefront).
In Fig. 13, we observe that the wavefront in \({\text {SO(3)}}\) has a very special symmetry when \(\xi =1\). This is not present for \(\xi \ne 1\), and this never happens in the \({\text {SE(2)}}\) group. The case \(\xi = 1\) for SR manifold in \({\text {SO(3)}}\) was completely examined in [15], where it was shown that locally the conjugate locus is an interval, and globally it is a circle without a point. Changing \(\xi \) destroys the symmetry, conjugate and Maxwell points are getting separated, and the conjugate locus has an astroidal shape [34].
6.2.2 Comparison of SR Geodesics in \({\text {SO(3)}}\) and \({\text {SE(2)}}\) for \(C=1\)
In this subsection, we again consider the case \(C=1\) and compare SR geodesics \(\gamma ^{{\text {SO(3)}}}(\cdot ) = (x(\cdot ),y(\cdot ), \theta (\cdot ))\) and \(\gamma ^{{\text {SE(2)}}}(\cdot ) = (X(\cdot ),Y(\cdot ), {\varTheta }(\cdot ))\) in the image plane. The SR-FM method is used for computation of the geodesics parameterized by SR arclength. Here we prepare background for comparison of the geodesics in retinal images via the schematic eye model, recall Sect. 1.1, where as a departure point we use an image (white for \(C=1\)) on a plane \(O_{XY}\), recall Fig. 4.
See Fig. 14, where we compare \({\text {SE(2)}}\) and \({\text {SO(3)}}\) SR geodesics projected on the plane and on the sphere (via mappings \({\varPi }\) and \({\varPi }^{-1}\)). For details, see Appendix 5.
6.3 Vessel Analysis via \({\text {SO(3)}}\) SR Geometry and \({\text {SE(2)}}\) SR Geometry
As explained in introduction in Sect. 1.1, we need to include the spherical geometry of the retina rather than the flat geometry of the flat image. This spherical geometry is encoded in our spherical image model, see Fig. 4. Next we will analyze the effect of including this geometry in the SR-FM vessel tracking method along data-driven SR geodesics in \({\text {SO(3)}}\).
More precisely, we propose vessel tracking in object coordinates (or spherical image coordinates) via SR geometry in \({\text {SO(3)}}\) as an extension of vessel tracking in flat images [39, 40] along SR geodesics in \({\text {SE(2)}}\). Therefore, we want to investigate whether including the correct spherical geometry makes a difference in the vessel tracking in practice. Although a complete detailed comparison on large data sets is left for future work, we present preliminary experiments which indeed indicate considerable differences in both tractography and curvature measurements. These experiments are shown in Figs. 15 and 16 and next we explain them.
We apply the same scheme as in Sect. 6.2.2, but now we compute data-driven geodesics, where the external cost is induced by image data. Next we explain the construction of the external cost that is applied in all experiments. For the sake of simple comparison, we restrict ourselves to a cost depending on the spherical coordinates only, and we set
where we use standard multiscale vesselness [50]
with \(\lambda _i(X,Y)\) eigenvalues of the Gaussian Hessian of image \(F:{{\mathbb {R}}}^2 \rightarrow {{\mathbb {R}}}\) (maximized over scales) ordered by \(|\lambda _1(X,Y)|<|\lambda _2(X,Y)|\), with \(\beta = c = 0.3\), and with unit step function \(U(\lambda ) = {\left\{ \begin{array}{ll}1, \text { for } \lambda \ge 0,\\ 0, \text { otherwise.} \end{array}\right. }\)
Here we note that the Gaussian Hessian is given by \({\mathcal {H}}(G_s *F)\) and computed by Gaussian derivatives [51] at multiscales \(s = \frac{1}{2} \sigma ^2 \in \{2,3,4,5\}\) in term of pixel sizes.
In the experiment in Figure 15, we show that there is a considerable difference between \({\text {SE(2)}}\) SR geodesics and \({\text {SO(3)}}\) SR geodesics. We see that when internal geometry is dominant over the external cost (\(\lambda \) small) the SR geodesics in \({\text {SO(3)}}\) are more stiff than SR geodesics in \({\text {SE(2)}}\), and therefore in the boundary value problem they are less eager to take shortcuts and better follow the vessel structure. In case \(\lambda \) is large (external cost is dominant than the internal geometry), we see only small differences in the overall locations of the \({\text {SE(2)}}\) curves and \({\text {SO(3)}}\) curves. The results are stable w.r.t. choice of \(1\le \eta \le 2\) (which controls the distance from the camera to the eye ball, relative to eye ball radius, recall Fig. 4).
In the next experiment, we measure the curvature of the curves obtained by the vessel tracking method via \({\text {SE(2)}}\) geometry and via \({\text {SO(3)}}\) geometry. For this experiment, we used the values \(\xi =3, \lambda = 50\) and \(\eta =2\). Although in this case the result of tractography is very similar for the \({\text {SE(2)}}\) and \({\text {SO(3)}}\) curves, we show that there is a considerable difference in their curvature.
Corollary 1
(from Theorem 1) The geodesic curvature of a spherical projection of data-driven geodesic \(\gamma ^{{\text {SO(3)}}}(\cdot )\) satisfies
Proof
The first equality in the chain
is implied by Eq. (28). The second equality follows from application of PMP to problem \(\mathbf{P_{mec}}\), which gives \(u_1 = \frac{h_1}{ \xi ^2 C^2}\) and \(u_2 = \frac{h_2}{C^2}\). The third equality follows from the fact that in the points where the Bellman function \({\mathcal {W}}\) is differentiable (almost everywhere in our case) its derivatives are given by components of momentum covector \(h_1 = X_1({\mathcal {W}}), h_2 = X_2({\mathcal {W}})\), see [37]. \(\square \)
By the same argument, it can be checked (see [31] and [40]) that the planar curvature of spatial projections of SR geodesics in \({\text {SE(2)}}\) satisfies
with \({\mathcal {A}}_1 = \cos {\varTheta } \partial _X + \sin {\varTheta } \partial _Y, {\mathcal {A}}_2 = \partial _{\varTheta }\) basis left-invariant vector fields \({\text {SE(2)}}\).
Thus the curvature analysis can be simply done based on vessel tracking, and this shows the benefit of our algorithm. In Fig. 16, we show an experiment of vessel curvature measurement based on tracking via \({\text {SO(3)}}\) geometry and via \({\text {SE(2)}}\) geometry. For completeness, we added also a comparison with a planar curvature \(\kappa ^{{\text {SO(3)}}}(\cdot )\) of a planar projection \({\varGamma }^{{\text {SO(3)}}}(\cdot ) := {\varPi }(x(\cdot ), y(\cdot ))\) of \(\gamma ^{{\text {SO(3)}}}(\cdot ) = (x(\cdot ),y(\cdot ),\theta (\cdot ))\).
We can see a considerable difference in curvature measurement via \({\text {SO(3)}}\) geometry and \({\text {SE(2)}}\) geometry. It is also seen that the difference between \(\kappa ^{{\text {SO(3)}}}\) and \(\kappa _g^{{\text {SO(3)}}}\) is not very significant. Thus we see the importance of including correct spherical geometry in vessel tracking algorithm in retinal images.
6.4 Vessel Analysis via \({\text {SO(3)}}\) SR Geometry and \({\text {SO(3)}}\) Riemannian Geometry
Next we address the general benefit of using SR geodesics rather than (isotropic) Riemannian geodesics in the tracking of salient lines (blood vessels) in spherical images. To this end, we show a typical example where the tracking induced by a sub-Riemannian geodesic gives better result than the tracking induced by a Riemannian geodesic. The experiment in Fig. 17 is performed similar to Sect. 6.3, but now we compare the result of vessel tracking via SR geodesics (obtained by SR-FM) and Riemannian geodesics (isotropic metric with \(\varepsilon = 1\)). From this experiment, we see that similarly to the \({\text {SE(2)}}\) case [40] the tracking via Riemannian geometry suffers from incorrect jumps toward nearly parallel neighboring vessels and yields nonsmooth curves, the tracking via SR geometry gives the desirable result.
7 Conclusion
Data-driven sub-Riemannian geodesics in 3D Lie groups are a suitable tool for tractography of blood vessels in retinal imaging. In previous works on the \({\text {SE(2)}}\) case [40, 41], practical advantages have been shown in comparison with the (isotropic) Riemannian case, and geodesic methods in the image domain. However, these models included a SR geometry on \({\text {SE(2)}}\equiv {{\mathbb {R}}}^{2}\rtimes S^{1}\) based on lifts of flat images, which does not match the actual object geometry: The retina is spherical rather than planar, cf. Fig. 1, Fig. 3, and Fig. 4. A similar observation holds for models in the psychology of contour perception in human vision [30].
Therefore, for geometric tracking we propose a frame bundle above \(S^{2}\), cf. Fig. 6, instead of a frame bundle above \({{\mathbb {R}}}^{2}\). Geometric tracking of geodesics is done along globally optimal data-driven SR geodesics in \({\text {SO(3)}}\) (and their spherical projections) by our new numerical wavefront propagation method. The method was validated for the uniform cost case by comparisons with exact geodesics which we derived in Sect. 3, cf. Figs. 10 and 11. Here, in contrast to the \({\text {SE(2)}}\) case [31], we do not have a scaling homothety. As a result, the parameter \(\xi \) has a considerable effect on the geometry, and for \(\xi =1\) we identify the linear case, for \(\xi >1\) we identify the hyperbolic case, and for \(\xi <1\) we identify the elliptic case, cf. Figs. 7 and 9.
For all of these cases, we have computed the first cusp time in Theorem 5 (the first time where the spherical projection of a SR geodesic exhibits a cusp). Also, we have presented new formulas for such “cuspless” SR geodesics in Theorem 6. These formulas only involve a single elliptic integral thanks to spherical arclength parametrization, and for \(\xi \ne 1\) our formulas are simpler than the general formulas for SR geodesics in \({\text {SO(3)}}\).
Furthermore, we used a specific parametrization of Lie group \({\text {SO(3)}}\) that allowed us to compare between SR geodesics / wavefronts in \({\text {SO(3)}}\) to SR geodesics / wavefronts in \({\text {SE(2)}}\), cf. Figs. 12 and 13. In our comparison we took into account a standard optical model for the mapping between object coordinates on the retina and camera coordinates in the acquired planar retinal image. In our experiments, the differences between the \({\text {SO(3)}}\) case and the \({\text {SE(2)}}\) case are considerable, both for the case of uniform cost, cf. Fig. 14, and for the data-driven case in the retinal image analysis application, cf. Fig. 15. In general, we see that for realistic parameter settings (in optics) the \({\text {SO(3)}}\) geodesics have a slower variation in curvature and are less eager to take shortcuts, see, e.g., Fig. 15 and 16. Furthermore, there are visible differences between geodesic curvature of data-driven SR geodesics on the sphere and the curvature of their planar projections. As in retinal imaging applications, curvature is considered as a relevant biomarker [9,10,11] for detection of diabetic retinopathy and other systemic diseases, the data-driven SR geodesic model in \({\text {SO(3)}}\) is a relevant extension of our data-driven geodesic model in \({\text {SE(2)}}\). Here we restricted ourselves to feasibility studies. More extensive comparisons between \({\text {SO(3)}}\) geodesics and \({\text {SE(2)}}\) geodesics on large retinal imaging benchmark sequences are beyond the scope of this article and are left for future work.
Finally, we note that the computation time for data-driven SR geodesics in \({\text {SO(3)}}\) is exactly the same as for the \({\text {SE(2)}}\) case. Our specific choice of coordinates of \({\text {SO(3)}}\) allowed us to modify the very efficient fast marching approach [41], with a simple replacement of the metric tensor matrix.
Notes
References
Peyré, G., Péchaud, M., Keriven, R., Cohen, L.D.: Geodesic methods in computer vision and graphics. Found. Trends. Comp. Comput. Graph. Vis. 5(34), 197–397 (2010)
Sethian, J.A.: Level Set Methods and Fast Marching Methods. Cambridge University Press, Cambridge (1999)
Caselles, V., Kimmel, R., Sapiro, G.: Geodesic active contours. Int. J. Comp. Vis. 22(1), 61–79 (1997)
Osher, S., Fedkiw, R.P.: Level Set Methods and Dynamic Implicit Surfaces. Applied Mathematical Science, Springer, New York (2003)
Mirebeau, J.-M.: Anisotropic fast-marching on cartesian grids using Lattice Basis Reduction. SIAM J. Num. Anal. 52(4), 1573 (2014)
Ikram, M.K., Ong, Y.T., Cheung, C.Y., Wong, T.Y.: Retinal vascular caliber measurements: clinical significance, current knowledge and future perspectives. Ophthalmologica 229(3), 125–136 (2013)
Lions, P.L.: Generalized Solutions of Hamilton–Jacobi Equations. Pitman, p. 317 (1982)
Crandall, M.G., Lions, P.L.: Viscosity solutions of Hamilton–Jacobi equations. Trans. Am. Math. Soc. 277(1), 1–42 (1983)
Sasongko, M.B., Wong, T.Y., Nguyen, T.T., Cheung, C.Y., Shaw, J.E., Wang, J.J.: Retinal vascular tortuosity in persons with diabetes and diabetic retinopathy. Diabetologia 54, 2409–2416 (2011)
Kalitzeos, A.A., Lip, G.Y., Heitmar, R.: Retinal vessel tortuosity measures and their applications. Exp. Eye Res. 106, 40–46 (2013)
Bekkers, E., Zhang, J., Duits, R., ter Haar Romeny, B.: Curvature based biomarkers for diabetic retinopathy via exponential curve fits in SE(2). In: Trucco, E., Chen, X., Garvin, M.K., Liu, J.J., Frank, X.Y. (eds.) Proceedings of the Ophthalmic Medical Image Analysis Second International Workshop, OMIA 2015, Held in Conjunction with MICCAI 2015, Munchen, Germany, October 9, 2015, pp. 113–120. Iowa Research Online (2015)
Evans, L.C.: Partial Differential Equations. Graduate Studies in Mathematics vol. 19, AMS, Providence (1998)
Petitot, J.: The neurogeometry of pinwheels as a sub-Riemannian contact structure. J. Physiol. Paris 97, 265–309 (2003)
Citti, G., Sarti, A.: A cortical based model of perceptual completion in the roto-translation space. J. Math. Imaging Vis. 24, 307–326 (2006)
Boscain, U., Rossi, F.: Invariant Carnot–Caratheodory metrics on \(S^3, SO(3), SL(2)\) and lens spaces, SIAM. J. Control Optim. 47, 1851–1878 (2008)
Boscain, U., Rossi, F.: Projective Reed-Shepp car on \(S^2\) with quadratic cost. ESAIM: COCV 16, 275–297 (2010)
Boscain, U., Gauthier, J.-P., Chertovskih, R., Remizov, A.: Hypoelliptic diffusion and human vision: a semidiscrete new twist. SIAM J. Imaging Sci. 7(2), 669–695 (2014)
Bekkers, E., Duits, R., Berendschot, T., Romeny, B.H.: A multi-orientation analysis approach to retinal vessel tracking. J. Math. Imaging Vis. (2014)
Beschastnyi, I., Sachkov, Y.: Sub-Riemannian and almost-Riemannian geodesics on \(\text{SO}(3)\) and \(S^{2}\), ArXiv: 1409.1559, (2014)
Berestovskii, V.: Geodesics of a left-invariant nonholonomic Riemannian metric on the group of motions of the Euclidean plane. Sib. Math. J. 35(6), 1083–1088 (1994)
Berestovskii, V., Zubareva, I.: Sub-Riemannian distance in the Lie groups \(SU(2)\) and \(SO(3)\). Sib. Adv. Math. 26(2), 77–89 (2016)
Bonnard, B., Cots, O., Pomet, J.-B., Shcherbakova, N.: Riemannian metrics on 2D-manifolds related to the Euler–Poinsot rigid body motion. ESAIM: Control Optim. Calc. Var. 20, 864–893 (2014)
Bonnard, B., Chyba M.: Two applications of geometric optimal control to the dynamics of spin particle, 2014, Preprint HAL Id: hal-00956828
Jurdjevic, V.: Geometric Control Theory, Cambridge Studies in Advanced Mathematics (No. 52). Cambridge University Press, Cambridge (1996)
Kruglikov, B., Vollmer, A., Lukes-Gerakopoulos, G.: On integrability of certain rank 2 sub-Riemannian structures. ArXiv: 1507.03082 (2015)
Mashtakov, A.P., Ardentov, A.A., Sachkov, Y.L.: Parallel algorithm and software for image inpainting via sub-Riemannian minimizers on the group of rototranslations. Numer. Math. Theory Methods Appl. 6(1), 95–115 (2013)
Mashtakov, A.P., Sachkov, YuL: Superintegrability of left-invariant sub-Riemannian structures on unimodular three-dimensional lie groups. Differ. Equ. 51(11), 1476–1483 (2015)
Sachkov, Yu.L.: Cut locus and optimal synthesis in the sub-Riemannian problem on the group of motions of a plane. ESAIM: COCV, 17, 293–321 (2011)
Moiseev, I., Sachkov, Yu.L.: Maxwell strata in sub-Riemannian problem on the group of motions of a plane. ESAIM: COCV 16, 380–399 (2010)
Boscain, U., Duits, R., Rossi, F., Sachkov, Y.L.: Curve cuspless reconstruction via sub-Riemannian geometry. ESAIM: Control Optim. Calc. Var. 20, 748–770 (2014). doi:10.1051/cocv/2013082
Duits, R., Boscain, U., Rossi, F., Sachkov, Y.L.: Association Fields via Cuspless Sub-Riemannian Geodesics in SE(2). JMIV 49(2), 384–417 (2014). doi:10.1007/s10851-013-0475-y, http://bmia.bmt.tue.nl/people/RDuits/cusp
Duits, R., Ghosh, A., Dela Haije, T.C.J., Mashtakov, A.: On sub-Riemannian geodesics in \(SE(3)\) whose spatial projections do not have cusps. J. Dyn. Control Syst. 22(4), 771–805 (2016)
Montgomery, R.: A Tour of Subriemannian Geometries, Their Geodesics and Applications. Mathematical Surveys and Monographs (2002)
Agrachev, A.A.: Exponential mappings for contact sub-Riemannian structures. J. Dyn. Control Syst. 2(3), 321–358 (1996)
Agrachev, A.A., Barilari, D., Boscain, U.: Introduction to Riemannian and Sub-Riemannian Geometry from the Hamiltonian Viewpoint. Preprint SISSA 09/2012/M (2016)
Duits, R., Meesters, S., Mirebeau, J.M., Portegies, J.: Optimal paths for variants of the 2D and 3D Reeds-Shepp car with applications in image analysis. ArXiv:1612.06137, (2016)
Agrachev, A.A., Sachkov, YuL: Control Theory from the Geometric Viewpoint. Springer, New York (2004)
Duits, R., Ghosh, A., Dela Haije, T.C.J., Sachkov, Y.L.: Cuspless sub-Riemannian geodesics within the Euclidean motion group \(SE(d)\). In: Neuromathematics of Vision, Springer Series Lecture Notes in Morphogenesis, vol 1, pp. 173–240 (2014)
Bekkers, E.J., Duits, R, Mashtakov, A., Sanguinetti, G.R.: (joint main authors). Data-driven sub-Riemannian geodesics in \(\text{ SE }(2)\). In: Aujol, Nikolova, Papadakis (eds.)Proceedings of SSVM 2015, LNCS 9087, pp. 613–625 (2015)
Bekkers E.J., Duits R., Mashtakov A., Sanguinetti, G.R.: (joint main authors). A PDE approach to data-driven sub-Riemannian geodesics in \(\text{ SE }(2)\). SIAM J. Imaging Sci. 8(4), 2740–2770 (2015)
Sanguinetti, G., Duits, R., Bekkers, E., Janssen, M.H.J., Mashtakov, A., Mirebeau, J.M.: Sub-Riemannian fast marching in SE(2). In: Progress in Pattern Recognition, Image Analysis, Computer Vision, and Applications. Lecture Notes in Computer Science, vol. 9423, pp. 366–374 (2015)
American Academy of Ophthalmology, Clinical Optics, 2013–2014. Basic and Clinical Science Course. American Academy of Ophthalmology, San Francisco (2013)
Rouy, E., Tourin, A.: A viscosity solutions approach to shape-from-shading. SIAM J. Num. Anal. 29, 867–884 (1992)
Calin, O., Chang, D.-C., Markina, I.: Sub-Riemannian geometry on the sphere \(S^3\). Can. J. Math. 61(4), 721–739 (2009)
Chang, D.-C., Markina, I., Vasilev, A.: Sub-Riemannian geometry on the 3-D sphere: complex analysis and operator theory, 3, pp. 361–377 (2009)
Field, D.J., Hayes, A., Hess, R.: Contour integration by the human visual system: evidence for a local “association field”. Vis. Res. 33(2), 173–193 (1993)
Chen, D., Mirebeau, J.-M., Cohen, L.D.: Global minimum for curvature penalized minimal path method. In: Xie, X., Jones, M.W., Tam, G.K.L. (eds.) Proceedings of the British Machine Vision Conference (BMVC), pp. 86.1-86.12. BMVA Press, Guildford (2015)
Chen, D.: New Minimal Path Models for Tubular Structure Extraction and Image Segmentation. PHD thesis, École Doctorale de Dauphine Paris, (2016)
Rifford, L.: Sub-Riemannian geometry and optimal transport. Springer Briefs in Mathematics. Springer International Publishing, New York (2014)
Frangi, A., Niessen, W., Vincken, K., Viergever, M.: Multiscale vessel enhancement filtering. In Proc. of the MICCAI, Lecture Notes in Computer Science, Cambridge, pp. 130-137, (1998)
ter Haar Romeny, B.M.: Front-End Vision and Multi-Scale Image Analysis. Springer, 484 pp, (2004)
Acknowledgements
The research leading to these results has received funding from the European Research Council under the European Community’s Seventh Framework Programme (FP7/2007-2013)/ERC grant Lie Analysis, a.n. 335555. The authors gratefully acknowledge EU-Marie Curie project MANET ag. no. 607643, and RFBR research Project No. 16-31-60083 mol_a_dk for financial support. The publication was supported by the Ministry of Education and Science of the Russian Federation (the Agreement number 02.a03.21.0008). The authors gratefully acknowledge dr. G.R. Sanguinetti and Dr. J.-M. Mirebeau on their efforts on anisotropic fast marching implementation of SR geodesics in \({\text {SE(2)}}\) [41] that allowed for our generalization to the \({\text {SO(3)}}\) case. Furthermore, the authors thank G.R. Sanguinetti on helpful comments and suggestions on earlier versions of this article. We thank Dr. Tos Berendschot for fruitful discussions on retinal imaging and for his encouragement to take into account the spherical nature of the retina in our geometric retinal image processing. The authors thank anonymous reviewers whose valuable comments improved the exposition of this work.
Author information
Authors and Affiliations
Corresponding author
Appendices
Appendix 1: Proof of Theorem 1
The function \(s(t) := \int _{0}^{t} u_1 (\tau ) \mathrm{d} \, \tau \) is differentiable and increasing for \(t \in [0,T]\); then there exists an inverse function \(t(s), s \in [0,l], l = s(T)\), differentiable and increasing. Notice that \(\frac{ds}{dt}(t) = u_1(t)\), which gives the second equality in (28).
Define \({\bar{R}}(s):=R(t(s)), \mathbf {n}(s) := {\bar{R}}(s) \mathbf {e}_1, \underline{\mathbf {n}}(t):=R(t) \mathbf {e}_1 = \mathbf {n}(s(t))\). From the dynamics of \(\mathbf{P_{mec}}\), we obtain identities
Then the Gauss–Bonnet formula (15) gives
which implies the third equality in (28).
The boundary conditions (27) for the curve \(\mathbf {n}(s)\) follow from its definition and the boundary conditions for R(t).
Recall that by definition \(C(R(t)) = \mathfrak {C}(\mathbf {n}(s(t)))\). Since the minimizer R(t) is parameterized by SR arclength, we have \(C^2(R(t))\left( \xi ^2 u_1^2(t) + u_2^2(t)\right) \equiv 1,\) whence \(\frac{d t}{d s}(s) = \frac{1}{u_1(t(s))} = C(R(t(s)))\sqrt{\xi ^2 + \frac{u_2^2(t(s))}{u_1^2(t(s))}} = \mathfrak {C}(\mathbf {n}(s))\sqrt{\xi ^2 + k_g^2(s)},\) which implies (29) after integration w.r.t. s.
Thus, we can see that the optimization functionals of \(\mathbf{P_{curve}}\) and \(\mathbf{P_{mec}}\) coincide:
But also the dynamics coincides, in the following sense. If \(\tilde{\mathbf {n}}(s), s \in [0,{\tilde{l}}]\), is a smooth curve on the sphere \(S^2\) with the initial conditions \(\tilde{\mathbf {n}}(0) = \mathbf {e}_1, \tilde{\mathbf {n}}'(0) = \mathbf {e}_3\) and a geodesic curvature \({\tilde{k}}_g(s)\), then it can be lifted to a curve \({\tilde{R}}(s)\) in \({\text {SO(3)}}\) that is a trajectory of control system (17) with the controls \({\tilde{u}}_1(s) \equiv 1, {\tilde{u}}_2(s) = {\tilde{k}}_g(s)\) and the initial condition \({\tilde{R}}(0) = {\text {Id}}\). The curve \({\tilde{R}}(s) \mathbf {e}_1\) on \(S^2\) has the same initial conditions and geodesic curvature as \(\tilde{\mathbf {n}}(s)\), thus \({\tilde{R}}(s) \mathbf {e}_1 \equiv \tilde{\mathbf {n}}(s)\).
Summing up, since R(t) is a minimizer of \(\mathbf{P_{mec}}\), then its projection \(\mathbf {n}(s)\) to the sphere \(S^2\) is a minimizer of \(\mathbf{P_{curve}}\).
Appendix 2: Integration of the Hamiltonian System \(\mathbf{P_{mec}^1}\)
To integrate the Hamiltonian system (39), we follow the idea of V. Jurdjevic [24], where one can employ left invariance and introduce initial rotation \(D_0\) of momentum space, such that the initial momentum transforms to \(h(0) = (0,0,M)\), solve the problem in this simple case (i.e., to find the trajectory \({\tilde{R}}(t)\) that corresponds to \(h(0) = (0,0,M)\)), and obtain general solution R(t) by a backward transformation \(R(t) = D_0^{-1} {\tilde{R}}(t)\).
Proof of Theorem 4.1
Substitution of (36) to (31) gives
The Hamiltonian system can be written as a Lax type of system [19]
Here \(P(t) = - h_1(t) \omega ^2 +h_2(t) \omega ^1 + h_3(t) \omega ^3\) is a momentum covector expressed in the basis \(\omega ^i\), dual to \(A_i\), i.e., \(\langle \omega ^i, A_j\rangle = \delta _{ij}\). The vertical part (64) has \(P(t) = R^{-1}(t) P(0) R(t)\) as a solution. Thus, the Hamiltonian system (64)—(65) preserves the norm of momentum covector \(h(t) = (h_2(t), -h_1(t), h_3(t))\), i.e., the value \(M^2 = h_1^2(t) + h_2^2(t) + h_3^2(t)\), whose isosurface is a coadjoint orbit of \({\text {SO(3)}}\). The Killing form allows to identify \({\text {so(3)}}\) and \({\text {so(3)}}^{*}\) (see [19]), and by isomorphism (11), we write
Next we apply a left action of \({\text {SO(3)}}\) on solution curve \(R(\cdot )\)
where \(D_{0}\) is chosen such that the initial momentum matrix P(0) and initial covector \(h(0)=(-h_{2}(0),h_{1}(0),h_{3}(0))\) are reduced to a simple form
as the nicest possible representant within the coadjoint orbit of \({\text {SO(3)}}\).
Next we represent the rotation matrix \({\tilde{R}}\) in form (6), i.e., \({\tilde{R}} = {\text {e}}^{{\tilde{y}} A_3}{\text {e}}^{-{\tilde{x}} A_2} {\text {e}}^{\tilde{\theta } A_1}\), where we parameterize the rotations via 3 angles \(\displaystyle {\tilde{x}} \in [-\frac{\pi }{2}, \frac{\pi }{2}], {\tilde{y}}\in {{\mathbb {R}}}/\{2 \pi {{\mathbb {Z}}}\}, \tilde{\theta } \in {{\mathbb {R}}}/\{2 \pi {{\mathbb {Z}}}\}\).
Substitution of (68) in (66) gives the momentum matrix
and the equivalent relation for the momentum covector
By multiplying the matrices in the right-hand side, we obtain
From (69) we immediately have \( \tilde{\theta }(t) = {\text {arg}}\left( h_3(t) - \mathrm {i}h_1(t)\right) , \) and since \(\displaystyle {\tilde{x}}(t) \in [-\frac{\pi }{2}, \frac{\pi }{2}] \Rightarrow \cos {\tilde{x}}(t) \ge 0\), we can also express \( {\tilde{x}}(t)= \arg \left( \sqrt{h^2_{1}(t)+h^2_3(t)}+ \mathrm {i}\, h_{2}(t) \right) . \)
To obtain \({\tilde{y}}(t)\) first notice that due to left invariance, the matrix \({\tilde{R}}\) satisfies the same equation as R, i.e., \(\dot{{\tilde{R}}} = {\tilde{R}} {\varOmega }\). Thus \({\tilde{x}}, {\tilde{y}}, \tilde{\theta }\) satisfy the same equations as \(x, y, \theta \), i.e., the horizontal part of (39). Thus we have
with the initial condition \({\tilde{y}}(0)=0\) following from \({\tilde{R}}(0)=D_{0}\).
By virtue of (69), we can express (70) as
Further, since \(M^2 = h_1^2(t) + h_2^2(t) + h_3^2(t) = {\text {const}}\), we have
Thus we obtained solution for \({\tilde{x}}(t), {\tilde{y}}(t), \tilde{\theta }(t)\). To finish the proof, it only remains to obtain solution for \(x(t), y(t), \theta (t)\). Recall that the expression (46) for R(t) follows from orthogonality of matrix \(D_0\), i.e., \(D_0^{-1} = D_0^{T}\), and parameterization of R(t) by \(x(t), y(t), \theta (t)\) as \(R(t) = {\text {e}}^{y(t) A_3} {\text {e}}^{-x(t) A_2} {\text {e}}^{\theta (t) A_1}\).
To find \(x(t), y(t), \theta (t)\) notice that action of R(t) on \(\mathbf {e}_1\) and \(R^{-1}(t) = R^T(t)\) on \(\mathbf {e}_3\) gives
Since \(x(t) \in [-\frac{\pi }{2},\frac{\pi }{2}]\), first two equations in (45) follow from (71) and the third equation in (45) follows from (72). \(\square \)
Appendix 3: Proof of Theorem 5
Recall that we consider the case (see Remark 4) where the curve starts from \(\mathbf {e}_1 \in S^2\) and goes in the direction of upper half of the sphere with tangent vector \(\mathbf {e}_3\). Therefore, we have \(h_1(0) = u_1(0) \ge 0, h'_1(0)>0\).
Via the Hamiltonian \(H(s) = \frac{\xi ^{-2}h_1^2(s) + h_2^2(s)}{2} = \frac{1}{2}\), we express \(h_1(s) = \xi \sqrt{1- h_2^2(s)}=\sqrt{\chi ^2+1} \sqrt{1- h_2^2(s)}\). As a result, one has
In the linear case \(\chi =0\), Eq. (73) reads as \(h_2^0 + h_3^0 s = \pm 1\), that has the minimal positive root
In the elliptic and the hyperbolic cases, we need to find a minimal positive root of
In the elliptic case, we have \(\chi = \mathrm {i}a\), where \(a = \sqrt{1-\xi ^2} \in (0,1)\), yielding solution
Denote \(\kappa =(h_3^0)^2+\left( 1-(h_2^0)^2\right) \chi ^2\). Notice that when \(\frac{(h_3^0)^2}{a^2} + (h_2^0)^2< 1\,\Leftrightarrow \,\kappa <0\) we have \(s_\mathrm{max}(h(0)) = \infty \) and therefore we have cuspless trajectory of infinite SR length, recall (25). This fact is also clear from phase portrait of dynamic of vertical part (52), see Fig. 7 (bottom, left), where intersection of the integral curve with the red straight line indicates the moment, when cusp appears. We see that some geodesics have no cusps in their spherical projection up to infinity. Notice that since \({\text {SO(3)}}\) is compact, it has bounded diameter (i.e., there exists \(D>0\), such that the SR distance between any two elements of \({\text {SO(3)}}\) does not exceed D). Thus in contrast to \({\text {SE(2)}}\) group, where every cuspless geodesic is optimal (see [31]), we observe that there exist nonoptimal cuspless geodesics in \({\text {SO(3)}}\) group.
In the hyperbolic case \(\chi = a = \sqrt{\xi ^2 -1}, \xi >1\), we have \(\kappa \ge 0\) and the minimal positive root of (74) reads as
Finally, using the parameter \(\chi = \sqrt{\xi ^2-1}\), we have a single formula (54) for all cases. \(\square \)
Appendix 4: Outline of the Proof of Theorem 7
By the result in [35, Thm 11.15], points \(g \in {\text {SO(3)}}\) where the SR distance \(d_{{\text {SO(3)}}}^{0}(e,\cdot )\) given by (56) is nonsmooth are either conjugate points, Maxwell points, or abnormal points. So by assumption (and absence of abnormal geodesics due to a 2-bracket generating distribution \({\varDelta }\), cf. [37, ch:20.5.1]), we see that \(d_{{\text {SO(3)}}}^{0}(e,\cdot )\) is smooth at \(\{\gamma _0^{*}(\tau )\;|\; 0< \tau \le 1\}\). As a result, the mapping
is smooth as it is a smooth composition of maps. Similarly for the Riemannian case \(\varepsilon >0\), recall (59), we have by the assumptions that
is smooth for all \(\varepsilon >0\).
Let \({\mathcal {G}}^{-1}\) denote the inverse metric tensor associated with \({\mathcal {G}}\) given by (57), and let \({\mathcal {G}}_{\varepsilon }^{-1}\) denote the inverse metric tensor associated with \({\mathcal {G}}_{\varepsilon }\) given by (60).
Now we rely on standard results [7, 12] on backtracking of optimal Riemannian geodesics in Riemannian manifolds. This means that we find the smooth optimal geodesics via an intrinsic gradient descent on the Riemannian distance map \({\mathcal {W}}_{\varepsilon }(g):=d_{{\text {SO(3)}}}^{\varepsilon }(g,e)\). This yields the identity
where \({\mathcal {W}}_{\varepsilon }\) is the unique viscosity solution [7, 12] of the corresponding Riemannian eikonal equation given by
Next we transfer these standard results toward the sub-Riemannian case, by a limiting procedure. Firstly, we note that following a fully tangential approach to [36, App.A,Thm.2] yields (see Remark 18 below) the following respectively pointwise and uniform convergence:
Secondly, one has for any smooth function \(f:{\text {SO(3)}}\rightarrow {{\mathbb {R}}}\) that the intrinsic gradients converge:
Thirdly, as \(\gamma _{\varepsilon }^*\) and \(\gamma _{0}^*\) are solutions to the Hamiltonian system of the Pontryagin Maximum Principle, the trajectories are continuously depending on \(\varepsilon >0\) and so are their derivatives. As a result, we have
Furthermore, from (76) it follows that
where we note that the third term under the square root, after substitution of (78), vanishes. Finally, the viscosity solution property [7, 12] is also naturally carried over due to continuous \(\varepsilon \) dependence of the Hamiltonian and the convergences (77), (79). \(\square \)
Remark 18
The idea for the convergence (77) which is tangential to the \({\text {SE(2)}}={{\mathbb {R}}}^{2} \rtimes S^{1}\) case considered in [36, App.A,Thm.2] is based on a similar convergence result by Jean-Marie Mirebeau & Chen Da of a related elastica model [48, app.A]. It relies on closeness of controllable paths [48, Cor.A.5] and Arzela-Ascoli’s theorem. Another ingredient is the continuity of the mapping of the pair \((\varepsilon ,g)\) onto the corresponding indicatrix \({\mathcal {B}}_{\varepsilon }(g):=\{v \in T_{g}({\text {SO(3)}})\;|\; \left. {\mathcal {G}}\right| _{g}(v,v)\le 1\}\), i.e., the continuity of
where the powerset \({\mathcal {P}}(T_{g}({\text {SO(3)}}))\) of each tangent space \(T_{g}({\text {SO(3)}}) \equiv {{\mathbb {R}}}^{3}\) is equipped with the metric topology induced by the Hausdorff distance. The proof of this continuity is straightforward and is therefore omitted here.
1.1 The SR-eikonal and Backtracking Equations for Cuspless SR Geodesics
Now in this article, we are primarily interested in the SR geodesics whose spherical projection does not have cusps. This can be taken into account by modifying the standard SR-eikonal equation (62) as
and backtracking equation (61) as
where \(u_1(t) = \frac{\max (0,X_1|_{\gamma _b(t)}({\mathcal {W}}))}{\xi ^{2} C^2(\gamma _b(t))}, u_2(t)= \frac{X_2|_{\gamma _b(t)}({\mathcal {W}})}{C^2(\gamma _b(t))}\), and where the system is integrated for \(t\in [0,{\mathcal {W}}(g_1)]\).
The idea behind this is that for cuspless SR geodesics one has \(u_1\) positive which holds by if the corresponding momentum component \(h_{1}= X_{1}({\mathcal {W}})\) is positive. Note that in the eikonal equation one substitutes momentum \(h=\mathrm{d}{\mathcal {W}}\) into the Hamiltonian to achieve equidistant wavefront propagation [12]. For further details and analysis on the positive control restriction on a similar problem on \({\text {SE(2)}}\), see [36]. Similar analysis benefits may be expected on the \({\text {SO(3)}}\) case, but this is beyond the scope of this article.
Appendix 5: Comparison of the \({\text {SE(2)}}\) and \({\text {SO(3)}}\) Geodesics in the Image Plane
We organize the comparison in the following way:
-
1)
Choose an initial condition \(V_0 = (X_0,Y_0,{\varTheta }_0)\) and a terminal condition \(V_1 = (X_1,Y_1,{\varTheta }_1)\) in
where \(X_{max} = Y_{max} = -X_{min} = -Y_{min} =\,(c + a) \tan \psi _{max}\,= \frac{149}{105} \tan \frac{\pi }{8}\). These values are obtained from schematic eye model for \(\eta =1\), recall Sect. 1.1, where \(\psi _{max} = \frac{\pi }{8}\) is a maximum scanning angle via a standard fundus cameras.
-
2)
Compute the SR distance in the volume of interest \(D \ni V\) via SR-FM-SE(2) (sub-Riemannian fast marching in \({\text {SE(2)}}\), see [41]).
-
3)
Find via backtracking in \({\text {SE(2)}}\) (see [41]) a geodesic \(\gamma ^{{\text {SE(2)}}}(\cdot )\) satisfying \(\gamma ^{{\text {SE(2)}}}(0) = V_0\) and \(\gamma ^{{\text {SE(2)}}}(T) = V_1\), with \(T = {\mathcal {W}}^{{\text {SE(2)}}}(V_1)\).
-
4)
Find the initial condition \(\nu _0 = (x_0,y_0,\theta _0)\) and the terminal condition \(\nu _1 = (x_1,y_1,\theta _1)\) in \({\text {SO(3)}}\), obtained from \(V_0\) and \(V_1\) via planar projection \({\varPi }^{-1}\), recall Eq. (5), as \((x_i, y_i) = {\varPi }^{-1}(X_i,Y_i) =: ({\varPhi }_1(X,Y), {\varPhi }_2(X,Y))\) and
$$\begin{aligned} \theta _i = \arg \left( \dot{\mathfrak {x}}(X_i,Y_i,{\varTheta }_i)+ \mathrm {i}\cos {\varPhi }_1(X_i,Y_i) \dot{\mathfrak {y}}(X_i,Y_i,{\varTheta }_i)\right) , \end{aligned}$$where
$$\begin{aligned} \left. \begin{array}{c} \displaystyle \dot{\mathfrak {x}}(X_i,Y_i,{\varTheta }_i) := \frac{\partial {\varPhi }_1}{\partial X}|_{(X_i,Y_i)} \cos {\varTheta }_i + \frac{\partial {\varPhi }_1}{\partial Y}|_{(X_i,Y_i)} \sin {\varTheta }_i, \\ \displaystyle \dot{\mathfrak {y}}(X_i,Y_i,{\varTheta }_i) := \frac{\partial {\varPhi }_2}{\partial X}|_{(X_i,Y_i)} \cos {\varTheta }_i + \frac{\partial {\varPhi }_2}{\partial Y}|_{(X_i,Y_i)} \sin {\varTheta }_i. \end{array} \right. \end{aligned}$$ -
5)
Compute the SR distance \({\mathcal {W}}^{{\text {SO(3)}}}(\nu ) = d^{{\text {SO(3)}}}(\nu _0, \nu )\) in the domain \(\nu \in {\mathcal {D}} = [x_{min},x_{max}] \times [y_{min},y_{max}] \times [-\pi ,\pi ]\) via SR-FM in \({\text {SO(3)}}\). Here we set \(x_{max} = y_{max} = -x_{min} = -y_{min} = 0.63\), recall Eq. (1).
-
6)
Find via backtracking (61) a geodesic \(\gamma ^{{\text {SO(3)}}}(\cdot )\) satisfying \(\gamma ^{{\text {SO(3)}}}(0) = \nu _0\) and \(\gamma ^{{\text {SO(3)}}}(T) = \nu _1\).
-
7)
Plot in the image plane both the spatial projection \({\varGamma }^{{\text {SE(2)}}}(\cdot ) = (X(\cdot ),Y(\cdot ))\) of the geodesic \(\gamma ^{{\text {SE(2)}}}(\cdot )\) and the planar projection \({\varGamma }^{{\text {SO(3)}}}(\cdot )={\varPi }(x(\cdot ), y(\cdot ))\) of the geodesic \(\gamma ^{{\text {SO(3)}}}(\cdot )\).
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
About this article
Cite this article
Mashtakov, A., Duits, R., Sachkov, Y. et al. Tracking of Lines in Spherical Images via Sub-Riemannian Geodesics in \({\text {SO(3)}}\) . J Math Imaging Vis 58, 239–264 (2017). https://doi.org/10.1007/s10851-017-0705-9
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10851-017-0705-9