\subsubsection*{Acknowledgments}


Experiments on the FAUST and TOSCA datasets were performed using the HAL \citep{HALcluster} and Mila compute clusters. 

This research is the result of a collaboration initiated at the London Geometry and Machine Learning Summer School 2021 (LOGML). This work utilizes resources supported by the National Science Foundation’s Major Research Instrumentation program, grant \#1725729, as well as the University of Illinois at Urbana-Champaign. JGP is supported by the Canada CIFAR AI Chair Program and by an IVADO PhD Excellence Scholarship. FV is supported by and thankful to the EPSRC.

\section{Geometric Kernel Constraints in GEM-CNNs}\label{app:GEM-CNNs}


\begin{table}[h]
\[
\begin{array}{c|c}
\hline \rho_{\text {in }} \rightarrow \rho_{\text {out }} & \text { linearly independent solutions for } K_{\text {neigh }}(\theta) \\
\hline \rho_{0} \rightarrow \rho_{0} & (1) \\
\rho_{n} \rightarrow \rho_{0} & (\cos n \theta \ \sin n \theta), \ (\sin n \theta \ -\cos n \theta) \\
\rho_{0} \rightarrow \rho_{m} & \left(\begin{array}{c}
\cos m \theta \\
\sin m \theta
\end{array}\right),\left(\begin{array}{r}
\sin m \theta \\
-\cos m \theta
\end{array}\right) \\
\rho_{n} \rightarrow \rho_{m} & \left(\begin{array}{rr}
c_{-} & -s_{-} \\
s_{-} & c_{-}
\end{array}\right),\left(\begin{array}{rc}
s_{-} & c_{-} \\
-c_{-} & s_{-}
\end{array}\right),\left(\begin{array}{rr}
c_{+} & s_{+} \\
s_{+} & -c_{+}
\end{array}\right),\left(\begin{array}{rr}
-s_{+} & c_{+}\\
c_{+} & s_{+}
\end{array}\right) \\
\hline \rho_{\text {in }} \rightarrow \rho_{\text {out }} & \text { linearly independent solutions for } K_{\text {self }}(\theta) \\
\hline \rho_{0} \rightarrow \rho_{0} & (1) \\
\rho_{n} \rightarrow \rho_{n} & \left(\begin{array}{ll}
1 & 0 \\
0 & 1
\end{array}\right),\left(\begin{array}{rr}
0 & 1 \\
-1 & 0
\end{array}\right) \\
\hline
\end{array}
\]
\caption{Solutions to the angular kernel constraint for kernels that map from $\rho_n$ to $\rho_m$, where $c_{\pm} = \cos((m \pm n)\theta)$ and $s_{\pm} = \sin((m \pm n)\theta)$. This table is directly taken from \cite{dehaan2020gauge}.}
\label{table:kernel_sol}
\end{table}


Message passing in GEM-CNNs \cite{dehaan2020gauge} is defined by the equation
\begin{equation*}
f'_p = K_\mathrm{self} f_p + \sum_{q \in \mathcal{N}_p} K_\mathrm{neigh}(\theta_{pq}) \rho_\mathrm{in}(g_{q \to p}) f_q.
\end{equation*}
Gauge equivariance translate on the kernels $K_\mathrm{self}$ and $K_\mathrm{neigh}(\theta)$ as
\begin{equation*}
    K_\mathrm{self} = \rho_\mathrm{out}(-g) \  K_\mathrm{self} \ \rho_\mathrm{in}(g), \quad K_\mathrm{neigh}(\theta-g) = \rho_\mathrm{out}(-g) \ K_\mathrm{neigh}(\theta) \ \rho_\mathrm{in}(g).
\end{equation*}
The representation $\rho_\mathrm{in}$ decomposes in irreducible components as $\oplus \rho_{n_j}$, and the representation $\rho_\mathrm{out}$ as $\oplus \rho_{m_i}$. Then, the kernels $K_\mathrm{self}$ and $K_\mathrm{neigh}(\theta)$ are block matrices obtained by combining possible block kernels $(K_\mathrm{self})_{ij}$ and $(K_\mathrm{neigh}(\theta))_{ij}$ from features of type $\rho_{n_j}$ to features of type $\rho_{m_i}$. Linearly independent solutions of the kernel constraint are listed in Table \ref{table:kernel_sol} (derived in \cite{weiler2019}). A generic kernel from features of type $\rho_n$ to feature of type $\rho_m$ is a linear combination of learnable parameters of the given basis. \cref{table:kernel_sol} also provides solutions for the kernel equations in \cref{sec:gauge-eq-attn}.

\section{More on Relative Tangent Features}

\subsection{The exponent $3/2$}\label{app:exponent}

We explain the choice of the exponent $3/2$ in the expression for relative tangent features. We rewrite the relative tangent feature $v_p$ as
\begin{equation*}
v_p = \frac{1}{N_p^{3/2}} \cdot \pi_p \left[ \left( \sum_{q \in \mathcal{N}_p} \frac{(q-p)}{||q-p||^r} \right) \cdot \left( \sum_{q \in \mathcal{N}_p} ||q-p||^{r-1} \right) \right],
\end{equation*}
and we focus on the expression inside the square brackets. We view the vectors $q-p$, as $q \in \mathcal{N}_p$, as random vectors $X_i$, for $i = 1, \dots, N$, where $N=N_p$ is the degree of $p$. The expression therefore becomes
\begin{equation*}
\sum_{i=1}^N \frac{X_i}{||X_i||^r} \cdot \sum_{j=1}^N ||X_j||^{r-1}.
\end{equation*}
The expected value of the squared norm of this vector is
\begin{equation*}
\mathbb{E} \left[ \left< \sum_{i=1}^N \frac{X_i}{||X_i||^r} \cdot \sum_{j=1}^N ||X_j||^{r-1} , \sum_{i'=1}^N \frac{X_{i'}}{||X_{i'}||^r} \cdot \sum_{j'=1}^N ||X_{j'}||^{r-1} \right> \right] = \sum_{i, j, i', j'=1}^N \mathbb{E} \left[ \frac{||X_j||^{r-1}||X_{j'}||^{r-1}}{||X_i||^r ||X_{i'}||^r} \left< X_i , X_{i'} \right> \right].
\end{equation*}
It is reasonable to assume that the terms with $i \neq i'$ in the sum cancel out. For instance, all the terms with $i\neq i'$ are zero if the variables $X_i$ are supposed to be independent and identically distributed, and their probability density function factors into radial and angular components, and the distribution of the angular component satisfies some symmetry conditions. The considered expected value then simplifies (only considering $i=i'$) as
\begin{equation*}
\sum_{i, j, j'=1}^N \mathbb{E} \left[ \frac{||X_j||^{r-1}||X_{j'}||^{r-1}}{||X_i||^{2(r-1)}} \right].
\end{equation*}
This sum presents $N^3$ addends. Notice that these terms are potentially different. However, if we assume that the variables are independent and identically distributed, at least $N^3-3N^2+2N$ terms -- for which $i, j, j'$ are all distinct -- are the same. Therefore, the sum scales with a factor of $N^3$. We introduce a factor $1/N^{3/2}$ into the original vector, so that the considered expected value neither explodes nor vanishes as $N$ becomes large.

\subsection{Proof of Lemma \ref{lemma:RelTanEquiv}}\label{app:proof_RelTan_equiv_lemma}
The relative tangent features to the mesh ${\mathcal{M}}$ are defined as (compare with Equation \ref{eqn:RelTan})
\begin{equation*}
v_p^{\mathcal{M}} = \frac{1}{N_p^{3/2}} \cdot \left( \sum_{q \in \mathcal{N}_p} \frac{\pi_p^{\mathcal{M}} (q-p)}{||q-p||^r} \right) \cdot \left( \sum_{q \in \mathcal{N}_p} ||q-p||^{r-1} \right),
\end{equation*}
where we make explicit the given mesh ${\mathcal{M}}$.

\textbf{Equivariance under global rotations of $\mathbb{R}^3$.} Let $R \in \mathrm{SO}(3)$ be a global rotation in $\mathbb{R}^3$, and denote by $R{\mathcal{M}}$ the mesh obtained by rotating ${\mathcal{M}}$ according to $R$. Notice that the set of neighbors $q' \in \mathcal{N}_{Rp}$ of the node $Rp$ in the mesh $R{\mathcal{M}}$ is the set of points $Rq$, as $q \in \mathcal{N}_p$ for the mesh ${\mathcal{M}}$. Also, the normal vector $n_{Rp}^{R{\mathcal{M}}}$ to the mesh $R{\mathcal{M}}$ at the node $Rp$ is nothing but $R n_p^{\mathcal{M}}$. Consequently,
\begin{equation*}
\pi_{Rp}^{R{\mathcal{M}}} = I - n_{Rp}^{R{\mathcal{M}}} \left(n_{Rp}^{R{\mathcal{M}}} \right)^\top = I - Rn_p^{\mathcal{M}} \left(n_p^{\mathcal{M}} \right)^\top R^\top = R \pi_p^{\mathcal{M}} R^\top,
\end{equation*}
where we used that $RR^\top = I$. The relative tangent feature at node $Rp$ for the mesh $R{\mathcal{M}}$ is
\begin{align*}
v_{Rp}^{R{\mathcal{M}}} &= \frac{1}{N_{Rp}^{3/2}} \cdot \left( \sum_{q' \in \mathcal{N}_{Rp}} \frac{\pi_{Rp}^{R{\mathcal{M}}}(q'-Rp)}{||q'-Rp||^r} \right) \cdot \left( \sum_{q' \in \mathcal{N}_{Rp}} ||q'-Rp||^{r-1} \right)\\
&= \frac{1}{N_p^{3/2}} \cdot \left( \sum_{q \in \mathcal{N}_p} \frac{R \pi_p^{\mathcal{M}} R^\top \left(R (q-p) \right)}{|R(q-p)|^r}  \right) \cdot \left( \sum_{q \in \mathcal{N}_p} ||R(q-p)||^{r-1} \right)\\
&= R \cdot \frac{1}{N_p^{3/2}} \cdot \left( \sum_{q \in \mathcal{N}_p} \frac{\pi_p^{\mathcal{M}} (q-p)}{||q-p||^r} \right) \cdot \left( \sum_{q \in \mathcal{N}_p} ||q-p||^{r-1} \right) = R v_p^{\mathcal{M}},
\end{align*}
that is equivariance under global rotations.

