My attempt to extract building footprints from Sentinel-2 images using machine learning algorithm trained on Sentinel-2 images produced a lot of false positives and there is no sign that the algorithm actually learnt anything. When I tried the same architecture on another kind of dataset (MNIST, CIFAR-10), it worked perfectly.

My question is: Does it really make sense to use Sentinel-2 imagery with resolutions 10m for building extraction application?

Red = False Positives; Blue = Labels; Green = True Positives

  • 1
    can you post your code im curious what it looks like
    – ziggy
    Commented Jul 10, 2017 at 18:37

2 Answers 2


10m resolution for building footprints is optimistic at best. Most buildings aren't that all that big (20m by 20m is a fairly big house), and they are also very inconsistently shaped and coloured. All in all, you chose a fairly difficult target and a dataset not entirely suited for the application.

The whole problem that you are looking at is much better suited for higher resolution imagery, and even then, it is not very easy - see for example the attempt that DigitalGlobe did with their very-high resolution data and the cloud platform that they have designed: https://platform.digitalglobe.com/gbdx/gbdx-solutions/
If you look at the results in their example, you'll notice that even a large company, with a fair bit of resources and a much more suitable dataset doesn't really perform that well either in the same task as the one you undertook. I'm not saying that it is impossible, but the real world is a much more difficult dataset than the audited and controlled training datasets that you have practiced on.

  • Thanks for your answer. Just to clarify; I actually practised on real satellite images.
    – collarkay
    Commented Jul 10, 2017 at 13:50
  • 1
    @essense - I was not trying to be judgemental or dismissive of you, but it is a really difficult topic that you chose to work with. If you are focused on learning about remote sensing and machine learning, then a more suitable subject would be to create a high quality cloud mask. Commented Jul 10, 2017 at 14:04

Other than Mikkel's excellent answer (though DG is doing better now that we can throw CNNs at it) I would suggest using some IR bands in Sentinel2 and try to get an index for roof tile material. With pixels at 10m you are not going to be able to get the outlines of roofs but you may be able to get presence/absence of a roof.

Here is the work Ecopia did for building footprints with DG data.

Caveat - I work for DigitalGlobe

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.