# An Audio Copy-Move Forgery Localization Model by CNN-Based Spectral Analysis
## 2 Methods
### Correlation Detection Module  
The Correlation Detection Module is the key to locating audio copy-move forgery regions, driving the network to focus on similar feature regions by calculating the correlation between deep features. The Correlation Detection Module first calculates the correlation between all features and then filters meaningful statistical features for decoding via Percentile pooling. The entire process is illustrated in Figure 5. Firstly, the deep feature map extracted by the Feature Extraction Module is reshaped into a matrix, preserving spatial information throughout this transformation. Subsequently, the matrix is transposed, then element-wise multiplied by itself, and finally divided by the number of channels to obtain the feature matrix \(\mathbf{S}\). The feature matrix \(\mathbf{S}\) quantifies the correlations between all features, with its elements representing the computed correlation. Next, statistical features are extracted from the feature matrix \(\mathbf{S}\) via Percentile pooling to obtain the feature matrix \(\mathbf{S_{2}}\). Finally, the feature matrix \(\mathbf{S_{2}}\) is transformed back into deep feature maps with dimensions of \(128\times 8\times 16\) and applied to the subsequent Mask Decoding Module. Figure 4: The network structure of MPIF-Res2 Net block. Figure 5: The Correlation Detection Module. Specifically, the deep feature map of size 1024 \(\times\) 8 \(\times\) 16 is considered to comprise 8 \(\times\) 16 features, each of dimensionality 1024. Suppose the feature tensors at any two coordinates \((x,y)\) and \((x^{\prime},y^{\prime})\) in the deep feature map are denoted as \(\mathbf{f}(x,y)\) and \(\mathbf{f}(x^{\prime},y^{\prime})\). The correlation coefficient \(\mathbf{corr}\) is used to quantify the correlation between two features, as shown in Equation (1). The larger \(\mathbf{corr}\) value between two features, the greater the correlation, indicating a higher likelihood of the features containing forged regions. \[\mathbf{corr}\big{(}\mathbf{f}(x,y),\mathbf{f}\big{(}x^{\prime},y^{\prime}\big{)}\big{)}= \frac{\overset{\sim}{f}(x,y)\overset{\sim}{f}(x^{\prime},y^{\prime})}{c} \tag{1}\]  
\[\overset{\sim}{f}(x,y)=\frac{\mathbf{f}(x,y)-\mu(x,y)}{\sigma(x,y)} \tag{2}\]  
In Equations (1) and (2), \(\mu\), \(\sigma\), and \(c\) represent the mean, standard deviation, and number of channels of the feature tensor. We designate a specific feature \(\mathbf{f}(x,y)\) as \(i\) and quantify the correlation between \(i\) and all other features \(\mathbf{f}(x,y)\) to construct a score vector \(\mathbf{S}[i]\). This vector contains a total of 128 correlations between features, including the correlation of \(i\) with itself and 127 other features, as shown in Equation (3). \[\mathbf{S}[i]=[\mathbf{corr}(i,0),\cdots,\mathbf{corr}(i,j),\cdots,\mathbf{corr}(i,128)] \tag{3}\]  
After computing the score vectors for all features, we obtain the feature matrix \(\mathbf{S}\) with dimensions of \(128\times 128\). Percentile pooling sorts \(\mathbf{S}\) and discards some features to reduce redundancy and prevent interference with detection results. After Percentile pooling, the resulting feature matrix \(\mathbf{S_{2}}\) consists of statistical features based on the magnitude of correlation and no longer includes original spatial information. Firstly, we sort feature matrix \(\mathbf{S}\) to obtain feature matrix \(\mathbf{S_{1}}\), as shown in Equation (4):  
\[\mathbf{S_{1}}=sort(\mathbf{S}) \tag{4}\]  
Then, the larger \(\mathbf{corr}\) values in feature matrix \(\mathbf{S_{1}}\) are retained, while the smaller \(\mathbf{corr}\) values are discarded, resulting in feature matrix \(\mathbf{S_{2}}\), as shown in Equation (5):  
\[\mathbf{S_{2}}[i][j]=\left\{ \begin{matrix}\mathbf{S_{1}}[i][j],&i\in[0,\;128],j\in[0, k-1]\\ 0&,&i\in[0,\;128],j\in[k,128]\end{matrix} \right. \tag{5}\]  
In Equation (5), the value of \(k\) is obtained by multiplying the number of features (128) by a predefined percentage [0%, 100%] and rounding it to the nearest integer.