\textbf{Invariance under translations of $\mathbb{R}^3$.} The argument is similar. If $x \in \mathbb{R}^3$ determines a translation, denote by ${\mathcal{M}} + x$ the translated mesh. The set of neighbors $q' \in \mathcal{N}_{p+x}$ of the node $p+x$ in the mesh ${\mathcal{M}}+x$ is the set of points $q+x$, as $q \in \mathcal{N}_p$ for the mesh ${\mathcal{M}}$. Also, the normal vector $n_{p+x}^{{\mathcal{M}}+x}$ to the mesh ${\mathcal{M}}+x$ at the node $p+x$ is the original $n_p^{\mathcal{M}}$, and therefore $\pi_{p+x}^{{\mathcal{M}}+x} = \pi_p^{\mathcal{M}}$. Hence,
\begin{align*}
v_{p+x}^{{\mathcal{M}}+x} &= \frac{1}{N_{p+x}^{3/2}} \cdot \left( \sum_{q' \in \mathcal{N}_{p+x}} \frac{\pi_{p+x}^{{\mathcal{M}}+x} (q'-(p+x))}{||q'-(p+x)||^r} \right) \cdot \left( \sum_{q' \in \mathcal{N}_{p+x}} ||q'-(p+x)||^{r-1} \right)\\
&= \frac{1}{N_p^{3/2}} \cdot \left( \sum_{q \in \mathcal{N}_p} \frac{\pi_p^{\mathcal{M}} (q-p)}{||q-p||^r} \right) \cdot \left( \sum_{q \in \mathcal{N}_p} ||q-p||^{r-1} \right) = v_p^{\mathcal{M}},
\end{align*}
that is invariance under translations.

\textbf{Invariance under scaling of $\mathbb{R}^3$.} Again, a similar argument. Let $\lambda > 0$ be the scaling factor, determining the map $p \mapsto \lambda p$ for $p \in \mathbb{R}^3$. The set of neighbors $q' \in \mathcal{N}_{\lambda p}$ of the node $\lambda p$ in the mesh $\lambda {\mathcal{M}}$ is the set of points $\lambda q$, as $q \in \mathcal{N}_p$ for the mesh ${\mathcal{M}}$. As above, we deduce that $\pi_{\lambda p}^{\lambda {\mathcal{M}}} = \pi_p^{\mathcal{M}}$. Thus, as $\lambda > 0$,
\begin{align*}
v_{\lambda p}^{\lambda {\mathcal{M}}} &= \frac{1}{N_{\lambda p}^{3/2}} \cdot \left( \sum_{q' \in \mathcal{N}_{\lambda p}} \frac{\pi_{\lambda p}^{\lambda {\mathcal{M}}} (q'-(\lambda p))}{||q'-(\lambda p)||^r} \right) \cdot \left( \sum_{q' \in \mathcal{N}_{\lambda p}} ||q'-(\lambda p)||^{r-1} \right)\\
&= \frac{1}{N_p^{3/2}} \cdot \left( \sum_{q \in \mathcal{N}_p} \frac{\lambda \pi_p^{\mathcal{M}} (q-p)}{\lambda^r ||q-p||^r} \right) \cdot \left( \sum_{q \in \mathcal{N}_p} \lambda^{r-1} ||q-p||^{r-1} \right)\\
&= \frac{1}{N_p^{3/2}} \cdot \left( \sum_{q \in \mathcal{N}_p} \frac{\pi_p^{\mathcal{M}} (q-p)}{||q-p||^r} \right) \cdot \left( \sum_{q \in \mathcal{N}_p} ||q-p||^{r-1} \right) = v_p^{\mathcal{M}},
\end{align*}
that is invariance under scaling.

\section{Node permutation equivariance of SpiralNet++}\label{app:spiral}
The SpiralNet++ convolution on meshes makes use of \textit{spiral sequences} around nodes \citep{gong2019spiralnet++}. Given a node, a spiral length, an orientation, and a preferred starting neighbor, the node sequence that constitutes the spiral is uniquely determined\footnote{See Section 3.2 of \citep{gong2019spiralnet++} for details on the construction of the spirals.}. The authors consider a fixed counter-clockwise orientation for all spiral sequences, and the choice of starting neighbor is arbitrary. With these choices, let $S(i, \lambda)$ denote the indices of the nodes belonging to the spiral sequence of length $\lambda$ starting at node $i$. The feature update follows the rule $x'_i = \texttt{MLP} \left( \big\Vert_{j \in S(i, \lambda)} x_j \right)$. 



In \cref{sec:truly-eq-message-passing}, we analyze the response of SpiralNet++ to different types of transformations, including node permutation. This is equivalent to saying that the indices of the preferred neighbor choices transform according to the permutation. This may represent an issue for node permutation equivariance: since the choice of preferred neighbor is arbitrary, unless stored explicitly along with the mesh, it is not possible to guarantee that the ``same'' choice of starting neighbors will be made \textit{after} having permuted the nodes. For example, consider a common mesh along with two different labelings $A$ and $B$ of its nodes, and an arbitrary choice of starting neighbors under labeling $A$. It is not possible to infer the \textit{arbitrary} choice of starting neighbors under labeling $B$ based only on the permutation relating the change of labeling $A \rightarrow B$.

This challenge can be easily resolved by taking into account the geometry of the mesh when choosing starting neighbors: e.g., choosing the closest neighbor in the Euclidean distance as preferred neighbor.














\section{Experimental Details}
\label{app:exp_details}

\textbf{Inputs.} The input feature type for GEM-CNN (XYZ) and EMAN (XYZ) is $3 \times \rho_0$, and for models using relative tangent features, GEM-CNN (RelTan) and EMAN (RelTan), it is $\rho_0 \oplus \rho_1$, where relative tangent features are stored in the $\rho_1$ part of the feature and the scalar $\rho_0$ is set to zero.

\textbf{Models.} For both segmentation and classification tasks, our models consist of two blocks: a convolution block and a dense block. The convolution block further consists of three sequential gauge equivariant residual blocks. Each residual block consists of two gauge equivariant convolutions followed by a summation of the input to the output of the block. The nature of message passing in these convolutions correspond to the choice of the model, e.g. GEM-CNN consists of convolutions of the form \eqref{eqn:GEM}, whereas EMAN consists of attention mechanism \eqref{eqn: attn_function}.

For each model, the feature type of the input layer matches the feature type of the input features. The final layer of the sequence of residual blocks is of feature type $16 \times \rho_0$, i.e., 16 channels with only scalar features. All the intermediate feature types in the model are fixed to $16 \times (\rho_0 \oplus \rho_1 \oplus \rho_2)$. 
The second block consists of two dense layers. The first dense layer is of dimension $16 \times 256$ and the second dense layer maps to the target dimension followed by a softmax function. The output of the first layer is also passed through ReLU~\cite{glorot2011deep} and a dropout layer with parameter 0.5~\cite{srivastava2014dropout}. The target dimension for the segmentation task on FAUST is $6890$ and for classification task on TOSCA is $9$.
Further, in the case of classification, we also use mean pooling of the output of the first dense layer over the nodes. 

\textbf{Hyperparameters.} We train using a learning rate of $0.01$ for $100$ epochs for segmentation tasks and a learning rate of $0.002$ for 50 epochs for classification tasks respectively. We use Adam optimizer~\cite{kingma2014adam} and negative log-likelihood loss function.



\section{Equivariance vs Data Augmentation}
\label{app:eq_data_aug}

Equivariance in machine learning has arisen as a principled alternative to data-augmentation. Section~5.1 of  \citep{thomas2018tensor} shows that ``rotation equivariance eliminates the need for rotational data augmentation'' for point cloud data. Here, we show that the same applies to mesh data as well. To this end, we perform experiment on the FAUST dataset with data augmentation applied to both the training and test sets and compare the improvements brought by equivariance and data augmentation. 


\begin{figure}[h]
\centering
    \includegraphics[width=6.5cm]{images/eman_eq_vs_aug.png}
    \caption{Effect of relative tangent features on test accuracy during training for a GEM-CNN model (averaged over 3 seeds). The results show better performance and lower variance for the model trained using relative tangent features.}
    \label{fig:equiv_vs_aug}
\end{figure}

Fig.~\ref{fig:equiv_vs_aug} shows the accuracy (over 3 runs) for GEM-CNN models with initial XYZ and relative tangent features trained using roto-translation augmentations on the training set. This experiment confirms that \textit{data augmentation} improves the generalization of non-equivariant model to unseen roto-translations: compare purple line above $90\%$ with $1\%$ test  accuracy for GEM-CNN[XYZ] in Table \ref{tab:faust_main_exp}. 

Despite this improvement, \emph{data augmentation is outperformed by equivariance}: the equivariant model (using relative tangent features) learns faster, has better final performance and lower variance during training.


\section{Time Comparison between EMAN and GEM-CNN}
\label{app:time_comparison}

