Road infrastructure is crucial for the economic development of any country. But several factors such as wear and tear, natural disasters, etc. lead to formation of potholes. According to data provided by the Ministry of Road Transport and Highways, the total number of deaths due to potholes in 2018, 2019 and 2020 stood at 2,015, 2,140 and 1,471, respectively.
This blog describes an approach to detect and locate potholes using high resolution imagery and deep learning tools in ArcGIS Pro Image Analyst. The workflow can help local authorities build a pothole detection system with adequate accuracy and speed, where assessment of magnitudes of potholes can also be carried out.
Deep Learning Workflow in ArcGIS
A typical deep learning workflow includes the following steps: 1. Prepare data, 2. Train the model and 3. Use the model. Let’s see how we can carry out the workflow in ArcGIS Pro Image Analyst. These tools are also made available in ArcGIS Enterprise with ArcGIS Image Server (Raster Analytics), ArcGIS Online with ArcGIS Image for ArcGIS Online , and arcgis.learn module in ArcGIS API for Python.
In this workflow, I am interested in identifying potholes and get insights about the severity of the detected potholes using ArcGIS Pro.
Using Label Objects for Deep Learning pane or the Training Samples Manager, we can collect training samples of the feature of interest (i.e., potholes). The next step is to export the training data in the right format – here we will be exporting the data as RCNN Masks to get the exact polygon boundary of the potholes. ArcGIS supports several other metadata formats and deep learning model types. Check them out here. Now a MaskRCNN model can be trained using “Train Deep Learning Model” geoprocessing tool. The output from this tool can be used in “Detect Objects Using Deep Learning” to detect potholes in the input high resolution imagery.
Let us look at some of the potholes that are detected by the deep learning model.
To assess the severity of the potholes, we can carry out volume estimation with digital elevation models using geoprocessing tools such as Raster to TIN, interpolate polygon to multipatch, minimum bounding volume in model builder or a custom Python script.
You can also carry out similar workflows using ArcGIS API for Python.
https://developers.arcgis.com/python/samples/automate-road-surface-investigation-using-deep-learning/
Additional resources
See the following links for more information regarding deep learning tools in ArcGIS:
- Deep Learning in ArcGIS Pro
- Install Deep Learning frameworks for ArcGIS
- ArcGIS Living Atlas of the World offers you several pre-trained models to help you get started on your deep learning workflows
I am an Assistant Manager on the Presales team focused on helping users better understand GeoAI in ArcGIS.