## 3 The Proposed Method
### Multi-Scale Feature Extraction  
The CSPDarknet53 architecture is utilized by the multi-scale feature extraction module to extract a wide range of detailed multi-scale features from the input light-field images. Because of its intricate architecture that uses cross-stage partial connections to enhance performance, CSPDarknet53 is well known for its effective and efficient feature extraction capabilities. The 5D tensor \(L_{0}\in\mathbb{R}^{U\times V\times H\times W\times C}\) is used to describe the input light-field images. The angular dimensions \(U\) and \(V\) denote the number of viewpoints captured within the light field, while the spatial dimensions \(H\) and \(W\) correspond to the height and width of each viewpoint, respectively. For this study, the spatial resolution is set at \(H=256\) and \(W=192\), with an angular resolution of \(5\times 5\). The number of channels \(C\) indicates the color depth or feature channels of the images. In order to increase the channel depth and extract earlier features that will enhance the feature representation, these images are stacked along the channel dimension, leading to a total size of \(5\times 5\times 256\times 192\times 75\) and pass through an initial convolution layer:  
\[F_{\text{in}}=\text{Conv}(L_{0}) \tag{2}\]  
In this initial layer, a \(3\times 3\) convolution is employed with a stride of 1 and padding of 1, followed by a ReLU activation function. This configuration allows for a comprehensive extraction of spatial features while preserving the spatial dimensions of the input tensor. The CSPDarknet53 architecture comprises Five CSPBlocks, each designed to encapsulate features at different sizes and degrees of abstraction. Within each block, downsampling procedures are employed to decrease spatial dimensions while enhancing feature depth. This downsampling is executed through convolutional operations with a kernel size of \(3\times 3\) and a stride of 2, effectively halving the spatial dimensions. \[F_{k+1}=\text{Downsample}(\text{CSPBlock}_{k}(F_{k}))) \tag{3}\]  
for \(k\in\{0,1,2,3,4\}\), where \(F_{0}=F_{in}\) and \(k\) represents each block number. Each CSPBlock begins by splitting the input tensor \(F_{k}\) into two parts, \(\text{Split}_{L}(F_{k})\) and \(\text{Split}_{R}(F_{k})\). This splitting is typically achieved by channel-wise division, where the number of channels in \(F_{k}\) is evenly divided between the left and right segments, and processes each part independently through a series of ResBlocks, where each ResBlock consists of two layers of convolutions to capture complex features effectively and aids in gradient flow efficiency. This method minimizes computation and aids in gradient flow efficiency. The first convolution is a \(1\times 1\) convolution followed by batch normalization and a ReLU activation function. The second is a \(3\times 3\) convolution with padding of 1, again followed by batch normalization and a ReLU activation function. Mathematically, the operations in a ResBlock can be described as follows:  
\[F_{res}=\text{ReLU}(\text{BN}(\text{Conv}_{1\times 1}(F_{k})))+F_{k} \tag{4}\]  
\[F_{out}=\text{ReLU}(\text{BN}(\text{Conv}_{3\times 3}(F_{res}))) \tag{5}\]  
Figure 2: An overview of our three-part architecture: a multi-scale feature extraction, a multi-scale feature fusion, and an image refining subnetwork. The output from each ResBlock is then concatenated as follows:  
\[F_{concat}=\text{Concat}(\text{ResBlock}(\text{Split}_{L}(F_{k})),\text{ResBlock}( \text{Split}_{R}(F_{k}))) \tag{6}\]  
After concatenation, the combined features are processed through a final \(1\times 1\) convolution, which adjusts the feature dimensionality and prepares it for subsequent processing stages:  
\[F_{out}=\text{Conv}_{1\times 1}(F_{concat}) \tag{7}\]  
The output \(F_{out}\) from each of the five CSPBlocks represent the features captured at varying scales, effectively encompassing both fine and coarse details extracted from the light-field images.