Here we provide a high-level time complexity analysis of EMAN compared to GEM-CNN. The bottleneck computations for both GEM-CNN and EMAN are expressions involving multiple matrix multiplications, of the type $K(\theta_{pq})\rho_\mathrm{in}(g_{q\rightarrow p})f_q$, computed for every orientation of each edge $q \to p$. For EMAN, additionally, attention coefficients are computed for every orientation of each edge. Computation of attention coefficients involve the same type of matrix multiplication as in GEM-CNN. Therefore, we observe an increased time to process features in EMAN than in GEM-CNN. Moreover, as both EMAM and GEM-CNN time complexities are proportional to the number of such operations involved in the models, the ratio of runtimes for EMAN and GEM-CNN scales as a constant in the limit of number of edges.

In practice, from Fig.~\ref{fig:time_comparison} we find that EMAN takes twice as much time as GEM-CNN for the FAUST dataset. However, because of the use of attention mechanism, EMAN surpasses the performance of GEM-CNN within the 30 minutes that GEM-CNN takes to complete its 100 epochs. Hence, even though EMAN has higher time-complexity, it can outperform GEM-CNN within a short window of training time.











\begin{figure}[h]
    \centering
    \includegraphics[width=6.5cm]{images/eman_time_comparison.png}
    \caption{Wall-time comparison between GEM-CNN and EMAN. EMAN requires twice as long per epoch, due to the use of attention. However, given a fixed budget of 30 minutes, the accuracy for EMAN on the FAUST dataset surpasses that of GEM-CNN.}
    \label{fig:time_comparison}
\end{figure}



    


\section{Equivariant Mesh Attention Layer: algorithm, proofs, multi-head, and self-contribution}\label{app:EMA_layer}

\subsection{Equivariant Mesh Attention Layer algorithm} 

\input{eman_algo}

\subsection{Proof of \cref{lemma:gauge_equiv_layer}}\label{app:proof_lemma_gauge_equiv_layer}
The proof boils down to underlying two steps. First, the softmax-argument is invariant under gauge transformation. In addition, multiplying the matrix $\mathbf{V}_p$ (that transforms as a feature of type $\rho_\mathrm{out}$) with the invariant softmax-vector produces a feature of type output. Here we provide a detailed proof.

Under a gauge transformation $g \in \mathrm{SO}(2)$, the coordinate vectors $f_p$ and $\rho_\mathrm{in}(g_{q \to p}) f_q$ at $p$ transform as
\begin{align*}
f_p \mapsto \rho_\mathrm{in}(-g) f_p, \quad \rho_\mathrm{in}(g_{q \to p}) f_q \mapsto \rho_\mathrm{in}(-g) \rho_\mathrm{in}(g_{q \to p}) f_q.
\end{align*}
Also, the angle $\theta$ changes as $\theta \mapsto \theta-g$ under the same gauge transformation. Using these relations, together with the ones expressed in Equation \ref{eqn:gauge_qkv}, we see that $\mathbf{Q}_p$ and the $\mathbf{K}_{pq}$ transform as features of type $\rho_\mathrm{att}$, while the $\mathbf{V}_{pq}$ transform as features of type $\rho_\mathrm{out}$:
\begin{equation*}
    \mathbf{Q}_p \mapsto \rho_\mathrm{att}(-g) \mathbf{Q}_p,\qquad
    \mathbf{K}_{pq} \mapsto \rho_\mathrm{att}(-g) \mathbf{K}_{pq},\qquad
    \mathbf{V}_{pq} \mapsto \rho_\mathrm{out}(-g) \mathbf{V}_{pq}.
\end{equation*}
We see this explicitly, for instance, for the case of $\mathbf{K}_{pq}$:
\begin{align*}
    \mathbf{K}_{pq} &= K_\mathrm{key}(\theta_{pq}) \rho_\mathrm{in}(g_{q \to p}) f_q\\
    &\mapsto K_\mathrm{key}(\theta_{pq}-g) \rho_\mathrm{in}(g^{-1}) \rho_\mathrm{in}(g_{q \to p}) f_q\\
    &= \rho_\mathrm{att}(-g) K_\mathrm{key}(\theta) \rho_\mathrm{in} (g)\rho_\mathrm{in}(g^{-1}) \rho_\mathrm{in}(g_{q \to p}) f_q\\
    &=\rho_\mathrm{att}(-g) K_\mathrm{key}(\theta) \rho_\mathrm{in}(g_{q \to p}) f_q\\
    &= \rho_\mathrm{att}(-g) \mathbf{K}_{pq},
\end{align*}
where we made use of the constraint $K_\mathrm{key}(\theta-g) = \rho_\mathrm{att}(-g)K_\mathrm{key}(\theta)\rho_\mathrm{in}(g)$. Computations for the other cases are similar. Being obtained by column-concatenation from $\mathbf{K}_{pq}$ and $\mathbf{V}_{pq}$, the matrices $\mathbf{K}_p$ and $\mathbf{V}_p$ undergo the same transformations as well:
\begin{align*}
\mathbf{K}_p \mapsto \rho_\mathrm{att}(-g) \mathbf{K}_p, \quad \mathbf{V}_p \mapsto \rho_\mathrm{out}(-g) \mathbf{V}_p.
\end{align*}
Finally, the convolutional outcome transforms as
\begin{align*}
f'_p &\mapsto \rho_\mathrm{out}(-g) \cdot N_p \cdot \mathbf{V}_p \cdot \mathrm{softmax} \left( \frac{\mathbf{K}_p^\top \rho_\mathrm{att}(-g)^\top \rho_\mathrm{att}(-g) \mathbf{Q}_p}{\sqrt{C_\mathrm{att}}} \right)\\
&= \rho_\mathrm{out}(-g) \cdot N_p \cdot \mathbf{V}_p \cdot \mathrm{softmax} \left( \frac{\mathbf{K}_p^\top \cdot \mathbf{Q}_p}{\sqrt{C_\mathrm{att}}} \right)\\
&= \rho_\mathrm{out}(-g) \cdot f'_p,
\end{align*}
where we used the orthogonality of the representation $\rho_\mathrm{att}$, namely $\rho_\mathrm{att}(-g)^\top = \rho_\mathrm{att}(-g)^{-1}$. In conclusion, $f'_p=\mathrm{Attention}(\mathbf{Q}_p, \mathbf{K}_p, \mathbf{V}_p)$ transforms as a feature of type $\rho_\mathrm{out}$, and the proposed method is gauge equivariant.

\subsection{Proof of \cref{lemma:rot_equiv_layer}}\label{app:proof_lemma_rot_equiv_layer}
Suppose that $R \in \mathrm{SO}(3)$ is a global rotation of $\mathbb{R}^3$, mapping the mesh ${\mathcal{M}}$ to the mesh $R{\mathcal{M}}$. Given a feature $f$ of type $\rho_\mathrm{in}$ on ${\mathcal{M}}$, we represent it at a point $p$ by its coordinates $f_p$, with respect to a gauge $\mathbf{E}_p$. Then, the rotation $R$ defines a feature $R_* f$ on $R{\mathcal{M}}$, with coordinates $(R_* f)_{Rp} = f_p$ with respect to the gauge $R\mathbf{E}_p$. Here comes the key remark: the quantities $\theta_{Rp, Rq}$ and $g_{Rq \to Rp}$ with respect to the gauge $R\mathbf{E}_p$ at $Rp$ for $R{\mathcal{M}}$ are precisely the quantities $\theta_{pq}$ and $g_{q\to p}$ with respect to the gauge $\mathbf{E}_p$ at $p$ for ${\mathcal{M}}$. Indeed, $g_{q\to p}$ can be computed as
\begin{equation*}
    g_{q \to p} = \mathrm{atan2} \big( ( R_{q\to p} e_{q,2} )^\top e_{p,1} , ( R_{q\to p} e_{q,1} )^\top e_{p,1} ) \big),
\end{equation*}
where $R_{q \to p}$ is the unique rotation of $\mathbb{R}^3$ that maps $n_q$ to $n_p$, with fixed axis $n_q \times n_p$,

For $\theta_{pq}$, instead, we notice that the angle can be written as
\begin{equation*}
    \theta_{pq} = \mathrm{atan2} (e_{p,2}^\top \log_p(q), e_{p,1}^\top \log_p(q) ),
\end{equation*}
where $\log_p$ is the norm-preserving discrete logarithmic map
\begin{equation*}
    \log_p (q) = ||q-p|| \frac{(I-n_p n_p^\top) (q-p)}{||(I-n_p n_p^\top) (q-p)||}.
\end{equation*}
Therefore, the outcome $(R * f)'_{Rp}$ of the convolution at $Rp$ for $R{\mathcal{M}}$ is equal to the outcome of the convolution $f'_p$ at $p$ for ${\mathcal{M}}$. In other words, the feature mapping defined by the convolutional update is global rotation equivariant.

A similar argument can be applied to global translation $T$ and scaling $S$ equivariance: the coordinate vector of the feature do not change under $T_*$ or $S_*$, the gauge is left unchanged, and the quantities $\theta_{pq}$ and $g_{q \to p}$ are not modified. In conclusion, the convolutional step is also translation and scaling invariant. Notice that a key property, implicitly used when considering scaling, is the dependence of the kernel only on angles, and not on the radial component.

\subsection{Proof of Theorem \ref{thm:equiv}}\label{app:proof_equiv_thm}

We prove the result for the designed Equivariant Mesh Attention models for segmentation and classification tasks, whose details are described in \cref{app:exp_details}.

Thanks to \cref{lemma:gauge_equiv_layer} and \cref{lemma:rot_equiv_layer}, each of the three blocks in the convolutional block is gauge and global rotation equivariant, and global translation and global scaling invariant. Therefore, the whole convolutional block satisfies the same properties, and it outputs a sum of scalar features. As operations in the dense block are defined on scalar features only, and not involving any quantities related to the geometry of the mesh, the same equi/in-variant properties hold also for the dense block. Finally, thanks to \cref{lemma:RelTanEquiv}, the process of computing relative tangent features is consistent with the above properties, and the whole model is gauge invariant, global rotation equivariant, and global translation and global scaling invariant.

