## 3 Improved SSD Network Structure  
### SSD Network Analysis  
SSD is a one-stage object detection network, as shown in Figure 1. The pre-convolution network is used to extract image features by adding six convolution layers after the VGG16 network. Then, the bounding boxes of different scales, with their category and location, are extracted on the six-layer feature maps. The bounding box locations are amended with a regression procedure [12] and refined with a non-maximum suppression algorithm. Therefore, the training of SSD regresses both the object locations and types. The loss function includes two parts: confidence loss and location loss, as shown in Formula (1).  
\[L(z,c,l,g)=\frac{1}{N}(L_{conf}(z,c)+\alpha L_{loc}(z,l,g)) \tag{1}\]  
In Formula (1), \(N\) is the number of matched default boxes; \(L_{conf}(z,c)\) is the confidence loss function; The location loss function \(L_{loc}(z,l,g))\) is Smooth L1 loss [12]; \(z\) is the matching result of the default box and the ground truth box of different kinds of objects; \(c\) is the confidence of the predicting box; \(l\) is the position of the predicting box, \(g\) is the position of the ground truth box; \(\alpha\) is the parameter to balance the confidence loss and location loss, which is generally set to 1. By reducing the value of the loss function in the training process, the class confidence and position accuracy of the predicting box can be improved.  
As shown in Figure 1, SSD extracts default boxes from each unit of Conv4_3, Conv7, Conv8_2, Conv9_2, Conv10_2 and Conv11_2. The regression procedure of Formula (1) in the training stage will make the default boxes as close as possible to the ground truth boxes. The resolution of six convolution  
Figure 1: Single Shot multibox Detector (SSD) network structure.  
layers decreases from the front to back, but their corresponding feature level increases. For instance, the Conv4_3 layer has the highest resolution of \(38\times 38\), but its corresponding feature is the lowest level; and the Conv11_2 layer has the lowest resolution of \(1\times 1\), but its corresponding feature is the highest level. In the test phase, each default box is matched with the ground truth box and reduced by a non-maximum suppression algorithm. Conv4_3 has the highest resolution in the six convolution layers and contains more details of small objects. However, the details are not enough for small objects detection. This will lead to a significant increase in the calculation load and an over-fitting of high-level feature maps if convolution layers are added before this layer. For an original image in Figure 2a, the low-level and high-level feature maps are shown in Figure 2b,c.  
Figure 2: Feature maps of different feature layers. (**a**) Original Image. (**b**) Low-level feature map. (**c**) High-level feature map  
From Figure 2, we can see that low-level feature maps have better edge information, and high-level feature maps have stronger semantic information. In order to improve the small object detection ability, feature maps should not only have a high resolution to detect small objects, but also have stronger semantic information to detect the location and category information.