This repository contains the source code for our paper:
Automatic Uncertainty-Aware Synthetic Data Bootstrapping for Historical Map Segmentation
Lukas Arzoumanidis,
Julius Knechtel,
Jan-Henrik Haunert,
Youness Dehbi,
which proposes a novel method for historical map generation and land-cover segmentation that utilizes state-of-the-art deep generative models, specifically Generative Adversarial Networks (GANs) and Stable Diffusion (SD). Our method accepts arbitrary vector data as input to synthesize historical maps in diverse cartographic styles. In addition to historical maps, it generates corresponding land-cover ground truth that are used as training data for supervised learning approaches.
We showcase our method’s effectiveness by generating historically-styled maps via style transfer from a real historical map corpus (in this work Straube maps). The land-cover predictions, real historical maps, modern vector data (OSM) and historically-styled maps can be explored in our interactive web viewer.
Use the segmentation model implementation available at https://github.com/hcu-cml/SCGCN-histMap-segmentation.
| Layer | Information |
|---|---|
| Style-Transferred Historical Maps (from OSM) | v.i. |
| Straube Maps, Berlin 1910 | • Map corpus analysed in this study comprising 39 historical city maps of Berlin, Germany • Provided by the State Library of Berlin |
| Aerial Images, Berlin 1928 | • Aerial images of Berlin, Germany, taken in 1928 • Senatsverwaltung für Stadtentwicklung, Bauen und Wohnen Berlin |
| OpenStreetMap | • Shows the default OSM tile style |
| Predicted Land Cover Classes (uncertainty simulation through CycleGAN) | • Results of the semantic segmentation on a unseen historical map corpus (in this work Staube maps) |
To visually match the historical Straube maps of Berlin, OpenStreetMap data was styled using a style document following the MapLibre Style Specification.
This style document is a JSON object defining the visual appearance of a map and was created using the open-source visual editor Maputnik.
It was then applied to third-party tile services.
To further match the Straube maps, additional vector tiles were generated and integrated.
| Service | Information |
|---|---|
| Maptiler | • Provides OSM vector tiles |
| locationIQ | • Provides information on building types • Used to style state and municipal buildings, private institutions and generic buildings differently |
| Source | Usage |
|---|---|
| ALKIS Berlin | • Expand the streets to reach the buildings • Visualise the parcel boundaries |
You can host the viewer using Nginx or Apache2. The repository provides the source code with the basic viewer setup (excluding data and API keys). Before deployment, add your historical maps and predicted land use classes to the data directory and add your API keys for Maptiler and locationIQ to the side_by_side_script and openstreetmap_style_22_alt_color files.
The GAN-based approach is based on the concept and implementation of CycleGAN, introduced in the paper "Unpaired Image-to-Image Translation Using Cycle-Consistent Adversarial Networks." by Jun-Yan Zhu, Taesung Park, Phillip Isola and Alexei A. Efros.
The Diffusion-based approach is based on the concept and implementation of UNSB, introduced in the paper: "Unpaired image-to-image translation via neural schroedinger bridge". by Kim, B., Kwon, G., Kim, K., Ye, J.C.
We thank pytorch-fid for FID calculation.
The used test dataset can be found here.
@Article{bootstrapHistoricalMaps,
AUTHOR = {},
TITLE = {},
JOURNAL = {},
YEAR = {},
PAGES = {x--x},
DOI = {}
}Semantic segmentation of historical maps using Self-Constructing Graph Convolutional Networks
Lukas Arzoumanidis,
Julius Knechtel,
Jan-Henrik Haunert,
Youness Dehbi
Deep Generation of Synthetic Training Data for the Automated Extraction of Semantic Knowledge from Historical Maps
Lukas Arzoumanidis,
James Ormond Fethers,
Sethmiya Herath Mudiyanselage,
Youness Dehbi
In case the code is not working for you or you experience some code related problems, please consider opening an issue.
