# Towards Low-Cost Pavement Condition Health Monitoring and Analysis Using Deep Learning
## 3 Materials and Methods
### Model Setup  
For the neural network setup, it was decided to use transfer learning given the size of the dataset and the available base networks. Several different base models were considered given the available networks within the TensorFlow Object Detection API (application program interface) [69], which is an open-source framework developed by Google, which was built upon TensorFlow [62] that allows easy construction, training and deployment of object detection models. Within the Google API, there are prebuilt architectures and weights such as the Single Shot Multi-box detector (SSD) [70] using MobileNet [71], Inception V2 [72], Region-based fully convolutional networks (R-FCN) [73] as well as the Faster R-CNN networks (region based convolutional networks) [74].  
For the purpose of this study, the following base models were considered: Faster R-CNN using Inception V2, based on COCO (common objects in context) dataset [75], Single Shot Detector (SSD) using InceptionV2 model based on the COCO dataset and the SSD using MobileNetV2 also based on the COCO dataset. These were chosen as they've shown accuracies in previous model evaluations [69]. The properties of the chosen models are given in Table 2.  
These models are all publicly available through the TensorFlow object detection API zoo. Each of these models provides a quick model creation pipeline which can be developed without the use of heavy computational resources. The two main networks utilized for the work are the Faster R-CNN model and the SSD model with the utilization of the inceptionv2 and mobilenetv2 CNNs. Within the Faster R-CNN base model, the same convolutional network is used for both region proposal generation and the object detection task. This model essentially proposes regions, extracts features from these regions and classifies the regions based on the features. This enables the detection to be faster. This is depicted in Figure 9 below based on the architecture of the model [74].  
\begin{table}
\begin{tabular}{c c c c} \hline \hline \multirow{2}{*}{**Model Name**} & **Speed** & **COCO Mean Average** & \multirow{2}{*}{**Outputs**} \\  & **(milliseconds, ms)** & **Precision (mAP)** & \\ \hline faster\_rcnn\_inception\_v2\_coco & 58 & 28 & Boxes \\ ssd\_inception\_v2\_coco & 42 & 24 & Boxes \\ ssd\_ mobilenet\_v2\_coco & 31 & 22 & Boxes \\ \hline \hline \end{tabular}
\end{table}
Table 2: Properties of object detection models.  
Figure 8: Treemap diagram showcasing the distribution of annotated distresses. ac: Area cracking, gc: general cracking, vp: visco-plastic deformations, msc: miscellaneous distresses 1: Low severity, 2: High severity requiring intervention.  
For the Single Shot Detector (SSD) base network, only one single shot is required to detect multiple objects within an image. It is faster when compared to Region proposed networks which require two shots, one for region proposal generation and then the second for the object detection. Within the SSD, the input images are passed through several convolutional layers to produce several feature maps at varying scales. Then for each location in each map, a convolutional filler evaluates a small set of bounding boxes and for each bounding box, it predicts the offset and the class probabilities. The SSD is a feed-forward CNN which yields a static size of bounding boxes and scores which is followed by a non-maximum suppression step that yields the final detections of the model. This framework for the network is depicted in Figure 10 which shows the architecture of the model [70]. It is similar to the other model but essentially avoids the region proposal step and considers all possible bounding boxes in every location in the image whilst simultaneously carrying out the classification.