# Birds Detection in Natural Scenes Based on Improved Faster RCNN
## 3 Materials and Methods  
### Feature Extraction Network  
Feature extraction refers to the extraction of more advanced features from the original pixels, which can capture the differences between various categories. Feature extraction is an unsupervised method, which does not use the image category label when extracting information from pixels. At present, the commonly used image feature extraction networks include VGG19, ResNet-50, and InceptionNet-V3 [25].  
Although VGG19 can perform well on ImageNet, it is not efficient due to the large number of channels in the built-up layer [26]. For example, if the number of input and output channels of a 3 \(\times\) 3 convolution kernel is 512, the amount of computation is \(9\times 512\times 512\).  
InceptionNet-V3 decomposes \(7\times 7\) convolutions into two one-dimensional convolutions (\(1\times 7\), \(7\times 1\)). This advantage cannot only speed up the calculation, but it can also split one convolution into two convolutions, which further increases the depth of the network and increases the nonlinearity of the network. It is also worth noting that the network input is changed from 224 \(\times\) 224 to 299 \(\times\) 299.  
ResNet-50 has more convolution layers and can obtain more object features through convolution. ResNet-50 has a jump structure, which can directly skip one or more layers, solving the problem of gradient vanishing caused by stacking. ResNet-50 block is shown in Figure 1. The so-called residual network is originally to learn \(H(x)\), but as it becomes more and more difficult to learn \(H(x)\) as the level becomes deeper, then it is directly changed to learn as \(F(x):=H(x)-x\). \(F(x)\) is the difference of \(H(x)-x\), so \(F(x)\) is the residual, and after four simple operations to find \(H(x):=F(x)+x\), \(H(x)\) is exactly the result of the fit. This is the concept of residual learning.  
There are two ways to find the parameter passing path: if it does not work along one path, you can go along the other path. As the hierarchy becomes deeper and deeper, it is difficult to find \(H(x)\) directly from layer \(w^{n-1}\) to layer \(w^{n}\). Another path can be found to bypass the previous ReLU and deviation directly and let \(F(x)\) reach \(F(x)+x\) directly, which is equivalent to finding an identity mapping parameter \(x\) with identity from layer \(w^{n-1}\) to layer \(w^{n}\), so that \(F(x)+x\) satisfies the \(H(x)\) expectation value. This means adding a path to \(H(x)\), viewing this path as a quick connection rather than just a path to black, giving the network more options and allowing the network to learn for itself exactly which path is more convenient to take. Because what you want to simulate is not sure whether it is simple or complex, if you simulate something simple, you can choose to take a shortcut. If you are simulating something very complex, you have to take a very complex path. Note that the last ReLU output is \(Relu(F(x)+x)\).  
Among them, the depth of VGG19 has 26 layers, and the pretraining parameters reach 549 MB; the depth of ResNet-50 has 168 layers, but the pretraining parameters are only 99 MB; the depth of InceptionNet-V3 is 159 layers, and the pretraining parameters are 92 MB, as shown in Table 1. Compared with VGG19 and InceptionNet-V3, ResNet-50 has more convolution layers and can obtain more object features through convolution; thus, we select ResNet-50 as the feature extraction network of the improved Faster RCNN model.  
Figure 1: Schematic diagram of the ResNet-50 block.