# Automated Method of Road Extraction from Aerial Images Using a Deep Convolutional Neural Network
## 2 Methodology
### The Proposed Model  
Since the aim of this work is to extract road networks from aerial images, the model must successfully handle semantic segmentation problems. One of the best architectures for such tasks is the U-Net model [31]. The two symmetric parts of the U-net help to extract the road pixels in the encoding part and generate the segmentation map for these pixels in the decoding part. In addition, ResBlocks [26; 27] help to ease the training process while being deeper due to all the stacked layers. U-Net also produced better results than regular CNNs in classification and segmentation problems. The proposed model consists of a U-net for the encoding and decoding parts, ResBlocks in the encoding part to enhance the feature extraction process, and Conv. layers in the decoding part to create the segmentation map. The architecture of the proposed model is shown in Figure 1.  
Because the input image size of ResNet is \(224\times 224\) pixels, the ResBlocks in the encoding part of the proposed model will preferably use the same input image size. In the encoding part, three ResBlocks with a filter size of \(3\times 3\) pixels are implemented, and these three ResBlocks have 64, 128, and 256 filters, respectively. An additional ResBlock with 512 filters connects the encoding and decoding parts. The ResBlocks in the encoding part consist of an activation function (ReLU) after the batch normalization layer (BN), and before the convolution layer (weight) with a shortcut or the identity map (Addition), as described in [26; 27]. Each ResBlock in the encoding part is connected with a Conv. layer in the decoding part by a concatenation layer that represents the skip connection for the U-Net [31], and these Conv. layers have 256, 128, and 64 filters, respectively. The proposed model is in auto-encoder pattern, which means that the encoding part is similar to a regular CNN but without the fully connected layers. The output image of the encoding part will be smaller and low resolution than the input image. In the auto-encoder pattern, the decoding part will be implemented instead of the fully connected layers. To increase the size of the image from the encoding part, we need to use an upsampling layer to double the size of the output image in the decoding part, which corresponds to the output of the neural network. Before each concatenation layer in the decoding part, an upsampling layer is implemented to double the size and increase the resolution of the feature map, which had already been downsized in the encoding part. This change will allow the feature map to be used as an  
Figure 1: Proposed model.  
input for the segmentation part. The size of the output image will be equal to the input image size (see Figure 1).  
It should be noted that the Conv. layers in the decoding part consist of two layers. These layers use the same filter size of \(3\times 3\) pixels and have 256, 128, and 64 filters, respectively. The second Conv. layer has been added to increase the number of layers and to facilitate the process of upsampling the feature maps. After connecting the encoding and decoding parts together, the process continues in two 64-filter Conv. layers with a filter size of \(3\times 3\) pixels. The final layer is a \(1\times 1\) convolutional layer using a sigmoid activation function to produce a binary mask with a size of \(224\times 224\) pixels as an output. The process is shown in Figure 1.