Regarding equivariance under permutation, it is enough to notice that all the operations involved in the convolutional block, and the process of computing relative tangent features, are permutation equivariant. Moreover, the operations in the dense block are defined node-wise, and the same operation on features is applied at each node. In conclusion, the whole model is equivariant under permutation (in the segmentation task, and invariant in the classification task).

\subsection{Multi-head}\label{app:multi_head}

It is feasible to incorporate multi-head attention in the Equivariant Mesh Attention layer, and we present here how. However, we did not notice an improvement in performance when integrating this factor in our implementation for the considered tasks.

Choose $h$ and $d=d_\mathrm{model}$ such that $C_\mathrm{out} = dh$. For each $i=1, \dots, h$, consider projection matrices of size $d \times C_\mathrm{att}$, denoted by $W^i_{\mathrm{query}}, W^i_{\mathrm{key}}$, and a projection matrix of size $d \times C_\mathrm{out}$, denoted be $W^i_{\mathrm{value}}$. Also, for each $i=1, \dots, h$ we fix a representation $\rho_i \colon \mathrm{SO}(2) \to \mathbb{R}^d$. For these matrices, we require the gauge equivariant conditions
\begin{equation*}
W^i_{\mathrm{query}} = \rho_i(-g)     W^i_{\mathrm{query}} \rho_\mathrm{att}(g),\qquad
W^i_{\mathrm{key}} = \rho_i(-g) W^i_{\mathrm{key}} \rho_\mathrm{att}(g),\qquad
W^i_{\mathrm{value}} = \rho_i(-g) W^i_{\mathrm{value}} \rho_\mathrm{out}(g).
\end{equation*}
Finally, we consider a $C_\mathrm{out} \times C_\mathrm{out}$ matrix $W^O$. We define the representation $\rho_\mathrm{diag} \colon \mathrm{SO}(2) \to \mathbb{R}^{C_\mathrm{out}}$ by block-diagonal concatenation of the $h$ representations $\rho_i$. The gauge equivariant condition satisfied by $W^O$ is therefore
\begin{equation*}
    W^O=\rho_\mathrm{out}(-g) W^O \rho_\mathrm{diag}(g).
\end{equation*}
Then, the multihead attention outcome is defined by
\begin{equation*}
    \mathrm{MultiHead}(\mathbf{Q}_p, \mathbf{K}_p, \mathbf{V}_p) = W^O \cdot \mathrm{Concat}(\mathrm{head}_1, \dots, \mathrm{head}_h),
\end{equation*}
where
\begin{equation*}
    \mathrm{head}_i = \mathrm{Att} (W^i_{\mathrm{query}} \mathbf{Q}_p, W^i_{\mathrm{key}} \mathbf{K}_p, W^i_{\mathrm{value}} \mathbf{V}_p ).
\end{equation*}

\subsection{Equivariant Mesh Attention Layer with Self-Contribution}\label{app:self_contr}
Here we provide the details of the convolutional update variant including self-contribution (compare with Equation \ref{eqn:GEMAtt}):
\begin{equation*}
    f'_p = \alpha_{pp} K_\mathrm{self} f_p + \sum_{q \in \mathcal{N}_p} \alpha_{pq} K_\mathrm{neigh}(\theta_{pq}) \rho_\mathrm{in}(g_{q \to p}) f_q.
