# Frequency-Separated Attention Network for Image Super-Resolution
## 3 Method
### Network Architecture  
As shown in Figure 1, our proposed FSANet consists of the Feature Extraction Module (FEM), Non-Linear Mapping Module (NMM), and Reconstruction Module (RM). We use \(I_{LR}\), \(I_{SR}\), and \(I_{HR}\) to denote the input, output, and high-resolution image of FSANet, respectively. In the FEM, \(I_{LR}\) is first passed through a convolution layer for feature extraction. The output \(g_{conv}\) is then processed by two Res ASPP Modules, each of which contains three parallel deep CNNs to expand the receptive field and obtain multi-scale features.  
\[\begin{split} g_{K_{2}}&=f_{FEM}(I_{LR})\\ &=f_{K_{2}}(f_{K_{1}}(f_{conv}(I_{LR}))+f_{conv}(I_{LR}))\\ &=f_{K_{2}}(g_{K_{1}}+g_{conv}).\end{split} \tag{1}\]  
Here, \(f_{FEM}(\cdot)\) denotes the FEM, and \(f_{conv}(\cdot)\) represents the \(3\times 3\) convolution producing \(g_{conv}\). \(f_{K_{1}}(\cdot)\) and \(f_{K_{2}}(\cdot)\) denote two Res ASPP Modules with the outputs \(g_{K_{1}}\) and \(g_{K_{2}}\), respectively.  
In the NMM, three FSABs are linearly stacked. Assuming that the input of the \(m\)-th FSAB is \(F_{m-1}\) and its output is \(F_{m}\), then the input for the first FSAB is \(F_{0}\) (i.e., \(g_{K_{2}}\)), and the output of the last FSAB is \(F_{M}\). The \(m\)-th FSAB is as follows:  
\[F_{m}=f_{FSAB}^{m}\big{(}f_{FSAB}^{m-1}\big{(}\cdots f_{FSAB}^{1}(F_{0})\big{)} \big{)}. \tag{2}\]  
Here, \(f_{FSAB}^{m}(\cdot)\) represents the \(m\)-th FSAB. Each FSAB outputs distinct features. To fully utilize these hierarchical features, we adopt an adaptive fusion of long-term multi-level features, concatenating the outputs of the three FSABs before feeding them into a convolution layer. Thus, the NMM is as follows:  
\[\begin{split} g_{NMM}&=f_{NMM}(F_{0})\\ &=\varphi_{conv}([F_{1},F_{2},\cdots,F_{M}]).\end{split} \tag{3}\]  
Here, \(f_{NMM}(\cdot)\) denotes the NMM, \(\varphi_{conv}(\cdot)\) represents the \(3\times 3\) convolution yielding \(g_{NMM}\), and \([\cdot]\) signifies the feature concatenation operation.  
In the RM, we employ convolution and sub-pixel convolution layers [10] for upsampling to obtain \(I_{SR}\). Additionally, we utilize a global skip connection through bicubic upsampling to maintain long-term memory.  
\[\begin{split} I_{SR}&=f_{RM}(g_{NMM})+Bicubic(I_{ LR})\\ &=f_{RM}(f_{NMM}(f_{FEM}(I_{LR})))+Bicubic(I_{LR}),\end{split} \tag{4}\]  
where \(f_{RM}(\cdot)\) denotes the RM, and \(Bicubic(\cdot)\) represents the bicubic upsampling operation.  
Figure 1: The architecture of the proposed FSANet. The basic modules of deep CNNs are used in the Res ASPP Module and NMM.  
According to [16], the Peak Signal-to-Noise Ratio (PSNR) is highly correlated with the pixel-wise differences between \(I_{SR}\) and \(I_{HR}\). Given that the \(L_{2}\) loss function tends to emphasize larger differences and weaken smaller ones, and considering that its convergence is inferior to that of the \(L_{1}\) loss function, we use the \(L_{1}\) loss function to optimize FSANet. Given a set of training patch pairs \(\{I_{LR}^{i},I_{HR}^{i}\}_{i=1}^{l}\), the loss function of FSANet is as follows:  
\[L(\theta)=\frac{1}{I}\sum_{i=1}^{I}\left\|F_{FSANet}\left(I_{LR}^{i}\right)-I_ {HR}^{i}\right\|_{1}, \tag{5}\]  
where \(F_{FSANet}(\cdot)\) denotes FSANet, and \(\theta\) represents the parameters within FSANet.