EqNIO: Subequivariant Neural Inertial Odometry

## Abstract

Abstract Neural network-based odometry using accelerometer and gyroscope readings from a single IMU can achieve robust, and low-drift localization capabilities, through the use of neural displacement priors . These priors learn to produce denoised displacement measurements but need to ignore data variations due to specific IMU mount orientation and motion directions, hindering generalization.
This work introduces EqNIO, which addresses this challenge with canonical displacement priors . We train an off-the-shelf architecture with IMU measurements that are mapped into a canonical gravity-aligned frame with learnable yaw. The outputs (displacement and covariance) are mapped back to the original frame.
To maximize generalization, we find that these learnable yaw frames must transform equivariantly with global trajectory rotations and reflections across the gravity direction, i.e. action by the roto-reflection group O g ⁢ ( 3 ) subscript 𝑂 𝑔 3 O_{g}(3) italic_O start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT ( 3 ) which preserves gravity (a subgroup of O ⁢ ( 3 ) 𝑂 3 O(3) italic_O ( 3 ) ). This renders the displacement prior O ⁢ ( 3 ) 𝑂 3 O(3) italic_O ( 3 ) subequivariant .
We tailor specific linear, convolutional and non-linear layers that commute with the actions of the group.
Moreover, we introduce a bijective decomposition of angular rates into vectors that transform similarly to accelerations, allowing us to leverage both measurements types. Natively, angular rates would need to be inverted upon reflection, unlike acceleration, which hinders their joint processing.
We highlight EqNIO’s flexibility and generalization capabilities by applying it to both filter-based (TLIO), and end-to-end (RONIN) architectures, and outperforming existing methods that use soft equivariance from auxiliary losses or data augmentation on the TLIO, Aria, RONIN, RIDI and OxIOD datasets. We believe this work paves the way to low-drift, and generalizable neural inertial odometry on edge-devices.

## 1 Introduction

Inertial Measurement Units (IMUs) are commodity sensors that measure the forces and angular velocities experienced by a body. Due to their low cost, they are widely used in diverse applications such as robot navigation and Mixed Reality where they facilitate the precise and rapid tracking of body frames. However, since they are differential sensors, relying only on IMUs invariably results in drift.
Traditional Visual Inertial Odometry (VIO) approaches can effectively mitigate this drift by combining IMU measurements with features extracted from camera images. Still, these images are of limited use in high-speed scenarios with challenging lighting conditions, since they can suffer from saturation, and blurring artifacts. Recently, a novel class of methods has emerged that instead mitigates this drift with statistical motion priors that are directly learned from IMU data alone (Liu et al., ; Herath et al., ). These methods perform competitively with VIO methods despite using only a single IMU sensor. However, learning generalizable priors proves challenging: while identifying specific motion patterns, they must learn to ignore data differences due to particular IMU mount orientations, and the direction of the motion patterns. However, they often fail to do so in practice (see Fig. 1, left state-of-the-art method TLIO (Liu et al., )), yielding large trajectory variations when observing simply rotated input data. They do this despite using data augmentation strategies that include random data rotations.
In this work, we introduce EqNIO, which simplifies this task by learning *canonical displacement priors*. These priors are invariant to IMU orientation and are easier to learn, more robust, and, as a result, more generalizable than previous work. EqNIO achieves this by first mapping sequences of IMU measurements into a canonical, gravity-aligned frame $F$, then passing them to a neural network, and finally mapping the outputs back to the original frame.
Our design can flexibly integrate arbitrary off-the-shelf methods such as TLIO (Liu et al., ) and RONIN (Herath et al., ), provided that suitable change of basis maps are defined for the network outputs (displacement and covariance of TLIO, and only linear velocity for RONIN).
We show that IMU data can be effectively canonicalized, i.e., projected into an invariant space, in two steps: We first perform gravity-alignment as done traditionally in inertial odometry, *i.e.* apply simple rotations that align the $z$-axis with a known gravity direction, and then perform a yaw roto-reflection into a canonical yaw orientation. While the gravity direction can be easily estimated from an off-the-shelf Extended Kalman Filter (EKF) (Liu et al., ), canonical yaw orientations cannot be observed, and must thus be learned from data. Moreover, this frame must generalize across data collected under arbitrary rotations around gravity, and reflections across planes parallel to gravity.

We specifically design a model that predicts an equivariant frame (Eq. Frame) that roto-reflects equivariantly with the input and achieves inherent generalization via *equivariant processing*. Our equivariant model, EqNIO, takes in sequences of IMU gyroscope and accelerometer measurements and processes them in a way that commutes with the action of roto-reflections around gravity. To achieve this we introduce suitable unique preprocessing steps which map both accelerometer and gyroscope measurements into a space that transforms consistently under the group action. We identify these roto-reflections are elements of the group $O_{g}(3)$, a subgroup of the orthogonal group $O(3)$ which preserves the gravity direction, and is isomorphic to $O(2)$. This isomorphism allows us to specifically tailor $O(2)$ equivariant MLPs, convolutions, and non-linear layers, which, due to the subgroup property are also called $O(3)$ *subequivariant*.

Contributions: In summary, our contributions are: *(i)* We introduce a canonicalization scheme that leverages gravity and an estimated subequivariant frame to map IMU measurements into a canonical orientation. This procedure can be flexibly applied to arbitrary off-the-shelf network architectures by mapping the inputs into the canonical space, and mapping the outputs back into the original space. Moreover, it simplifies the learning of displacement priors and produces inherently more robust, and generalizable results than previous work. *(ii)* We formalize the symmetry properties of IMU measurements under arbitrary roto-reflections from $O_{g}(3)$, and derive unique preprocessing steps which map both accelerometer and gyroscope measurements into a space in which these roto-reflections act consistently. We further split these vectors into 2D $O(2)$ equivariant vector features, and 1D *invariant* scalar. *(iii)* To process this data, we specifically tailor an $O(2)$ equivariant network to regress canonical yaw frames. It leverages specialized $O(2)$ equivariant MLPs and convolution to process vector features, conventional layers to process scalar features, and equivariant non-linearities that facilitate the interaction of vector and scalar features.

We demonstrate the generality of our framework by applying it to two neural inertial odometry methods, TLIO (Liu et al., ), and RONIN (Herath et al., ), and performing detailed quantitative and qualitative analysis comparing EqNIO with several state-of-the-art methods across diverse datasets. This evaluation confirms the superiority of our approach. Our method establishes a new state-of-the-art performance in inertial-only odometry, significantly enhancing the accuracy, reliability, and generalization of existing methods.

## 2 Related Work

Model-based Inertial Odometry: Purely Inertial Odometry can be broadly classified into two categories: kinematics-based and learning-based approaches. Kinematics-based approaches (Leishman et al., ; Titterton et al., ; Bortz, ) leverage analytical solutions based on double integration that suffer from drift accumulation over time when applied to consumer-grade IMUs. To mitigate this drift, loop closures (Solin et al., ), and other pseudo measurements derived from IMU data that are drift-free have been explored  (Groves, ; Hartley et al., ; Brajdic & Harle, ). In the context of Pedestrian Dead Reckoning (Jimenez et al., ), these include step counting (Ho et al., ; Brajdic & Harle, ), detection of the system being static (Foxlin, ; Rajagopal, ) and gait estimation (Beaufils et al., ).

Learning-based Inertial Odometry: Recently, RIDI (Yan et al., ), PDRNet (Asraf et al., ) and RONIN (Herath et al., ) proposed learning-based approaches using CNNs, RNNs, and TCNs that regress velocity. RIDI uses the regressed velocity to correct the IMU measurements, while RONIN
directly integrates the regressed velocities but assumes orientation information. Denoising networks either regress the IMU biases (Brossard et al., ; Buchanan et al., ; Brossard et al., ) or output the denoised IMU measurements (Steinbrener et al., ). While Buchanan et al. () uses constant covariance, AI-IMU (Brossard et al., ) estimates the covariance for automotive applications. Displacement-based neural network methods like IONet (Chen et al., ), TLIO (Liu et al., ), RNIN-VIO (Chen et al., ), and IDOL (Sun et al., ) directly estimate 2D/3D displacement. Unlike TLIO, where the neural network also regresses a diagonal covariance matrix, Russell & Reale () parameterize the full covariance matrix using Pearson correlation. RNIN-VIO extends TLIO’s method to continuous human motion adding a loss function for long-term accuracy. Unlike these methods, EqNIO learns canonical displacement priors and thus generalizes better to arbitrary IMU orientation and motion directions.

Equivariant Inertial Odometry: The previous learning-based approaches (Liu et al., ; Chen et al., ) use $SO(2)$ augmentation strategies to achieve approximate $SO(2)$ equivariance. MotionTransformer (Chen et al., ) used GAN-based RNN encoder to transfer IMU data into domain-invariant space by separating the domain-related constant.
Recently, RIO (Cao et al., ) demonstrated the benefits of approximate $SO(2)$ equivariance with an auxiliary loss, introduced Adaptive Test Time Training (TTT), and uncertainty estimation via ensemble of models. We propose integrating strict equivariance by design directly into the framework. Additionally, no prior work has addressed reflection equivariance, which requires specific preprocessing of gyroscope data for it to adhere to the right-hand rule. Our novel $O(2)$ equivariant framework can be seamlessly integrated with existing learning-based inertial navigation systems, showing benefits on TLIO and RONIN.

Equivariant Networks: Group equivariant networks (Cohen & Welling, ) provide deep learning pipelines that are
equivariant by design with respect to group transformations of the input. Extensive research has been conducted on how these networks process a variety of inputs, including point clouds (Thomas et al., ; Chen et al., ; Deng et al., ),
2D (Worrall et al., ; Weiler & Cesa, ),
3D (Weiler et al., ; Esteves et al., ),
and spherical images (Cohen et al., ; Esteves et al., ; ; ),
graphs (Satorras et al., ) and general manifolds (Cohen et al., ; ; Weiler et al., ; Xu et al., ).
However, there is no current applicable equivariant model for the prediction of displacement prior using IMU data which is a sequence of vectors and scalars. We are the first to apply equivariant models for neural integration of IMUs. On the other hand, general theories and methods have been developed for networks that are equivariant to $E(n)$ and its subgroups. Cesa et al. (); Xu et al. () utilize Fourier analysis to design steerable kernels in CNNs on homogeneous space, while Finzi et al. () proposed a numerical algorithm to compute a kernel by solving the linear equivariant map constraint. Villar et al. () demonstrated that any $O(n)$ equivariant function can be represented using a set of scalars and vectors. However, applying these to neural integration of IMUs is not straightforward as gravity’s presence introduces subequivariance, angular velocity in the input data follows the right-hand rule, and the input is a sequence with a time dimension. Related
approaches (Han et al., ; Chen et al., ) tackle subequivariance using equivariant graph networks and calculating gram matrices achieving simple $O(2)$ equivariance. However, dealing with data that obey the right-hand rule (*e.g.* angular rates), has been underexplored, and is addressed in the current work.

## 3 Problem Setup

Figure: Figure 2: EqNIO (a) processes gravity-aligned IMU measurements, $\{(a_{i},\omega_{i})\}_{i=1}^{n}$. An equivariant network (blue) predicts a canonical equivariant frame $F$ into which IMU measurements are mapped, *i.e. canonicalized*, yielding invariant inputs $\{(a^{\prime}_{i},\omega^{\prime}_{i})\}_{i=1}^{n}$. A conventional neural network then predicts invariant displacement ($d^{\prime}$) and covariance ($\Sigma^{\prime}$) which are mapped back yielding equivariant displacement ($d$) and covariance ($\Sigma$). The equivariant network (b) takes as input $n\times C_{0}^{s}$ scalars, and $n\times C_{0}^{v}$ vectors: Vectors are processed by equivariant layers (Eq-L, Eq-Conv, Eq-LN), while scalars are separately processed with conventional layers. Eq-L (green) uses two weights $W_{1},W_{2}$ for SO(2) equivariance, and only $W_{1}$ for O(2) equivariance. Eq-Conv (pink) uses Eq-L to perform 1-D convolutions over time. The equivariant non-linear layer (orange) mixes vector and scalar features.
Refer to caption: x2.png

This paper targets neural inertial odometry using data from a single IMU, comprised of an accelerometer (giving linear accelerations $a_{i}\in\mathbb{R}^{3}$) and gyroscope (giving angular velocity $\omega_{i}\in\mathbb{R}^{3}$). IMU’s measure sequences of data $\{(a_{i},\omega_{i})\}_{i=1}^{n}$, each expressed in the local IMU body frame, $b$, at time $t_{i}$.
These are related to the true IMU acceleration $\bar{a}_{i}$ and angular rates $\bar{\omega}_{i}$ via

$$ $\displaystyle\quad\omega_{i}=\bar{\omega}_{i}+b_{i}^{g}+\eta^{g}_{i}\quad\quad a _{i}=\bar{a}_{i}-\prescript{w}{b}{R_{i}}^{T}g+b_{i}^{a}+\eta^{a}_{i}\quad$ (1) $$

where $g$ is gravity pointing downward in world frame $w$, $\prescript{w}{b}{R_{i}}$ is the transformation between $b$ and $w$ at time $t_{i}$, and $b^{g}_{i},b^{a}_{i}$ and $\eta^{g}_{i},\eta^{a}_{i}$ are IMU biases and noises respectively. Naively integrating angular rates and accelerations to get positions $p_{i}$ and orientations $\prescript{w}{b}{R_{i}}$ leads to significant drift due to sensor noise and unknown biases. We thus turn our attention to neural displacement priors $\Phi$, which regress accurate 2D linear velocities (Herath et al., ) or 3D displacement $d\in\mathbb{R}^{3}$ and covariances $\Sigma\in\mathbb{R}^{3\times 3}$ (Liu et al., ) from sequences of IMU measurements, and thus have the form