\end{equation*}
In line with Section \ref{sec:gauge-eq-attn}, we consider the quantities
\begin{align*}
\begin{split
	\mathbf{Q}_p = K_{\mathrm{query}} f_p, \quad
	\mathbf{K}_{pp} &= K_\mathrm{key}^\mathrm{self} f_p, \quad
	\mathbf{K}_{pq} = K_{\mathrm{key}}^{\mathrm{neigh}}(\theta_{pq})\rho_\mathrm{in}(g_{q\rightarrow p})f_q,\\
	\mathbf{V}_{pp} &= K_\mathrm{value}^\mathrm{self} f_p, \quad
	\mathbf{V}_{pq} = K_{\mathrm{value}}^{\mathrm{neigh}}(\theta_{pq})\rho_\mathrm{in}(g_{q\rightarrow p})f_q.
\end{split}
\end{align*}
Here, $K_{\mathrm{query}}$, $K_{\mathrm{key}}^{\mathrm{self}}$, and $K_{\mathrm{key}}^{\mathrm{neigh}}(\theta)$ are $C_{\mathrm{att}} \times C_{\mathrm{in}}$ matrices, while $K_{\mathrm{value}}^{\mathrm{self}}$ and $K_{\mathrm{value}}^{\mathrm{neigh}}(\theta)$ are $C_{\mathrm{out}} \times C_{\mathrm{in}}$ matrices. We define $\mathbf{K}_p$ as the $C_\mathrm{att} \times (N_p+1)$ matrix obtained by concatenating as columns the column vectors $\mathbf{K}_{pp}$ and $\mathbf{K}_{pq}$, as $q$ varies. Similarly, $\mathbf{V}_p$ is the $C_\mathrm{out} \times (N_p+1)$ matrix obtained via the same procedure from the column vectors $\mathbf{V}_{pp}$ and $\mathbf{V}_{pq}$, as $q$ varies. The outcome
\begin{equation*
	\mathrm{Att}(\mathbf{Q}_p, \mathbf{K}_p, \mathbf{V}_p) = (N_p + 1) \cdot \mathbf{V}_p \cdot \mathrm{softmax} \left( \frac{\mathbf{K}_p^\top \cdot \mathbf{Q}_p}{\sqrt{C_\mathrm{att}}} \right)
\end{equation*}
is a column vector of length $C_\mathrm{out}$, and in fact a feature of type output.

Gauge equivariance for the matrices $K_{\mathrm{query}}$, $K_{\mathrm{key}}(\theta)$, and $K_{\mathrm{value}}(\theta)$, translates as:
\begin{align*}\begin{split
    K_\mathrm{query} &= \rho_\mathrm{att}(-g) K_\mathrm{query} \rho_\mathrm{in} (g),\\
    K_\mathrm{key}^{\mathrm{self}} &= \rho_\mathrm{att}(-g) K_\mathrm{key}^{\mathrm{self}} \rho_\mathrm{in} (g),\\
	K_\mathrm{key}^{\mathrm{neigh}}(\theta - g) &= \rho_\mathrm{att}(-g) K_\mathrm{key}^{\mathrm{neigh}}(\theta) \rho_\mathrm{in} (g),\\
	K_\mathrm{value}^{\mathrm{self}} &= \rho_\mathrm{out}(-g) K_\mathrm{value}^{\mathrm{self}} \rho_\mathrm{in} (g),\\
	K_\mathrm{value}^{\mathrm{neigh}}(\theta - g) &= \rho_\mathrm{out}(-g) K_\mathrm{value}^{\mathrm{neigh}}(\theta) \rho_\mathrm{in} (g).
\end{split}\end{align*}






\section{Introduction}

Equivariance to symmetries has proven to be a powerful inductive bias in machine learning tasks ranging across classification, regression, segmentation, and reinforcement learning. Commonly studied symmetries include permutations~\cite{Keriven2019, Zaheer2017}, rotations~\cite{cohen2016group, weiler2018learning, li2018deep, veeling2018rotation}, translations~\cite{lecun1998gradient}, scaling~\cite{sosnovik2019scale}, and gauge transformations~\cite{cohen2019gauge, dehaan2020gauge}. 

These symmetries lead to different requirements for invariance or equivariance, depending on the learning task. For example, in a mesh shape classification task, we would like a classifier to consistently predict the same label, \textit{invariant} to whether the input mesh is rotated, scaled or translated. In a node segmentation task, in addition to these invariances, we expect that model predictions change in concurrence with a relabelling of the nodes, being permutation \textit{equivariant}.    

Achieving models with guaranteed equivariance is of high practical interest. This geometric paradigm is a principled way of incorporating task-specific prior information, which allows the model to simultaneously handle ``equivalence classes of inputs'' (i.e. those inputs related by symmetry transformations), and removes the need for data augmentation during training \cite{Bronstein2021, Cohen2021thesis}.


\newpage

\begin{figure*}[t]
\vspace{-8ex}
\includegraphics[scale=0.132]{images/mess_pass.pdf}
\caption{Message passing mechanism in Equivariant Mesh Attention Networks. For convenience, we represent a planar portion of the mesh and therefore ignore parallel transport. Tangent vectors $f_p, f_{q_i}$ are aggregated according to the attention coefficients $\alpha_{pq_i}$ (on the figure, going from top to bottom). A change of gauge reference neighbor (from $q_0$ to $q_1$) determines a rotation $\rho(-g)$ on tangent vectors of angle $-g$ (on the figure, going from left to right). Attention coefficients are invariant under gauge change. Pictorially, gauge equivariance can be rephrased as: “go right, go down” is the same as “go down, go right”.}\label{fig:mess_pass}
\end{figure*}
{\tiny .}

\vspace{-9ex}

The main challenge in realizing this equivariance in the case of meshes lies in \textit{adequately} handling the (arbitrary) numerical representation associated with the components of a mesh, since symmetry transformations affect these components in different ways. For example, a rotation modifies the positions of the nodes but leaves the face areas intact, while scaling leaves angles between nodes unchanged, but affects the positions, edge lengths and face areas. Therefore, the model predictions should depend \textit{only} on the geometry of the mesh, and not on a particular embedding of it.

Thus, performing computations with geometric quantities \textit{intrinsic} to the mesh is of critical importance towards achieving equivariant models. Our first contribution is the use of \textbf{\textit{relative tangential features}}. These features correspond to a map of absolute node positions to tangent vectors that accounts for the local geometry at each node. We show that this map is equivariant under global rotations, and invariant under translations and scaling of the ambient space $\mathbb{R}^3$. Relative tangent features constitute a simple yet effective alternative to using as inputs raw node positions.

Moreover, relative tangent features are \textit{geometric features}. Although the numerical representation of these features may change depending on the choice of gauge, the geometric quantities they represent remain unchanged. The framework of gauge equivariance prescribes constraints on functions among geometric feature spaces, ensuring coherent compositionality. We leverage the gauge equivariant convolutions (GEM-CNN) of \citet{dehaan2020gauge} as a building block to satisfy these equivariance constraints.

It is precisely the conjunction of relative tangent features and gauge equivariant convolutions that allows us to design models that exhibit equivariance/invariance to \textbf{all} the global transformations mentioned above. 




Our second contribution is an extension of mesh processing algorithms to include a \textbf{\textit{gauge equivariant attention mechanism}} in a way that provably satisfies the aforementioned requirements. We refer to this architecture as Equivariant Mesh Attention Networks (EMAN). Attention mechanisms have been a groundbreaking innovation in deep learning powering state-of-the-art results in natural language processing \cite{vaswani2017attention, devlin2018bert, brown2020language}, computer vision \cite{dosovitskiy2020image}, reinforcement learning \cite{chen2021decision}, multi-modal learning \cite{jaegle2021perceiver}, and graph neural networks \cite{velivckovic2017graph, chamberlain21a}. 
However, attention-based methods remain largely unexplored in the context of mesh data.


We carry out experiments on the FAUST~\cite{bogo2014faust} and TOSCA~\cite{bronstein2008numerical} datasets. Our models are trained on un-transformed meshes (i.e. no data augmentation is used in training) and we report their performance on several copies of the test set to which rotations, translations, scalings, permutations and changes of gauge have been applied. Our results confirm that our proposed model design is the only one to achieve equivariance, and therefore robustness, to all of these local/global transformations


\pagebreak

\section{Geometry}

In this section we describe meshes, geometric features, parallel transport, and equivariances and invariances.

\subsection{Meshes}
A \textbf{\emph{mesh}} ${\mathcal{M}}$ is determined by a set of vertices, or nodes, a set of (undirected) edges, and a set of faces. We consider oriented meshes embedded in the ambient space $\mathbb{R}^3$ and require the faces to ``properly glue along the edges'', so that ${\mathcal{M}}$ is in fact a piece-wise linear sub-manifold of $\mathbb{R}^3$. One can think of the mesh ${\mathcal{M}}$ as a discretization (e.g., a triangulation) of a $2$-dimensional manifold.

A $2$-dimensional sub-manifold of $\mathbb{R}^3$ admits a \textbf{\emph{tangent plane}} at each point. The discrete equivalent for a mesh ${\mathcal{M}}$, at a point $p \in {\mathcal{M}}$, is the plane orthogonal to the normal vector
\begin{equation}
    n_p = \frac{\sum_{F \ni p} {\mathcal{A}}(F) \, n_F}{ || \sum_{F \ni p} {\mathcal{A}}(F) \, n_F || }.
\end{equation}
The normal vector $n_p$ is computed as a weighted sum of the normal vectors to the adjacent faces, where faces $F$ (which contain $p$) with greater area ${\mathcal{A}}(F)$ contribute more.

For the tangent plane $T_p{\mathcal{M}}$ at $p$, we consider a \textbf{\emph{gauge}}, or frame, $\mathbf{E}_p = \{e_{p,1}, e_{p,2}\}$. We only allow orthonormal gauges, for which the triple $\mathbf{E}_p \cup  \{n_p\}$ constitutes a positively oriented orthonormal basis of $\mathbb{R}^3$. Therefore, any other \emph{admissible} orthonormal frame of $T_p {\mathcal{M}}$ is obtained from the previous gauge $\mathbf{E}_p$ by a rotation $g \in \mathrm{SO}(2)$. We denote by $g$ both the rotation and its corresponding angle, modulo $2\pi$. 

Finally, we define angles $\theta_{pq}$, which take into account the local orientation of the neighbors of a node $p$. $\theta_{pq}$ is the angle between the projection of the vector $q-p$ onto $T_p {\mathcal{M}}$ and the reference axis $e_{p,1}$. The angles $\theta_{pq}$ are thus gauge-dependent quantities.

\subsection{Geometric Features}
\label{sec:geometric_features}

\textbf{\emph{Geometric features}} are a central concept in our work. Here we closely follow the presentation and notation of \citet{dehaan2020gauge}. Meshes possess a richer structure than mere graphs. An important insight in geometric deep learning is to take the mesh structure in consideration, and allow the features on the underlying space not to be simple \emph{functions} on the space, but rather \emph{sections of vector bundles}.

As an example, a tangential feature $f$ on a mesh is given by a tangent vector in the plane $T_p {\mathcal{M}}$, for each point $p \in {\mathcal{M}}$. To represent such a vector, we denote by $f_p$ the $2$-dimensional vector of coordinates of the tangent vector, with respect to the gauge $\mathbf{E}_p$. Note that the coordinate vector $f_p$ is dependent on the choice of a gauge. 

Therefore, as we change the gauge at $p$, we should \emph{prescribe} how the coordinate vector $f_p$ gets modified. For tangential features, $f_p$ changes as $f_p \mapsto \rho_1(-g) f_p$, where $\rho_1(-g)$ denotes the rotation by the angle $-g$. This transformation rule precisely characterizes tangential features. In contrast, scalar features are $1$-dimensional features that \textit{do not change} when the gauge is transformed, and thus we may write $f_p \mapsto \rho_0(-g) f_p$, where $\rho_0(-g)=1$ for all $g \in \mathrm{SO}(2)$.

More generally, for $n \in \mathbb{N}$, $n \ge 1$, we can consider $2$-dimensional features $f$, that change under a gauge change $g \in \mathrm{SO}(2)$ as $f_p \mapsto \rho_n(-g)f_p$, where $\rho_n(-g)$ denotes the rotation by angle $-ng$. The \textbf{\emph{representations}} $\rho_n$ are
\begin{equation*}
    \rho_0(g)=1, \quad \rho_n(g)=
    \begin{pmatrix}
    \cos ng & -\sin ng\\
    \sin ng & \cos ng
    \end{pmatrix} \ \text{for} \ n \ge 1.
\end{equation*}

We say that a feature is of \textbf{\emph{type}} $\rho$ if it changes accordingly to the representation $\rho$. The $\rho_n$ form an exhaustive list of irreducible representations, the building blocks of all finite-dimensional representations of $\mathrm{SO}(2)$. In other words, there is no loss of generality in considering \textit{only} geometric features corresponding to direct sums of such representations, obtained by concatenation of multiple irreducible components. We consider these types of features throughout the rest of the paper. For example, $\rho = 4\rho_0 \oplus \rho_1 \oplus 3\rho_2$ corresponds to a feature type of dimension $4\cdot1 + 1\cdot2 + 3\cdot2$. Note also that these features are \textit{orthogonal}, meaning that $\rho^\top = \rho^{-1}$.


\subsection{Parallel Transport}

Message passing updates involve processing features stored at different nodes of the mesh. However, geometric features present a challenge. For instance, tangential features stored at different nodes belong to different tangent planes, and thus are not immediately comparable. \textbf{\emph{Parallel transport}} is a procedure from differential geometry that describes how to ``coherently translate'' between tangent planes at different points, respecting the curvature of the manifold.

Discrete parallel transport can be intuitively understood as follows: for a node $p \in {\mathcal{M}}$, and a neighbor $q \in {\mathcal{N}}_p$, we first translate the tangent plane $T_q {\mathcal{M}}$, together with the normal vector $n_q$, to $p$, along the edge joining $q$ and $p$.
Then, we consider the unique rotation of $\mathbb{R}^3$ that maps $n_q$ to $n_p$, with fixed axis $n_q \times n_p$. Under this rotation, $T_q {\mathcal{M}}$ is mapped onto $T_p {\mathcal{M}}$, and it is now coherent to compare tangent vectors at $q$ with tangent vectors at $p$.

However, a feature $f$ on ${\mathcal{M}}$ is represented by coordinates $f_q$ and $f_p$ \textit{with respect to two different gauges}. In general, even after rotating $T_q {\mathcal{M}}$ onto $T_p {\mathcal{M}}$, the two gauges do not coincide. Therefore, we denote by $-g_{q \to p} \in \mathrm{SO}(2)$ the $2$-dimensional rotation corresponding to the gauge change from the given gauge at $q$ (after rotating $T_q {\mathcal{M}}$ onto $T_p {\mathcal{M}}$), and the given gauge at $p$. It is now coherent to compare $f_p$ with $\rho(g_{q \to p}) f_q$, as they both represent coordinates of geometric features at $p$ of the same type, \emph{with respect to the same gauge}. If we denote by $R_{q\to p}$ the unique rotation of $\mathbb{R}^3$ that maps $n_q$ to $n_p$, with fixed axis $n_q \times n_p$, we obtain:
\begin{equation*
  g_{q \to p} = \mathrm{atan2} \big( ( R_{q\to p} e_{q,2} )^\top e_{p,1} , ( R_{q\to p} e_{q,1} )^\top e_{p,1} ) \big).
\end{equation*}

\iffalse
For a given frame $\mathbf{E}_p$ at $p$, $\theta_{pq}$ is the angle formed by the projection of $q-p$ onto $T_p {\mathcal{M}}$, with respect to the reference axis $e_{p,1}$. In particular, if we denote by $\log_p$ the norm-preserving discrete logarithmic map
\begin{equation*}
    \log_p (q) = ||q-p|| \frac{(I-n_p n_p^\top) (q-p)}{|(I-n_p n_p^\top) (q-p)|},
\end{equation*}
then $\theta_{pq}$ can be computed as
\begin{equation}\label{eqn:theta_pq}
    \theta_{pq} = \mathrm{atan2} (e_{p,2}^\top \log_p(q), e_{p,1}^\top \log_p(q) ).
\end{equation}

A possible choice for a frame at $p$ can be made by selecting a reference neighbor $q_0^p \in {\mathcal{N}}_p$, defining $e_{p,1} = \log_p(q_0^p)/|\log_p(q_0^p)|$, and, necessarily, $e_{p,2} = n_p \times e_{p,1}$ (compare with \cref{fig:mess_pass}, where the reference neighbor is gauge changed from $q_0$ to $q_1$).
\fi

\subsection{Equivariances and Invariances}\label{sec:equi/in}


Throughout this section, we denote by ${\mathcal{F}}_\mathrm{in}$ and ${\mathcal{F}}_\mathrm{out}$ the spaces of features of type $\rho_\mathrm{in}$ and $\rho_\mathrm{out}$, respectively, and by ${\mathcal{F}}$ a generic space of features of type $\rho$.

\textbf{Gauge equi/invariance.}  To coherently define a feature mapping ${\mathcal{K}} \colon {\mathcal{F}}_\mathrm{in} \to {\mathcal{F}}_\mathrm{out}$, we require its computation to be independent of the choice of the gauge. Consider an arbitrary change of gauge $g \in \mathrm{SO}(2)$. Since features of type $\rho_\mathrm{in}$ transform as $f_p \mapsto \rho_\mathrm{in}(-g)f_p$, and similarly for $\rho_\mathrm{out}$, we demand ${\mathcal{K}}$ to satisfy the \textbf{\emph{gauge equivariance}} constraint
\begin{equation}
    \rho_\mathrm{out}(-g) \circ {\mathcal{K}} = {\mathcal{K}} \circ \rho_\mathrm{in}(-g).
\end{equation}
If the representation $\rho_\mathrm{out}$ is a (direct sum of) scalar feature(s) $\rho_0$, then we talk about \textbf{\emph{gauge invariance}}, as the resulting features are insensitive to the particular choice of gauge.

\textbf{Global rotation equi/invariance.} Given a gauge-equivariant feature mapping ${\mathcal{K}} \colon {\mathcal{F}}_\mathrm{in} \to {\mathcal{F}}_\mathrm{out}$, we study its interaction with a global rotation $R \in \mathrm{SO}(3)$. Denote by $R{\mathcal{M}}$ the mesh obtained by rotating ${\mathcal{M}}$. We write ${\mathcal{K}}^{\mathcal{M}} \colon {\mathcal{F}}_\mathrm{in}^{\mathcal{M}} \to {\mathcal{F}}_\mathrm{out}^{\mathcal{M}}$ and ${\mathcal{K}}^{R{\mathcal{M}}} \colon {\mathcal{F}}_\mathrm{in}^{R{\mathcal{M}}} \to {\mathcal{F}}_\mathrm{out}^{R{\mathcal{M}}}$, to distinguish between \textit{the same feature mapping} applied to feature spaces \textit{on two different meshes}. 

If $f \in {\mathcal{F}}^{\mathcal{M}}$, the rotation $R$ pushes $f$ to a feature $R_* f \in {\mathcal{F}}^{R{\mathcal{M}}}$, as follows: if $f$ is represented at $p$ by the coordinate vector $f_p$ relative to the gauge $\mathbf{E}_p$, then $R_* f$ is represented at $Rp$ by the same coordinate vector $(R_*f)_{Rp} = f_p$, relative to the rotated gauge $R\mathbf{E}_p$. \textbf{\emph{Global rotation equivariance}} of the feature mapping ${\mathcal{K}}$ is given by:
\begin{equation}
    R_* \circ {\mathcal{K}}^{\mathcal{M}} = {\mathcal{K}}^{R{\mathcal{M}}} \circ R_*.
\end{equation}
Again, if the representation $\rho_\mathrm{out}$ is one or a sum of scalar features $\rho_0$, then we talk about \textbf{\emph{global rotation invariance}}.

\textbf{Global translation invariance.} A translation $Tp = p+x$ of $\mathbb{R}^3$, $x \in \mathbb{R}^3$, trivially pushes features on ${\mathcal{M}}$ to features on $T{\mathcal{M}}$: if $f \in {\mathcal{F}}^{\mathcal{M}}$ is represented by $f_p$ in the gauge $\mathbf{E}_p$ at $p$, then $T_* f \in {\mathcal{F}}^{T{\mathcal{M}}}$ is represented by the same coordinate vector $(T_*f)_{Tp} = f_p$ in the same gauge $\mathbf{E}_p$ at $Tp$. Intuitively, it is the same feature, stored at translated points. Therefore, we say that a feature mapping ${\mathcal{K}}$ is \textbf{\emph{global translation invariant}} if
\begin{equation}
    T_* \circ {\mathcal{K}}^{\mathcal{M}} = {\mathcal{K}}^{T{\mathcal{M}}} \circ T_*.
\end{equation}

\textbf{Global scaling invariance.} A scaling $Sp = \lambda p$ of $\mathbb{R}^3$, $\lambda > 0$, similarly allows a definition of a push-forward $S_* \colon {\mathcal{F}}^{\mathcal{M}} \to {\mathcal{F}}^{S{\mathcal{M}}}$: if $f \in {\mathcal{F}}^{\mathcal{M}}$ is represented by $f_p$ in the gauge $\mathbf{E}_p$ at $p$, then $S_* f_p \in {\mathcal{F}}^{S{\mathcal{M}}}$ is represented by the same coordinates $(S_*f)_{Sp} = f_p$ in the gauge $\mathbf{E}_p$ at $Sp$. 

While for rotations $R$ and translations $T$ new gauges are obtained through the differentials $dR$ and $dT$, this is not the case for scalings $S$, since the new gauge would not be normalized. With our definition, tangential features \textit{do not scale} as the mesh scales, and preserve their norm. For this reason, we say that a feature mapping ${\mathcal{K}}$ is \textbf{\emph{global scaling invariant}} (and not equivariant) if
\begin{equation}
    S_* \circ {\mathcal{K}}^{\mathcal{M}} = {\mathcal{K}}^{S{\mathcal{M}}} \circ S_*.
\end{equation}

\textbf{Node permutation equi/invariance.} Consider a re-labeling of the nodes in a mesh ${\mathcal{M}}$. We talk about \textbf{\emph{node permutation equivariance}} (resp.\ \textbf{\emph{node permutation invariance}})  when the outcome of a process computed over rearranged nodes is the rearrangement of the outcome from the original ordering, under the same permutation (resp.\ does not depend on the ordering of the nodes). We expect a segmentation model to be permutation equivariant, while a classification model should be permutation invariant.


\section{Graph Convolution on Meshes}\label{sec:mess_pass}

If we ignore the faces of a mesh and its embedding in $\mathbb{R}^3$, we obtain a graph. The works of \citet{Scarselli2008, bruna2013spectral, defferrard2016convolutional, kipf2016semi} led to Graph Convolutional Networks (GCNs), which give an efficient algorithm for node classification. However, GCNs do not account for the local geometry of the mesh and use the same \emph{isotropic} kernel to process signals from all neighbors.

Gauge Equivariant Mesh Convolutional Neural Networks (GEM-CNNs) \cite{dehaan2020gauge} were introduced to cope with this geometric obstacle. Their method uses \textbf{\emph{anisotropic}} kernels for the update step, that depend on the spatial disposition of the neighboring nodes. The message passing in a GEM-CNN is performed as
\begin{equation}\label{eqn:GEM}
f'_p = K_\mathrm{self} f_p + \sum_{q \in \mathcal{N}_p} K_\mathrm{neigh}(\theta_{pq}) \rho_\mathrm{in}(g_{q \to p}) f_q.
\end{equation}

The kernel $K_\mathrm{neigh}(\theta)$ depends on the angle $\theta_{pq}$ formed by the vertex $q$, with respect to the reference gauge at $p$. Moreover, the kernels $K_\mathrm{self}$ and $K_\mathrm{neigh}(\theta)$ satisfy geometric constraints, so that the output feature $f_p'$ transforms accordingly to the change of gauge. Hence, GEM-CNNs take into account the local geometry of the mesh, while also ensuring \emph{equivariance} to change of gauge. In particular, $K_\mathrm{self}$ and $K_\mathrm{neigh}(\theta)$ satisfy the equations
\begin{equation*}
    K_\mathrm{self} = \rho_\mathrm{out}(-g) \  K_\mathrm{self} \ \rho_\mathrm{in}(g), \qquad K_\mathrm{neigh}(\theta-g) = \rho_\mathrm{out}(-g) \ K_\mathrm{neigh}(\theta) \ \rho_\mathrm{in}(g).
\end{equation*}

For details on $K_\mathrm{self}$ and $K_\mathrm{neigh}(\theta)$, please see Appendix \ref{app:GEM-CNNs}, and \citep{dehaan2020gauge}.

Furthermore, GCNs present another limitation: neighbors $q \in {\mathcal{N}}_p$ provide information for the update at vertex $p$ with the same influence, and no measure of similarity, or alignment, of the features $f_p$ and $f_q$ is incorporated. \citet{velivckovic2017graph} introduced Graph Attention Networks (GATs). In the update step, the message passed from neighbors is scaled using attention weights $\alpha_{pq}$ dependent on $f_p$ and $f_q$.

We compactly combine these solutions to produce a gauge equivariant model that includes attention. The convolutional update is determined by:
\begin{equation}
\label{eqn:GEMAtt}
f'_p = \sum_{q \in \mathcal{N}_p} \alpha_{pq} K(\theta_{pq}) \rho_\mathrm{in}(g_{q \to p}) f_q.
\end{equation}

The anisotropic kernel $K(\theta)$ is gauge equivariant, and the attention coefficients $\alpha_{pq}$ are scalar features (namely, unaffected by changes of gauge). A precise description of the attention mechanism follows in \cref{sec:gauge-eq-attn}.

Notice that the expected self-contribution $\alpha_{pp} K_\mathrm{self} f_p$ is not present in the formula; the implementation of GEM-CNNs we used for our work did not include the self-contribution in the convolutional step. Aware of this, we nonetheless decided not to include the self-contribution in our model, as the reached performance was already satisfying. For completeness, we provide the details of the model variant including self-contribution in \cref{app:self_contr}.

\section{Relative Tangent Features}
\label{sec:rel_tan_features}


Given a mesh ${\mathcal{M}}$, we construct \textbf{\emph{relative tangent features}} $v_p$, depending on the local geometry of the mesh ${\mathcal{M}}$ around a node $p$. We use the adjective \emph{relative} to underline their dependency on the relative node positions $p-q$, rather than node positions themselves. We use them as initial features for our model, in order to provide global rotational equivariance, and invariance under translations and scaling of the ambient space $\mathbb{R}^3$. At a node $p$, we define the $3$-dimensional vector $v_p$ as:
\begin{equation*}\label{eqn:RelTan}
v_p(r) = \frac{1}{N_p^{3/2}} \left( \sum_{q \in \mathcal{N}_p} \frac{\pi_p(q-p)}{||q-p||^r} \right) \left( \sum_{q \in \mathcal{N}_p} ||q-p||^{r-1} \right),
\end{equation*}
where $N_p$ denotes the degree of node $p$. The projector $\pi_p$ onto the tangent plane $T_p {\mathcal{M}}$ is $I - n_p n_p^\top$. We call the real number $r$ \textbf{\emph{relative power}}. Multiple values of the relative power $r$ provide diverse relative tangent initial features, and multiple initial tangent features may used in our model.

We focus on the central term in the product defining $v_p(r)$. As the relative power $r$ decreases, neighbors far from $p$ contribute more to the relative tangent feature $v_p(r)$. In contrast, as the relative power increases, neighbors close to $p$ are more relevant in the computation of $v_p(r)$ (compare with \cref{fig:rel_tan}). The last term of the product is included to provide invariance under scaling. For an explanation of the factor $N_p^{-3/2}$, see the Appendix \ref{app:exponent}.


\begin{figure}[h]
    \centering
    \includegraphics[scale=0.33, trim={.5cm .5cm .5cm .5cm}, clip ]{images/rel_tan.pdf}
    \caption{Examples of computation of relative tangent features. Blue and green vectors represent relative tangent features $v_p(r)$ for choices of relative power $r=-2$ and $r=3$, respectively. For small relative powers $r$, neighbors far from $p$ contribute more to the relative tangent feature $v_p(r)$, and vice versa.}
    \label{fig:rel_tan}
\end{figure}%

Relative tangent features provide a suitable geometric input, as they satisfy the following properties:

\begin{lemma}\label{lemma:RelTanEquiv}
For any $r \in \mathbb{R}$, the process of computing relative tangent features $v_p(r)$ is equivariant under global rotations, and invariant under translations and scaling of $\mathbb{R}^3$. Namely, if $R \in \mathrm{SO}(3)$ is a rotation, $x \in \mathbb{R}^3$ is a translation vector, and $\lambda>0$ is a scaling factor, then
\begin{equation*}
    v_{Rp}^{R{\mathcal{M}}} = R(v_p^{\mathcal{M}}), \quad v_{\lambda p}^{\lambda {\mathcal{M}}} = v_p^{\mathcal{M}}, \quad v_{p+x}^{{\mathcal{M}}+x} = v_p^{\mathcal{M}}.
\end{equation*}
\end{lemma}

See \cref{app:proof_RelTan_equiv_lemma} for a proof of this result. Thanks to their geometric properties, relative tangent features constitute a simple yet effective alternative to using raw node positions as input features.

\section{Verifiably Equivariant Message Passing}\label{sec:truly-eq-message-passing}

In this section we empirically verify that relative tangent features, coupled with a suitable choice of bias for the convolutional layers, allow us to build models that are in fact equi/invariant to all the transformations mentioned in \cref{sec:equi/in}. We highlight the effect that ``small'' design choices, such as biases, can have when trying to integrate them towards building a fully equivariant pipeline. We also emphasize on the importance of performing a thorough evaluation of the model by applying the transformations of interest to unseen inputs in order to reliably verify the promised equivariance properties.

\paragraph{Designing equivariant biases.} The traditional way of including biases in standard convolutional layers involves the addition of a fixed vector across the different channels of the output tensor. However, in the context of mesh data, this procedure is \textit{not} equivariant to changes of gauge. When considering geometric features, the addition of this ``fixed'' bias vector would correspond to summing a gauge-sensitive quantity to the coordinate vectors representing a feature. 

As a response to this, we consider \textbf{\emph{angular biases}} that respect gauge equivariance. Given a general representation $\rho$, we decompose it in its irreducible components $\{\rho_n\}$. The cumulative bias for $\rho$ is assembled from the biases on its irreducible components. If $n=0$, we may add a simple (non-angular) bias $b$ to the $1$-dimensional scalar feature $f$. For $n>0$, we instead rotate the $2$-dimensional coordinate vector $f_p$ by an angular bias $b$, or equivalently we consider $\rho_n(b)f_p$ (c.f.~\cref{fig:angular_bias}). Therefore, for a feature of type $\rho$, the number of involved biases is the same as the number of irreducible components in $\rho$. This choice of bias is therefore suitable for our goal of designing a fully equivariant model.


\begin{figure}[h]
    \centering
    \includegraphics[scale=0.19, trim={.2cm .2cm .2cm .2cm}, clip]{images/bias.pdf}
    \caption{Angular bias applied to the tangential features in the convolution blocks. Original features are coloured in red, bias in purple, new features in blue. In order to preserve equivariance, features of higher type are instead rotated by an angular bias.}
    \label{fig:angular_bias}
\end{figure}

\paragraph{Verifying model equivariance.} \cref{tab:eq_error} compares the violation of equivariance to global/local transformations exhibited by randomly initialized models. We consider a SpiralNet++ \citep{gong2019spiralnet++} using raw positions as inputs; and a GEM-CNN \citep{dehaan2020gauge} using raw positions or relative tangent features as inputs, as well as the non-equivariant and angular biases mentioned above. Since we are interested in obtaining a model that is equivariant to arbitrary gauge changes, and not only to multiples of a given rotation, we do not employ (quantized) regular non-linearities  \citep[$\S 4$]{dehaan2020gauge}.


\input{tables/eq_error_table}
\input{tables/table_non_eq_acc}

A GEM-CNN model with relative tangent features and angular bias is the only configuration that achieves equivariance to \textit{all} the considered transformations. Note that SpiralNet++ is perfectly gauge equivariant as it only employs scalar features. The larger magnitude observed for the minimum error achieved for gauge transformations is explained by the fact that gauge transformations affect \textit{every} convolutional layer of the model, causing numerical errors to accumulate.


We do not include accuracies for the SpiralNet++ model with relative tangent features. However, one finds that this model with relative tangent features is invariant to translations and scalings, as relative tangent features are invariant to these transformations. Nonetheless, the SpiralNet++ model with relative tangent features is not global rotation equivariant, since its layers are not designed to be compatible with rotations of the ambient space $\mathbb{R}^3$. We included a short note on node permutation equivariance of the SpiralNet++ model in \cref{app:spiral}.

We complete this section by studying the robustness of a similar set of models \textit{after training} on the FAUST dataset. Experimental details can be found in \cref{app:exp_details}. Note that we do not apply any transformations to meshes in the training set. The results are displayed in \cref{tab:non_eq_acc}.

Note that the pattern of robustness to these transformations carries out verbatim from \cref{tab:eq_error} to \cref{tab:non_eq_acc}. However, the shortcomings of the non-equivariant models \textbf{cannot be detected} by looking \textit{only} at the un-transformed training and test set accuracies. 

Therefore, when evaluating equivariance-aimed models, applying the transformations of interest is crucial for successfully validating whether a model indeed satisfies the desired equivariance properties. 

\section{Equivariant Mesh Attention Layer}\label{sec:gauge-eq-attn}

In this section we present the details of the Equivariant Mesh Attention layer. We start by considering an auxiliary representation $\rho_\mathrm{att} \colon \mathrm{SO}(2) \to \mathbb{R}^{C_\mathrm{att}}$. Once fixed a point $p$ on the mesh, for any $q \in \mathcal{N}_p$, we consider the quantities
\begin{equation}\label{eqn: attn_qkv}
	\mathbf{Q}_p = K_{\mathrm{query}} f_p, \qquad
	\mathbf{K}_{pq} = K_{\mathrm{key}}(\theta_{pq})\rho_\mathrm{in}(g_{q\rightarrow p})f_q, \qquad
	\mathbf{V}_{pq} = K_{\mathrm{value}}(\theta_{pq})\rho_\mathrm{in}(g_{q\rightarrow p})f_q.
\end{equation}

Here, $K_{\mathrm{query}}$ is a $C_{\mathrm{att}} \times C_{\mathrm{in}}$ matrix, $K_{\mathrm{key}}(\theta)$ is a family of $C_{\mathrm{att}} \times C_{\mathrm{in}}$ matrices, while $K_{\mathrm{value}}(\theta)$ is a family of $C_{\mathrm{out}} \times C_{\mathrm{in}}$ matrices. We require these matrices to satisfy, for all $g \in \mathrm{SO}(2)$, the constraints
\begin{equation}\label{eqn:gauge_qkv}
\begin{gathered}
    K_\mathrm{query} = \rho_\mathrm{att}(-g) \ K_\mathrm{query} \ \rho_\mathrm{in} (g), \\
	K_\mathrm{key}(\theta - g) = \rho_\mathrm{att}(-g) \ K_\mathrm{key}(\theta) \ \rho_\mathrm{in} (g), \quad
	K_\mathrm{value}(\theta - g) = \rho_\mathrm{out}(-g) \ K_\mathrm{value}(\theta) \ \rho_\mathrm{in} (g), 
\end{gathered}
\end{equation}
in order to provide gauge equivariance. The solutions to these equations are provided in \cref{app:GEM-CNNs}.

We define $\mathbf{K}_p$ as the $C_\mathrm{att} \times N_p$ matrix obtained by concatenating as columns the vectors $\mathbf{K}_{pq}$, as $q$ varies; similarly, $\mathbf{V}_p$ is the $C_\mathrm{out} \times N_p$ matrix obtained via the same procedure from the column vectors $\mathbf{V}_{pq}$, as $q$ varies:
\[
    \mathbf{K}_p = \mathrm{Concat}( K_{\mathrm{key}}(\theta_{pq})\rho_\mathrm{in}(g_{q\rightarrow p})f_q \,\, \text{for} \, q \in {\mathcal{N}}_p ),\qquad
    \mathbf{V}_p = \mathrm{Concat}(K_{\mathrm{value}}(\theta_{pq})\rho_\mathrm{in}(g_{q\rightarrow p})f_q \,\, \text{for} \, q \in {\mathcal{N}}_p ).
\]
The outcome $f'_p$ of dimension $C_\mathrm{out}$ is then given by
\begin{equation}\label{eqn: attn_function}
	\mathrm{Att}(\mathbf{Q}_p, \mathbf{K}_p, \mathbf{V}_p) = N_p \cdot \mathbf{V}_p \cdot \mathrm{softmax} \left( \frac{\mathbf{K}_p^\top \mathbf{Q}_p}{\sqrt{C_\mathrm{att}}} \right).
\end{equation}
While the factor $N_p$ is not present in \cite{velivckovic2017graph}, here it is introduced so that \cref{eqn: attn_function} precisely generalizes GEM-CNN convolution (with no self-contribution), in the case where the components of the softmax vector are all equal to $1/N_p$ (compare with discussion in \cref{sec:mess_pass}). \cref{alg:EMA} in \cref{app:EMA_layer} provides a concise description of the design of our attention mechanism.





Thanks to the constraints satisfied by the kernels $K_\mathrm{self}, K_\mathrm{key}(\theta)$, and $K_\mathrm{value}(\theta)$, we obtain:

\begin{lemma}\label{lemma:gauge_equiv_layer}
The convolutional update in \cref{eqn: attn_function} is gauge equivariant.
\end{lemma}


\begin{lemma}\label{lemma:rot_equiv_layer}
With this choice of kernels, the Equivariant Mesh Attention convolutional update in \cref{eqn: attn_function} is equivariant to global rotations, and invariant to translations and scalings of the ambient space $\mathbb{R}^3$.
\end{lemma}

Equi/in-variant convolutional steps, together with relative tangent features and angular biases, provide multiple equi/in-variances of the Equivariant Mesh Attention Network:

\begin{theorem}\label{thm:equiv}
With initial relative tangent features, Equivariant Mesh Attention Networks are equivariant to node permutations, and invariant under global rotations, translations and scalings of the ambient space $\mathbb{R}^3$, and under arbitrary gauge changes.
\end{theorem}

See \cref{app:EMA_layer} for a proof of these results. Our model can also incorporate multi-head attention. Details are provided in \cref{app:multi_head}. However, we did not notice an improvement in performance when integrating this factor in our implementation for the considered tasks. Results below consider single-head attention only.


\section{Related Work}\label{sec:related_work}



Equivariance on graphs and manifolds has been studied from numerous perspectives. \citet{cohen2018spher, cohen2019ico} propose novel gauge equivariant convolution techniques on manifolds such as spheres and platonic solids. \citet{Satorras2021En} propose $\mathrm{E}(n)$-equivariant graph neural network models, which are applied to equivariant normalizing flows by \citet{kohler2020flows}. Moreover, \citet{dehaan2020gauge} point out a relation between different types of equivariances: their gauge equivariant model is also equivariant to the group of isometries of the given mesh. The equivariance with respect to this group of isometries has been extensively studied by \citet{weiler2021, Cohen2021thesis}. In contrast, our approach effectively combines equivariance with respect to gauge transformations \textit{and} global transformations of $\mathbb{R}^3$.

Several works propose alternative forms of equivariant attention. \citet{hutchinson2021lietransformer} introduce an attention architecture that is equivariant to Lie group actions. $\mathrm{SE}(3)$-Transformer \cite{fuchs2020se} is a roto-translation equivariant attention network, designed for point-cloud data and graphs, and not meshes. \citet{Wang2020} propose a self-supervised equivariant attention mechanism in image segmentation that generates more consistent class activation maps over rescaling. \citet{romero2020group} propose a general group-equivariant self-attention formulation for processing images. 

Attention has been used to provide more expressive filters over the isotropic convolutions in GCN \cite{kipf2016semi}. \citet{velivckovic2017graph, shi2021masked, chamberlain21a} implement attention mechanisms to give anisotropic filters. Recent research work \cite{he2021gauge} also considers the idea of gauge equivariant attention by employing input features that provide global rotation equivariance. In contrast, our proposed relative tangent features, by detecting the local geometry of the mesh, additionally provide invariance to scaling and translations. Moreover, \citet{he2021gauge} provide a general and elegant framework that is nonetheless only approximately gauge equivariant. Instead, our perspective provides a simple gauge equivariant convolution with angle-dependent kernels that is equivariant to \emph{arbitrary} angles in $\mathrm{SO}(2)$.


\section{Experiments}\label{sec:experiments}

We carry out experiments on the FAUST~\cite{bogo2014faust} and TOSCA~\cite{bronstein2008numerical} datasets for segmentation and classification tasks, respectively. Details on our experimental settings can be found in \cref{app:exp_details}. All our experiments involving test accuracy report test results applying different transformations to the unseen meshes. No transformations are applied to the training data.  Since we are interested in obtaining a model that is equivariant to arbitrary gauge changes, and not only to multiples of a given rotation, we do not employ (quantized) regular non-linearities  \citep[$\S 4$]{dehaan2020gauge}. In \cref{app:eq_data_aug} we provide performance comparison between non-equivariant models with data augmentation and equivariant models; and in \cref{app:time_comparison} we provide time-complexity comparison between GEM-CNN and EMAN.

\subsection{Segmentation}\label{subsec:segmentation}


\input{tables/faust_main_table}

The FAUST dataset consists of 100 3D human meshes with 6890 vertices, which is divided into 80 training and 20 test meshes. Nodes in each mesh are numbered so that nodes corresponding to the same location of the human mesh are labelled with the same number. 


\cref{tab:faust_main_exp} illustrates the performance of various gauge equivariant models on FAUST. We compare models with and without attention, as well as using or not relative tangent features. All models in this section use angular bias. Note that models employing raw positions as input (marked XYZ) fail to be equivariant to rotations, translations and scaling transforms (Rot-Tr-Scale). This challenge is reliably overcome by the use of relative tangent features.

For models using relative tangent features, we consider two choices of relative powers. Relative tangent features allow us to choose a different relative power to be used for each of the channels in the input feature (see \cref{eqn:RelTan}). This increases the expressivity of the model as different relative powers induce a processing of the local geometry at a point in the mesh. We find that using multiple channels with different relative powers translates into improvement in (transformed) test performance.











\subsection{Classification}\label{subsec:classification}

\input{tables/tosca_main_table}

TOSCA consists of meshes belonging to nine different classes such as cats, men, women, centaurs, etc. While figures in each class are similarly meshed, each class has a varying number of nodes and edges. The dataset consists of 80 meshes, which we uniformly split into a train set of 64 meshes and a test set of 16 meshes respectively.

We do not apply permutations to the test meshes since the different number of nodes across classes made the implementation cumbersome. In addition to our theoretical guarantees, we do not expect node permutations to significantly affect the behavior of the models for a shape \textit{classification} task given our use of a mean pooling layer for aggregating the information across the nodes.



We find that when using raw positions, GEM-CNNs outperform EMANs. This seems to point to a higher sensitivity of EMANs to un-normalized data. This sensitivity is not present when using relative tangent features. In fact, although both GEM-CNNs and EMANs (with relative powers $[0.5, 0.7]$) achieve perfect training and (transformed) test performance, the behavior for EMANs is more robust (lower variance) than that of the best-performing GEM-CNNs.


We do not normalize the XYZ data in order to emphasize the fact that finding a good normalization technique becomes unnecessary when using relative tangent features, in addition to their scaling-invariance properties. 








\section{Conclusion}\label{sec:conclusion}
In this work, we propose Equivariant Mesh Attention Networks (EMAN), an attention-based model that is equi/invariant to node permutations, local gauge transformations, as well as global transformations such as rotations, translations, scalings. Our model consists of two major components: relative tangent features as input types and a message passing algorithm based on a gauge equivariant attention mechanism. We also emphasize the importance of rigorous testing of the overall assembled model, since small design choices -- such as biases -- can result in an non-equivariant model, damaging its robustness transformations in the data. We verify the equi/invariance of our overall model theoretically and empirically. EMANs achieve competitive performance on the FAUST and TOSCA datasets while maintaining equivariance to all the aforementioned transformations.




\input{acknowledgements}






