# CA-CGNet: Component-Aware Capsule Graph Neural Network for Non-Rigid Shape Correspondence
## 3 Proposed Method
### Functional Maps with Component Constraint  
We propose a component constrained functional maps, which provides a local-global commutative preservation for shape correspondence between manifold \(P\) and \(Q\). Despite traditional functional maps providing the simplicity and efficiency of shape correspondence, its estimation pipeline solely enforces the commutativity of global operators. This method is to search matching points across the whole manifold, which leads to a large extent to some inaccurate matching. To alleviate this issue, we propose an available segmentation of shapes for relation constraints. Then, the optimal functional map \(\mathbf{C}\) in the least square sense can be expressed as:  
\[\mathbf{C}_{opt}=\operatorname*{arg\,min}_{\mathbf{C}}\left\|\mathbf{CA}_{P}- \mathbf{B}_{Q}\right\|^{2}+\gamma_{1}\left\|\Lambda_{P}\mathbf{C}-\mathbf{C} \Lambda_{Q}\right\|^{2}+\gamma_{2}\left\|\mathbf{CX}_{P}-\mathbf{X}_{Q} \mathbf{C}\right\|^{2} \tag{11}\]  
where \(\mathbf{A}_{P}\) and \(\mathbf{B}_{Q}\) are the basis matrix consisting of the basis function coefficients of the source model \(P\) and the target model \(Q\), \(\Lambda_{P}\) and \(\Lambda_{Q}\) are the diagonal matrix of Laplacian-iBeltrami eigenvalues, \(\mathbf{X}_{P}\) and \(\mathbf{X}_{Q}\) are the Hausdorff distance matrix, and \(\gamma_{1}\) and \(\gamma_{2}\) are the weights. Figure 4: Our knowledge distillation strategy in Component-aware Graph Routing. CA-GNN means the Component-aware Graph Neural Network. \(F_{T}\) and \(F_{S}\) are the features of the teacher network and of the student network, respectively. MLAM is the Multi-layer Attention Module. The first term of Equation (11) calculates the deviation of the point-wise descriptor coefficient matrix based on SHOT descriptors of manifold \(P\) and \(Q\). For a connected smooth compact manifold \(P\) with \(K\) vertices, an index function \(f:P\rightarrow\mathbb{R}\) can be constructed by calculating the average value of the point and its neighborhood coordinates, which can be expressed as:  
\[f(x)=\sum_{i}m_{i}\phi_{i} \tag{12}\]  
where \(m_{i}=\left\langle f_{i}\phi_{i}\right\rangle_{P}\), \(\left\{\phi_{i}|i=0,1,\ldots,k-1\right\}\) is the set of the eigenfunctions for the orthogonal basis of \(f\), and \(f\) is the corresponding discretization of the smooth function \(f\). Let \(F:f(P)\to f(Q)\) be a linear operator to calculate correspondence between manifolds \(P\) and \(Q\). By computing a set of descriptor functions \(\left\{\phi_{i}\right\}_{i\geq 0}\) and \(\left\{\phi_{j}\right\}_{j\geq 0}\) on shapes \(P\) and \(Q\), the function \(F\) can be represented as:  
\[F(f)=\sum_{j}\sum_{i}m_{i}c_{ji}\phi_{j} \tag{13}\]  
where \(c_{ji}=\left\langle F(\phi_{i}),\phi_{j}\right\rangle_{N}\), and then admit a matrix representation \(\mathbf{C}=\left(c_{ji}\right)\). To determine the matrix \(\mathbf{C}\), we truncate the eigenfunctions after the first \(d\) coefficients to significantly approximate matrix \(\mathbf{C}\). Assuming to be given a set of coefficients \(z_{i}=\left\langle f,\phi_{i}\right\rangle\) and \(g_{j}=\left\langle s,\phi_{j}\right\rangle\), the matrices \(\mathbf{A}_{P}\) and \(\mathbf{B}_{Q}\) can be stored by these Fourier coefficients. The second term of Equation (11) is a regularization item that constrains the descriptor by reinforcing its overall structure properties. With the Laplacian matrix \(\mathbf{L}\), the set of eigenvalues \(\lambda_{i}\) are then defined as:  
\[\lambda_{i}=\mathbf{L}\mathbf{M}^{-1} \tag{14}\]  
where \(\mathbf{M}\) is the \(K\times K\) diagonal mass matrix. Thus, the first \(k\) eigenvalues of Laplacian-Beltrami operator on model \(P\) and \(Q\) compose the diagonal matrices \(\Lambda_{P}=diag(\lambda_{i})_{P}\) and \(\Lambda_{Q}=diag(\lambda_{j})_{Q}\). The third term of Equation (11) penalizes the local commutativity through the component constraints. Each manifold is segmented into several types of components, and Hausdorff distance is used to construct component pairs.