$$ $\displaystyle d,\Sigma$ $\displaystyle=\Phi\left(\{(a_{i},\omega_{i})\}_{i=1}^{n}\right)$ (2) $$

where $d\in\mathbb{R}^{3}$ denotes displacement on the time interval $[t_{1},t_{n}]$, and $\Sigma\in\mathbb{R}^{3\times 3}$ denotes associated covariance prediction. For instance, Liu et al. (), use these network predictions as measurements and fuses them in an EKF estimating the IMU state in $w$, *i.e.* orientation, position, velocity, and IMU biases. Preliminaries on terms used in inertial odometry are included in App. 8.1.2 and details of EKF and IMU measurement model are included in App. 8.4.

We simplify the learning of informative priors by suitably canonicalizing the IMU measurements in two steps:
First, we gravity-align IMU measurements by rotating them such that the z-axis of the IMU frame coincides with the z-axis of the world frame. We estimate gravity with the help of (Liu et al., ) by taking the orientation (rotation) estimate from the current EKF state (see App. 8.4). Later we show empirically that our method is insensitive to noise originating from this estimation step. In what follows we thus assume accelerations and angular rates to be expressed in the gravity-aligned frame and illustrate these frames in Fig. 3 (a) for three rotated trajectories. Gravity alignment reduces data variability by two degrees of freedom. However, this frame is not unique, since simply rotating it around z or reflecting it across planes parallel to z (applications of rotations or roto-reflections from the groups $SO_{g}(3)=\{R\in SO(3)|Rg=g\}$ and $O_{g}(3)=\{R\in O(3)|Rg=g\}$) result in new valid gravity-aligned frames. Hence, secondly, we predict a canonical yaw frame and map the IMU data into this frame, which we later show to be subequivariant to roto-reflections. In what follows we will restrict our discussion to the $O_{g}(3)$ case but note that, where not explicitly stated, this discussion carries over to $SO_{g}(3)$ as well.
Next, we will introduce our canonicalization procedure to ensure better network generalization.

Figure: Figure 3: Symmetries in neural inertial odometry. (a) An IMU undergoes three trajectories in $xy$-plane, each related to a reference (blue) via rotation (purple) and/or reflection (orange) around gravity (parallel to the $z$-axis). At a fixed time, IMU measurements on different trajectories, expressed in the corresponding local gravity-aligned frame (red-green) differ only by an unknown yaw roto-reflection $R_{3\times 3}$. Mapping these measurements to a canonical frame (yellow-red) that transforms equivariantly under roto-reflections of the trajectory eliminates this ambiguity enhancing the sample efficiency of downstream neural networks. (b) Expressed in alternative roto-reflected frames, acceleration and angular rates transform as $a^{\prime}=R_{3\times 3}a$ and $\omega^{\prime}=\text{det}(R_{3\times 3})R_{3\times 3}\omega$. Angular rate must follow the right-hand-rule, and thus be also inverted when reflected. To ensure a similar transformation rule as $a$, we decompose $\omega=v_{1}\times v_{2}$ and process $v_{1},v_{2}$ instead, which transform as $v_{1/2}^{\prime}=R_{3\times 3}v_{1/2}$
Refer to caption: x3.png

## 4 Methodology

Our goal is to predict a canonical yaw frame $F=\Psi(\{(a_{i},\omega_{i})\}_{i=1}^{n})\in O_{g}(3)$ from data, which generalizes across arbitrary yaw orientations. We use this frame to map IMU data into a canonical frame before giving as input to the neural network, and mapping the outputs back, (see Fig. 2 (a)),*i.e.*

$$ $\displaystyle d^{\prime},\Sigma^{\prime}$ $\displaystyle=\Phi(\{(a^{\prime}_{i},\omega^{\prime}_{i})\}_{i=1}^{n})\quad \quad\text{ with }a^{\prime}_{i}=\rho_{a}(F^{-1})a_{i}\text{ and }\omega^{ \prime}_{i}=\rho_{\omega}(F^{-1})\omega_{i},$ (3) $$

where $a^{\prime},\omega^{\prime}$ are expressed in the canonical frame. Finally, we map $d^{\prime},\Sigma^{\prime}$ back to the original frame via $d=\rho_{d}(F)d^{\prime}$ and $\text{vec}(\Sigma)=\rho_{\Sigma}(F)\text{vec}(\Sigma^{\prime})$. Here $\text{vec}(.)$ stacks the columns of $\Sigma$ into a single vector, and $\rho$ is a homomorphism that maps group elements $F$ to corresponding matrices, called *matrix representations*. These capture the transformation of $a,\omega,d$ and $\Sigma$ under the action of $F$.

While $\rho_{a}(F)=\rho_{d}(F)=F_{3\times 3}$, with $F_{3\times 3}\in\mathbb{R}^{3\times 3}$ being the rotation matrix corresponding to element $F$, covariances transform as $\rho_{\Sigma}(F)=F_{3\times 3}\otimes F_{3\times 3}$, where $\otimes$ is the Kronecker product. Unfortunately, reflections ($\text{det}(F_{3\times 3})=-1$) induce a reflection *and inversion* of angular rates to preserve the right-hand-rule (see Fig. 3 b), *i.e.* $\rho_{\omega}(F)=\text{det}(F_{3\times 3})F_{3\times 3}$, and for reflections. As discussed later $\rho_{\omega}(F)\neq\rho_{a}(F)$ hinders joint processing of accelerations and angular rates. Next, we will discuss the design of $\Psi$ which ensures generalization across arbitrary yaw rotations.

### 4.1 Equivariant Frame

Here we derive a property of the frame network $\Psi$ such that it can generalize to arbitrary roto-reflections of the IMU body frame. To generalize, canonical IMU measurement inputs $a^{\prime}_{i},\omega^{\prime}_{i}$ to the network must look identical under arbitrary roto-reflections $R\in O_{g}(3)$. Let $a_{i},\omega_{i}$, and $a_{i}^{*},\omega_{i}^{*}$ denote quantities before and after application of $R$. Then $a_{i}^{*}=\rho_{a}(R)a_{i}$ and $\omega_{i}^{*}=\rho_{\omega}(R)\omega_{i}$. Enforcing identical inputs under both rotations, *i.e.* ${a^{*}}^{\prime}_{i}=a^{\prime}_{i}$ we have

$$ ${a^{*}}^{\prime}_{i}=\rho_{a}({{F}^{*}}^{-1})\rho_{a}(R)a_{i}=a^{\prime}_{i}= \rho_{a}({{F}}^{-1})a_{i},$ (4) $$

and a similar equation for $\omega$. We see that choosing $F^{*}=RF$ satisfies this equality, leveraging the fact that $\rho_{a}$ is a homomorphism, *i.e.* $\rho_{a}((RF)^{-1})=\rho_{a}(F^{-1}R^{-1})=\rho_{a}(F^{-1})\rho_{a}(R)^{-1}$. This equality puts a constraint on the neural network that estimates $F$, namely

$$ $RF=\Psi(\{(\rho_{a}(R)a_{i},\rho_{\omega}(R)\omega_{i})\}_{i=1}^{n})$ (5) $$

*i.e.* $\Psi$ must be a function that is *equivariant* with respect to group actions by elements from $O_{g}(3)$. Since this is a subgroup of $O(3)$ we also say that $\Psi$ must be *subequivariant* with respect to $O(3)$.

In addition, this equivariance property of $\Psi$ induces end-to-end equivariance to predicted displacements $d=\rho_{d}(F)d^{\prime}$ and covariances $\text{vec}(\Sigma)=\rho_{\Sigma}(F)\text{vec}(\Sigma^{\prime})$. This is because

$$ $\displaystyle d^{*}$ $\displaystyle=\rho_{d}(F^{*}){d^{*}}^{\prime}=\rho_{d}(RF)d^{\prime}=\rho_{d}( R)\rho_{d}(F)d^{\prime}=\rho_{d}(R)d$ (6) $\displaystyle\text{vec}(\Sigma^{*})$ $\displaystyle=\rho_{\Sigma}(F^{*}){\text{vec}({\Sigma^{\prime}}^{*})}=\rho_{ \Sigma}(RF)\text{vec}(\Sigma^{\prime})=\rho_{\Sigma}(R)\rho_{\Sigma}(F)\text{ vec}(\Sigma^{\prime})=\rho_{\Sigma}(R)\text{vec}(\Sigma)$ (7) $$

using, again, the homomorphism of $\rho$ and the fact that $d^{\prime},\text{vec}(\Sigma^{\prime})$ are, by construction of equation 4, invariant to rotations by $R$.

Diagonal Covariance: We show empirically in Sec. 6 that the diagonal parameterization of $\Sigma^{\prime}$ aids in stabilization and convergence of the network. Therefore, we assume the displacement uncertainties $\Sigma_{d,xz}=\Sigma_{d,yz}=0$ and without loss in generality choose $\Sigma^{\prime}=\text{diag}(e^{2u_{x}},e^{2u_{y}},e^{2u_{z}})$, where $u_{x},u_{y},u_{z}$ are learnable, as in TLIO (Liu et al., ). Since our network predicts $\text{vec}(\Sigma)=\rho_{\Sigma}(F)\text{vec}(\Sigma^{\prime})$, where both $\Sigma^{\prime}$ and $F$ are learned, the resulting covariance is $\Sigma=F\Sigma^{\prime}F^{T}$ (in matrix format). Via the transformation $F$ we can learn arbitrarily rotated $\Sigma$ in the $xy$-plane. We posit that this forces the frame network $\Psi$ to learn $F$ that aligns with the principle axes of the statistical uncertainty in displacement $\Sigma_{d}$. See App. 8.1.3 for details on covariance parameterizations. Writing the singular value decomposition (SVD) we see that $\Sigma_{d}=U\text{diag}(\Sigma_{xx},\Sigma_{yy},\Sigma_{zz})U^{T}$. By inspection, this uncertainty is matched when $F$ aligns with principle directions $U$ and $\Sigma^{\prime}$ aligns with the true uncertainties in those directions.

In the next section, let us now discuss the specific issue that arises when designing an equivariant frame network to process both $a_{i}$ and $\omega_{i}$, and the specific preprocessing step to remedy it.

### 4.2 Decomposition of Angular Rates

As previously discussed $a$ and $\omega$ transform under different representations $\rho_{a}\neq\rho_{\omega}$. This hinders joint feature learning since this would entail forming linear combinations of $a$ and $\omega$, and these linear combinations will not transform under $\rho_{a}$ or $\rho_{\omega}$. We propose a preprocessing step that decomposes $\omega_{i}$ into perpendicular vectors $v_{1,i},v_{2,i}$ via a bijection $\mathcal{F}:\mathbb{R}^{3}\rightarrow\mathbb{R}^{3}\times\mathbb{R}^{3}$:

$$ $\mathcal{F}(\omega)=(v_{1},v_{2})=\left(\sqrt{\|\omega\|}\frac{w_{1}}{\|w_{1} \|},\sqrt{\|\omega\|}\frac{w_{2}}{\|w_{2}\|}\right)\quad\quad\mathcal{F}^{-1}( v_{1},v_{2})=\omega=v_{1}\times v_{2}$ (8) $$

We define $w_{1}=[-\omega_{y}\,\omega_{x}\,0]^{T}$ and $w_{2}=\omega\times w_{1}$. If $\omega_{x}=\omega_{y}=0$, we use $w_{1}=a\times\omega$ and if both $\omega_{x}=\omega_{y}=0$ and $a\times\omega=\bm{0}$, we use $w_{1}=\omega\times[1\,0\,0]^{T}$.

Fig. 3 (b) shows that $v_{1}$ and $v_{2}$ transform with representation $\rho_{v_{1}}(F)=\rho_{v_{2}}(F)=F_{3\times 3}$. Let variables with $*$ denote transformed vectors according to rotation $R$. Their cross product has the desirable property $\omega^{*}=v^{*}_{1}\times v^{*}_{2}=(R_{3\times 3}v_{1})\times(R_{3\times 3}v
_{2})=\text{det}(R_{3\times 3})R_{3\times 3}(v_{1}\times v_{2})=\text{det}(R_{
3\times 3})R_{3\times 3}\omega=\rho_{\omega}(R)\omega$, using the standard cross-product property $(Ax)\times(Ay)=\text{det}(A)A(x\times y)$, and recalling that $R_{3\times 3}$ is the matrix representation of $R$. The group action on $\omega$ exactly coincides with what was derived in Sec. 3.
We only use this decomposition when with $O_{g}(3)$, where we process $a,v_{1},v_{2}$ in a unified way. For $SO_{g}(3)$, we process $a,\omega$ which transform similarly since $\text{det}(R_{3\times 3})=1$.

### 4.3 Transition to O ⁢ ( 2 ) 𝑂 2 O(2) italic_O ( 2 ) Equivariance and Basic Network Layers

Expressed in the gravity-aligned frame, representations $R_{3\times 3}$ of $R\in O_{g}$ leave the z-axis unchanged, and can thus be decomposed into $R_{3\times 3}=R_{2\times 2}\oplus 1$, where the direct sum $\oplus$ constructs a block-diagonal matrix of its arguments. This decomposition motivates the decomposition $a_{i}=a_{i,xy}\oplus a_{i,z}$ and $v_{1/2,i}=v_{1/2,i,xy}\oplus v_{1/2,i,z}$, where $\oplus$ concatenates the $xy$-coordinates of each vector which transform with representation $R_{2\times 2}$ and its $z$ component which transforms with representation $1$, *i.e.* $z$ is invariant. This means that the $xy$-components transform according to representations of group $O(2)$ and implies that $O(2)\cong O_{g}(3)$.
Inspired by Villar et al. (), we design our frame network to learn universally $O(2)$ equivariant outputs from invariant features alongside 2D vector features.

