Home

Awesome

Description

This branch implements a building extraction on remote sensing images, combining the adversarial networks with a FC-DenseNet model.

Network structure

image Overview of our segmentation architecture with the adversarial network. Left: The segmentation network takes an aerial image as input and produces a pixel-wise classification label map. Right: A label map, chosen from segmentation output or ground truth, is multiplied with their corresponding input aerial image to produce a masked image, and the adversarial network takes this masked image map as input and adopts an auto-encoder network to reconstruct it.

Preparation

Train

nohup /home/mmvc/anaconda2/envs/Xiang_Li3/bin/python inria3.py --exp_id 1 --model 'FC-DenseNet158' > log1.log

Test

step 1: to get the prediction results python run_prediction.py

step 1: evaluation python eval_aerial.py prediction_#108

Results

Test accuracy of different models on the Massachuttes dataset.

ModelBreakeven ($\rho$ = 3)Breakeven ($\rho$ = 0)Time (s)
Mnih-CNN~\cite{mnih2013machine}92.7176.618.7
Mnih-CNN+CRF~\cite{mnih2013machine}92.8276.3826.6
Saito-multi-MA~\cite{saito2016multiple}95.0378.7367.7
Saito-multi-MACIS~\cite{saito2016multiple}95.0978.7267.8
HF-FCN~\cite{zuo2016hf}96.4384.241.07
Ours (56 layers)96.4083.171.01
Ours (158 layers)96.7884.794.38

Validation accuracy of different network depths on Inria Aerial Image Labeling dataset.

FC-DenseNet (56 layers)74.6496.01
Ours (56 layers)74.7596.01
FC-DenseNet (103 layers)75.5896.19
Ours (103 layers)76.3196.32
FC-DenseNet (158 layers)77.1196.45
Ours (158 layers)78.7396.71

image