## 2 Methodology
### Superpixel Segmentation and Feature Conversion Module  
The GCN can only be applied on graph-structured data, and in order to apply the GCN to hyperspectral images, the hyperspectral image needs to be constructed as a graph structure first. The simplest method is to consider each pixel of the image as each node of the graph structure, but this method leads to a huge computational cost. Therefore, it is common to first apply superpixel segmentation to the HSI. Currently, common superpixel segmentation algorithms include SLIC [34], Quick-Shift [35], and Mean-Shift [36]. Among them, the SLIC algorithm assigns image pixels to the nearest clustering centers to form superpixels based on the distance and color difference between pixels. This method is computationally simple and has excellent results compared with other segmentation methods. In general, the SLIC algorithm has only one parameter: the number of superpixels K. Suppose an image with M pixel is expected to be partitioned into K superpixel blocks; then, each superpixel block contains M/K pixels. Under the assumption that the length and width of each superpixel block are uniformly distributed, the length and width of each superpixel block can be defined as S, S = sqrt (M/K). Second, in order to avoid the seed points falling on noisy points or line edges of the image and thus affecting the segmentation results, the positions of the seed points are also adjusted  
Figure 3: Schematic diagram of SE attention mechanism mainly divided into two operations of squeeze and excitation. by recalculating the gradient values of the pixel points in the 3 \(\times\) 3 neighborhood of each seed point and setting the new seed point to the minimum gradient in that neighborhood. Finally, the new clustering centers are calculated iteratively by clustering. The pixel points in the 2S \(\times\) 2S region around the centroid of each superpixel block are traversed. After that, each pixel is divided into the superpixel blocks closest to it; thus, an iteration is completed. The coordinates of the centroid of each superpixel block are recalculated and iterated, and convergence is usually completed in 10 iterations. Figure 4 represents the diagram of different number of superpixels in a image. In this paper, the number of superpixel was not the same in each dataset but rather varied according to the total number of pixels in the dataset, for which the number of superpixels is specified as \(\mathrm{K}=(\mathrm{H}\times\mathrm{W})/\beta\), where H and W are the length and width of the dataset, and \(\beta\) is a segmentation factor to control the number of superpixels, which is 100 in this paper. It is worth noting that since each superpixel had a different number of pixels, and because the data structures of the two branches were different, the CNN branch and the GCN branch could not be fused directly. Inspired by [28], we applied a data transformation module that allowed the features obtained from the GCN branch to be fused with the features from the CNN branch, as shown in Figure 5.  
Figure 4: Schematic diagram of different number of superpixels for one image. Figure 5: Pixel and superpixel data conversion module. This module allows features to be propagated between pixels and superpixels. \(X_{i}\) denotes the \(i\)-th pixel in the flattened HSI and V\({}_{j}\) denotes the average radiance of the pixels contained in the superpixels \(S_{j}\). Let \(\mathbf{Q}\in\mathbf{R}^{HW\times Z}\) be the association matrix between pixels and superpixels, where \(Z\) denotes the number of superpixels; then, we have:  
\[\mathbf{Q}_{i,j}= \begin{cases}1,\text{ if }\tilde{\mathbf{X}}_{i}\in S_{j}\\ 0,\text{ if }\tilde{\mathbf{X}}_{i}\
otin S_{j}\end{cases} , \tag{8}\]  
where \(\tilde{\mathbf{X}}=\text{Flatten}(\mathbf{X})\), \(\mathbf{Q}_{i,j}\) denotes the value of \(\mathbf{Q}\) at the association matrix, and \(\tilde{\mathbf{X}}_{i}\) denotes the \(i\)-th pixel in \(\tilde{\mathbf{X}}\).