We convert the sequence of $n$ IMU measurements into $n\times C_{0}^{s}$ rotation invariant scalar features and $n\times 2\times C_{0}^{v}$ vector features. As vector features we select the $xy$-components of each input vector ($C_{0}^{v}=2$ for $SO(2)$ corresponding with $a_{i,xy},\omega_{i,xy}$ and $C_{0}^{v}=3$ for $O(2)$ corresponding with $a_{i,xy},v_{1,i,xy},v_{2,i,xy})$. Instead, as scalar features we select *(i)* the $z$-components of each vector, *(ii)* the norm of the $xy$-components of each vector, and *(iii)* the pairwise dot-product of the $xy$-components of each vector.
For $SO(2)$ we have $C_{0}^{s}=2+2+1=5$, while for $O(2)$ we have $C_{0}^{s}=3+3+3=9$.

While we process scalar features with multilayer perceptrons and standard 1-D convolutions, we process vector features with specific linear and convolution layers, and combine scalar and vector features with specialized non-linear layers.

##### Equivariant Linear Layer

Following Villar et al. (), we design a $2D$ version of vector neuron (Deng et al., ) to process the vector features, enhancing efficiency. Following Finzi et al. (), we consider learnable linear mappings $v^{\text{out}}=Wv^{\text{in}}$, with input and output vector features $v^{\text{in}},v^{\text{out}}\in\mathbb{R}^{2}$ and seek a basis of weights $W\in\mathbb{R}^{2\times 2}$, which satisfy $R_{2\times 2}Wv=WR_{2\times 2}v$, i.e., equivariantly transform vector features $v\in\mathbb{R}^{2}$. This relation yields the constraint

$$ $\displaystyle(R_{2\times 2}\otimes R_{2\times 2})\text{vec}(W)=\text{vec}(W),$ (9) $$

Solving the above equation amounts to finding the eigenspace of the left-most matrix with eigenvalue 1. Such analysis for $R_{2\times 2}\in SO(2)$ yields $W_{SO(2)}=w_{1}I_{2\times 2}+w_{2}R_{90}$, where $R_{90}$ denotes a $90$ degree counter-clockwise rotation in 2D, and $w_{1},w_{2}\in\mathbb{R}$ are learnable weights. Similarly, for $O(2)$ we find $W_{O(2)}=w_{1}I_{2\times 2}$.
Vectorizing this linear mapping to multiple input and output vector features we have
the following $SO(2)$ and $O(2)$ equivariant linear layers:

$$ $\displaystyle SO(2):\quad v^{\text{out}}=v^{\text{in}}W_{1}+R_{90}v^{\text{in} }W_{2}\quad\quad O(2):\quad v^{\text{out}}=v^{\text{in}}W_{1}$ (10) $$

with $v^{\text{in}}\in\mathbb{R}^{2\times C_{\text{in}}}$, $v^{\text{out}}\in\mathbb{R}^{2\times C_{\text{out}}}$ and $W_{1},W_{2}\in\mathbb{R}^{C_{\text{in}}\times C_{\text{out}}}$. Note that the $SO(2)$ layer has twice as many parameters as the $O(2)$ layer.

We use the above linear components to design equivariant 1-D convolution layers by stacking multiple such weights into a kernel. Since the IMU data forms a time sequence, we implement convolutions across time. We visualize our Linear and Convolutional Layers in Fig. 2b for better understanding.

##### Nonlinear Layer

Previous works (Weiler et al., ; Weiler & Cesa, ) propose various nonlinearities such as norm-nonlinearity, tensor-product nonlinearity, and gated nonlinearity for $SO(3)$ and $O(2)$ equivariance in an equivariant convolutional way; while Deng et al. () applies per-point nonlinearity for vector features only. Since we already apply convolutions over time we simply apply a non-linearity pointwise. Unlike Deng et al. (), we need to mix scalar and vector features and thus adapt the gated nonlinearity (Weiler et al., ) to pointwise nonlinearity.
Specifically, for $n$ vector and scalar features $v^{\text{in}}\in\mathbb{R}^{n\times 2\times C},s^{\text{in}}\in\mathbb{R}^{n
\times C}$, we concatenate the norm features $\|v^{\text{in}}\|\in\mathbb{R}^{n\times C}$ with $s^{\text{in}}$. We run a single MLP with an output of size $n\times 2C$, and split it into new norm features $\gamma\in\mathbb{R}^{n\times C}$ and new activations $\beta\in\mathbb{R}^{n\times C}$ which we modulate with a non-linearity $s^{\text{out}}=\sigma(\beta)$. Finally, we rescale the original vector features according to the new norm:

$$ $\displaystyle\gamma,\beta=\text{mlp}(\|v^{\text{in}}\|\oplus_{c}s^{\text{in}}) \quad\quad v^{\text{out}}=\gamma v^{\text{in}}\quad\quad s^{\text{out}}=\sigma (\beta)$ (11) $$

where $\oplus_{c}$ concatenates along the feature dimension.
See Fig. 2b for more details.

## 5 Experiments

To demonstrate the effectiveness of canonicalizing the IMU data using the equivariant framework, we apply it to two types of neural inertial navigation systems: 1) an end-to-end deep learning approach (RONIN), and 2) a filter-based approach with a learned prior (TLIO).
Both architectures take IMU samples in a gravity-aligned frame without gravity compensation as input to the neural network, i.e., without removing the gravity vector from the accelerometer reading. While RONIN regresses only a 2D velocity, TLIO estimates the orientation, position, velocity, and IMU biases using an EKF. This EKF propagates states using raw IMU measurements and applies measurement updates with predicted displacement and uncertainty from a neural network. Sec. 6 presents extensive ablations on the various design choices for the subequivariant framework.

Datasets:
Our TLIO variant is trained on the TLIO Dataset (Liu et al., ) and tested on TLIO and Aria Everyday Activities (Aria) Datasets (Lv et al., ). Our RONIN variant is trained on RONIN Dataset (Herath et al., ). We train on only 50% of the dataset that is open-sourced. We test our RONIN variant on three popular pedestrian datasets RONIN (Herath et al., ), RIDI (Yan et al., ) and OxIOD (Chen et al., ), which specifically target 2D trajectory tracking. We use specific test datasets only to provide a fair comparison with prior work. See App.8.2 for more dataset details, and see App.8.3 and Fig. 2 for more details and visualizations of the equivariant network.

Baselines: We compare our method with TLIO with yaw augmentation (Liu et al., ), on the 3D trajectory tracking benchmarks, as well as RONIN and RIO (Cao et al., ) on the 2D trajectory benchmarks. We also report from Herath et al. () naive double integration (NDI) of IMU measurements, and RONIN results where authors have trained on 100% of the RONIN training dataset. All other methods use only 50% of this dataset. RIO extends RONIN with two additional features, denoted with $+J$ and $+TTT$. The $+J$ denotes joint optimization of an MSE loss on velocity predictions and cosine similarities with an equivariance constraint modeled using an auxiliary loss, while $+TTT$ adapts RONIN at test time using an Adaptive Test-Time-Training strategy. Finally, $+J+TTT$ combines both.

Metrics: The Neural Network performance (indicated with $*$) is evaluated using three metrics: Mean Squared Error (MSE) in $10^{-2}m^{2}$, Absolute Translation Error (ATE) in $m$, and Relative Translation Error (RTE) in $m$. For evaluating only the neural network, the trajectory is reconstructed via cumulative summation from the initial state as done in prior work. In case of TLIO architecture, we additionally evaluate the overall performance after integrating the neural network with the EKF and report the ATE in $m$, RTE in $m$, and Absolute Yaw Error (AYE) in degrees. Details of these metrics are provided in the App. 8.5. In what follows, we abbreviate EqNIO with +Eq. Frame.

### 5.1 Results using the TLIO Architecture

**Table 1: Trajectory errors without (labelled with *) and with EKF, lower being better. + rot. aug. is trained with yaw augmentations. Lowest, and second lowest values are marked in red and orange, and our methods are in bold.**
|  | TLIO Dataset | Aria Dataset |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Model | MSE* | ATE | ATE* | RTE | RTE* | AYE | MSE* | ATE | ATE* | RTE | RTE* | AYE |
|  | ($10^{-2}m^{2}$) | ($m$) | ($m$) | ($m$) | ($m$) | (deg) | ($10^{-2}m^{2}$) | ($m$) | ($m$) | ($m$) | ($m$) | (deg) |
| TLIO | 3.333 | 1.722 | 3.079 | 0.521 | 0.542 | 2.366 | 15.248 | 1.969 | 4.560 | 0.834 | 0.977 | 2.309 |
| + rot. aug. | 3.242 | 1.812 | 3.722 | 0.500 | 0.551 | 2.376 | 5.322 | 1.285 | 2.103 | 0.464 | 0.521 | 2.073 |
| + $\mathbf{SO(2)}$ Eq. Frame | 3.194 | 1.480 | 2.401 | 0.490 | 0.501 | 2.428 | 2.457 | 1.178 | 1.864 | 0.449 | 0.484 | 2.084 |
| + $\mathbf{O(2)}$ Eq. Frame | 2.982 | 1.433 | 2.382 | 0.458 | 0.479 | 2.389 | 2.304 | 1.118 | 1.850 | 0.416 | 0.465 | 2.059 |

Figure: Figure 4: Trajectory errors for EqNIO applied to TLIO compared to vanilla TLIO trained with and without yaw augmentations on TLIO and Aria Datasets visualized with a box plot.
Refer to caption: x4.png

Figure: Figure 5: Groundtruth (black), and predicted trajectories on the TLIO Dataset by baseline TLIO (Blue), our best method applied to TLIO (Red). Left and right are difficult trajectories, while the middle trajectory has medium difficulty.
Refer to caption: x5.png

Tab. 1 compares baseline TLIO, trained with yaw augmentations as in (Liu et al., ) (+ rot.aug.), TLIO without augmentation (termed TLIO), and our two methods applied to TLIO without yaw augmentations (termed +$SO(2)$ and +$O(2)$ Eq. Frame). As seen in Tab. 1, +$O(2)$ Eq. Frame outperforms TLIO on metrics that ignore the EKF (with *) by a large margin of 57%, 12%, and 11% on MSE*, ATE*, and RTE* respectively. The +$SO(2)$ Eq. Frame model follows closely with 54%, 11% and 7% respectively on the Aria Dataset. The performance of our methods is consistent across TLIO and Aria Datasets illustrating our generalization ability. Tab. 1 and Fig. 4 shows our method surpasses the baseline on most metrics while remaining comparable in AYE. The superior performance of our model as compared to baseline TLIO when the NN is combined with EKF (*i.e.*, performance on ATE, RTE and AYE metrics) is attributed to its generalization ability when the orientation estimate is not very accurate as well as the equivariant covariance predicted by the network.
See Fig. 5 and App. 8.6 for trajectory plots from the TLIO test dataset.

### 5.2 Results using the RONIN Architecture

**Table 2: Trajectory errors (to two decimals, as Herath et al. ()) with the RONIN architecture (lower is better), on the RONIN Unseen (-U), RONIN Seen (-S), RIDI Test (-T), RIDI Cross Subject (-C), and the Oxford Inertial Odometry Datasets (OxIOD). Lowest and second lowest values are red and orange respectively, and our method is in bold. Results with $\dagger$ are from Cao et al. ().**
|  | RONIN-U | RONIN-S | RIDI-T | RIDI-C | OxIOD |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Model | ATE* | RTE* | ATE* | RTE* | ATE* | RTE* | ATE* | RTE* | ATE* | RTE* |
| (RONIN) | (m) | (m) | (m) | (m) | (m) | (m) | (m) | (m) | (m) | (m) |
| + 100% data | 5.14 | 4.37 | 3.54 | 2.67 | 1.63 | 1.91 | 1.67 | 1.62 | 3.46 | 4.39 |
| + 50% data $\dagger$ | 5.57 | 4.38 | - | - | 1.19 | 1.75 | - | - | 3.52 | 4.42 |
| + 50% data + J $\dagger$ | 5.02 | 4.23 | - | - | 1.13 | 1.65 | - | - | 3.59 | 4.43 |
| + 50% data + TTT $\dagger$ | 5.05 | 4.14 | - | - | 1.04 | 1.53 | - | - | 2.92 | 3.67 |
| + 50% data + J +TTT $\dagger$ | 5.07 | 4.17 | - | - | 1.03 | 1.51 | - | - | 2.96 | 3.74 |
| + 50% data + $\mathbf{SO(2)}$ Eq. Frame | 5.18 | 4.35 | 3.67 | 2.72 | 0.86 | 1.59 | 0.63 | 1.39 | 1.22 | 2.39 |
| + 50% data + $\mathbf{O(2)}$ Eq. Frame | 4.42 | 3.95 | 3.32 | 2.66 | 0.82 | 1.52 | 0.70 | 1.41 | 1.28 | 2.10 |
| Naive Double Integration (NDI) | 458.06 | 117.06 | 675.21 | 1.6948 | 31.06 | 37.53 | 32.01 | 38.04 | 1941.41 | 848.55 |

