# Multi-Feature Fusion with Convolutional Neural Network for Ship Classification in Optical Images
## 3 Proposed Ship Classification Method
### Feature Extraction Based on Improved CNN
#### 3.1.2 Improved CNN
Local response normalization is to be performed after completion of operation of the Conv1 and Conv2 layers of the network to achieve local suppression and enhance generalization ability. The response-normalized activity \(b_{x,y}^{i}\) can be expressed as:  
\[b_{x,y}^{i}=a_{x,y}^{i}\left(k+\alpha\sum_{j=\max(0,i-n/2)}^{\min(N-1,i+n/2)} \left(a_{x,y}^{i}\right)^{2}\right)^{\beta}, \tag{1}\]  
where \(a_{x,y}^{i}\) represents neuron activity computed by applying kernel \(i\) at position \((x,y)\); \(N\) denotes the total number of kernels; and \(n\) denotes the number of adjacent nuclear maps located at the same position. Constants \(k\), \(n\), \(\alpha\), and \(\beta\) are considered hyper-parameters, values of which were set identical to those reported in a previous study [22]; i.e., \(k=2\), \(n=5\), \(\alpha=0.0001\), and \(\beta=0.75\). The convolution-kernel size of the proposed improved CNN was considered reasonable, and the maximum number of convolution kernels equaled 64. The proposed CNN with parameters contains only seven layers--Conv1, Conv2, Conv3, Conv4, FC1, FC2, and Softmax. The spatial complexity (parameter amount) of the convolutional layer can be expressed as:  
\[Space\sim\mathcal{O}\left(\sum_{l=1}^{D}K_{l}^{2}\cdot C_{l-1}\cdot C_{l}+\sum _{l=1}^{D}M^{2}\cdot C_{l}\right), \tag{2}\]  
where \(K\) denotes the convolution kernel size; \(C_{l}\) denotes the number of convolution kernels comprising layer \(l\); \(C_{l-1}\) denotes the number of output channels in the \(l-1\) layer; \(M\) denotes the output feature map side length, and \(D\) denotes the number of convolutional layers. In accordance with Equation (2), the total number of parameters equals approximately 1 million. However, the fine-AlexNet network (refer Section 3.4) contains eight layers with parameters, and the total number of parameters equals nearly 84 million. Likewise, the fine-VGG-16 and fine-ResNet-18 networks (refer Section 3.4) contain 16 and 18 layers with corresponding total number of parameters equal to roughly 16 million and 10 million, respectively. Thus, compared to the three above-mentioned fine-tuned networks, the proposed CNN comprises of shallow layers and fewer total parameters, thereby simultaneously ensuring attainment of high classification accuracy and reduced computational complexity. Results of experiments reported in Section 3 demonstrated that the proposed CNN achieved higher classification accuracy when operating on ship images. The training and testing phases of the specific model have been described in Algorithms 1 and 2, respectively, as under. ```
0: A well-prepared training dataset Step 1: Set model-parameter values. Step 2: Execute preprocessing for training-set ship images. Step 3: Perform feature extraction via forward propagation of CNN and use of the Softmax function to obtain predicted image classes. Step 4: Calculate the error between the predicted and true classes, followed by weight and bias adjustment via back propagation to minimize the error. ```  
**Algorithm 1** Training phase