Building Extraction in Aerial Scenes
Using Convolutional Networks
Up-to-date maps of
buildings are critical for a wide range of applications from navigation
to population estimation. Remote sensing imagery provides an ideal data
source for creating such maps, but manually delineating buildings on
images is notoriously time and effort consuming. We present a new
building extraction approach by training a deep convolutional network
with building footprints from existing GIS maps.
An integration stage:
We design a
convolutional network with a
feature maps from multiple preceding
stages, as shown below. In particular, feature maps from a stage are
branched and upsampled to larger sizes.
Upsampled feature maps
stacked together and fed into single layer perceptrons, which is
equivalent to a 1-by-1 convolutional layer, to achieve pixel-wise
prediction. The network takes input of arbitrary sizes, and processes
images in an end-to-end manner.
results can be represented in two common ways,
boundary maps (middle-left in the figure below) and region maps (middle
right). However, both representations have inherent deficiencies.
Training with boundary maps essentially discards information of whether
pixels are inside or outside buildings. Region maps cannot represent
boundaries of adjacent buildings, which can be neither exploited during
training nor detected in test. We use the signed distance function
(right). The signed distance function value at a pixel is equal to the
distance from the pixel to its closest point on boundaries with
positive indicating inside objects and negative otherwise. There are
two advantages. 1) Boundaries and regions are captured in a single
representation and can be easily read out (boundaries are zeros and
regions are positive values). 2) Training with this representation
forces a network to learn more information about spatial layouts (e.g.,
between locations near buildings and those far away).
training and results
The network we use
contains seven regular ConvNet stages
and a final stage for pixel level classification. We use a
collection of aerial
images with RGB bands at 0.3 meter resolution covering the D.C. area
and the corresponding building footprint layer downloaded from a public
GIS database. We compile a
training dataset consists of 2000 image tiles of 500*500 pixels and the
building masks, and a test dataset containing
images covering areas excluded from the training data. The network
is trained on a single GPU for two days. Two example results are shown
These are raw output of network without any post-processing.
Transparent red corresponds to positive values (regions), and blue
values around zeros (boundaries).
refer to the
following papers for details.
Jiangye Yuan, Automatic
Building Extraction in Aerial Scenes Using Convolutional Networks, arXiv:1602.06564, 2016. [pdf]
Jiangye Yuan, Learning Building Extraction in Aerial Scenes with Convolutional Networks, TPAMI, 2017
The system is
implemented using Theano. The Python code for test and the trained
model can be downloaded here.