Portfolio Details

GIF animation of the stages an analog map passes through when fed to the deep learning algorithm.

Project information

  • Category: Apps and Programming
  • Project date: May 2023

AI-Driven Map Vectorization

This project was part of an initiative to integrate AI-based technology into SCGS's workflows. The results were presented, alongside a few other AI solutions, at the 2023 Digital Mapping Techniques workshop in Anchorage, Alaska. (presentation available here; poster available here). Using ArcGIS Pro’s Deep Learning toolset, I designed and trained a pixel classification model with the goal of digitizing SCGS’s backlog of scanned paper maps. This application is slightly unique because most uses of the toolset focus on real-world imagery, like aerial photography or DEMs; in spite of this limitation, the model’s results are surprisingly accurate.

The design process was composed of 3 major steps, each of which is discussed more thoroughly below and in the Deep Learning section of our poster.

1. Processing the scanned image

This involved things like tweaking the contrast, brightness, etc. according to the needs of the scanned image to make the contacts as visually distinct as possible.

2. Training and running the pixel classification model

After processing the image, it was ready to be used as training data for the deep learning model. I had unique requirements to keep in mind – there were not a lot of resources on dealing with single-band, monochromatic imagery like a scanned map. Despite this, I was able to find some parameters that worked well (DeepLabV3 model type + ResNet34 architecture).
The training data was exported as several thousand image chips. After being trained on the chips, the model went through each pixel in the original map and sorted it into one of the classes that we defined, creating a cleanly classified raster. It was able to discern the features we wanted, which are the contact lines, from the features we didn’t. That distinction previously would not have been possible for us without human intervention, and all of those extra features would have made traditional raster-to-vector conversion tools an impractical option for this process.

3. Classified raster to vector lines

This step is just a matter of getting the now-classified raster back into vector format. Any number of raster-to-vector tools can be used to convert a raster to line features, but we used the ArcScan extension for ArcMap.

Processing steps

In the third image of this sequence, the red lines are what was done automatically, and the green lines are the bits that we had to do manually to fill in the gaps. QAQC is important -- you can see that there are still places where a human has to fix some mistakes -- but they’re few and far between enough for this workflow to still be a massive improvement in efficiency.

Final results on the rest of the map series

The training quad on the far left, with three adjacent quads to the right. Once again, the red lines are the parts done autonomously by the algorithm, and the green lines are edits made by a human reviewer. While it may have taken several hours or days to do this amount of work the old-fashioned way, with this new workflow, the contact lines for the entire rest of the map series were digitized in around an hour.

Final results