Skip to content
Aligning and Updating Cadaster Maps with Remote Sensing Images
Branch: master
Clone or download
netsimilarity Added option to align any shapefile given as input.
Added check to see if the coordinates of the input polygons make sense (at least one vertex inside image).
Latest commit d0961ca Apr 5, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
data Big update after IGARSS submission. Jan 18, 2019
docker Fixed folder name used Jan 18, 2019
projects Added option to align any shapefile given as input. Apr 5, 2019
LICENSE.txt Added license Oct 9, 2018
README.md Added option to align any shapefile given as input. Apr 5, 2019

README.md

Aligning and Updating Cadaster Maps with Remote Sensing Images

This is the official code for the paper:

Aligning and Updating Cadaster Maps with Aerial Images by Multi-Task, Multi-Resolution Deep Learning
Nicolas Girard, Guillaume Charpiat, Yuliya Tarabalka
ACCV 2018
[Paper] [Supplementary materials]

It can be adapted to implement the method of our previous paper:

Multimodal image alignment through a multiscale chain of neural networks with application to remote sensing
Armand Zampieri, Guillaume Charpiat, Nicolas Girard, Yuliya Tarabalka
ECCV 2018
[Paper]

Python environment

The code uses a few Python libraries such as Tensorflow, etc. The docker image lydorn/anaconda-tensorflow-geo has all the needed dependencies. See the instructions in the docker folder to install docker and build that image. One the Docker image is built on your system, you can launch one container to execute all the code from this repository.

Quickstart

In order to align the OSM building annotations of your own GeoTIFF image using our pre-trained models, follow these instructions:

1 - Download pre-trained networks

4 pe-trained networks are available, one for each downsampling factor 8, 4, 2 and 1.
You can either: Execute the download script download_pretrained.py
Or: manually download the zipfile at https://www-sop.inria.fr/members/Nicolas.Girard/downloads/mapalignment/runs.igarss2019.zip, extract and place the runs folder in the mapalign_multires folder so that the folder structure is projects/mapalign/mapalign_multires/runs.igarss2019.

2 - Execute script

Execute the projects/mapalign/mapalign_multires/main.py script: python main.py. Use python main.py -h for available options. The most relevant ones are:

  • --image to change the GeoTIFF image used
  • --shapefile to specify the shapefile to align (if not specified, will load and align OSM annotations)
  • --batch_size which you can adapt depending on the available GPU memory The script will save the aligned annotations in the same folder as the image.

Train your own models

Download datasets

Three datasets are used for training and have individual instructions for downloading in their respective folder:

Pre-process datasets

All scripts for dataset handling relative to the alignment project are located in the dataset_utils folder. See the README in that folder for instructions on dataset pre-processing.

Or use your own dataset

If you want to use your own dataset, I suggest you to write a read.py script based on this one: read.py. Then write a process_dataset.py script based on this one: preprocess_aerial_image_multires.py. The process_dataset.py script should take as input the images and ground truth data read by the read.py script and split them in patches that are then stored in TFRecord format for training. Once the TFRecords are created, you will have to add their path to the config.py script in the TFRECORDS_DIR_LIST list.

Perform inference and training of models

The useful scripts and instructions for performing inference and training of the models are in the mapalign_multires folder.

If you use this code for your own research, please cite:

@InProceedings{Girard_2018_ACCV,
author = {Girard, Nicolas and Charpiat, Guillaume and Tarabalka, Yuliya},
title = {Aligning and Updating Cadaster Maps with Aerial Images by Multi-Task, Multi-Resolution Deep Learning},
booktitle = {The Asian Conference on Computer Vision (ACCV)},
month = {December},
year = {2018}
}

@InProceedings{Zampieri_2018_ECCV,
author = {Zampieri, Armand and Charpiat, Guillaume and Girard, Nicolas and Tarabalka, Yuliya},
title = {Multimodal image alignment through a multiscale chain of neural networks with application to remote sensing},
booktitle = {The European Conference on Computer Vision (ECCV)},
month = {September},
year = {2018}
}
You can’t perform that action at this time.