# Multi-Scale Detail-Noise Complementary Learning for Image Denoising
## 3 Proposed Method
### Detail Learning Branch  
The detail layer obtained from the high-pass filter is typically sparser compared to the noisy image. To facilitate feature extraction, we apply the DCT to further decompose the detail layer and convert it from the spatial domain to the frequency domain. The DCT process can be mathematically represented as follows:  
\[\hat{I}_{d}=f_{DCT}(I_{Detail}), \tag{3}\]  
where \(f_{DCT}\) represents the function of the DCT. The kernel size for the DCT is set to 8. \(\hat{I}_{d}\in\mathbb{R}^{H\times W\times C}\) indicates the detail layer in the frequency domain, where \(C\) indicates the channel number of 64. The DLB is designed with a U-shaped structure to directly learn the predicted detail layer. The structure of the DLB, as shown in Figure 2, consists of the following three main components: an encoder, Feature Subtraction Module (FSM), and decoder. The encoder is composed of four DBs, along with four \(3\times 3\) convolutional operations. To address the potential loss of image detail features during downsampling operations, four DBs are used in the encoder to adjust the channel numbers. The input channels for the four DBs are 64, 128, 256, and 512. After four encoders, the receptive field size of the feature map of the last layer is 31. The corresponding output channels for the four DBs are 128, 256, 512, and 1024. It should be noted that a \(1\times 1\) convolutional operation is applied to each DB layer to reduce the number of channels to 64 and, consequently, decrease the number of parameters. The encoding process can be represented as follows:  
\[\hat{I}_{d}^{i}=Conv(f_{DB}(\hat{I}_{d}))\ \ (i=1,2,3,4), \tag{4}\]where \(\hat{I}_{d}^{i}\) denotes the detail features learned from the \(i\)-th \(f_{DB}\). The number of channels for all detail features is 64. The FSU emphasizes the difference and complementary information among features and removes redundant features. A series of differential features with different scales and receptive fields is calculated by connecting multiple FSUs horizontally and vertically. For inter-layer, multi-scale features, we connect multiple FSUs in a vertically connected way to capture large-span cross-layer difference features. For intra-layer, multi-scale features, we connect multiple FSUs in a horizontally connected way to naturally achieve multi-scale, intra-layer feature fusion. To capture multi-scale complementary detail features, we employ multiple FSUs that connect different layers in both horizontal and vertical directions to calculate the differential detail features. In this way, it can remove redundant information and enhance feature complementarity at different levels, thereby improving the denoising performance of the network. The structure of an FSU is illustrated in Figure 3. The FSU includes feature maps (\(F_{A}\) and \(F_{B}\)) corresponding to different layers. We extract features at different scales from these feature maps using \(1\times 1\), \(3\times 3\), and \(5\times 5\) convolutional operations. By element-wise subtraction, we obtain three differential feature maps, where each map represents the difference between the same convolutional operation applied to \(F_{A}\) and \(F_{B}\). Finally, these differential feature maps are fused together using element-wise addition, resulting in a multi-scale differential feature map. The FSU effectively captures complementary detail features between \(F_{A}\) and \(F_{B}\), emphasizing their differences in detail and providing rich features for the decoder. The progress of the FSU can be described as follows:  
\[ \begin{split} FSU_{B}^{A}=|Conv1\times 1(F_{A})-Conv1\times 1(F_{B} )|+\\ |Conv3\times 3(F_{A})-Conv3\times 3(F_{B})|+\\ |Conv5\times 5(F_{A})-Conv5\times 5(F_{B})|,\end{split}  \tag{5}\]  
where \(FSU_{B}^{A}\) represents the multi-scale difference feature map obtained from the \(A\)-th and the \(B\)-th layers.