On the RONIN dataset we compare against RONIN and RIO$\dagger$ (indicated with +J, +TTT, and +J+TTT). RIO does not provide results for RONIN Seen Dataset (RONIN-S) or RIDI Cross Subject Dataset (RIDI-C). As the RONIN base model does not use an EKF, we only report metrics with $*$. As Seen in Tab. 2, our methods significantly outperform the original RONIN by a large margin of 14% and 9% on ATE* and RTE* respectively even on the RONIN-U dataset. Our methods have better generalization as seen on RIDI-T and OxIOD, outperforming even +J+TTT$\dagger$ by a margin of 56% and 43% on ATE* and RTE* respectively on OxIOD Dataset. The +$O(2)$ Eq. Frame model converges at 38 epochs compared to over 100 in RONIN implying faster network convergence with our framework as compared to data augmentation. This demonstrates superior generalization of our strictly equivariant architecture. RIO’s approach, involving multiple data rotations, test optimization, and deep ensemble at test time, would result in higher computational and memory costs as compared to our method.
Finally, the comparison with NDI highlights the need for a neural displacement prior.

## 6 Ablation Study

**Table 3: Ablations of our model (bold) with the TLIO architecture, lower is better. We test non-equivariant frames (+Non Eq. Frame), PCA-based frames (+PCA Frame), $SO(2)$ equivariant frames (+$SO(2)$ Eq. Frame), and $O(2)$ equivariant frames (+$O(2)$ Eq. Frame), and the effect of training with yaw augmentations (+ rot. aug.). We also test $xy$-isotropic (+S) and Pearson-based covariance parameterizations. Eq CNN is a fully equivariant CNN. Red, orange and yellow indicates the first, second and third lowest values respectively.**
|  | TLIO Dataset | Aria Dataset |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Model | MSE* | ATE | ATE* | RTE | RTE* | AYE | MSE* | ATE | ATE* | RTE | RTE* | AYE |
|  | ($10^{-2}m^{2}$) | ($m$) | ($m$) | ($m$) | ($m$) | (deg) | ($10^{-2}m^{2}$) | ($m$) | ($m$) | ($m$) | ($m$) | (deg) |
| TLIO | 3.333 | 1.722 | 3.079 | 0.521 | 0.542 | 2.366 | 15.248 | 1.969 | 4.560 | 0.834 | 0.977 | 2.309 |
| + rot. aug. | 3.242 | 1.812 | 3.722 | 0.500 | 0.551 | 2.376 | 5.322 | 1.285 | 2.102 | 0.464 | 0.521 | 2.073 |
| + rot. aug. + more layers | 3.047 | 1.613 | 2.766 | 0.524 | 0.519 | 2.397 | 2.403 | 1.189 | 2.541 | 0.472 | 0.540 | 2.081 |
| + rot. aug. + Non Eq. Frame | 3.008 | 1.429 | 2.443 | 0.495 | 0.496 | 2.411 | 2.437 | 1.213 | 2.071 | 0.458 | 0.508 | 2.096 |
| + rot. aug. + PCA Frame | 3.473 | 1.506 | 2.709 | 0.523 | 0.535 | 2.459 | 6.558 | 1.717 | 4.635 | 0.771 | 0.976 | 2.232 |
| + $SO(2)$ Eq. Frame + S | 3.331 | 1.626 | 2.796 | 0.524 | 0.536 | 2.440 | 2.591 | 1.146 | 2.067 | 0.466 | 0.517 | 2.089 |
| + $SO(2)$ Eq. Frame + P | 3.298 | 1.842 | 2.652 | 0.588 | 0.523 | 2.537 | 2.635 | 1.592 | 2.303 | 0.585 | 0.539 | 2.232 |
| + $\mathbf{SO(2)}$ Eq. Frame | 3.194 | 1.480 | 2.401 | 0.490 | 0.501 | 2.428 | 2.457 | 1.178 | 1.864 | 0.449 | 0.484 | 2.084 |
| + $O(2)$ Eq. Frame + S | 3.061 | 1.484 | 2.474 | 0.462 | 0.481 | 2.390 | 2.421 | 1.175 | 1.804 | 0.421 | 0.458 | 2.043 |
| + $O(2)$ Eq. Frame + P | 2.990 | 1.827 | 2.316 | 0.578 | 0.478 | 2.534 | 2.373 | 1.755 | 1.859 | 0.564 | 0.468 | 2.223 |
| + $\mathbf{O(2)}$ Eq. Frame | 2.982 | 1.433 | 2.382 | 0.458 | 0.479 | 2.389 | 2.304 | 1.118 | 1.849 | 0.416 | 0.465 | 2.059 |
| Eq CNN | 3.194 | 1.580 | 3.385 | 0.564 | 0.610 | 2.394 | 8.946 | 3.223 | 6.916 | 1.091 | 1.251 | 2.299 |

Here, we show the necessity of incorporating equivariance in inertial odometry, the choice of equivariant architecture and covariance, and finally sensitivity analysis to estimated gravity direction. We present all the ablations using the TLIO base model in Tab. 3, both with and without integrating the EKF. App. 8.7 further contains the performance of all models above on a test dataset which is augmented with rotations and/or reflections. App. 8.10 and App. 8.11 present a sensitivity study on the input sequence length and estimated gravity direction.

Baseline Ablation: Is yaw augmentation needed when the input is in a local gravity-aligned frame?
We trained TLIO both with and without yaw augmentation using identical hyperparameters and the results in Tab. 3 (rows 1 and 2) reveal that augmentation enhances the network’s generalization, improving all metrics for the Aria dataset with the lowest margin of 10% on AYE and highest margin of 65% for MSE*. This underscores the importance of equivariance for network generalization.
Does a Deeper TLIO with a comparable number of parameters match the performance of equivariant methods? We enhanced the residual depth of the original TLIO architecture from 4 residual blocks of depth 2 each to depth 3 each (row 3) to match the number of parameters with our $+SO(2)$ Eq. Frame model (row 8). Despite having fewer parameters due to the removal of the orthogonal basis in $SO(2)$ vector neuron-based architecture, +$O(2)$ Eq. Frame model (row 11) still outperformed the deeper TLIO. The data from Tab. 3 demonstrate that merely increasing network’s size, without integrating true equivariance, is insufficient for achieving precise inertial odometry.

Figure: Figure 6: Integrated trajectories on the Aria Dataset with ground truth (green) and predicted trajectories (black), as well as the equivariant frame basis vectors (blue/red).
Refer to caption: x6.png

Frame Ablation: Can a non-equivariant MLP predict meaningful frames? We trained TLIO with yaw augmentation and identical hyperparameters alongside an additional MLP mirroring the architecture of our method to predict a frame and term this baseline +Non Eq. Frame (row 4). We observed that +Non Eq. Frame tends to overfit to the TLIO dataset, and thus produce worse results on the Aria dataset. The predicted frames also poorly correlate with the underlying trajectory, as illustrated in Fig. 6.
Can frames predicted using PCA (handcrafted equivariant frame) achieve the same performance? Using PCA to generate frames leads to underperformance on the Aria dataset, and worse results than the original TLIO which is likely due to PCA’s noise sensitivity as shown in Fig. 6. Additionally, PCA cannot distinguish between $SO(2)$ and $O(2)$ transformations. Fig. 6 also shows that $O(2)$ does not have frames as smooth as $SO(2)$ as the reflected bends have reflected frames.

Figure: Figure 7: Sensitivity to gravity axis perturbation, and effectiveness of perturbation augmentation during training.
Refer to caption: x7.png

Architecture Ablation: Does a fully equivariant architecture outperform our frame-based approach ? We trained a fully equivariant 1-D CNN using the layers in Sec. 4.3. Tab. 3 (row 12) shows our frame-based methods outperforming the equivariant CNNs, likely by leveraging the power of scalars and conventional backbones. We believe the fully equivariant architecture is overly restrictive, while also requiring a full network redesign. By contrast, our method can flexibly integrate existing state-of-the-art displacement priors.

Covariance Ablation: Do we need equivariant covariance? We investigated the importance of equivariant covariance for both $SO(2)$ and $O(2)$ groups, as described in Sec. 4.1(See App. 8.1.3 for covariance parameterizations). In Tab. 3, the models +S (rows 6 and 9) are trained with invariant covariance parameterized as $\Sigma=\text{diag}(e^{2u_{x}},e^{2u_{y}},e^{2u_{z}})$, that is unaffected by application of $F$. The results show that the equivariant covariance yields better performance, especially when combined with EKF, as it provides a more accurate estimate of the prediction covariance. Can a full covariance matrix predicted via Pearson parameterization further improve the performance? In Tab. 3, +P (rows 7 and 10) are outperformed by our model in most cases. This experimental result indicates that by aligning the principle axis of covariance into the basis of the equivariant frame, we intrinsically force covariance in the equivariant frame to be diagonal, which reduces ambiguity while training. Diagonal covariances improves convergence stability during optimization as stated in Liu et al. (). App. 8.9 visualizes the covariance consistency of EqNIO.

Gravity Sensitivity Analysis: As  Wang et al. () we study the robustness of $SO(3)$ subequivariance to slight gravity axis perturbations in Fig. 7. We perturb the gravity axis in the test set by uniformly sampled angles $\alpha\sim\mathcal{U}(-\theta,\theta)$, where $\theta=2^{\circ},4^{\circ},6^{\circ},8^{\circ}$. As  Liu et al. () we observe that ATE*(m) can be stabilized by training with $\theta=5$ gravity perturbation augmentation. The error of EqNIO trained without this augmentation increases with increasing degree of perturbation.

## 7 Conclusion

We introduce a robust and generalizable neural displacement prior that combats the drift of IMU-only neural inertial odometry by leveraging effective, equivariant canonicalization.
Our canonicalization scheme respects eliminates the underlying yaw ambiguity in gravity-aligned frames which arise from roto-reflections in the plane around gravity. We fully characterize actions from this group on all relevant inputs and outputs of the prior and leverage this insight to design a neural network that produces yaw frames that are $O_{g}(3)$ equivariant to these actions. As a result, it reduces the data variability seen by existing neural networks, which can be simply integrated into our framework. Compared to existing methods that enforce this equivariance via auxiliary losses or data augmentation, we do this *exactly*, and demonstrate greater generality and versatility through extensive validation on various datasets, and application to two base architectures (TLIO and RONIN).
We believe this work paves the way for robust, and low-drift odometry running on edge devices.

## 8 Appendix

### 8.1 Preliminary

#### 8.1.1 Equivariance

In this section, we introduce more preliminaries of group and representation theory which form the mathematical tools for equivariance.

##### Group

The group $G$ is a set equipped with an associative binary operation $\cdot$ which maps two arbitrary two elements in $G$ to an element in $G$. It includes an identity element, and every element in the set has an inverse element.

In this paper, we focus on the group $SO(2)$ and $O(2)$. $SO(2)$ is the set of all 2D planar rotations, represented by orthogonal matrices $R_{2\times 2}\in\mathbb{R}^{2\times 2}$ with $\text{det}(R_{2\times 2})=1$. This group operation is matrix multiplication, and each rotation matrix has an inverse, which is its transpose. The identity element is the matrix representing no rotation.

$O(2)$ consists of all distance-preserving transformations in Euclidean 2D space, including both rotations and reflections. Elements of $O(2)$ are orthogonal matrices $R_{2\times 2}\in\mathbb{R}^{2\times 2}$ with $\text{det}(R_{2\times 2})=\pm 1$, with the group operation being matrix multiplication. Each transformation matrix has an inverse, and the identity element is the matrix representing no transformation.

##### Group Representation and Irreducible Representation

The group representation is a homomorphism from the group $G$ to the general linear map of a vector space $V$ of a field $K$, denoted $GL(V)$. In this work, we use $V=\mathbb{R}^{n}$ and $K=\mathbb{R}$

An irreducible representation (irrep) of a group $G$ is a representation in which the only invariant subspaces under the action of $G$ are the trivial subspace $\{\bm{0}\}$ and the entire space $V$. In other words, an irreducible representation cannot be broken down into smaller, nontrivial representations,i.e., it cannot be the direct sum of several nontrivial representations.

For $SO(2)$, we can use $\theta\in(0,2\pi]$ to represent $SO(2)$, for any $\theta$,
the irreducible representation of the frequency $n\in\mathbb{N}$ is:

$$ $\displaystyle\rho_{n}(\theta)=\begin{pmatrix}\cos n\theta&-\sin n\theta\\ \sin n\theta&\cos n\theta\end{pmatrix}.$ $$

In this work we use $n=1$. For $O(2)$, we can use $r\in\{-1,1\}$ to denote reflection and $\theta\in(0,2\pi]$ to denote rotation. The trivial representation $\rho_{0}(r,\theta)=1$. For the nontrivial representation of frequency $n\in\mathbb{N}^{+}$

$$ $\displaystyle\rho_{n}(r,\theta)=\begin{pmatrix}\cos(n\theta)&-\sin(n\theta)\\ \sin(n\theta)&\cos(n\theta)\end{pmatrix}\begin{pmatrix}1&0\\ 0&r\end{pmatrix}$ $$

There is another one-dimensional irreps for $O(2)$, $\rho(r,\theta)=r$ which corresponds to the trivial representation of rotation.

The introduction to group representations has been covered extensively in previous work on equivariance (Cohen & Welling, ; Weiler et al., ; Xu et al., ). Specifically, for $SO(2)$ and $O(2)$, Weiler & Cesa () provide a detailed introduction.

##### Invariance and Equivariance

Given a network $\Phi:\mathcal{X}\rightarrow\mathcal{Y}$, if for any $x\in\mathcal{X}$,

$$ $\displaystyle\Phi(\rho^{\mathcal{X}}x)=\Phi(x),$ $$

