# Camouflaged Object Detection That Does Not Require Additional Priors
## 3 Proposed Method
### Edge Refinement Module  
While FSM can effectively utilize the camouflage cues to complement and refine the features in each layer, the perception of specific details, such as edge information, is still not precise enough. To address this issue without relying on prior knowledge to supervise model training, we introduce the edge refinement module (ERM), which filters features to help the model achieve finer edge predictions by exploring contextual information. In contrast to the texture enhancement module (TEM), our approach also considers the semantic correlations between different branches within the same feature layer.  
Figure 3: Illustration of FSM. The foreground separation module (FSM) fully segregates the foreground information of the camouflaged object through multifeature channel filtering, utilizing \(CC\) to complete the missing information in each feature layer.  
As shown in Figure 4, we obtain features \(\{y_{i}\}_{i=1}^{3}\in\mathbb{R}^{\frac{H}{2^{i+1}}\times\frac{W}{2^{i+1}}\times 2 56}\) by aggregating the fine features \(\{RF_{i}\}_{i=1}^{3}\) and the high-level output features \(\{O_{i}\}_{i=2}^{3}\) through the preprocessing operation (PPO). The feature \(\{y_{i}\}_{i=1}^{3}\) comprises top-down semantic information. The generation process of \(\{y_{i}\}_{i=1}^{3}\) is illustrated in Equation (4).  
\[\begin{split} y_{i}&=PPO(RF_{i},O_{i+1}),i\in\{1,2 \}\\ y_{3}&=RF_{3}\end{split} \tag{4}\]  
To explore the semantic correlation between different channel branches of the same layer feature, we divide \(\{y_{i}\}_{i=1}^{3}\) into four parts \([y_{i}^{1};y_{i}^{2};y_{i}^{3};y_{i}^{4}]\) in the channel dimension. Inspired by [20], we add the features of a branch to the features of its neighboring branches. This process can be formulated as follows:  
\[\begin{split} z_{i}^{1}&=CB_{1}(y_{i}^{1}+y_{i}^{2 }),i\in\{1,2,3\}\\ z_{i}^{j}&=CB_{j}(z_{i}^{j-1}+y_{i}^{j}+y_{i}^{j+1}),i\in\{1,2,3\},j\in\{2,3\}\\ z_{i}^{4}&=CB_{4}(z_{i}^{3}+y_{i}^{4}),i\in\{1,2,3\} \end{split} \tag{5}\]  
where \(\{CB_{j}\}_{j=1}^{4}\) indicates a series of convolution operations and the specific composition of \(\{CB_{j}\}_{j=1}^{4}\) is shown in Equation (6).  
\[\begin{split} CB_{1}&\Leftarrow DConv_{3\times 3} ^{1}(Conv_{1\times 1}(\cdot))\\ CB_{2}&\Leftarrow DConv_{3\times 3}^{3}(Conv_{3\times 1} (Conv_{1\times 1}(\cdot)))\\ CB_{3}&\Leftarrow DConv_{3\times 3}^{3}(Conv_{1\times 3} (Conv_{1\times 1}(\cdot)))\\ CB_{4}&\Leftarrow DConv_{3\times 3}^{5}(Conv_{1\times 3} (Conv_{3\times 1}(Conv_{1\times 1}(\cdot))))\end{split} \tag{6}\]  
where \(DConv_{i\times i}^{j}\) represents a atrous convolution [46] with a convolution kernel size of \(i\times i\) and a dilation rate of \(j\).  
In order to avoid losing important detection information during convolution, we add a residual structure to each interaction branch to obtain feature \(z_{i}^{f}\in\mathbb{R}^{\frac{H}{2^{i+1}}\times\frac{W}{2^{i+1}}\times 256}\). Merging  
Figure 4: Illustration of ERM. ERM learns the interrelation between various channels of the same feature and connects contextual features to achieve refined boundary predictions.  
all \(z_{i}^{f}\) together, we obtain feature \(\{Z_{i}\}_{i=1}^{3}\in\mathbb{R}^{\frac{H}{2^{H+1}}\times\frac{W}{2^{H+1}}\times 2 56}\), which incorporates semantic information from adjacent branches. It filters features by learning the relationships between adjacent features, thereby prompting the model to focus more on expressing details. As illustrated in Figure 2, as the feature progresses forward, \(O_{1}\) displays finer edge details compared to \(\{O_{i}\}_{i=2}^{4}\).  
Then, we perform a series of computations for \(\{Z_{i}\}_{i=1}^{3}\) to obtain the output feature \(\{O_{i}\}_{i=1}^{3}\in\mathbb{R}^{\frac{H}{2^{H+1}}\times\frac{W}{2^{H+1}}\times 1}\). The computation process is as follows:  
\[O_{i}=y_{i}+\lambda\cdot R(L(Z_{i})),i\in\{1,2,3\}. \tag{7}\]  
where \(R\) denotes the ReLU function, \(L\) denotes the linear function, and \(\lambda\) is the scaling factor.