## 3 DSDCN Module
### DSDCN Module  
The traditional convolution kernel can realize \"deformable learning\" by adding offsets. However, the high computational cost of offsets increases the running time of the network,  
Figure 3: Schematic diagram of a simple deformable convolutional network. (Green) Nine sampling points of traditional convolution. (Blue) Points of normal sampling points add offset. (**a**) Nine sampling points of traditional convolution. (**b**–**d**) Several examples of deformable convolutional. The arrows represent the direction and distance of the deformable convolution. Figure 2: Sampling position of traditional convolution on objects in SAS Image. (**a**) Real object A. (**b**) Real object B. (**c**) Real object C. (**d**) Real object D. The red point is the position of the sampling points of traditional convolution. which is not suitable for feature extraction in complex scenes. According to the existing research, the depthwise separable convolution deposes traditional convolution into a depthwise convolution and a \(1\times 1\) pointwise convolution, which can reduce the model parameters and calculate consumption [31]. Therefore, the deformable convolution can be improved by the depthwise separable convolution to enhance the running speed of the network, which can obtain a depthwise separable deformable convolution network (DSDCN). The relevant theories of offset calculation are as follows:  
The convolution kernel in traditional convolution is usually sampled as a sliding window within a regular grid \(R\) on the input feature map \(x\)[32]. For example, \(R=\{(-1,-1). (-1,0),\ldots,(0,1)(1,1)\}\) represents a sampling grid with a stride of 1 for a \(3\times 3\) convolution. For each position \(p_{0}\) in the output feature map \(y\), the feature value \(y(p_{0})\)[33] can be calculated by  
\[y(p_{0})=\sum_{p_{n}\in R}w(p_{n})x(p_{0}+p_{n}), \tag{1}\]  
where \(w(p_{n})\) is the convolution kernel weight of this sampling position, \(x(p_{0}+p_{n})\) is the input feature value of the sampling position, \(p_{n}\) is all sampling positions in the receptive field, and \(R\) is the receptive field. In the DSDCN module, each point in the sampling grid \(R\) is added by offset \(\{\Delta p_{n}\mid n=1,\cdots,N\},N=\)\(|R|\), which is  
\[y(p_{0})=\sum_{p_{n}\in R}w(p_{n})x(p_{0}+p_{n}+\Delta p_{n}), \tag{2}\]  
where \(x(p_{0}+p_{n}+\Delta p_{n})\) is the input feature value of the sampling offset position, and \(\Delta p_{n}\) is the offset of the sampling position. The structure of DSDCN is shown in Figure 4. The implementation of the module is as follows:  
(1) Record the size of input feature map \(x\) as \(D_{F}\times D_{F}\times N\), and ensure the feature map is sampled by depthwise separable convolution;  
(2) After depthwise separable convolution, the size of the output feature map remains the same and is calculated as \(D_{F}\times D_{F}\times 2N\), where the \(2N\) represents the learned offset in two directions. Since the pixels have both horizontal and vertical directions, the number of offset channels is twice the number of \(x\);  
Figure 4: Schematic diagram of DSDCN. The black and green arrows represent the procedure of the diagram, the blue arrows represent the change between the input and output feature map after the deformable convolution. (3) The above offset represents the offset of the index of each pixel in the input feature map \(x\). By adding the index value of the pixel in the input feature map \(x\) to the offset, the coordinates of the offset pixel in the original feature map can be obtained;  
(4) Since the distribution of sampling points is not fixed, and the offset is generally not an integer, to obtain accurate pixel values and achieve backpropagation, a bilinear interpolation is used to obtain the pixels corresponding to the coordinate positions. In DSDCN, both the size and direction of the offset need to be obtained through network training.