implies the group representation $\rho^{\mathcal{Y}}$ of the output space is trivial, *i.e.* identity, and the input does not transform (*i.e.* the input is invariant) under the action of the group. Note that in our paper $\mathcal{X}$ and $\mathcal{Y}$ can be seen as the direct sum (concatenation) of all input and output vectors respectively.
In our paper, the coordinates/ projections of $3D$ vector to the gravity axis $z$-axis are invariant, therefore we call them invariant scalars.

A network $\Phi:\mathcal{X}\rightarrow\mathcal{Y}$ is equivariant if it satisfies the constraint

$$ $\displaystyle\Phi(\rho^{\mathcal{X}}x)=\rho^{\mathcal{Y}}\Phi(x).$ $$

In this paper, the input is the sequence of accelerations and angular velocities, and the output are composed of displacement and covariance. For displacement, the $z$-component is invariant while $xy$-components are acted under the representation of $\rho_{1}$ defined in the above section. Hence, for displacement, $\rho^{\mathcal{Y}}=\rho_{1}\oplus 1$ and for covariance $3D$ covariance, $\rho^{\mathcal{Y}}=(\rho_{1}\oplus 1)\otimes(\rho_{1}\oplus 1)$

##### Subequivariance

As mentioned in prior works (Chen et al., ; Han et al., ), the existence of gravity breaks the symmetry in the vertical direction, reducing O(3) to its subgroup O(2). We formally characterize this phenomenon of equivariance relaxation as subequivariance. We have mathematically defined the subequivariance in Section 3 of the paper. In simpler terms, the gravity axis is decoupled and treated as an invariant scalar while the other two axes are handled as a separate 2D vector. Upon rotation, the invariant scalar remains constant while the other two axes are transformed under rotation. So we are limited now to SO(2) rotations and roto-reflections. In the general case of equivariance, the 3D vector would be considered three-dimensional and an SO(3) rotation would act on it. The transformation would be along all three axes.

#### 8.1.2 Inertial Odometry

In this section, we introduce more preliminaries on the terms used in inertial odometry.

##### Inertial Measurement Unit

Inertial Measurement Unit (IMU) is an electronic device that measures and reports linear acceleration, angular velocity, orientation, and other gravitational forces. An IMU typically consists of a 3-axis accelerometer, a 3-axis gyroscope, and depending on the heading requirement a 3-axis magnetometer.

An accelerometer measures instantaneous linear acceleration ($a_{i}$). It can be thought of as a mass on a spring, however in micro-electro-mechanical systems (MEMS) it is beams that flex instead of spring.

A gyroscope measures instantaneous angular velocity ($\omega_{i}$). It measures the angular velocity of its frame, not any external forces. Traditionally, this can be measured by the fictitious forces that act on a moving object brought about by the Coriolis effect, when the frame of reference is rotating. In MEMs, however, we use high-frequency oscillations of a mass to capture angular velocity readings by the capacitance sense cones that pick up the torque that gets generated.

##### World Frame

A world frame, also known as a cartesian coordinate frame, is a fixed frame with a known location and does not change over time. In this paper, we denote the fixed frame with $z$-axis perfectly aligned with the gravity vector as the world frame, denoted as $w$.

##### Local-gravity-aligned Frame

A local-gravity-aligned frame has one of its axes aligned with the gravity vector at all times but it is not fixed to a known location.

##### Body Frame

A body frame comprises the origin and orientation of the object described by the navigation solution. In this paper, the body frame is the IMU’s frame. This is denoted as $b$ for the IMU data.

##### Gravity-compensation

Gravity compensation refers to the removal of the gravity vector from the accelerometer reading.

##### Gravity-alignment

Gravity-alignment of IMU data refers to expressing the data in the gravity-aligned frame. This is done by aligning the $z$-axis of the IMU inertial frame with the gravity vector pointing downwards and is usually achieved by fixing the roll and pitch (rotations around the $x$ and $y$ axes) or by applying a transformation estimated by the relative orientation between the gravity vector and a fixed $z$-axis pointing downwards. This is usually achieved with a simple rotation.

#### 8.1.3 Uncertainty Quantification in Inertial Odometry

In this section, we provide more context on uncertainty quantification in odometry and detail the different parameterizations used for regressing the covariance matrix in the paper.

##### Homoscedastic Uncertainty

Homoscedatic uncertainty refers to uncertainty that does not vary for different samples, i.e., it is constant.

##### Heteroscedastic Uncertainty

Heteroscedastic uncertainty is uncertainty that is dependent on the sample, i.e., it varies from sample to sample.

##### Epistemic Uncertainty

Epistemic uncertainty is uncertainty in model parameters. This can be reduced by training the model for longer and/or increasing the training dataset to include more diverse samples.

##### Aleatoric Uncertainty

Aleatoric uncertainty is the inherent noise of the samples. This cannot be reduced by tuning the network or increasing the diversity of the data.

##### Why do we need to estimate uncertainty in inertial odometry?

In inertial odometry when we use a probabilistic filter-based approach like a Kalman Filter, the filter estimates the probability distribution over the pose recursively. While integrating the neural network prediction, the filter fuses the prediction with other sensor measurements, like raw IMU data in TLIO (Liu et al., ), by weighing it based on the accuracy or reliability of the measurements. For neural networks, this reliability is obtained by estimating the uncertainty. If we use a fixed uncertainty (homoscedastic) it is seen to cause catastrophic failures of perception systems. The uncertainty estimated in TLIO captures the extend to which input measurements encode the motion model prior.

##### What is the uncertainty we are estimating in inertial odometry?

We are regressing aleatoric uncertainty using the neural network and training the model till the epistemic uncertainty is very small as compared to aleatoric uncertainty.

##### How is the uncertainty estimated in this paper?

We regress aleatoric uncertainty as a covariance matrix jointly while regressing 3D displacement following the architecture of TLIO (Liu et al., ). Since there is no ground truth for the covariance, we use the negative log-likelihood loss of the prediction using the regressed Gaussian distribution. As this loss captures the Mahalanobis distance, the network gets jointly trained to tune the covariance prediction. We do not estimate epistemic uncertainty separately in this paper, but as mentioned in Russell & Reale () we train the network until the epistemic uncertainty is small as compared to aleatoric uncertainty.

##### Diagonal covariance matrix

TLIO (Liu et al., ) regresses only the three diagonal elements of the covariance matrix as log $\sqrt{\Sigma_{xx}}$, log $\sqrt{\Sigma_{yy}}$ and log $\sqrt{\Sigma_{zz}}$ and the off-diagonal elements are zero. This formulation assumes the axes are decoupled and constrains the uncertainty ellipsoid to be along the local gravity-aligned frame.

##### Full covariance matrix using Pearson correlation

Russell & Reale () define a parameterization to regress the full covariance matrix. They regress six values of which three are the diagonal elements log $\sqrt{\Sigma_{xx}}$, log $\sqrt{\Sigma_{yy}}$ and log $\sqrt{\Sigma_{zz}}$ and the remaining three are Pearson correlation coefficients $\rho_{xy}$, $\rho_{yz}$, and $\rho_{xz}$. The diagonal elements are obtained by exponential activation while the off-diagonal elements are computed as follows

$$ $\Sigma_{ij}=\rho_{ij}\sqrt{\Sigma_{ii}\Sigma_{jj}}$ $$

where $\rho_{ij}$ passes through tanh activation.

##### Diagonal covariance matrix in canonical frame

In our approach, we regress the three diagonal elements as log $\sqrt{\Sigma_{xx}}$, log $\sqrt{\Sigma_{yy}}$ and log $\sqrt{\Sigma_{zz}}$ in the invariant canonical frame. Since the $z$-axis is decoupled from the $xy$-axis, only $\Sigma_{xx}$ and $\Sigma_{yy}$ are mapped back using the equivariant frame to obtain a full 2D covariance matrix from the diagonal entries. The resulting matrix is as follows

$$ $\begin{bmatrix}\Sigma_{xx}&\Sigma_{xy}&0\\ \Sigma_{xy}&\Sigma_{yy}&0\\ 0&0&\Sigma_{zz}\end{bmatrix}$ $$

### 8.2 Dataset Details

In this section, we provide a detailed description of the 4 datasets used in this work - TLIO and Aria for TLIO architecture, and RONIN, RIDI and OxIOD for RONIN architecture.

##### TLIO Dataset-

The TLIO Dataset (Liu et al., ) is a headset dataset that consists of IMU raw data at 1kHz and ground truth obtained from MSCKF at 200 Hz for 400 sequences totaling 60 hours. The ground truth consists of position, orientation, velocity, IMU biases and noises in $\mathbb{R}^{3}$. The dataset was collected using a custom rig where an IMU (Bosch BMI055) is mounted on a headset rigidly attached to the cameras. This dataset captures a variety of activities including walking, organizing the kitchen, going up and down stairs, on multiple different physical devices and more than 5 people for a wide range of individual motion patterns, and IMU systematic errors. We use their data splits for training (80%), validation (10%), and testing(10%).

##### Aria Everyday Dataset-

Aria Everyday Dataset (Lv et al., ) is an open-sourced egocentric dataset that is collected using Project Aria Glasses. This dataset consists of 143 recordings accumulating to 7.3 hrs capturing diversity in wearers and everyday activities like reading, morning exercise, and relaxing. There are two IMUs on the left and right side of the headset of frequencies 800 and 1kHz respectively. They have two sources of ground truth- open and closed loop trajectory at 1kHz. Open loop trajectory is strictly causal while closed loop jointly processes multiple recordings to place them in a common coordinate system. The ground truth contains position and orientation in $\mathbb{R}^{3}$. We use it as a test dataset. The raw right IMU data is used to compare closed-loop trajectory with EKF results. The data was downsampled to 200Hz and preprocessed using the closed-loop trajectory to test the Neural Network trained on TLIO.

##### RONIN Dataset-

RONIN Dataset (Herath et al., ) consists of pedestrian data with IMU frequency and ground truth at 200Hz. RONIN data features diverse sensor placements, like the device placed in a bag, held in hand, and placed deep inside the pocket, and multiple Android devices from three vendors Asus Zenfone AR, Samsung Galaxy S9 and Google Pixel 2 XL. Hence, this dataset has different IMUs depending on the vendor. We use RONIN data splits to train and test their model with and without our framework.

##### RIDI Dataset-

RIDI Dataset (Yan et al., ) is another pedestrian dataset with IMU frequency and ground truth at 200 Hz. This dataset features specific human motion patterns like walking forward/backward, walking sidewards, and acceleration/deceleration. They also record data with four different sensor placements. We report test results of RONIN models on both RIDI test and cross-subject datasets. RIDI results are presented after post-processing the predicted trajectory with the Umeyama algorithm (Umeyama, ) for fair comparison against other methods.

##### OxIOD Dataset-

OxIOD Dataset (Chen et al., ) stands for Oxford Inertial Odometry Dataset consists of various device placements/attachments, motion modes, devices, and users capturing everyday usage of mobile devices. The dataset contains 158 sequences totaling 42.5 km and 14.72 hours captured in a motion capture system. We use their unseen multi-attachments test dataset for evaluating our framework applied to RONIN architecture.

### 8.3 Equivariant Network Implementation Details

In this section, we describe in detail the equivariant network implementation and how it is combined with TLIO and RONIN. The input to the framework is IMU samples from the accelerometer and gyroscope for a window of 1s with IMU frequency 200Hz resulting in $n$ = 200 samples. All IMU samples within a window are gravity-aligned with the first sample at the beginning of the window, previously referred to as the clone state. The network design, as seen in Figure 2 b, differs in architecture for $SO(2)$ and $O(2)$ and hence described separately below.

##### S ⁢ O ⁢ ( 2 ) 𝑆 𝑂 2 SO(2) italic_S italic_O ( 2 ) -

We decouple the $z$-axis from the other two axes and treat linear acceleration and angular velocity along the $z$-axis as scalars (2). We also take the norm of the 2D accelerometer and gyroscope measurements (2), their inner product (1) resulting in invariant scalars $\mathbb{R}^{n\times 5}$. The $x$ and $y$ components of IMU measurements are passed as vector inputs $\mathbb{R}^{n\times 2\times 2}$. The vectors and scalars are then separately passed to the linear layer described in Section 4.3. The equivariant network predicting the equivariant frame consists of 1 linear layer, 1 nonlinearity, 1 convolutional block with convolution applied over time, non-linearity, and layer norm. The hidden dimension is 128 and the convolutional kernel is 16 x 1. Finally, the fully connected block of hidden dimension 128 and consisting of linear, nonlinearity, layer norm, and output linear layer follows a pooling over the time dimension. The output of the final linear layer is 2 vectors representing the two bases of the equivariant frame. The input vectors of dimension $\mathbb{R}^{n\times 2\times 2}$ are projected into the invariant space via the equivariant frame resulting in invariant features in $\mathbb{R}^{n\times 4}$. These features are combined with the input scalars and passed as input ($\mathbb{R}^{n\times 6}$) to TLIO or RONIN base architecture. The output of TLIO is invariant 3D displacement and diagonal covariance along the principal axis. The output of RONIN is 2D velocity. The $x$ and $y$ components are back-projected using the equivariant frame to obtain displacement vector d in $\mathbb{R}^{2}$ and the covariance in the original frame. The covariance is parameterized and processed as mentioned in Section 4.1.

##### O ⁢ ( 2 ) 𝑂 2 O(2) italic_O ( 2 ) -

The preprocessing is as described in Section 4.1 where $\omega$ is decomposed to two vectors $v_{1}$ and $v_{2}$ that each have magnitude $\sqrt{\|\omega\|}$. The preprocessed input therefore consists of 3 vectors
$a$, $v_{1}$ and $v_{2}$. This is then passed to the equivariant network by decoupling the $z$-axis resulting in vector input $\mathbb{R}^{n\times 3\times 2}$ which represents 3 vectors in 2D. The scalars passed to the linear layer described in Section 4.3 consist of the accelerometer $z$-axis measurement (1), the $z$ component of the two vectors $v_{1}$ and $v_{2}$ (2), the norm of the vectors (3) and the inner product of the vectors(3) resulting in $\mathbb{R}^{n\times 9}$. The network architecture is the same as $SO(2)$ with hidden dimension 64 and 2 convolutional blocks in order to make it comparable in the number of parameters to $SO(2)$ architecture. The invariant features obtained by projecting the three vectors using the equivariant frame are processed as mentioned in Section 4.1 to obtain 2 vectors in 3D that are fed as input to TLIO and RONIN. The postprocessing is the same as $SO(2)$.

The framework is implemented in Pytorch and all hyperparameters of the base architectures are used to train TLIO and RONIN respectively. The $SO(2)$ architecture has 8,884,870 while $O(2)$ has 6,020,230 number of parameters and the base TLIO architecture has 5,424,646. The baseline TLIO and our methods applied to TLIO were trained on NVIDIA a40 GPU occupying 7-8 GB memory per epoch. The training took 5 mins per epoch over the whole training dataset. We train for 10 epochs with MSE Loss and the remaining 40 epochs with MLE Loss similar to TLIO (Liu et al., ). RONIN was trained on NVIDIA 2080ti for 38 epochs taking 2 mins per epoch. The loss function used was MSE as mentioned in Herath et al. (). The EKF described in TLIO was run on NVIDIA 2080ti with the same initialization and scaling of predicted measurement covariance as in TLIO (Liu et al., ).

We compare the resource requirements of the SO(2), and O(2) variant of our method coupled with TLIO, with base TLIO without an equivariant frame. We report the floating point operations (FLOPs), the inference time (in milliseconds), and Maximum GPU memory (in GB) during inference, on an NVIDIA 2080 Ti GPU for the neural network averaged over multiple runs to get accurate results. While base TLIO uses 35.5 MFLOPs, 3.5 ms, and 0.383 GB per inference, our SO(2) equivariant method instead uses 531.9 MFLOPs, 4.3 ms, and 0.383 GB per inference. Finally, our O(2) equivariant method uses 638.5 MFLOPs, 4.6 ms, and 0.385 GB per inference. We further evaluate the Maximum GPU memory for the equivariant networks separately and report 0.255 GB per inference for SO(2) equivariant frame prediction and 0.257 GB per inference for O(2) equivariant frame prediction. The Maximum GPU memory is unaffected because the equivariant frame computation utilizes less memory than TLIO.

Finally, we also evaluate our method with a downstream EKF on an NVIDIA 2080 Ti GPU. The EKF incorporates raw IMU measurements for propagation, and displacement measurements from the neural network as measurement updates. For every 20 imu samples, we send the last 200 IMU measurements to the neural network to provide this measurement update. The original TLIO requires 0.492 seconds and 1.113 GB of memory. For the SO(2) variant of our method, we require 0.554 seconds and 1.109 GB of memory to process 1 second of real-world data. For the O(2) variant, we use 0.554 seconds and 1.115 GB of memory, showing that our method is faster than real-time. The increase in memory for the O(2) variant is due to the additional preprocessing step.

With comparable computing resources, our equivariant model outperforms TLIO since we leverage symmetry, which is an intrinsic property in inertial odometry.

### 8.4 EKF Details

The EKF continuously estimates the orientation, linear velocity, position, acceleration, and gyroscope biases. In TLIO architecture, the EKF propagates the IMU samples at a higher frequency of 1 kHz while the neural network takes clone states at 200Hz to predict the displacement over 1s time window and its associated uncertainty. Throughout the paper, we denote the clone state indices with i and the EKF propagation indices with k. We further outline the EKF state definition, propagation model, state augmentation, measurement, and update model below for completeness of the manuscript. It must be noted that we follow TLIO (Liu et al., ) and do not make any modifications to this part of the architecture.

#### 8.4.1 EKF State Definition

The state of the EKF is defined as $X=(\xi_{1},....,\xi_{n},s)$ where $\xi_{i},i=1,...,n$ represents the $n$ clone states whose corresponding IMU measurements are passed to the neural network as input and $s$ has the current propagation state.

$$ $\xi_{i}=(\prescript{w}{b}{R_{i}},\prescript{w}{}{p_{i}})\quad s=(\prescript{w} {b}{R},\prescript{w}{}{v},\prescript{w}{}{p},b_{g},b_{a})$ $$

where $\prescript{w}{b}{R_{i}}$ represents the orientation estimate of EKF from IMU body frame to gravity-aligned world frame, $p$ and $v$ represent the position and linear velocity estimates, and $b_{g}$ and $b_{a}$ denote the bias estimates of the gyroscope and accelerometer respectively. The error state of the EKF is propagated as a linearized error and so the error state is defined as

$$ $\tilde{\xi_{i}}=(\tilde{\theta_{i}},\delta\tilde{p_{i}})\quad\tilde{s}=(\tilde {\theta},\delta\tilde{v},\delta\tilde{p},\delta\tilde{b_{g}},\delta\tilde{b_{a }})$ $$

where tilde indicates errors in every state. The errors for all states, except orientation, are approximated to simple subtraction even though the $SE(3)$ parameterization we use in the EKF process model is $T(3)\times SO(3)$. For orientation we use the logarithm map of rotation to find the error as $\tilde{\theta}=log_{SO(3)}(R\hat{R}^{-1})\in\mathfrak{so}(3)$. The EKF and error state is of dimension (6n + 15) and the corresponding state covariance matrix P has dimension (6n + 15, 6n + 15).

#### 8.4.2 Process Model

IMU’s measure sequences of data $\{(a_{k},\omega_{k})\}_{i=k}^{m}$, each expressed in the local IMU frame at time $t_{k}$.
These are related to the true IMU acceleration $\bar{a}_{k}$ and angular rates $\bar{\omega}_{k}$ via

$$ $\displaystyle\quad\omega_{k}=\bar{\omega}_{k}+b_{k}^{g}+\eta^{g}_{k}\quad\quad a _{k}=\bar{a}_{k}-\prescript{w}{b}{R_{k}}^{T}\vec{g}+b_{k}^{a}+\eta^{a}_{k}\quad$ (12) $$

where $\vec{g}$ is gravity vector pointing downward in world frame, and $\eta^{g}_{k}$ and $\eta^{a}_{k}$ are IMU noises respectively.
The EKF propagation uses raw IMU samples in the local IMU frame $b$, following strap-down inertial kinematics equations:

$$ $\displaystyle\mathbf{\prescript{w}{b}{\hat{R}_{k+1}}}=\mathbf{\prescript{w}{b} {\hat{R}_{k}}}\exp_{SO(3)}(\mathbf{(\omega_{k}-\hat{b}_{gk})}\Delta t)$ $\displaystyle\mathbf{\prescript{w}{}{\hat{v}_{k+1}}}=\mathbf{\prescript{w}{}{ \hat{v}_{k}}}+\mathbf{\prescript{w}{}{g}}\Delta t+\mathbf{\prescript{w}{b}{ \hat{R}_{k}}(a_{k}-\hat{b}_{ak})}\Delta t$ $\displaystyle\mathbf{\prescript{w}{}{\hat{p}_{k+1}}}=\mathbf{\prescript{w}{}{ \hat{p}_{k}}}+\mathbf{\prescript{w}{}{\hat{v}_{k}}}\Delta t+\frac{1}{2}\Delta t ^{2}(\mathbf{\prescript{w}{}{g}+\mathbf{\prescript{w}{b}{\hat{R}_{k}}}(a_{k}- \hat{b}_{a}k)})$ $\displaystyle\mathbf{\hat{b}_{g(k+1)}=\hat{b}_{gk}+\eta_{gdk}}$ $\displaystyle\mathbf{\hat{b}_{a(k+1)}=\hat{a}_{gk}+\eta_{adk}}$ $$

where at timestep k, $\Delta t$ is the time interval, $\prescript{w}{}{g}$ is the constant gravity vector, $\eta_{gdk}$ and $\eta_{adk}$ are the IMU noises that are assumed to be normally distributed, and $\exp_{SO(3)}$ is the $SO(3)$ exponential map.

The linearized error propagation is written as:

$$ $\tilde{s_{k+1}}=A_{k(15,15)}^{s}\tilde{s_{k}}+B_{k(15,12)}^{s}n_{k}$ $$

where $n_{k}=[n_{\omega k},n_{ak},\eta_{gdk},\eta_{adk}]$ and the subscript brackets (.,.) indicate matrix dimensions. The corresponding linearized propagation of the state covariance P is as follows:

$$ $P_{k+1}=A_{k}P_{k}A_{k}^{T}+B_{k}WB_{k}^{T}$ $$

$$ $A_{k}=\begin{bmatrix}I_{6n}&0\\ 0&A_{k}^{s}\end{bmatrix}\quad B_{k}=\begin{bmatrix}0\\ B_{k}^{s}\end{bmatrix}$ $$

where $I$ stands for identity matrix amd $W_{(12,12)}$ is the covariance matrix of sensor noise and bias random walk.

#### 8.4.3 State Augmentation

As the neural network inputs are used to correct the EKF estimates at a frequency of 20Hz while the propagation of the EKF is at 1kHz as mentioned in TLIO, at the measurement update frequency a new state is augmented with a copy operation incrementing the dimension as seen below:

$$ $P_{k+1}=\bar{A_{k}}P_{k}\bar{A_{k}^{T}}+\bar{B_{k}}W\bar{B_{k}^{T}}$ $$

$$ $\bar{A_{k}}=\begin{bmatrix}I_{6n}&0\\ 0&A_{k}^{\xi}\\ 0&A_{k}^{s}\end{bmatrix}\quad\bar{B_{k}}=\begin{bmatrix}0\\ B_{k}^{\xi}\\ B_{k}^{s}\end{bmatrix}$ $$

where $A_{k}^{\xi}$ and $B_{k}^{\xi}$ are the partial propagation matrices for rotation and position only with dimension (6, 15) and (6, 12) respectively.

#### 8.4.4 Measurement Model

The measurement model in the EKF uses the displacement estimates provided by the neural network, aligning them in a local gravity-aligned frame to ensure the measurements are decoupled from global yaw information:

$$ $\hat{h}(\mathbf{X})=\mathbf{R}_{\gamma}^{T}(\mathbf{p}_{j}-\mathbf{p}_{i})= \hat{d}_{ij}+\eta_{ij}$ $$

where $\mathbf{R}_{\gamma}$ is the yaw rotation matrix, $\mathbf{p}_{i}$ and $\mathbf{p}_{j}$ are positions of the first and last clone state for the 1s displacement prediction window, $\hat{d}_{ij}$ indicates the predicted displacement which is the output of the neural network and $\eta_{ij}$ represents the measurement noise modeled by the network’s uncertainty output as $\eta_{ij}=\mathcal{N}(0,\hat{\Sigma}_{ij})$. The orientation estimate of the EKF at clone state i is decomposed using extrinsic "XYZ" Euler angle convention as $R_{i}=R_{\gamma}R_{\beta}R_{\alpha}$.

#### 8.4.5 Update Model

The Kalman gain is computed based on the measurement and covariance matrices, and the state and covariance are updated accordingly. The key update equations involve the computation of the Kalman gain ($\mathbf{K}$), updating the state ($\mathbf{X}$), and updating the covariance matrix ($\mathbf{P}$):

$$ $\mathbf{K}=\mathbf{P}\mathbf{H}^{T}(\mathbf{H}\mathbf{P}\mathbf{H}^{T}+\hat{ \Sigma}_{ij})^{-1}$ $$

$$ $\mathbf{X}\longleftarrow\mathbf{X}\oplus\mathbf{K}(h(\mathbf{X})-\hat{d}_{ij})$ $$

$$ $\mathbf{P}\longleftarrow(\mathbf{I}-\mathbf{K}\mathbf{H})\mathbf{P}(\mathbf{I} -\mathbf{K}\mathbf{H})^{T}+\mathbf{K}\hat{\Sigma}_{ij}\mathbf{K}^{T}$ $$

where $\oplus$ denotes addition operation except for rotation where the update operation writes $R\longleftarrow\exp(\tilde{\theta})R$ and the linearized measurement matrix $\mathbf{H}_{(3,6n+15)}$ which has zeros other than

$$ $\mathbf{H}_{\tilde{\theta_{i}}}=\frac{\partial h(X)}{\partial\tilde{\theta_{i} }}=\hat{R_{\gamma}^{T}}{\lfloor\prescript{w}{}{\hat{p}_{j}}-\prescript{w}{}{ \hat{p}_{i}}\rfloor}_{\times}\mathbf{H}_{z}$ $$

$$ $\mathbf{H}_{\delta\tilde{p_{i}}}=\frac{\partial h(X)}{\partial\delta\tilde{p_{ i}}}=-\hat{R_{\gamma}^{T}}$ $$

$$ $\mathbf{H}_{\delta\tilde{p_{j}}}=\frac{\partial h(X)}{\partial\delta\tilde{p_{ j}}}=\hat{R_{\gamma}^{T}}$ $$

where

$$ $\mathbf{H}_{z}=\begin{bmatrix}0&0&0\\ 0&0&0\\ \cos{\gamma}\tan{\beta}&\sin{\gamma}\tan{\beta}&1\end{bmatrix}$ $$

and ${\lfloor x\rfloor}_{\times}$ is a skew-symmetric matrix built from a vector $x$.

### 8.5 Evaluation Metrics Definition

We follow most metrics in TLIO (Liu et al., ) and RONIN (Herath et al., ), besides $MSE$ loss we reported in the paper. Here we provide the mathematical details of these metrics.

- •
MSE (m^2): Translation error per sample between the predicted and ground truth displacement averaged over the trajectory. It is computed as $\frac{1}{n}\sum^{n}_{i}\|\prescript{w}{}{p}_{i}-\prescript{w}{}{\hat{p}}_{i}\|$. However, it should be noted that MSE mentioned in TLIO (Liu et al., ) is the same as MSE Loss calculated as the squared error averaged separately for each axis $\frac{1}{n}\sum^{n}_{i}\|\prescript{w}{}{p}_{i,r}-\prescript{w}{}{\hat{p}}_{i,
r}\|$ where r is an axis.
- •
ATE (m): Translation Error assesses the discrepancy between predicted and ground truth (GT) positions across the entire trajectory. It is computed as $\sqrt{\frac{1}{n}\sum^{n}_{i}\|\prescript{w}{}{p}_{i}-\prescript{w}{}{\hat{p}}
_{i}\|}$
- •
RTE (m): Relative Translation Error measures the local differences between predicted and GT positions over a specified time window of duration $\delta t$ (1 minute). $\sqrt{\frac{1}{n}\sum^{n}_{i}\|\prescript{w}{}{p}_{i+\delta t}-\prescript{w}{}
{p}_{i}-(\prescript{w}{}{\hat{p}}_{i+\delta t}-\prescript{w}{}{\hat{p}}_{i})\|}$.
- •
AYE Absolute Yaw Error is calculated as $\sqrt{\frac{1}{n}\sum^{n}_{i}\|\gamma_{i}-\hat{\gamma}_{i}\|}$.

### 8.6 Visualization of TLIO results

Figure: Figure 8: The superior performance of our framework applied to TLIO architecture when compared to baseline TLIO trained with and without augmentations on TLIO and Aria Datasets visualized with a box plot. Blue, Orange, Green and Red indicate +rot. aug., TLIO, +$SO(2)$ Eq. Frame and +$O(2)$ Eq. Frame. ATE, RTE and MSE indicate ATE*, RTE* and MSE* corresponding to only the NN results.
Refer to caption: x8.png

Figure: Figure 9: The superior performance of our framework applied to TLIO architecture when compared to baseline TLIO trained with and without augmentations on TLIO and Aria Datasets visualized with a box plot. Blue, Orange, Green and Red indicate +rot. aug., TLIO, +$SO(2)$ Eq. Frame and +$O(2)$ Eq. Frame. ATE, RTE and MSE indicate ATE*, RTE* and MSE* corresponding to only the NN results. The whisker is extended to 1.5 * IQR (inter-quartile range).
Refer to caption: x9.png

Figure: Figure 10: The superior performance of our framework applied to TLIO architecture when compared to baseline TLIO trained with and without augmentations on TLIO and Aria Datasets visualized with a box plot. Blue, Orange, Green and Red indicate +rot. aug., TLIO, +$SO(2)$ Eq. Frame and +$O(2)$ Eq. Frame. The whisker is extended to 1.5 * IQR (inter-quartile range).
Refer to caption: x10.png

Figure: Figure 11: More Visualizations of final estimated trajectories on TLIO Dataset by baseline TLIO (Blue), our best method applied to TLIO (+$O(2)$ Eq. Frame)(Red), and the Ground-Truth trajectory (Black).
Refer to caption: extracted/5917755/tlio_traj_app1.png

Figure 8 and Figure 9 show only the neural network results compared to ground truth displacements. The ATE and RTE is calculated on the cumulative trajectory obtained form the predicted displacements. Figure 9 is with whisker extended to include the outlier which are commonly calculated as 1.5 * IQR (inter-quartile range). Figure 10 shows the results of EKF without excluding the outliers. We provide more trajectory visualizations of TLIO test data in Figure 11.

### 8.7 Augmented TLIO Test Dataset Results and Analysis

We also perform an ablation study on test data augmentation for our model. For neural network results, we apply four random yaw rotations per trajectory and random rotations plus reflection per trajectory. The results are detailed in Table 4. Except for our equivariant model, all other methods show decreased performance compared to their results on non-augmented test data, whereas our model maintains consistent performance and outperforms the other methods.

For the Extended Kalman Filter (EKF) results, we augment the test data using random $SO(3)$ rotations. Notably, we do not include reflections due to the structural constraints of the Kalman filter. As shown in Table 5, despite the +Non Eq. Frame model outperforming ours in non-augmented tests on ATE metrics. Our model exceeds +Non Eq. Frame on the augmented dataset. Our approach not only sets a new benchmark but also maintains consistent performance across random rotations.

**Table 4: Ablation Study For Neural Network with Random Rotation and Reflection Transformation (4 per trajectory) on TLIO test dataset. A lower error indicates a better model. The lowest values are annotated with Red. Our proposed methods are in bold.**
|  | Rotations | Rotations + Reflections |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- |
| Model | MSE* | ATE* | RTE* | MSE* | ATE* | RTE* |
|  | ($10^{-2}m^{2}$) | ($m$) | ($m$) | ($10^{-2}m^{2}$) | ($m$) | ($m$) |
| TLIO | 0.2828 | 27.7797 | 3.1390 | 0.2989 | 23.4839 | 3.1313 |
| + rot. aug. | 0.0327 | 3.3180 | 0.5417 | 0.0347 | 2.9110 | 0.5654 |
| + rot. aug. + more layers | 0.0306 | 3.0264 | 0.5300 | 0.0332 | 2.3028 | 0.5592 |
| + rot. aug. + Non Eq. Frame | 0.0302 | 2.6379 | 0.5025 | 0.0331 | 2.3212 | 0.5446 |
| + rot. aug. + PCA Frame | 0.2286 | 21.3795 | 2.5288 | 0.2467 | 10.1660 | 2.2283 |
| + $\mathbf{SO(2)}$ Eq. Frame | 0.0319 | 2.3218 | 0.4957 | 0.0339 | 1.8664 | 0.5178 |
| + $\mathbf{O(2)}$ Eq. Frame | 0.0298 | 2.3305 | 0.4719 | 0.0298 | 1.6418 | 0.4361 |

**Table 5: Results of evaluation of EKF with Random Rotation Transformations (4 per trajectory) on TLIO test dataset (*i.e.*, results on augmentated test dataset). A lower error indicates a better model. The lowest values are annotated with Red. Our proposed methods are in bold.**
| Model | ATE | RTE | Drift | AYE |
| --- | --- | --- | --- | --- |
|  | ($m$) | ($m$) |  | ($deg$) |
| TLIO | 10.3005 | 3.6263 | 2.9501 | 3.3684 |
| + rot. aug. | 1.6744 | 0.4944 | 1.5526 | 2.7290 |
| + rot. aug. + more layers | 1.6447 | 0.5466 | 1.2767 | 2.7279 |
| + rot. aug. + Non Eq. Frame | 1.4924 | 0.5119 | 1.2721 | 2.7109 |
| + rot. aug. + PCA Frame | 8.5787 | 2.9962 | 2.0872 | 3.0183 |
| + $\mathbf{SO(2)}$ Eq. Frame | 1.4850 | 0.4901 | 1.3029 | 2.7615 |
| + $\mathbf{O(2)}$ Eq. Frame | 1.4316 | 0.4592 | 1.3096 | 2.7250 |

### 8.8 Visualization of RONIN

The visualization of trajectories in RONIN is displayed in Figure 12.

Figure: Figure 12: Visualization of RONIN Unseen Test Dataset Trajectories for our best method applied to RONIN, +$O(2)$ Eq. Frame.
Refer to caption: extracted/5917755/ronin_traj_new.png

### 8.9 Covariance Consistency

Figure: Figure 13: Consistency of Covariance Prediction in the Invariant Space for TLIO test dataset
Refer to caption: extracted/5917755/sigma_tlio_lg_fullcov_mcs10.png

Figure: Figure 14: Consistency of Covariance Prediction in the Invariant Space for Aria dataset
Refer to caption: extracted/5917755/sigma_Aria_lg_fullcov_mcs10.png

Similar to TLIO (Liu et al., ), we plot the prediction error against standard deviation ($\sigma$) predicted by the network in the invariant space. As seen in Figure 14 and Figure 13 the covariance prediction of our method is consistently within the 3-$\sigma$ depicted by the red lines. These results show that our diagonal covariance prediction in the invariant space is consistent.

### 8.10 Ablation on IMU sequence length

We aligned the sequence length with baseline models for fair comparison. However, in this Section, we ablate on the sequence length as shown in Table 6 and Table 7. Table 6 varies sequence lengths and displacement prediction windows (e.g., 0.5s displacement with 0.5s of 200Hz IMU data results in a sequence length of 100). Table 7 fixes the prediction window at 1s and varies the context window (e.g., a 2s context window with 200Hz IMU data results in a sequence length of 400). Our results confirm TLIO (Liu et al., ) Sec. VII A.1: increasing the context window reduces MSE but not ATE. A lower MSE loss over the same displacement window does not translate to a lower ATE. Thus, the addition of the equivariant framework does not change the characteristics of the base (off-the-shelf) model used.

**Table 6: Results for ablation on changing prediction displacement window on TLIO architecture.**
|  |  | TLIO Dataset | Aria Dataset |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- |
| Model | Context | MSE* | ATE* | RTE* | MSE* | ATE* | RTE* |
| TLIO | Window (s) | ($10^{-2}m^{2}$) | ($m$) | ($m$) | ($10^{-2}m^{2}$) | ($m$) | ($m$) |
| + rot. aug. | 0.5 | 1.132 | 2.029 | 0.340 | 1.038 | 1.489 | 0.332 |
| + rot. aug. | 1 | 3.242 | 3.722 | 0.551 | 5.322 | 2.103 | 0.521 |
| + rot. aug. | 2 | 9.862 | 5.102 | 0.944 | 6.717 | 3.452 | 0.970 |
| + $SO(2)$ Eq. Frame | 0.5 | 1.124 | 0.711 | 0.175 | 1.040 | 0.673 | 0.190 |
| + $\mathbf{SO(2)}$ Eq. Frame | 1 | 3.194 | 2.401 | 0.501 | 2.457 | 1.864 | 0.484 |
| + $SO(2)$ Eq. Frame | 2 | 10.019 | 3.862 | 0.797 | 6.569 | 2.745 | 0.774 |
| + $O(2)$ Eq. Frame | 0.5 | 1.040 | 0.595 | 0.136 | 1.002 | 0.589 | 0.148 |
| + $\mathbf{O(2)}$ Eq. Frame | 1 | 2.982 | 2.382 | 0.479 | 2.304 | 1.849 | 0.465 |
| + $O(2)$ Eq. Frame | 2 | 9.804 | 4.268 | 0.762 | 6.112 | 2.556 | 0.709 |

**Table 7: Results for ablation on changing context window with fixed displacement window of 1s on TLIO architecture.**
|  |  | TLIO Dataset | Aria Dataset |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- |
| Model | Context | MSE* | ATE* | RTE* | MSE* | ATE* | RTE* |
| TLIO | Window ($s$) | ($10^{-2}m^{2}$) | ($m$) | ($m$) | ($10^{-2}m^{2}$) | ($m$) | ($m$) |
| + rot. aug. | 1 | 3.242 | 3.722 | 0.551 | 5.322 | 2.103 | 0.521 |
| + rot. aug. | 2 | 3.199 | 2.555 | 0.511 | 3.790 | 2.895 | 0.713 |
| + rot. aug. | 3 | 3.284 | 4.463 | 0.617 | 3.511 | 3.014 | 0.738 |
| + $\mathbf{SO(2)}$ Eq. Frame | 1 | 3.194 | 2.401 | 0.501 | 2.457 | 1.864 | 0.484 |
| + $SO(2)$ Eq. Frame | 2 | 2.886 | 1.837 | 0.429 | 2.187 | 1.533 | 0.444 |
| +$SO(2)$ Eq. Frame | 3 | 2.790 | 3.090 | 0.492 | 1.986 | 1.684 | 0.447 |
| + $\mathbf{O(2)}$ Eq. Frame | 1 | 2.982 | 2.382 | 0.479 | 2.304 | 1.849 | 0.465 |
| + $O(2)$ Eq. Frame | 2 | 2.382 | 1.895 | 0.367 | 1.307 | 1.382 | 0.338 |
| + $O(2)$ Eq. Frame | 3 | 2.161 | 2.083 | 0.366 | 0.974 | 1.672 | 0.366 |

### 8.11 Sensitivity analysis to gravity direction perturbation

**Table 8: Results for ablation on changing prediction displacement window on TLIO architecture. $\ddagger$ implies the network was trained without gravity direction perturbation.**
|  | TLIO Dataset |  |  |  |
| --- | --- | --- | --- | --- |
| Model | $\vec{g}$  direction perturbation | MSE* | ATE* | RTE* |
| (TLIO) | ($deg$) | ($10^{-2}m^{2}$) | ($m$) | ($m$) |
| + $\mathbf{SO(2)}$ Eq. Frame | 0 | 3.194 | 2.401 | 0.501 |
| + $SO(2)$ Eq. Frame | 2 | 3.201 | 2.409 | 0.500 |
| + $SO(2)$ Eq. Frame | 4 | 3.206 | 2.404 | 0.498 |
| + $SO(2)$ Eq. Frame | 6 | 3.241 | 2.442 | 0.501 |
| + $SO(2)$ Eq. Frame | 8 | 3.298 | 2.502 | 0.506 |
| + $O(2)$ Eq. Frame $\ddagger$ | 0 | 2.982 | 2.406 | 0.478 |
| + $O(2)$ Eq. Frame $\ddagger$ | 2 | 3.198 | 2.663 | 0.498 |
| + $O(2)$ Eq. Frame $\ddagger$ | 4 | 3.742 | 3.292 | 0.559 |
| + $O(2)$ Eq. Frame $\ddagger$ | 6 | 4.505 | 4.228 | 0.659 |
| + $O(2)$ Eq. Frame $\ddagger$ | 8 | 5.433 | 5.218 | 0.768 |
| + $\mathbf{O(2)}$ Eq. Frame | 0 | 2.981 | 2.382 | 0.479 |
| + $O(2)$ Eq. Frame | 2 | 2.988 | 2.390 | 0.480 |
| + $O(2)$ Eq. Frame | 4 | 3.010 | 2.415 | 0.486 |
| + $O(2)$ Eq. Frame | 6 | 3.060 | 2.471 | 0.486 |
| + $O(2)$ Eq. Frame | 8 | 3.095 | 2.506 | 0.489 |

Similar to  Wang et al. (), which indicates that the equivariance of $SO(2)$ can even help the rotation around another axis which is close to $z$, we believe that embedding equivariance wouldn’t harm the performance of the model when there is a slight perturbation which is inline with the experimental results as seen in Table 8.

Table 8 presents the sensitivity analysis to gravity direction perturbation, applied for 5 different ranges, i.e., for 2°, the gravity direction perturbation of (-2°, 2°) is applied to the test dataset. We also present results for + $O(2)$ Eq. Frame model trained without the gravity direction perturbation of (-5°,5°) during training. We observe the same trend of stability in MSE* as reported in TLIO (Liu et al., ) when trained with gravity direction perturbation.

## Peer Reviews

confidence: 4
contribution: 2
initial_rating: 5
presentation: 3
questions: - Why is this canonical. equiv. scheme chosen over other equiv. choices? e.g. frame averaging (Puny et al. ICLR '22) also allows adapting existing non-equiv. architectures.
- I'm confused about the choice of metrics, especially for the TLIO experiments. From the definitions in A.5 (I believe squared norm is missing), it seems that MSE is just sqrt(ATE)? But the numbers don't reflect this. And I also think ATE, RTE, AYE would be sufficient. Do you do SE3 alignment with the GT trajectories?

Minor non-critical comments:
- Could you elaborate on the yaw augmentation procedure used for TLIO / RoNIN?
- It is surprising to me that despite requiring 10x more FLOPs than the non-equiv. architectures, there is barely any increase in runtime (<1 ms). Since there is no code release, can you comment more on the reasons for this efficiency?
- Writing: In Fig. 3b it is not clear what 'rot. sense' means; explain how the frame is constructed from the network outputs with gs-orth. for sake of clarity; Typo in conclusion: "respects eliminates"; Would be helpful to indicate that * means no-EKF in the table 2,3 captions or simply remove the * since it is not applicable to RoNIN.
soundness: 3
strengths: - This is an interesting and novel application of equivariant networks to an under-explored but useful problem. The canonicalization approach is a good choice for this problem as it adapts existing sota IO architectures and keeps the pipeline interpretable.
- The symmetry of the problem in terms of $O_g(3)$ equivariance (which is $O(3)$ subequivariant) is well presented. Care has been taken to consistently process the IMU measurements and specialized $O(2)$/$SO(2)$ architectures based on vector neurons have been developed, while more architectures are possible.
- The approach was tested on two IO architectures which showed accuracy improvements on many datasets, with comprehensive ablation studies, while keeping the inference times comparable.
summary: The authors propose a method to adapt existing inertial odometry (IO) architectures to be invariant to the IMU orientation. This is done by making use of an $O_g(3)$/$SO_g(3)$ equivariant network that transforms the gravity-aligned IMU measurements to a canonical frame as a pre-processing step for non-equivariant IO. The predicted displacement and covariance from IO for these canonicalized measurements are then transformed back to the source frame using the inverse canonical frame. The proposed method leads to improved accuracy while maintaining comparable runtime and can in principle be applied to any IO method.
weaknesses: - The general canonicalization scheme has been proposed before by Kaba, Sékou-Oumar, et al. "Equivariance with learned canonicalization functions." ICML 2023, and cannot not be presented as a contribution. The original work must be cited.
- While there is a reduction in drift compared to the baselines, the remaining drift is still significant (>2m) which suggests that the main problem in IO is not in exact equivariance but elsewhere (most likely sensor noise).

---

confidence: 5
contribution: 3
initial_rating: 5
presentation: 2
questions: What is the roto-reflection group, and why is it important? A more detailed explanation of this concept and its relevance would be helpful.

What is the PCA(handcrafted equivariant frame)? A more detailed explanation of this concept and its relevance would be helpful.

Clarity in distinguishing from RIO: It appears that the figure is intended to convey the core idea of this work. However, the differences between this approach and RIO are unclear—elaborating on this distinction would strengthen the presentation.

Data specification in figure captions: It would be beneficial if each figure caption specified which data is seen and which is unseen to enhance the reader's understanding. Note, the performance of different method highly depends on how much data is seen or trained. 

Supplementary material vs. main paper clarity: The supplementary material provides much better clarity than the main paper. Including some of this contextual information directly in the main paper would make it easier for reviewers to follow your method.
soundness: 2
strengths: I think the method itself looks novel and interesting.  It introduces a canonicalization scheme that leverages gravity and an estimated sub-equivariant frame to map IMU measurements into a canonical orientation. This procedure can be flexibly applied to arbitrary off-the-shelf network architectures by mapping the inputs into the canonical space and mapping the outputs back into the original space.
summary: This work introduces EqNIO, a neural network-based odometry system that enhances localization accuracy using accelerometer and gyroscope data from a single IMU. Traditional neural odometry methods face challenges with generalization, as variations in IMU orientation and motion direction can disrupt displacement predictions. EqNIO overcomes this by training a model with canonical displacement priors, aligning IMU data to a gravity-aligned frame with learnable yaw. This approach ensures that the system’s outputs are invariant to rotations and reflections in the gravity direction, supporting robust generalization. Through carefully designed layers and an innovative angular rate decomposition, EqNIO can effectively integrate both acceleration and angular data. Tested on TLIO, Aria, RONIN, RIDI, and OxIOD datasets, EqNIO demonstrates superior performance and adaptability over existing methods, marking a step forward in low-drift neural inertial odometry suitable for edge devices.
weaknesses: The primary weakness of this paper is the clarity of its writing. I’m unable to fully understand the major differences between this work and RIO: Rotation-equivariance Supervised Learning of Robust Inertial Odometry.

While the key idea of this paper is clear, it’s difficult to discern how it specifically diverges from the previous work. I strongly recommend that the authors begin by clearly outlining the main concepts, followed by a detailed description of the methodology. This structure would greatly help readers in understanding the unique contributions of this work.

---

confidence: 2
contribution: 3
initial_rating: 8
presentation: 3
questions: I wonder for sensor fusion in the form of visual-inertial odometry, it could be helpful to have a good uncertainty estimates from the inertial odometry module. Uncertainty estimates could consider the modelling errors of neural networks, and propagated to the final module. Here, priors can also be defined using physical properties of the system. Would it be a consideration to use Bayesian modelling tools?
soundness: 3
strengths: Pros:

-	The paper is written well with clear figures, and many intuitive explanations of complex concepts.

-	The paper presents several technical contributions, which overall leads to more generalizable framework for inertial odometry. Mixing the physical properties with learning based regression module makes sense, which can boost generalization performance.

-	Experimental results are presented to a large extent, demonstrating advancements to the state of the art. Ablation studies presented are useful to better comprehend the research done.
summary: This paper presents a new method for inertial odometry, which predicts the poses given IMU measurements. The method is called EqNIO, which brings the idea of the so-called canonical displacement priors. How it works, is (1) that IMU measurements are mapped into a gravity aligned, canonical frame with neural networks, and (2) mapping the outputs back to the original frame. Several contributions are presented. A canonicalization scheme is presented, that maps IMU measurements into a canonical orientation. A processing step is devised, which map both accelerometer and gyro readings into a space where gravity direction is preserved. Finally, a neural network designed is presented to perform regression tasks. Several experiments are presented, demonstrating advancements to the state of the art and ablation studies that motivate the overall approach.
weaknesses: Cons:

-	It is not clear if ICLR is the best venue for such research, since learning components here is rather limited to a regression module. 

-	Uncertainty modelling assumes diagonal covariance. Validity of these assumptions are tested by looking at the final performance that it helps. Perhaps an in-depth analysis on this step could help, despite not the core focus of the paper. For example, there has been many evaluation tools from uncertainty quantification literature, and can be presented here.

---

confidence: 4
contribution: 3
initial_rating: 8
presentation: 3
questions: Could you provide a technical explanation of how the canonical displacement priors are implemented in practice?
How exactly do the gravity-aligned frames and equivariant yaw frames work in your model architecture?
What specific mechanisms in your learnable yaw orientation approach help address the yaw drift problem?
Could you provide experimental evidence demonstrating how your method improves yaw estimation compared to existing approaches?
How does your model perform under varying IMU sampling rates?
What are the performance characteristics under extreme motion scenarios where IMU biases may be significant?
How does the system behave in situations with poor gravity alignment?
How does your work relate to recent developments in learning-based inertial attitude estimation?
Could you elaborate on the connections between EqNIO and current research in equivariant neural networks specifically applied to inertial navigation?
soundness: 3
strengths: The paper introduces an approach by applying strict subequivariance in neural inertial odometry, addressing yaw ambiguity and gravity alignment limitations directly within the network architecture, an aspect that prior methods often handled indirectly. Its originality lies in developing a canonicalization scheme using the roto-reflection group to simplify IMU data processing. The authors integrate and extend existing methods by adapting the framework to both end-to-end and filter-based neural inertial odometry systems, which demonstrates its flexibility and scalability. 

In terms of quality, the paper provides detailed, reproducible implementation notes and thorough ablation studies in the appendix that clarify design decisions and evaluate parameterization choices. It emphasizes empirical rigor by testing the model across multiple datasets with varied sensor placements and motion patterns, supporting claims of robustness and broad applicability. Clarity is maintained through structured explanations of complex mathematical formulations, specifically around group theory and its relevance to sensor data processing, while the significant computational efficiency results underscore the practical utility for edge-device applications. The combination of technical insights and comprehensive empirical validation underlines the paper's contribution to advancing neural inertial odometry, particularly in settings with challenging orientations and device constraints.
summary: This paper  presents a method to enhance inertial odometry by applying group equivariance to canonicalize IMU data and targeting yaw ambiguity in gravity-aligned frames through a subequivariant framework. 

The authors design a neural network architecture that maintains equivariance under roto-reflections around the gravity axis, allowing integration with existing systems like RONIN and TLIO. By predicting canonical yaw frames and equivariant covariance matrices, EqNIO improves generalization across diverse motion patterns and reduces drift caused by sensor noise and biases. Experiments on publicly available datasets demonstrate that this method achieves reductions in Mean Squared Error and Absolute Translation Error compared to baseline models, while also exhibiting faster convergence and maintaining computational efficiency suitable for deployment on edge devices.
weaknesses: The abstract describes EqNIO as leveraging "canonical displacement priors" to generalize across arbitrary IMU orientations, but it lacks a clear technical explanation of how these priors work in practice. Generalization is claimed to stem from "canonical gravity-aligned frames" and "equivariant yaw frames," but the abstract could benefit from a more precise explanation of these transformations and their operationalization in the model.

The learnable yaw orientation in canonical frames is a promising feature but lacks clarity on how it resolves yaw drift or improves orientation estimation, given that yaw is typically the most challenging to estimate accurately in inertial odometry due to the absence of an absolute reference.

The introduction highlights EqNIO’s generalization and robustness but does not discuss potential limitations or scenarios where the approach may struggle (e.g., handling different sampling rates, extreme motions where IMU biases may not be fully mitigated, or contexts with poor gravity alignment).

While EqNIO is compared to existing neural odometry methods like TLIO and RONIN, the introduction does not delve into specific weaknesses in these prior approaches and how EqNIO addresses these limitations.

The paper covers a broad range of related works but may omit some recent or seminal papers in the domain of learning-based inertial odometry and equivariant neural networks. Ensure a comprehensive literature review by including all relevant and recent works that contribute to the field. This includes verifying that seminal papers and the latest advancements are adequately cited to position EqNIO within the current research landscape. Due to the inherent relationship between odometry and inertial attitude estimation, as well as the similar methods applied to both, I highly encourage you to explore these areas further, including learning-based approaches to inertial attitude estimation.

The descriptions of related methods (e.g., TLIO, RONIN) are somewhat high-level and lack technical depth.  Providing only superficial descriptions may not adequately highlight the nuances that differentiate EqNIO from these methods.

Meta-review: This paper tackles neural inertial odometry estimation, and seeks to regularize training by developing a network that is equivariant to rotations over x,y in a gravity-aligned frame. Theoretically, this is a more principle approach that the earlier methods of regularization via data augmentation and the design of the subequivariant layers is a neat contribution. Empirically, this leads to improvement over baselines and the contributions/design choices are well-ablated method. The reviewers were generally positive about this work, and the AC concurs with this and recommends acceptance. The authors are encouraged to make the text a bit more accessible in the final version based on the reviewer comments.

Decision: Accept (Poster)